10:01:46 RRSAgent has joined #wot-script 10:01:50 logging to https://www.w3.org/2024/12/11-wot-script-irc 10:01:50 JKRhb has joined #wot-script 10:01:56 meeting: WoT Scripting API 10:02:16 dape has joined #wot-script 10:02:22 present+ Kaz_Ashimura, Jan_Romann, Daniel_Peintner 10:02:50 agenda: https://www.w3.org/WoT/IG/wiki/WG_WoT_Scripting_API_WebConf#December_11%2C_2024 10:10:09 scribenick: JKRhb 10:10:16 topic: Minutes Review 10:10:44 Cris has joined #wot-script 10:10:56 -> https://www.w3.org/2024/08/05-wot-script-minutes.html Aug-5 10:11:10 ca: (Goes through the minutes from last meeting) 10:11:23 ... checked them quite some time ago, looked alright 10:11:33 ... are there any updates needed? 10:11:47 dp: Also looked fine to me, we were just asking for last minute changes 10:11:51 Minutes are approved 10:11:56 topic: Agenda Review 10:12:08 dp: I added the holiday schedule as an agenda item 10:12:15 ... in two weeks we are in the holidays 10:12:30 ... my suggestion would be to skip the 25th of December and then resume on the 8th 10:12:46 ca: The one on the 25th definitely needs to be cancelled 10:12:59 dp: Next one will be the 8th then 10:13:05 kaz: That's fine for me 10:13:09 jr: For me as well 10:13:25 ca: Will cancel the next meeting via the W3C calendar immediately 10:13:33 present+ Cristiano_Aguzzi, Tomoaki_Mizushima 10:13:37 ... (cancels the next call) 10:13:52 ... (the call on the 8th is not appearing in the calendar) 10:13:58 ... why can't I see it? 10:14:16 dp: Seems like we cancelled everything, the 8th is not showing up anymore 10:14:26 ca: Thought I just updated that event 10:15:00 ... ah, but the series of events is only until the first of January 10:15:07 ... so that needs to be updated 10:15:38 ... (extends the max date range until 2026 in the calendar) 10:15:41 rrsagent, make log public 10:15:45 rrsagent, draft minutes 10:15:46 I have made the request to generate https://www.w3.org/2024/12/11-wot-script-minutes.html kaz 10:16:11 ... (calendar event on the 8th appears again, but also the one on the 25th) 10:16:37 dp: Looks good now, we just need to cancel the 25th again 10:16:52 ca: (Cancels the event on the 25th again) 10:16:59 topic: PRs 10:17:05 subtopic: PR 563 10:17:14 ca: We already got three approvals 10:17:24 ... solves a long-standing issue with the value() function 10:17:43 ... deals with cases where the data schema does not match the returned value 10:17:56 ... experienced problems with that during the plugfest, for example 10:18:17 ... PR mostly adds explainer text how to deal with this kind of situation 10:18:35 ... (shows the rendered diff) 10:18:53 ... in fact, we have an assertion in the TD spec that the consumer should expect data from the remote thing 10:19:05 i|We alre|-> https://github.com/w3c/wot-scripting-api/pull/563 PR 563 - Explain to get data without validation 10:19:08 q+ 10:19:11 ... looks like the rendering of an example is wrong, but that might be an issue with the diff 10:19:12 rrsagent, draft minutes 10:19:13 I have made the request to generate https://www.w3.org/2024/12/11-wot-script-minutes.html kaz 10:19:22 ... the example is a one-liner 10:19:40 kaz: Maybe minor, but the title of the PR has two "to"s 10:19:41 chair: Cristiano 10:19:51 s/Maybe/Quite/ 10:19:52 ca: Right, maybe it was a left-over 10:20:00 ... (fixes the PR title) 10:20:10 ... the rendered version without the diff looks fine 10:20:21 ... shows how to deal with a media stream 10:20:37 ... also HLS that is mentioned in one of the examples that is not really supported yet 10:20:45 q? 10:20:47 ack k 10:20:55 ... the examples are not new, though, I just added a reference to the examples 10:21:27 dp: That's a good improvement, we started out with a different method, but this workaround enables you to get the data without an addtional function call 10:21:37 ca: Any more comments? Then we can merge this 10:21:40 PR is merged 10:21:48 subtopic: PR 561 10:21:58 ca: Second PR is from Daniel, it is still a draft 10:22:14 dp: It is still a draft because we need to settle on the terms we want tou s 10:22:32 i|Second|-> https://github.com/w3c/wot-scripting-api/pull/561 PR 561 - Extended return type of invokeAction()| 10:22:37 ... we had some previous work in profile, we we have cancellable actions, some terms are coming from therer 10:22:38 rrsagent, draft minutes 10:22:39 I have made the request to generate https://www.w3.org/2024/12/11-wot-script-minutes.html kaz 10:22:46 s/therer/there/ 10:22:55 ... Zoltan made some comments 10:22:59 s/fine for me/fine by me/ 10:23:14 ... (shares his own screen) 10:23:20 ... the profile has four terms defined 10:23:27 ... there is one term that says pending 10:23:38 ... we don't have a corresponding term yet, not sure if we need it 10:23:45 ... then we also have running 10:23:48 s/Agenda Review/Meeting Cancellations/ 10:23:51 rrsagent, draft minutes 10:23:52 I have made the request to generate https://www.w3.org/2024/12/11-wot-script-minutes.html kaz 10:24:07 ... then we started off with success, profile uses success 10:24:22 s/with success/with completed/ 10:24:39 s/with completed/with success/ 10:24:47 s/uses success/with completed/ 10:24:59 ... we also have error vs error 10:25:09 ... Jan was suggesting to align it 10:25:20 ca: I am also in favor of aligning it 10:25:41 dp: The work in profile has not really started yet besides this term 10:25:51 ca: Have pending makes sense, is also more future proof 10:26:13 dp: If we have a synchronous action, then we would immediately go to completed, right? 10:26:23 ca: Yes 10:26:46 ... we could also have consumers that always wait for the action to be completed 10:26:55 dp: That needs to also be covered in the prose 10:27:29 ... what we have in the PR now is that we have an ActionInteractionOutput that extends the regular InteractionOutput that provides the state 10:27:56 ... the question I had here was whether we should be able to listen to the status of the ActionInteractionOutput 10:27:57 q+ 10:28:04 ... instead of polling it 10:28:15 ... not sure what to do here 10:28:33 rrsagent, draft minutes 10:28:35 I have made the request to generate https://www.w3.org/2024/12/11-wot-script-minutes.html kaz 10:28:41 ca: So, first of all, I think we need to answer... I like the idea of extending the InteractionOutput 10:28:55 ... but have you explained what should happen if you call the methods? 10:29:28 dp: These are supposed to return something if status or error is present 10:29:40 ca: For listening, we should add EventEmitter 10:29:53 dp: So we could get rid of the methods actually? 10:30:08 ca: Yes, since you have a status event 10:30:27 ... we could also have three events and let people subsribe to these events 10:30:38 ... this is very common in JavaScript 10:30:40 q+ 10:30:48 ack j 10:32:58 jr: Could also have one event type for all state changes 10:33:14 ... I like the idea in any case 10:33:37 ca: Not that common I think, I would just use one event per type 10:33:40 q+ 10:33:42 dp: Agree 10:33:56 ... should also ask Zoltan and the community for what is more common 10:34:06 ca: @@@ 10:34:19 ... should ask Zoltan 10:34:36 ... should incorporate the changes after the call 10:34:39 ack C 10:34:50 dp: Maybe we can first describe it in a comment and discuss with Zoltan 10:35:26 ... regarding the cancel(), I am not sure how I would be informed about that 10:35:42 ca: Should add another event type for that 10:36:20 ... would enable you to have a centalised place to handle this 10:36:43 ... this might only be a software state, but I think this should be fine 10:37:06 ... I assume if we cancel before completion, then arrayBuffer() etc. should throw, right? 10:37:20 dp: Yeah, if we cancel after completion, then it should be a no-op 10:37:47 ca: It is nice to incorporate this feature from the TD, as we have cancelaction 10:38:11 ... we don't have observeaction, so the implemention needs to poll 10:38:26 ... we don't have support for queueing in TD right now 10:38:38 dp: We should be flexible to react to changes on the TD side 10:38:55 ca: But this is related to IDs, right? 10:39:27 ... if there is no support then we could just use the old API, should be flexible enough 10:39:43 dp: Yeah, I think it is quite well-designed 10:40:21 ca: Hope that this will be easy to use in WebIDL 10:40:32 ... and also in TypeScript 10:40:55 ... need to double-check 10:41:28 topic: Issues 10:41:46 subtopic: Issue 548 10:41:50 https://github.com/w3c/wot-scripting-api/issues/548 10:41:59 ca: I think we could start discussion this one 10:42:25 ... I think last time we discussed this, we agreed to split this into two issues, regarding error and success responses 10:42:42 ... the main goal is to handle the addtionalResponses field from TD 10:42:56 ... we never really talked how applications should handle this 10:43:00 ... what do you think? 10:43:29 ... One thing we could say is that for a runtime, if the reponse is an error we just throw that one 10:43:37 ... but we would need to define an error type for that 10:43:46 ... I think we already have a couple of error types already 10:43:56 ... (opens the latest document) 10:44:04 q+ 10:44:07 ... for example, we have some error types for the value() function 10:44:15 ... like UnsupportedError 10:44:29 ... I think we could add an addtional check here and to other functions as well 10:44:43 ... saying that if you get an error response, you throw the error 10:44:57 ... but we need to pick the correct error type from the list of well-known errors 10:45:10 rrsagent, draft minutes 10:45:11 I have made the request to generate https://www.w3.org/2024/12/11-wot-script-minutes.html kaz 10:45:21 dp: I have more a question: Are additionalResponses only for error cases? 10:45:43 ca: Not always, there is a "success" field that allows you to get multiple success responses 10:46:06 ... maybe this could be seen in the WoT Discovery specification 10:46:14 ... if you check the TD of the TDD for example 10:46:30 s|https://github.com/w3c/wot-scripting-api/issues/548|-> https://github.com/w3c/wot-scripting-api/issues/548 Issue 548 - Support for additionalResponses| 10:46:31 rrsagent, draft minutes 10:46:33 I have made the request to generate https://www.w3.org/2024/12/11-wot-script-minutes.html kaz 10:46:39 q? 10:46:51 ... or rather Thing Model 10:46:58 ... I think we had some examples here 10:47:24 ... there are, for example, two possible errors that we need to support 10:47:44 ... but there is no additional success response here 10:47:55 ... but still, in theory, let's double-check this 10:47:58 -> https://www.w3.org/TR/wot-discovery/#exploration-directory WoT Discovery - 7.3 Thing Description Directory 10:48:01 rrsagent, draft minutes 10:48:02 I have made the request to generate https://www.w3.org/2024/12/11-wot-script-minutes.html kaz 10:48:52 ... if I remember correctly, you can have multiple success responses via the success field, which by default is false 10:48:59 -> https://www.w3.org/TR/wot-thing-description/#form-additionalResponses WoT Thing Description 1.1 - 6.3.9.4 additionalResponses 10:49:01 rrsagent, draft minutes 10:49:02 I have made the request to generate https://www.w3.org/2024/12/11-wot-script-minutes.html kaz 10:49:24 ... so the main thing we have here is that the consumer should use the schema that is being referred to via the response field 10:49:39 ... could be passed to the value function 10:50:25 ... in the WebIDL spec we already have some error types that we could reuse, but we could also use our own 10:50:58 ... we also need to decide whether we want to convey an error like Not Found or just use a NetworkError 10:51:09 q? 10:51:10 ... so we might need to create a mapping 10:51:12 ack dape 10:51:21 ... but for now we could just simply throw a network error 10:51:36 dp: I am not sure if I would expect a NetworkError 10:51:58 ... for me NetworkError is something that happens on the network 10:52:08 ... but I am not sure what the right choice here is 10:52:25 ca: Could rather be a "NotConnectedError" 10:52:31 ... or maybe OperationError is better 10:52:38 dp: That makes more sense to me 10:53:06 ca: (Updates the issue with a comment) 10:53:32 ... using this approach would definitely be better that dealing with all the different kinds of errors 10:53:48 dp: I think we have another issue that deals with the mapping of errors explicitly 10:53:55 ca: I think it is issue 200 10:54:15 dp: And in the end, I don't think we can come up with a complete list here 10:54:46 rrsagent, draft minutes 10:54:47 I have made the request to generate https://www.w3.org/2024/12/11-wot-script-minutes.html kaz 10:54:53 ca: Issue 560 is definitely strongly connected with 200, but maybe we should rather use an iterative approach here 10:55:24 ... so it might be a kind idea to have the application handle this 10:55:28 q+ 10:55:30 i|560|-> https://github.com/w3c/wot-scripting-api/issues/560 Issue 560 - Cover AdditionalExpectedResponses as error responses| 10:55:32 rrsagent, draft minutes 10:55:33 I have made the request to generate https://www.w3.org/2024/12/11-wot-script-minutes.html kaz 10:55:42 dp: For me it should not throw if the data schema is the same 10:56:01 ... so there are two cases, if the data schema is the same then you cannot really report this 10:56:13 q+ 10:56:25 ... but I am wondering, do you get this as an addtionalresponse or instead of the original one 10:59:44 ack jk 10:59:46 ack k 10:59:57 jr: Could also have a custom error type and include the InteractionOutput as a field of that error class 11:00:13 kaz: We need to think about error handling in the Scripting API in general 11:00:25 ... with regard to different kinds of responses 11:00:44 ca: So you are saying that we should also take into account errors like NetworkError 11:00:57 kaz: Yeah 11:01:36 ca: Until next time, everyone should through the issue once more, rather follow a bottom-up approach, deal with this issue first, and then deal with error handling in general 11:02:24 [adjourned] 11:02:27 rrsagent, draft minutes 11:02:28 I have made the request to generate https://www.w3.org/2024/12/11-wot-script-minutes.html kaz 11:03:02 |i|adjourned|... we did not have time to discuss the Agenda, will deal with that asynchronously| 11:03:05 rrsagent, draft minutes 11:03:07 I have made the request to generate https://www.w3.org/2024/12/11-wot-script-minutes.html JKRhb 11:04:21 s/|i|adjourned|... we did not have time to discuss the Agenda, will deal with that asynchronously|// 11:04:28 i|adjourned|... we did not have time to discuss the Agenda, will deal with that asynchronously| 11:04:31 rrsagent, draft minutes 11:04:32 I have made the request to generate https://www.w3.org/2024/12/11-wot-script-minutes.html JKRhb 11:05:05 i|adjourned|topic: AOB| 11:05:17 i|adjourned|dp: Happy holidays everyone!| 11:05:20 rrsagent, draft minutes 11:05:21 I have made the request to generate https://www.w3.org/2024/12/11-wot-script-minutes.html JKRhb 11:05:43 i|adjourned|scribenick: kaz| 11:05:44 rrsagent, draft minutes 11:05:46 I have made the request to generate https://www.w3.org/2024/12/11-wot-script-minutes.html JKRhb 12:13:08 JKRhb has joined #wot-script 12:24:47 JKRhb has joined #wot-script 12:46:04 JKRhb has joined #wot-script 13:04:11 Zakim has left #wot-script 13:32:18 JKRhb has joined #wot-script 13:33:15 JKRhb has joined #wot-script 14:57:29 JKRhb has joined #wot-script