Move dnd-kit packages from dependencies to peerDependencies inside dnd-kit project

solves #293

I believe only @dnd-kit/core should be listed as a peerDependency of the other packages, otherwise consumers will need to manually specify packages such as @dnd-kit/accessibility in their dependencies, which isn't something they should have to do.

Ok
So, there will also be no problem with @dnd-kit/utilities, if it stays mentioned as dependency?
Now @dnd-kit/utilities is used as dependency in @dnd-kit/core and also it mentioned as dependency in @dnd-kit/modifiers and @dnd-kit/sortable, which, in turn, use @dnd-kit/core as dependency.
How do you think, is it possible, that someone can face with problem of having several different versions of  @dnd-kit/utilities in his project, like we had 2 different versions of @dnd-kit/core?
If it is not possible, I will list only @dnd-kit/core as peerDependency.
Is it ok, if I just edit my previous commits and force-push them or I should push new commits, based on my previous ones, and they will be merged/squashed soon all together?

It could potentially happen for consumers to end up with two versions of @dnd-kit/utilities, but it's less problematic than having two versions of @dnd-kit/core. Having two versions of @dnd-kit/core causes issues with React context which causes the issues of @dnd-kit/sortable not working at all.
@dnd-kit/utilities is a package that does not change often, and shouldn't have breaking changes that would cause major issues even if two versions were installed. Installing @dnd-kit/utilities should be optional for consumers, which is why I'm reluctant for it to be added as a peer dependency.

Ok, I got it

Is it ok, if I just force-push edited commits instead of current commits?

Yes that's fine, just make sure you update the .changeset to reflect the new changes

@clauderic, I updated commits.
It seems, that they are ok now.
Should I do anything else to get this PR approved?


get rid of imageList use

As we'll have two files on s3 in the near future, it would be reasonable to just not use the imageList anymore, as it is contained in the combination of the two S3 files

already the case


Introduce Unique Version for Each AppVeyor Deployment

Currently the version for each preview deployment on myget is the same.  This is leading to caching issues when developers get the latest version.
For example, the current version on myget is 2.1.21.  What it needs to be is something like 2.1.21.{time} where {time} is the current timestamp, so something like <IP_ADDRESS>9071100000001.
Here is a page with more information:
https://www.appveyor.com/docs/build-worker-api/#update-build-details

Removing milestone as this technically isn't tied to one, but rather is intended to accomplish ASAP/whenever. 😁

Opened a new forum post here for discussion:
https://help.appveyor.com/discussions/questions/43573-modify-nuget-build-for-different-feeds

OK... fixed this sucker.  It's not perfect, but it will do for now.
First, we were using MyGet, and it turns out that AppVeyor provides a feed for you already.  It is here:
https://ci.appveyor.com/nuget/extendedxmlserializer-preview
Secondly, our preview feed now provides build numbers for each build, as such: <IP_ADDRESS>2-preview.
When we deploy to nuget, the build will be <IP_ADDRESS>3.  Ideally it would be nice to have <IP_ADDRESS> but according to this article there is a bunch of hassle around this what-should-be-dead-simple process.
In any case, we have solved the caching issue that has been a thorn in the side of this repo for a while now.


Can I send custom events

Is it possible to send custom events?
For example, can I listen on 'custom event' in client

You can send any data through the web socket, but you can't send custom events from the server to the client without some abstraction layer between the applications.
If you really need to do this, you can send some data from the server and capture that with this layer before relaying to you application. This way you can fire any custom events you want.

Wow, two years ago!
This is a pretty good solution, I will try it, thank you.


implement Attachments API

Hello.
there seem to be conflicts, any chance of revision to merge it?
thanks in advance.

Hello @jjvalle, if you still need Attachments API, you can use TestRail Java API Client

Hello @jjvalle, if you still need Attachments API, you can use TestRail Java API Client

Hello! I found the way to add it, creating the method but thank you very much for the link, I will use it for sure!


Robot syntax doesn't respect 4 spaces option in VS Code

Describe the bug
Is it a bug or a feature that even if tab option is 4 spaces, the plugin dynamically removes spaces when pressing tab? Tab can be anything from 1 to 4 spaces.
To Reproduce
Steps to reproduce the behavior:

Create empty file
Write *** Variables ***
Write [Documentation]
Press tab
Result one space

Expected behavior
Tab should add minimum of 4 spaces like other editors.
Environment (please complete the following information):

VSCode version:  1.32.3
Extension version: 2.5.0
OS: [e.g. Linux/Mac/Win] : Windows

Additional context
I have tried to change global and [robot] tab settings to no avail

Might be overkill, but I have added this key binding to fix this issue:
{         "key": "tab",         "command": "type",         "args": {"text": "    " },         "when": "editorTextFocus && editorLangId == robot", },


scrollY automatically includes horizontal scroll

http://jsfiddle.net/uonhekd8/6/
Bootstrap 3.3.5, DataTables 1.10.10, FixedHeader 3.1.0, Responsive 2.0.0
In the above jsFiddle, as you decrease the window width you will randomly see a horizontal scroll bar appear.  In the jsFiddle I can't seem to get the horizontal scroll bar to stick but in my application I have instances where it does and this is undesirable since my datatables are also responsive. Having scrollX: false does not overwrite this.
The code that appends the scrollBody declares overflow: 'auto' in the .css() call which sets both overflow-y: 'auto' and overflow-x: 'auto'.  Inclusion of each overflow style should be dependent on the scrollY and scrollX options.
Keep up the good work!

I can't seem to get it to occur in the fiddle either. Can you link to the page showing the issue so I can debug and understand why this is happening please.

I was able to get the horizontal scrollbar to stick three times when resizing the browser. It takes a little bit of messing, I can't do it reliably, but it's possible. I'm using Firefox 42.

I've just tried it with Chrome and the nightly versions ( http://jsfiddle.net/uonhekd8/8/ ) and I managed to reproduce the issue. I'll take a look into it, although probably next week (possibly after depending on other things!).
Thanks for letting me know about this.


[BUG] UNSUCCESSFUL BINDING Thermostat

Reproduction steps
Ubuntu 22.04.1 LTS (jammy)
Linux <IP_ADDRESS>-microsoft-standard-WSL2
I want to bind the  thermostat to the temperature sensor.
But when i run the following command:
$ ./out/debug/chip-tool binding write binding '[{"fabricIndex": 1, "node": 120, "endpoint": 1, "cluster": 402}]' 110 1
I got "0xc3 (UNSUPPORTED_CLUSTER)"  error.
110 - thermostat_node_ID (thermostat-app)
Any ideas?
Bug prevalence
Whenever i do this
GitHub hash of the SDK that was being used
de79f8bfc8897be4a344972d02f687b7d4bc20a3
Platform
other
Platform Version(s)
No response
Anything else?
[1698674747.883677][8642:8642] CHIP:DL: ChipLinuxStorage::Init: Using KVS config file: /tmp/chip_tool_kvs
[1698674747.884318][8642:8642] CHIP:DL: ChipLinuxStorage::Init: Using KVS config file: /tmp/chip_kvs
[1698674747.884355][8642:8642] CHIP:DL: ChipLinuxStorage::Init: Attempt to re-initialize with KVS config file: /tmp/chip_kvs
[1698674747.886807][8642:8642] CHIP:DL: ChipLinuxStorage::Init: Using KVS config file: /tmp/chip_factory.ini
[1698674747.886922][8642:8642] CHIP:DL: ChipLinuxStorage::Init: Using KVS config file: /tmp/chip_config.ini
[1698674747.886953][8642:8642] CHIP:DL: ChipLinuxStorage::Init: Using KVS config file: /tmp/chip_counters.ini
[1698674747.887233][8642:8642] CHIP:DL: writing settings to file (/tmp/chip_counters.ini-ykgCmI)
[1698674747.887531][8642:8642] CHIP:DL: renamed tmp file to file (/tmp/chip_counters.ini)
[1698674747.887600][8642:8642] CHIP:DL: NVS set: chip-counters/reboot-count = 3 (0x3)
[1698674747.887757][8642:8642] CHIP:DL: Got Ethernet interface: eth0
[1698674747.887861][8642:8642] CHIP:DL: Found the primary Ethernet interface:eth0
[1698674747.888095][8642:8642] CHIP:DL: Failed to get WiFi interface
[1698674747.888134][8642:8642] CHIP:DL: Failed to reset WiFi statistic counts
[1698674747.888160][8642:8642] CHIP:IN: UDP::Init bind&listen port=0
[1698674747.888262][8642:8642] CHIP:IN: UDP::Init bound to port=53274
[1698674747.888312][8642:8642] CHIP:IN: UDP::Init bind&listen port=0
[1698674747.888347][8642:8642] CHIP:IN: UDP::Init bound to port=56574
[1698674747.888394][8642:8642] CHIP:IN: BLEBase::Init - setting/overriding transport
[1698674747.888436][8642:8642] CHIP:IN: TransportMgr initialized
[1698674747.888468][8642:8642] CHIP:FP: Initializing FabricTable from persistent storage
[1698674747.888650][8642:8642] CHIP:TS: Last Known Good Time: 2023-10-14T01:16:48
[1698674747.889861][8642:8642] CHIP:FP: Fabric index 0x1 was retrieved from storage. Compressed FabricId 0x30D3170C832CC98E, FabricId 0x0000000000000001, NodeId 0x000000000001B669, VendorId 0xFFF1
[1698674747.891151][8642:8642] CHIP:ZCL: Using ZAP configuration...
[1698674747.891594][8642:8642] CHIP:CTL: System State Initialized...
[1698674747.891678][8642:8642] CHIP:CTL: Setting attestation nonce to random value
[1698674747.891730][8642:8642] CHIP:CTL: Setting CSR nonce to random value
[1698674747.891828][8642:8642] CHIP:IN: UDP::Init bind&listen port=5550
[1698674747.892150][8642:8642] CHIP:IN: UDP::Init bound to port=5550
[1698674747.892200][8642:8642] CHIP:IN: UDP::Init bind&listen port=5550
[1698674747.892276][8642:8642] CHIP:IN: UDP::Init bound to port=5550
[1698674747.892402][8642:8642] CHIP:IN: TransportMgr initialized
[1698674747.893241][8642:8644] CHIP:DL: CHIP task running
[1698674747.893314][8642:8644] CHIP:DL: HandlePlatformSpecificBLEEvent 32784
[1698674747.893522][8642:8644] CHIP:CTL: Setting attestation nonce to random value
[1698674747.893624][8642:8644] CHIP:CTL: Setting CSR nonce to random value
[1698674747.894249][8642:8644] CHIP:CTL: Generating NOC
[1698674747.894709][8642:8644] CHIP:FP: Validating NOC chain
[1698674747.895521][8642:8644] CHIP:FP: NOC chain validation successful
[1698674747.895628][8642:8644] CHIP:FP: Updated fabric at index: 0x1, Node ID: 0x000000000001B669
[1698674747.895668][8642:8644] CHIP:TS: Last Known Good Time: 2023-10-14T01:16:48
[1698674747.895675][8642:8644] CHIP:TS: New proposed Last Known Good Time: 2021-01-01T00:00:00
[1698674747.895679][8642:8644] CHIP:TS: Retaining current Last Known Good Time
[1698674747.896487][8642:8644] CHIP:FP: Metadata for Fabric 0x1 persisted to storage.
[1698674747.897202][8642:8644] CHIP:TS: Committing Last Known Good Time to storage: 2023-10-14T01:16:48
[1698674747.897999][8642:8644] CHIP:CTL: Joined the fabric at index 1. Fabric ID is 0x0000000000000001 (Compressed Fabric ID: 30D3170C832CC98E)
[1698674747.898060][8642:8644] CHIP:IN: UDP::Init bind&listen port=5550
[1698674747.898090][8642:8644] CHIP:IN: UDP::Init bound to port=5550
[1698674747.898129][8642:8644] CHIP:IN: UDP::Init bind&listen port=5550
[1698674747.898192][8642:8644] CHIP:IN: UDP::Init bound to port=5550
[1698674747.898236][8642:8644] CHIP:IN: TransportMgr initialized
[1698674747.904872][8642:8644] CHIP:TOO: Sending command to node 0x6e
[1698674747.905052][8642:8644] CHIP:CSM: FindOrEstablishSession: PeerId = [1:000000000000006E]
[1698674747.905098][8642:8644] CHIP:CSM: FindOrEstablishSession: No existing OperationalSessionSetup instance found
[1698674747.905117][8642:8644] CHIP:DIS: OperationalSessionSetup[1:000000000000006E]: State change 1 --> 2
[1698674747.905949][8642:8644] CHIP:DIS: UDP:[fe80::215:5dff:fe46:62e9%eth0]:5540: new best score: 7
[1698674747.906109][8642:8644] CHIP:DIS: UDP:<IP_ADDRESS>%eth0:5540: score has not improved: 2
[1698674747.906124][8642:8644] CHIP:DIS: Checking node lookup status after 1 ms
[1698674747.906130][8642:8644] CHIP:DIS: Keeping DNSSD lookup active
[1698674747.906412][8642:8644] CHIP:DIS: UDP:[fe80::215:5dff:fe46:62e9%eth0]:5540: score has not improved: 7
[1698674747.906476][8642:8644] CHIP:DIS: UDP:<IP_ADDRESS>%eth0:5540: score has not improved: 2
[1698674747.906483][8642:8644] CHIP:DIS: Checking node lookup status after 1 ms
[1698674747.906487][8642:8644] CHIP:DIS: Keeping DNSSD lookup active
[1698674748.118069][8642:8644] CHIP:DIS: Checking node lookup status after 213 ms
[1698674748.118179][8642:8644] CHIP:DIS: OperationalSessionSetup[1:000000000000006E]: Updating device address to UDP:[fe80::215:5dff:fe46:62e9%eth0]:5540 while in state 2
[1698674748.118237][8642:8644] CHIP:DIS: OperationalSessionSetup[1:000000000000006E]: State change 2 --> 3
[1698674748.118441][8642:8644] CHIP:IN: SecureSession[0x7f77f400afd0]: Allocated Type:2 LSID:30250
[1698674748.118576][8642:8644] CHIP:SC: Initiating session on local FabricIndex 1 from 0x000000000001B669 -> 0x000000000000006E
[1698674748.119410][8642:8644] CHIP:EM: <<< [E:45744i S:0 M:58310767] (U) Msg TX to 0:0000000000000000 [0000] [UDP:[fe80::215:5dff:fe46:62e9%eth0]:5540] --- Type 0000:30 (SecureChannel:CASE_Sigma1)
[1698674748.119599][8642:8644] CHIP:SC: Sent Sigma1 msg
[1698674748.119662][8642:8644] CHIP:DIS: OperationalSessionSetup[1:000000000000006E]: State change 3 --> 4
[1698674748.121741][8642:8644] CHIP:EM: >>> [E:45744i S:0 M:151651578 (Ack:58310767)] (U) Msg RX from 0:0000000000000000 [0000] --- Type 0000:31 (SecureChannel:CASE_Sigma2)
[1698674748.121801][8642:8644] CHIP:EM: Found matching exchange: 45744i, Delegate: 0x7f77f400dcf8
[1698674748.121818][8642:8644] CHIP:EM: Rxd Ack; Removing MessageCounter:58310767 from Retrans Table on exchange 45744i
[1698674748.121846][8642:8644] CHIP:SC: Received Sigma2 msg
[1698674748.121902][8642:8644] CHIP:SC: Peer assigned session session ID 8355
[1698674748.123767][8642:8644] CHIP:SC: Sending Sigma3
[1698674748.124088][8642:8644] CHIP:EM: <<< [E:45744i S:0 M:58310768 (Ack:151651578)] (U) Msg TX to 0:0000000000000000 [0000] [UDP:[fe80::215:5dff:fe46:62e9%eth0]:5540] --- Type 0000:32 (SecureChannel:CASE_Sigma3)
[1698674748.124237][8642:8644] CHIP:SC: Sent Sigma3 msg
[1698674748.127480][8642:8644] CHIP:EM: >>> [E:45744i S:0 M:151651579 (Ack:58310768)] (U) Msg RX from 0:0000000000000000 [0000] --- Type 0000:40 (SecureChannel:StatusReport)
[1698674748.127544][8642:8644] CHIP:EM: Found matching exchange: 45744i, Delegate: 0x7f77f400dcf8
[1698674748.127571][8642:8644] CHIP:EM: Rxd Ack; Removing MessageCounter:58310768 from Retrans Table on exchange 45744i
[1698674748.127608][8642:8644] CHIP:SC: Success status report received. Session was established
[1698674748.129386][8642:8644] CHIP:SC: SecureSession[0x7f77f400afd0, LSID:30250]: State change 'kEstablishing' --> 'kActive'
[1698674748.129448][8642:8644] CHIP:IN: SecureSession[0x7f77f400afd0]: Activated - Type:2 LSID:30250
[1698674748.129499][8642:8644] CHIP:IN: New secure session activated for device <000000000000006E, 1>, LSID:30250 PSID:8355!
[1698674748.129528][8642:8644] CHIP:DIS: OperationalSessionSetup[1:000000000000006E]: State change 4 --> 5
[1698674748.129707][8642:8644] CHIP:TOO:        cluster 0x0000_001E, attribute: 0x0000_0000, endpoint 1
[1698674748.129792][8642:8644] CHIP:DMG: WriteClient moving to [AddAttribu]
[1698674748.129911][8642:8644] CHIP:DMG: WriteClient moving to [AddAttribu]
[1698674748.130107][8642:8644] CHIP:EM: <<< [E:45745i S:30250 M:140066966] (S) Msg TX to 1:000000000000006E [C98E] [UDP:[fe80::215:5dff:fe46:62e9%eth0]:5540] --- Type 0001:06 (IM:WriteRequest)
[1698674748.130293][8642:8644] CHIP:DMG: WriteClient moving to [AwaitingRe]
[1698674748.130378][8642:8644] CHIP:EM: <<< [E:45744i S:0 M:58310769 (Ack:151651579)] (U) Msg TX to 0:0000000000000000 [0000] [UDP:[fe80::215:5dff:fe46:62e9%eth0]:5540] --- Type 0000:10 (SecureChannel:StandaloneAck)
[1698674748.130418][8642:8644] CHIP:EM: Flushed pending ack for MessageCounter:151651579 on exchange 45744i
[1698674748.132094][8642:8644] CHIP:EM: >>> [E:45745i S:30250 M:76674466 (Ack:140066966)] (S) Msg RX from 1:000000000000006E [C98E] --- Type 0001:07 (IM:WriteResponse)
[1698674748.132109][8642:8644] CHIP:EM: Found matching exchange: 45745i, Delegate: 0x7f77f400a2d0
[1698674748.132122][8642:8644] CHIP:EM: Rxd Ack; Removing MessageCounter:140066966 from Retrans Table on exchange 45745i
[1698674748.132192][8642:8644] CHIP:DMG: WriteClient moving to [ResponseRe]
[1698674748.132294][8642:8644] CHIP:DMG: WriteResponseMessage =
[1698674748.132305][8642:8644] CHIP:DMG: {
[1698674748.132417][8642:8644] CHIP:DMG:        AttributeStatusIBs =
[1698674748.132477][8642:8644] CHIP:DMG:        [
[1698674748.132548][8642:8644] CHIP:DMG:                AttributeStatusIB =
[1698674748.132604][8642:8644] CHIP:DMG:                {
[1698674748.132664][8642:8644] CHIP:DMG:                        AttributePathIB =
[1698674748.132721][8642:8644] CHIP:DMG:                        {
[1698674748.132761][8642:8644] CHIP:DMG:                                Endpoint = 0x1,
[1698674748.132839][8642:8644] CHIP:DMG:                                Cluster = 0x1e,
[1698674748.132893][8642:8644] CHIP:DMG:                                Attribute = 0x0000_0000,
[1698674748.132955][8642:8644] CHIP:DMG:                        }
[1698674748.133015][8642:8644] CHIP:DMG:
[1698674748.133026][8642:8644] CHIP:DMG:                        StatusIB =
[1698674748.133034][8642:8644] CHIP:DMG:                        {
[1698674748.133040][8642:8644] CHIP:DMG:                                status = 0xc3 (UNSUPPORTED_CLUSTER),
[1698674748.133049][8642:8644] CHIP:DMG:                        },
[1698674748.133123][8642:8644] CHIP:DMG:
[1698674748.133170][8642:8644] CHIP:DMG:                },
[1698674748.133246][8642:8644] CHIP:DMG:
[1698674748.133297][8642:8644] CHIP:DMG:                AttributeStatusIB =
[1698674748.133380][8642:8644] CHIP:DMG:                {
[1698674748.133427][8642:8644] CHIP:DMG:                        AttributePathIB =
[1698674748.133492][8642:8644] CHIP:DMG:                        {
[1698674748.133548][8642:8644] CHIP:DMG:                                Endpoint = 0x1,
[1698674748.133557][8642:8644] CHIP:DMG:                                Cluster = 0x1e,
[1698674748.133621][8642:8644] CHIP:DMG:                                Attribute = 0x0000_0000,
[1698674748.133681][8642:8644] CHIP:DMG:                                ListIndex = Null,
[1698674748.133749][8642:8644] CHIP:DMG:                        }
[1698674748.133808][8642:8644] CHIP:DMG:
[1698674748.133816][8642:8644] CHIP:DMG:                        StatusIB =
[1698674748.133900][8642:8644] CHIP:DMG:                        {
[1698674748.133939][8642:8644] CHIP:DMG:                                status = 0xc3 (UNSUPPORTED_CLUSTER),
[1698674748.134010][8642:8644] CHIP:DMG:                        },
[1698674748.134065][8642:8644] CHIP:DMG:
[1698674748.134124][8642:8644] CHIP:DMG:                },
[1698674748.134184][8642:8644] CHIP:DMG:
[1698674748.134195][8642:8644] CHIP:DMG:        ],
[1698674748.134207][8642:8644] CHIP:DMG:
[1698674748.134213][8642:8644] CHIP:DMG:        InteractionModelRevision = 11
[1698674748.134219][8642:8644] CHIP:DMG: }
[1698674748.134393][8642:8644] CHIP:DMG: WriteClient moving to [AwaitingDe]
[1698674748.134446][8642:8644] CHIP:TOO: Response Failure: IM Error 0x000005C3: General error: 0xc3 (UNSUPPORTED_CLUSTER)
[1698674748.134640][8642:8644] CHIP:EM: <<< [E:45745i S:30250 M:140066967 (Ack:76674466)] (S) Msg TX to 1:000000000000006E [C98E] [UDP:[fe80::215:5dff:fe46:62e9%eth0]:5540] --- Type 0000:10 (SecureChannel:StandaloneAck)
[1698674748.134774][8642:8644] CHIP:EM: Flushed pending ack for MessageCounter:76674466 on exchange 45745i
[1698674748.134978][8642:8642] CHIP:CTL: Shutting down the commissioner
[1698674748.135065][8642:8642] CHIP:CTL: Shutting down the controller
[1698674748.135737][8642:8642] CHIP:IN: Expiring all sessions for fabric 0x1!!
[1698674748.135748][8642:8642] CHIP:IN: SecureSession[0x7f77f400afd0]: MarkForEviction Type:2 LSID:30250
[1698674748.135755][8642:8642] CHIP:SC: SecureSession[0x7f77f400afd0, LSID:30250]: State change 'kActive' --> 'kPendingEviction'
[1698674748.135762][8642:8642] CHIP:IN: SecureSession[0x7f77f400afd0]: Released - Type:2 LSID:30250
[1698674748.135772][8642:8642] CHIP:FP: Forgetting fabric 0x1
[1698674748.135810][8642:8642] CHIP:TS: Pending Last Known Good Time: 2023-10-14T01:16:48
[1698674748.135914][8642:8642] CHIP:TS: Previous Last Known Good Time: 2023-10-14T01:16:48
[1698674748.135922][8642:8642] CHIP:TS: Reverted Last Known Good Time to previous value
[1698674748.135943][8642:8642] CHIP:CTL: Shutting down the commissioner
[1698674748.135973][8642:8642] CHIP:CTL: Shutting down the controller
[1698674748.135980][8642:8642] CHIP:CTL: Shutting down the System State, this will teardown the CHIP Stack
[1698674748.136024][8642:8642] CHIP:DMG: All ReadHandler-s are clean, clear GlobalDirtySet
[1698674748.136057][8642:8642] CHIP:FP: Shutting down FabricTable
[1698674748.136066][8642:8642] CHIP:TS: Pending Last Known Good Time: 2023-10-14T01:16:48
[1698674748.136132][8642:8642] CHIP:TS: Previous Last Known Good Time: 2023-10-14T01:16:48
[1698674748.136138][8642:8642] CHIP:TS: Reverted Last Known Good Time to previous value
[1698674748.136258][8642:8642] CHIP:DL: writing settings to file (/tmp/chip_counters.ini-3ZSwUN)
[1698674748.136471][8642:8642] CHIP:DL: renamed tmp file to file (/tmp/chip_counters.ini)
[1698674748.136489][8642:8642] CHIP:DL: NVS set: chip-counters/total-operational-hours = 0 (0x0)
[1698674748.136497][8642:8642] CHIP:DL: Inet Layer shutdown
[1698674748.136503][8642:8642] CHIP:DL: BLE shutdown
[1698674748.136510][8642:8642] CHIP:DL: System Layer shutdown
[1698674748.139393][8642:8642] CHIP:TOO: Run command failure: IM Error 0x000005C3: General error: 0xc3 (UNSUPPORTED_CLUSTER)

The example thermostat app does not have the Binding cluster enabled on endpoint 1, because it does not enable client clusters on that endpoint.
If you are adding a client, did you also add a Bindings server @BurievSardor ?

@bzbarsky-apple Hi! As I understand the thermostat needs to have a Binding cluster server that offers the binding service. But how to add a  Binding cluster server?

@bzbarsky-apple I think I found how to add a Binding server. When I run zap (to start the UI tool ) and open thermostat.zap I see for Endpoint-1 of Thermostat Binding server is not enabled.

I added a new Endpoint - 2  to examples/thermostat/thermostat-common/thermostat.zap by changing it
Endpoint -  1 :
Binding server -> enabled
Temperature cluster - client ->  enabled
Thermostat - server  -> disabled
Endpoint - 2:
Thermostat - server  -> enabled
After that removed examples/thermostat/thermostat-common/thermostat.matters then run following:
$ ./scripts/tools/zap/generate.py examples/thermostat/thermostat-common/thermostat.zap
110 - thermostat_node_ID (thermostat-app)
After that  compiled the thermostat app and commissioned the thermostat:
$ ./out/debug/chip-tool pairing onnetwork<PHONE_NUMBER>1
then
Run the following command:
$ ./out/debug/chip-tool binding write binding '[{"fabricIndex": 1, "node": 120, "endpoint": 1, "cluster": 402}]' 110 1
But I got this error:
[1698778684.574249][21999:21999] CHIP:TOO: Run command failure: IM Error 0x00000587: General error: 0x87 (CONSTRAINT_ERROR)
I don't why I got this error. Maybe it is because of that  I tried to bind the thermostat without commissioning the temperature sensor  into fabric

I removed  Endpoint - 2 and discarded changes of "examples/thermostat/thermostat-common/thermostat.zap".
I fixed 0x87 (CONSTRAINT_ERROR) by changing 402 to 1026. Because 402 was hex format.
Then I added a Binding server and a TemperatureMeasurement client to Endpoint - 1.
But  after  running the following command:
$ ./out/debug/chip-tool binding write binding '[{"fabricIndex": 1, "node": 120, "endpoint": 1, "cluster": 1026}]' 110 1

[1698851033.693221][5112:5112] CHIP:EM: Handling via exchange: 52610r, Delegate: 0x55fb682bb948
[1698851033.693247][5112:5112] CHIP:IM: Received Write request
[1698851033.693259][5112:5112] CHIP:DMG: IM WH moving to [Initialized]
[1698851033.693312][5112:5112] CHIP:DMG: WriteRequestMessage =
[1698851033.693373][5112:5112] CHIP:DMG: {
[1698851033.693435][5112:5112] CHIP:DMG:        suppressResponse = false,
[1698851033.693455][5112:5112] CHIP:DMG:        timedRequest = false,
[1698851033.693466][5112:5112] CHIP:DMG:        AttributeDataIBs =
[1698851033.693523][5112:5112] CHIP:DMG:        [
[1698851033.693536][5112:5112] CHIP:DMG:                AttributeDataIB =
[1698851033.693545][5112:5112] CHIP:DMG:                {
[1698851033.693566][5112:5112] CHIP:DMG:                        AttributePathIB =
[1698851033.693589][5112:5112] CHIP:DMG:                        {
[1698851033.693601][5112:5112] CHIP:DMG:                                Endpoint = 0x1,
[1698851033.693644][5112:5112] CHIP:DMG:                                Cluster = 0x1e,
[1698851033.693663][5112:5112] CHIP:DMG:                                Attribute = 0x0000_0000,
[1698851033.693677][5112:5112] CHIP:DMG:                        }
[1698851033.693688][5112:5112] CHIP:DMG:
[1698851033.693695][5112:5112] CHIP:DMG:                        Data = [
[1698851033.693702][5112:5112] CHIP:DMG:
[1698851033.693709][5112:5112] CHIP:DMG:                        ],
[1698851033.693753][5112:5112] CHIP:DMG:                },
[1698851033.693815][5112:5112] CHIP:DMG:
[1698851033.693831][5112:5112] CHIP:DMG:                AttributeDataIB =
[1698851033.693843][5112:5112] CHIP:DMG:                {
[1698851033.693855][5112:5112] CHIP:DMG:                        AttributePathIB =
[1698851033.693896][5112:5112] CHIP:DMG:                        {
[1698851033.693949][5112:5112] CHIP:DMG:                                Endpoint = 0x1,
[1698851033.693997][5112:5112] CHIP:DMG:                                Cluster = 0x1e,
[1698851033.694008][5112:5112] CHIP:DMG:                                Attribute = 0x0000_0000,
[1698851033.694016][5112:5112] CHIP:DMG:                                ListIndex = Null,
[1698851033.694025][5112:5112] CHIP:DMG:                        }
[1698851033.694034][5112:5112] CHIP:DMG:
[1698851033.694040][5112:5112] CHIP:DMG:                        Data =
[1698851033.694047][5112:5112] CHIP:DMG:                        {
[1698851033.694064][5112:5112] CHIP:DMG:                                0x1 = 120,
[1698851033.694111][5112:5112] CHIP:DMG:                                0x3 = 1,
[1698851033.694153][5112:5112] CHIP:DMG:                                0x4 = 1026,
[1698851033.694170][5112:5112] CHIP:DMG:                        },
[1698851033.694178][5112:5112] CHIP:DMG:                },
[1698851033.694217][5112:5112] CHIP:DMG:
[1698851033.694231][5112:5112] CHIP:DMG:        ],
[1698851033.694282][5112:5112] CHIP:DMG:
[1698851033.694291][5112:5112] CHIP:DMG:        moreChunkedMessages = false,
[1698851033.694343][5112:5112] CHIP:DMG:        InteractionModelRevision = 11
[1698851033.694354][5112:5112] CHIP:DMG: },
[1698851033.694455][5112:5112] CHIP:DMG: AccessControl: checking f=1 a=c s=0x000000000001B669 t= c=0x0000_001E e=1 p=m
[1698851033.694521][5112:5112] CHIP:DMG: AccessControl: allowed
[1698851033.694554][5112:5112] CHIP:DMG: Endpoint 1, Cluster 0x0000_001E update version to b1332db3
[1698851033.694618][5112:5112] CHIP:DMG: IM WH moving to [AddStatus]
Segmentation fault

Thermostat-app crashes with Segmentation fault. I did not add BindingHandler class. Is it  because of that?

I will close this issue and open a new issue on the segmentation fault


YouTube "shorts" format unsupported

Checklist

[ ] I'm reporting a broken site support issue
[X] I've verified that I'm running youtube-dl version 2021.12.17
[X] I've checked that all provided URLs are alive and playable in a browser
[X] I've checked that all URLs and arguments with special characters are properly quoted or escaped
[X] I've searched the bugtracker for similar bug reports including closed ones
[ ] I've read bugs section in FAQ

Verbose log

# youtube-dl --verbose https://youtube.com/shorts/Dc8aMUtS2YM
[debug] System config: ['--prefer-free-formats']
[debug] User config: []
[debug] Custom config: []
[debug] Command-line args: ['--verbose', 'https://youtube.com/shorts/Dc8aMUtS2YM']
[debug] Encodings: locale UTF-8, fs utf-8, out utf-8, pref UTF-8
[debug] youtube-dl version 2021.12.17
[debug] Python version 3.10.7 (CPython) - Linux-5.19.15-201.fc36.x86_64-x86_64-with-glibc2.35
[debug] exe versions: ffmpeg 5.0.1, ffprobe 5.0.1
[debug] Proxy map: {}
[youtube:tab] shorts: Downloading webpage
ERROR: Unable to recognize tab page; please report this issue on https://yt-dl.org/bug . Make sure you are using the latest version; see  https://yt-dl.org/update  on how to update. Be sure to call youtube-dl with the --verbose flag and include its complete output.
Traceback (most recent call last):
  File "/usr/lib/python3.10/site-packages/youtube_dl/YoutubeDL.py", line 814, in wrapper
    return func(self, *args, **kwargs)
  File "/usr/lib/python3.10/site-packages/youtube_dl/YoutubeDL.py", line 835, in __extract_info
    ie_result = ie.extract(url)
  File "/usr/lib/python3.10/site-packages/youtube_dl/extractor/common.py", line 534, in extract
    ie_result = self._real_extract(url)
  File "/usr/lib/python3.10/site-packages/youtube_dl/extractor/youtube.py", line 2862, in _real_extract
    raise ExtractorError('Unable to recognize tab page')
youtube_dl.utils.ExtractorError: Unable to recognize tab page; please report this issue on https://yt-dl.org/bug . Make sure you are using the latest version; see  https://yt-dl.org/update  on how to update. Be sure to call youtube-dl with the --verbose flag and include its complete output.

Description

WRITE DESCRIPTION HERE
Pretty simple an self-explanatory: YouTube shorts seems to present an unsupported page format and youtube-dl doesn't seem to be able to work with it.

Help me, "Obi Wan youtube-dl"! You are my only hope ...

I've searched the bugtracker for similar bug reports including closed ones

Really? Duplicate of #30760.

I've searched the bugtracker for similar bug reports including closed ones
Really? I never claimed to have done this.

I've searched the bugtracker for similar bug reports including closed ones
Really? I never claimed to have done this.

Oops ... My mistake. I apparently did claim I did this. Sorry.

Since I will probably not be the last person to "discover" this problem, how hard would it be to simply avoid all the reports? Look for the naive, offending URL and tactically replace it with the compliant one. I don't know if Python supports this, but I suspect that you get the idea:

sed
's/https://.youtube.com/shorts/(.)?.*/https:/www.youtube.com/watch?v=\1/'

Sorry for my ignorance of this previous discussion, but with a tiny bit of foresight, the whole charade could have been avoided.

The code has been fixed since February. If you don't want to install the development code or one of the nightly builds in forks, just use the bare ID (but you won't get the unthrottled download).

Hi Dirk,

The code has been fixed since February. If you don't want to install the
development code or one of the nightly builds in forks, just use the bare ID
(but you won't get the unthrottled download).
... by which you mean the current "development version" has been fixed? I think I am running the most current "production" version, and that is what almost everybody will be using, so "the code" is an ambiguous term that would lead people to believe that "what they have" has been fixed since February. I don't know the sophistication level of your user base, but I would call myself average, and I had to ask for advice. How many folks will say, "This damn thing doesn't work.

It is not unreasonable for users to think that the URL as presented in the browser, should also work with youtube-dl. Since "shorts" has recently become far more widely accessible, you might want to "patch" your "current version", meaning your current "production" version, meaning the version most users will have, with just the tactical URL re-write that I described, and avoid the wasted time you will incur instructing users that the failure is the result of their naivety and that "the code" does the right thing, but that they don't have "the code".
Thanks for the help,
Chris.
V:916.799.9461
F:916.974.0428
A: Because we read from top to bottom, left to right.
Q: > Why should I start my reply below the quoted text?

The reason for the checkboxes is to help people solve the problem without creating a new issue. Even a naïve user should find the original issue (actually #30760) either directly or from an earlier duplicate, where the solution and work-arounds are documented. Just use Dc8aMUtS2YM. But then you seem to be a top-quoter so I guess it's hopeless ...

The message you want would have required someone early in 2021 to predict the advent of a new URL pattern in YouTube. As the pattern will be correctly handled in the next release, there wouldn't be any point in adding a message retrospectively ("The URL format you are downloading used not to be directly supported but is now").
Stack traces are possibly unfriendly but provide incontrovertible evidence as opposed to "help! youtube-dl didn't work". While n**** users sometimes have trouble determining that, eg, a 403 error from site A is almost certainly a different issue from the same error for site B, developer(s) can tell immediately and sometimes go straight to the problem line of code.
We don't show back-traces for predictable extraction errors, say when the site extractor determines that the requested item has expired, or isn't accessible because of the user's location. Whether a predictable error is correctly categorised does depend on the pains taken by the author of the extractor, though.
See how this post appears underneath your last one!

Hi Dirk,
It's been fun.
Chris.
V:916.799.9461
F:916.974.0428
A: Because we read from top to bottom, left to right.
Q: > Why should I start my reply below the quoted text?


Timer Block?

Please fill out this template when filing an issue.
All comment lines beginning with an > instruct you with what info we expect. You can delete those lines once you've filled in the info.

[ ] I've read, understood, and done my best to follow the Contributing guidelines before opening this issue.
What did you do?

Please replace this with what you did.

What did you expect to happen?

Please replace this with what you expected to happen.

What happened instead?

Please replace this with of what happened instead.

SwifterSwift Environment

SwifterSwift version:
Xcode version:
macOS version running Xcode:
Swift version:
Platform(s) running SwifterSwift:

Demo Project

Please link to or upload a project we can download that reproduces the issue.

@yangdehui you haven't explained what you are actually suggesting...

@yangdehui you haven't explained what you are actually suggesting...
where is category of timer

where is category of timer

We don't have it yet, but as it's a Foundation class you would need to create TimerExtensions.swift in Sources/SwifterSwift/Foundation. You would need to do something similar for the tests class.


reduce equality comparison operator overloads

Change-Id: Id6f567d775036fb8d0048cfc7052608702d4cf0a

Codecov Report
All modified and coverable lines are covered by tests :white_check_mark:

:exclamation: No coverage uploaded for pull request base (I77fd8bf622a9352d1bc913dfa72ae8fefebf08c6@3290564). Click here to learn what that means.

:exclamation: Current head f6ab56b differs from pull request most recent head c9c8631. Consider uploading reports for the commit c9c8631 to get more accurate results

Additional details and impacted files
@@                             Coverage Diff                              @@
##             I77fd8bf622a9352d1bc913dfa72ae8fefebf08c6      #32   +/-   ##
============================================================================
  Coverage                                             ?   97.08%
============================================================================
  Files                                                ?       11
  Lines                                                ?      137
  Branches                                             ?        4
============================================================================
  Hits                                                 ?      133
  Misses                                               ?        0
  Partials                                             ?        4

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.


ModuleNotFoundError: No module named 'azure' on ./scripts/prepdocs.ps1

This issue is for a: (mark with an x)
- [x ] bug report -> please search issues before submitting
- [ ] feature request
- [ ] documentation issue or request
- [ ] regression (a behavior that used to work and stopped in a new release)

Minimal steps to reproduce

I just did azd up and also tried with .\scripts\prepdocs.ps1 and i am not able to upload my documents and created indexes. It gives me error: ModuleNotFoundError: No module named 'azure' (Screenshot added: I just called prepdocs.ps1

Expected/desired behavior

It should have uploaded documents on cloud

OS and Version?

Windows 7, 8 or 10. Linux (which distribution). macOS (Yosemite? El Capitan? Sierra?)
Windows 10

azd version?

run azd version and copy paste here.
1.1.0

Thanks! We'll be in touch soon.

I am facing the same issue when running python prepdocs.py inside the scripts folder.

I just had the same issue.  It turns out that I was using an older version of Python.  I had downloaded and installed 3.11, but the OS was still finding 3.8.   As soon as I deleted 3.8 from "Apps", the command prompt immediately identified 3.11 after I ran "python --version".  When I went through the install again, I did not get the error.


What are the advantages of using App Center for push notifications

What are the advantages of using notifications from App Center?
I have to create project in FCM console, GoogleJson file, need to add firebase plugins in my project.
So what is the role of app center?

@arvindrajachourasiya your language wasn't rude, I just didn't see any questions or suggestions in your issue. Thanks for the advice, I'll update the docs with a benefits overview.


flow-typed install --ignoreDef peer bundle does not work

The wiki says that running the command flow-typed install --ignoreDef peer bundle will ignore installation of peer and bundle types. Instead, it fails with the following error:
ERROR: Please specify npm package names in the format of<EMAIL_ADDRESS>

That's a typo, my bad. It should be --ignoreDeps. I'll fix it in the wiki in a sec.


Can hubot to notify all in a channel when using @channel

I've been searching around the open and closed issues and I can't seem to find the answer. Our team setting is to always confirm if you wish to send a @channel message. With hubot is there any way to remove this restriction or anything in the adapter to mean that he will automatically accept that confirmation?
We're using him for some notifications which we would like entire channels to be aware of (a new issue to do with X and stand up notifications etc) so it's something we'd like to use a fair bit, but only for Hubot.

This may be related to my issue.  Do you have @group/@channel restricted to admin/owners only? https://github.com/slackhq/hubot-slack/issues/149

Yes it is, I shall close this as it's a duplicate!


Team IDs

Old Issue is closed.
Green is 2741

If go to the arcdps settings (alt+shift+t) and under extension go to Know Thy Enemy you can set the team ids there.


jump(pop) with dataflow resolved address does not update stack

When binja is configured to lift return instructions as jump(pop), dataflow can resolve the address of the pop but does modify the stack. Lifting returns as esp = esp + 4 ; jmp *(esp - 4) resolves correctly.
Current behavior:

Expected behavior:
After the first ret, the stack is popped and the second ret resolves to the next address pushed onto the stack, resolving an indirect jump, and continuing the chain.
Binary: asmtest.zip
Arch hook for x86:
from binaryninja import *

class X86RetHook(ArchitectureHook):

    def __init__(self, base_arch):
        super(X86RetHook, self).__init__(base_arch)

    def get_instruction_info(self, data, addr):
        info = super(X86RetHook, self).get_instruction_info(data, addr)
        branches = info.branches
        # So dataflow doesn't stop at a return
        for b in branches:
            if b.type == BranchType.FunctionReturn:
                b.type = BranchType.UnresolvedBranch
        info.branches = branches
        return info

    def get_instruction_low_level_il(self, data, addr, il: LowLevelILFunction):
        is_ret = data[0] == 0xc3  # ret
        if is_ret:
            # Produces buggy behavior shown above
            il.append(il.jump(il.pop(il.arch.address_size)))

            # Produces correct dataflow
            # aas = il.arch.address_size
            # reg = "esp" if aas == 4 else "rsp"
            # il.append(il.set_reg(aas, reg,
            #                      il.add(aas,
            #                             il.reg(aas, reg),
            #                             il.const(aas, aas))))
            # il.append(il.jump(il.load(aas,
            #                           il.sub(aas,
            #                                  il.reg(aas, reg),
            #                                  il.const(aas, aas)))))
            return 1
        else:
            return super(X86RetHook, self).get_instruction_low_level_il(data, addr, il)

X86RetHook(Architecture['x86']).register()

And for reference, here is what the alternative lifting for ret produces:

It would be cool if this were fixed, I've asked about it a few times now. Current workaround is to lift it as
temp0 = pop
jump(temp0)

Branches have very similar behavior: https://github.com/Vector35/binaryninja-api/issues/1908


Where is the aws-amplify Docker file hosted?

Before opening, please confirm:

[X] I have checked to see if my question is addressed in the FAQ.
[X] I have searched for duplicate or closed issues.
[X] I have read the guide for submitting questions.
[X] I have removed any sensitive information from my code snippets and submission.

App Id
d2zlsiaic5yx2j
AWS Region
us-east-1
Amplify Hosting feature
Deployments
Question
Hello,
I'm trying to create a custom Docker image for AWS Amplify. Rather than rebuilding the image from scratch, I would like to base myself on the existing amplify-console/buildimage:latest (defined here: https://github.com/aws-amplify/amplify-hosting/blob/main/images/README.md). However, I can't find where this image is hosted.
In other words, I would like to do the following:
FROM amplify-console/buildimage:latest

…

Currently, docker build fails as follow:
 > [internal] load metadata for docker.io/amplify-console/buildimage:latest:
------
failed to solve with frontend dockerfile.v0: failed to create LLB definition: pull access denied, repository does not exist or may require authorization: server message: insufficient_scope: authorization failed

Thanks!

Hi @bvirlet thanks for raising this question. I'm currently investigating what the proper location is for the image. In the mean time, here is the dockerfile that we use: https://github.com/aws-amplify/amplify-hosting/blob/main/images/latest/Dockerfile

Hi. Could I follow up with this issue? I am having similar trouble getting the docker image to work locally for testing.


Throw an exception if a template ID does not exist in your request body

Issue Summary
You will not receive an error from the API is you send an email with the wrong template. Instead you will get a "Not Delivered" notice in your email activity feed. We want to make that experience better by throwing an exception in the code instead.
This issue is inspired by this.
Acceptance Criteria

Use the API to verfiy a template ID exists, if not, throw an exception
A new test is added that demonstrates that if you use a non-existent template, the code will throw an error

According to this comment, it looks like that we need to create the template checking work.
How can I do this? Which classes I need to concern?
How about creating the new VerifyTemplateId class in lib/mail folder?
@thinkingserious, can you suggest some recommendations about this?

Since there has been no activity on this issue since March 1, 2020, we are closing this issue. Please feel free to reopen or create a new issue if you still require assistance. Thank you!


Adding paket.references in subdirectories

Hi,
I would like to add specific paket.reference in some of my git dependencies.
I have:
proj
proj.csproj
paket.references
-------paket-files
-----------------core
-----------------core.csproj
-----------------paket.references
-----------------api
-----------------api.csproj
-----------------paket.references
paket doesn't recognize any references in paket-files.
could you tell me how my paket.references in proj should look like ?
Thanks
Gilles

I'm afraid that I don't understand what you are trying to achieve.

Hello,
It seems that paket is not allowed to search for paket.references in the directory "paket-files".
The idea is to use paket to handle nuget references in the git dependencies repo as well.
for example one of my git project requires NLog, I would like to put a paket.references in the repo generated by paket.


Renovate error: @motorcycle/types not found

Hi @TylorS,
I'm the author of the Renovate app/service. I wanted to alert you of an error I saw in my logs, that the dependency @motorcycle/types cannot be found.
It's referenced here: https://github.com/motorcyclets/motorcycle/blob/develop/packages/stream/package.json#L40
And it can't be found here: https://www.npmjs.com/package/@motorcycle/types
Unfortunately, this error means that Renovate can't update any of the packages in this package.json, the reason being: we choose not to update a package.json unless we can update its accompanying lock file, and we can only generate the lock file if yarn can install all modules.
Assuming it's a public module, you need to either remove it from the package.json or publish it to npm so that it can be found.
Let me know in case if I can help, or if I am misunderstanding anything.

Hello @rarkins,
Thanks for taking the time to write me. Currently @motorcycle/types is not published on npm. I'm currently waiting to complete some other packages before releasing them all publicly.
I'm brand new to using Renovate, and really excited to see how it works in a lerna monorepo.
Thank you for your time and for Renovate!

Thanks for the feedback. At least, now you're aware that your packages/stream/package.json won't get "renovated" until @motorcycle/types is published to npm.
Re: renovate approach, I'm happy to give advice but I also try for the tool to not be too opinionated like "you must update your packages THIS way". So, whatever works best for you is essentially the right way. I haven't actually coded anything specific for lerna, so let me know if the way it works out of the box ever seems cumbersome. I can then let you know if any existing configuration setting can fix that or if an enhancement is needed.
An example might be if you want your own dependencies to be updated downstream "immediately" - and perhaps even automerged without your intervention - while you prefer all other dependencies to only be checked only weekly. This type of thing is possible but obviously would need configuration to override the default behaviour.
You can always reply in this issue, or raise an issue in the renovate repo, or simply @rarkins me if there's a particular issue or PR you want to point out as I should see it in my notifications.

One cool thing about Lerna is when you publish a package all of the downstream packages get updated with the new upstream package version already (if they're in the monorepo). As for the other dependencies I'm happy with them updating as soon as renovate can. So far I haven't had any issues, it updated 3 dependencies in the root /package.json. The fact that it even tried to update packages/stream/package.json is a huge step up from GreenKeeper!
Thank you very much for you time, and for Renovate. I'll be sure to give any feedback as it comes!


Refactor UI code to depend on typescript and make the generation of typescript code from JsonSchemas

Instead of checking the generated code. Lets do this as part of build process such that during the release the generated code gets packaged but doesn't need to be checked into the repository.
cc @shahsank3t

Generated Typescript interface files are empty if,

"$id" field does not consist of proper path - Refer ingestion.json or filters.json file
"properties" field does not exist - Refer storage.json or basic.json

Removed global package installation to generate Typescript code from schema
Need to add it to Pre-build run script

Moving this to the next release as we have added the root package.json to install quicktype to generate Typescript interface from JSON schema. Also, we have added documentation for the same

@vivekratnavel marking this issue as resolved given we already use code generation.


doc: net: Fix networking overview document

Add references to external documents like RFCs.
Signed-off-by: Jukka Rissanen<EMAIL_ADDRESS>

Codecov Report

Merging #14930 into master will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##           master   #14930   +/-   ##
=======================================
  Coverage   52.93%   52.93%
=======================================
  Files         309      309
  Lines       45251    45251
  Branches    10447    10447
=======================================
  Hits        23953    23953
  Misses      16533    16533
  Partials     4765     4765

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update 082cf7a...f1fcab2. Read the comment docs.


Potential license issue with MPIRE[dill] being under a BSD license

Hey @umarbutler,
I preface this with a "I might be wrong about this, so correct me if I am", but according the MPIRE documentation the installation mpire[dill] would be under BSD license and hence, semchunk would also be under BSD license as required by it.
Source: https://sybrenjansen.github.io/mpire/v2.3.0/install.html#dill

If this is accurate, then it would be preferable not to use mpire[dill] as a default dependency in semchunk
Thanks! 😊

Hey @bhavnicksm, thanks for flagging this, I appreciate your due diligence.
I was actually already aware of the disclaimer you reference in mpire's documentation.
Nevertheless, semchunk does not need to be licensed under the BSD license, even if it depends on mpire[dill].
If we take a look at the disclaimer, we see that it states pip install mpire[dill] will install [multiprocess](https://github.com/uqfoundation/multiprocess), which uses dill under the hood. It also helpfully links to the license for multiprocess available here. For the avoidance of doubt, that license is the same as the license for dill.
The license begins by stating that the provided software is licensed under its terms. It then lists three requirements for use of the software and finally disclaims warranties and liability.
What is relevant to us are the requirements for use of licensed software:
Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions
are met:

    - Redistributions of source code must retain the above copyright
      notice, this list of conditions and the following disclaimer.

    - Redistributions in binary form must reproduce the above copyright
      notice, this list of conditions and the following disclaimer in the
      documentation and/or other materials provided with the distribution.

    - Neither the names of the copyright holders nor the names of any of
      the contributors may be used to endorse or promote products derived
      from this software without specific prior written permission.

Points 3 and 2 are not relevant to semchunk. I do not use the names of any of the copyright holders or contributors to either multiprocess or dill anywhere in my documentation, let alone indicate that they endorse or promote any derivations of their software. Additionally, semchunk is not distributed as a binary (you can verify that by opening the wheels on PyPI as zip files 😊) and even if it was, point 2 would only really apply if I also included multiprocess or dill inside the binary.
Point 1 is also not relevant to semchunk. semchunk does not redistribute the source code of either multiprocess or dill.
To be sure, semchunk uses multiprocess or dill, but it still requires both of those packages to be installed to be useable. I do not distribute those packages with semchunk. When you pip install semchunk, pip downloads multiprocess and dill if they are not already installed. But all that I am distributing is the source code for semchunk.
Finally, dill and multiprocess already retain copyright licenses for their code. So if it was the case that I was redistributing multiprocess and dill, point 1 would still be satisfied.
The only scenario where point 1 wouldn't be satisfied is if I had decided to directly copy the source code of multiprocess or dill into semchunk and then strip out the copyright licenses. Or if I offered semchunk binaries that included multiprocess and dill directly inside of them, and I didn't share their copyright license.
BSD is a permissive copyright license, much like MIT. It is not a copyleft or viral license like GPL. It does not purport to impose additional terms on works that rely on material it covers.
So there is no scenario where it is possible that the entirety of semchunk could be covered by BSD. At 'worst', there would be a dual license, BSD for the portion of any code packaged inside semchunk that is licensed under BSD, and then whatever I want for my own code.
As for why mpire claims that it becomes licensed under BSD if dill is installed? I'm honestly not too sure 😆 Maybe mpire[dill] actually includes source code from multiprocess and dill inside of it? But even then, that shouldn't apply virally to the rest of their source code.

I see, that makes sense~ thanks for clarifying! 😄


[Feature] Build permit holder modals

Notion ticket link

Edit Permit Holder Modals

Implementation description

Built EditUserInformationModal and EditPermitHolderInformationModal. Implementation closely follows how the previous modals (EditPaymentDetailsModal, EditDoctorInformationModal, EditReasonForReplacementModal) were built

Notes

Similar to the other the modals, error states + handling will be addressed later (probably post-mvp)

Checklist

[x] My PR name is descriptive, is in imperative tense and starts with one of the following: [Feature],[Improvement] or [Fix],
[x] I have run the appropriate linter(s)
[x] I have requested a review from the RCD team on GitHub, or specific people who are associated with this ticket

Designers are making a few minor changes so this PR can't be merged until the changes are addressed (probs later today)

@angeladietz Thanks for all the great feedback! Addressed it and left a reply/question for one of the comments!!


The type initializer for 'SkiaSharp.SKManagedStream' threw an exception.

I am trying to convert stream to SKManagedStream. In one pc its working find and in another pc its giving below exception for same image. I am using same code and same package of skiasharp(1.57.0) on both the pc
Code....
public static Stream ResizeImage(Stream imageStream, int mySize, int myQuality = 75)
{
int size = mySize;
int quality = myQuality;
imageStream.Position = 0;
using (var inputStream = new SKManagedStream(imageStream))
{
//SomeCode....
}
}
Exception....
System.TypeInitializationException occurred
HResult=0x80131534
Message=The type initializer for 'SkiaSharp.SKManagedStream' threw an exception.
Source=SkiaSharp
StackTrace:
at SkiaSharp.SKManagedStream..ctor(Stream managedStream)
at ImageUploadOWIN.Controllers.ImageUploadController.ResizeImage(Stream imageStream, Int32 mySize, Int32 myQuality) in Controllers\ImageUploadController.cs:line 271
Inner Exception 1:
BadImageFormatException: An attempt was made to load a program with an incorrect format. (Exception from HRESULT: 0x8007000B)

List of packages.

This appears to be an issue with your compiler architecture... "An attempt was made to load a program with an incorrect format."
I am assuming you are running Windows as this is where this type of error usually occurs.
Are you building for x86, x64 or Any CPU? Is this .NET Core or Full .NET Framework? One machine may be running an x86 OS and the other a x64 OS. Because we are using a native library, you may need to build for each architecture separately. If you are building for Any CPU, both platform native files will be copied into the output directory, as well as the current platform in the bin. If you are running on a specific architecture, you can just copy the required native file out of the sub folder into the bin.

Hi @mattleibow ,
I am running on Full .NET Framework with Any CPU. Both the machine running on X64 Windows 10 OS.
Both have native file for each CPU architecture in separate folder and X64 one in bin folder.
The only difference is working one is running on IIS 8 on Xeon Processor. Non working on is using IIS express on Core I7 in debug mode.
I have made simple console application on core i7 Full .NET Framework with Any CPU its working fine.

Its working after changing from x86 to x64. Thanks.

The build should work for the machine that it is building on (and from the IDE). but as soon as you change it, there is no way for the build to know.
The reason for the two "x86" and "x64" folders is that depending on the destination architecture, you are supposed to copy the contents out of the sub folder and next to the main exe.


Number of pages squared

Hi,
We are analysing the how Cups works on unix system. We noticed that the "number of pages printed" showing on web interface is not the same we give while printing document.
We are using HP Deskjet 1510 printer. The OS is ubuntu 16.04.
Any reason why the page numbers are showing wrong?

Please report this bug to the Ubuntu folks.


Update readme in preparation for next caddy release

In future versions of caddy, filesystems have been changed to be declared in the global block, then referenced using the fs directive, see https://github.com/caddyserver/caddy/pull/5833
this is a breaking change, see #288
it shouldn't break the actual plugin (if it does, let me know, and i can investigate), but the readme should be updated.
also probably shouldn't merge until the next official caddy release.

We can remove it once 2.8+ becomes the standard, but until then, I think it would be confusing for people to have an unreleased version config in the docs.

@sagikazarmark You should create a new branch like caddy v2.8.0, update docs properly and add a note that it will be merged to main when caddy v2.8 arrives
Now my issue is fixed thanks to @elee1766 and I can build your module against caddy master

This just documentation, so I’m satisfied with the current version.


Select by typing in SelectMenu (like native menus)

What do you think about supporting navigation by typing as well, as available on macOS (and presumably on other OSes as well). Example when pressing g:

This behavior also exists in regular <select> elements in the browser, but not here.

This will be addressed in the Overlay epic 👍 Going to close this for now as it's captured in an issue in another repo :)

Great to hear! Is it public? Got a link so I can keep track of it?

@fregante We don't quite have a public issue for it yet (it's in another internal repo) but I believe @smockle will be creating issues in this repo as we move forward on the project! We will be shipping a whole new overlay system that incorporates SelectMenus, Dialogs, etc and will be doing a visual refresh at that time as well!


Delete workspace from backend

Hi @magland, how would I delete a workspace added to the backend?

Actually what I meant to ask is: is there a way to delete workspace from the sortingview app, e.g. from the view below? I assume right now we would have to delete the workspace feed from kachery storage?

@khl02007 you still can't delete them from the GUI, but now the GUI contains instructions for both adding/removing workspaces.
You'll need to upgrade backend to >= 0.2.26 for the remove script to work.
It also shows how to get the list of workspaces from a Python script.
Once you confirm this works, I will close the issue.

It seems like it's not working. Just deleted a workspace named kyu and it still shows up on the web app (though it is gone in the list of workspaces). By the way, I think there is an error in the example script; to list workspaces,sortingview.workspace_names doesn't work; need to do
workspace_list = sortingview.WorkspaceList(list_name='default')
workspace_list.workspace_names()

Are you sure that sortingview.workspace_names does not work? Please try on the latest version. Also, please confirm on latest version that removing still does not work.

@magland Looks like the latest sortingview version is 0.2.29 on the web app but the latest that is deployed is 0.2.27. Can you deploy the latest? I will try again after that

Should be up to date now.
On Mon, Jul 19, 2021 at 6:03 PM Kyu Hyun Lee @.***>
wrote:

@magland https://github.com/magland Looks like the latest sortingview
version is 0.2.29 on the web app but the latest that is deployed is 0.2.27.
Can you deploy the latest? I will try again after that
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/magland/sortingview/issues/5#issuecomment-882890675,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AA4CIQAGVOGZMDCLN2CF3GDTYSOKDANCNFSM46BWDU6A
.

sortingview.workspace_names still does not work

also, the code snippet for deleting workspace
import sortingview

# replace "new-workspace" with the name of the workspace to remove
workspace_name = 'despereaux20191125_S801LRZBWZ.nwb'

workspace_list = sortingview.WorkspaceList(list_name='default')
workspace_list.remove_workspace(name=workspace_name)

finishes running and the workspace is indeed gone from the list accessed with
workspace_list = sortingview.WorkspaceList(list_name='default')
workspace_list.workspace_names()

but still shows up on the web app (last one in the image below)

This will be resolved once we have migrated to new workspace list system. Closing.


[WIP] Allow for external downloaders/converters

Fixes #213.
@dribnet the interface for adding external downloaders / converters would be to define an extra_downloaders / extra_converters config attribute in ~/.fuelrc like so:
# ~/.fuelrc

extra_downloaders: ['my.extra.downloaders1', 'my.extra.downloaders2']
extra_converters: ['my.extra.converters1', 'my.extra.converters2']

where elements of extra_downloaders / extra_converters are modules which define an all_downloaders / all_converters attribute like in fuel.downloaders / fuel.converters.
Would that work for you?

Wow - thanks for making forward progress on this so quickly.
Haven't reviewed the code yet - are these .fuelrc settings something that would have to be modified for each new dataset? I think an ideal developer flow would be something like:
pip install some_fuel_dataset
fuel-download some_fuel_dataset
fuel-convert some_fuel_dataset

Without any manual config edits.

OK, just looked at the code. I think this is great - but to would suggest adding a command line argument to fuel-download and fuel-convert to allow items of fuel.config.extra_converters to also be specified on the command line as well. Then you at runtime you could just append this to the existing list in the .fuelrc. Thoughts?

@vdumoulin - I've implemented this new command line argument as --extra for both fuel-download and fuel-convert and opened a merge request with this downstream commit branch at vdumoulin/fuel#1
I also made this small tweak to my lfw_fuel project and confirmed that this implementation works as expected either by adding extra downloaders / converters to ~/.fuelrc, or by using the new --extra argument. This is pushed up to my download_convert branch in that repo, and I'll paste in a sample session using that branch below as an example of testing various options:
# either `pip install` or just clone repo and update PYTHONPATH
export PYTHONPATH=`pwd`

$ fuel-download --extra lfw_fuel lfw
Downloading lfw.tgz, lfw-names.txt, pairsDevTest.txt, pairsDevTrain.txt

INFO:requests.packages.urllib3.connectionpool:Starting new HTTP connection (1): vis-www.cs.umass.edu
INFO:requests.packages.urllib3.connectionpool:Starting new HTTP connection (1): vis-www.cs.umass.edu
lfw.tgz: 100% [======================================] Time: 0:00:27   6.62 MB/s
INFO:requests.packages.urllib3.connectionpool:Starting new HTTP connection (1): vis-www.cs.umass.edu
INFO:requests.packages.urllib3.connectionpool:Starting new HTTP connection (1): vis-www.cs.umass.edu
lfw-names.txt: 100% [================================] Time: 0:00:00 462.61 kB/s
INFO:requests.packages.urllib3.connectionpool:Starting new HTTP connection (1): vis-www.cs.umass.edu
INFO:requests.packages.urllib3.connectionpool:Starting new HTTP connection (1): vis-www.cs.umass.edu
pairsDevTest.txt: 100% [=============================] Time: 0:00:00  15.30 MB/s
INFO:requests.packages.urllib3.connectionpool:Starting new HTTP connection (1): vis-www.cs.umass.edu
INFO:requests.packages.urllib3.connectionpool:Starting new HTTP connection (1): vis-www.cs.umass.edu
pairsDevTrain.txt: 100% [============================] Time: 0:00:00 590.11 kB/s

$ fuel-convert --extra lfw_fuel lfw
--> Converting lfw.tgz to tar
--> Building test/train lists
--> Converting
Converting train images: 100% [==================================] Time: 0:00:13
Converting test images: 100% [===================================] Time: 0:00:05
train shapes:  (2200, 6, 250, 250) (2200, 1)
test shapes:   (1000, 6, 250, 250) (1000, 1)
--> Writing hdf5 output file
--> Done, removing tar file

$ fuel-convert --extra lfw_fuel lfw --format deepfunneled
usage: fuel-convert [-h] [--extra EXTRA]

                    {iris,caltech101_silhouettes,svhn,cifar10,binarized_mnist,lfw,cifar100,mnist}
                    ...
fuel-convert: error: The following required files were not found:

   * lfw-deepfunneled.tgz

Did you forget to run fuel-download?

$ fuel-download --extra lfw_fuel --help
usage: fuel-download [-h] [--extra EXTRA]

                     {iris,caltech101_silhouettes,svhn,cifar10,binarized_mnist,lfw,cifar100,mnist}
                     ...

Download script for built-in datasets.

positional arguments:
  {iris,caltech101_silhouettes,svhn,cifar10,binarized_mnist,lfw,cifar100,mnist}
    iris                Download the iris dataset
    caltech101_silhouettes
                        Download the caltech101_silhouettes dataset
    svhn                Download the svhn dataset
    cifar10             Download the cifar10 dataset
    binarized_mnist     Download the binarized_mnist dataset
    lfw                 Download the lfw dataset
    cifar100            Download the cifar100 dataset
    mnist               Download the mnist dataset

optional arguments:
  -h, --help            show this help message and exit
  --extra EXTRA         add an extra downloader package

$ fuel-download --extra lfw_fuel lfw --help
usage: fuel-download lfw [-h] [-d DIRECTORY] [--clear] [--format FORMAT]

optional arguments:
  -h, --help            show this help message and exit
  -d DIRECTORY, --directory DIRECTORY
                        where to save the downloaded files
  --clear               clear the downloaded files
  --format FORMAT       alternate format

@dribnet I like your idea of being able to specify extra downloaders/converters from the command-line.
There are two ways to implement this:

through an --extra command-line flag, like featured in your PR, or
via environment variables that would override the extra_downloaders / extra_converters configuration variables, like FUEL_DATA_PATH does for data_path.

I think both options have their merits. On one hand, the --extra flag makes the feature more discoverable through --help. On the other hand, the environment variable is more consistent with how things are done in fuel.config.
Note that these to options aren't mutually exclusive either. I think we should strive for the most intuitive and discoverable interface.
What are your thoughts on this?

Environment variables would also be great. Honestly I was a little unhappy with the incidental complexity of how I implemented --extra with the arg pre-processor, so would be happy to drop that version and switch instead to an environment variable based solution.
If I understand this proposal correctly, then my example goes from:
fuel-download --extra lfw_fuel lfw

to
EXTRA_DOWNLOADERS=lfw_fuel fuel-download lfw

Let me know if you'd like for me to rework my commit to do this.

Your understanding is correct. In general, if you have more than one package you'd like to add, you can type something like
FUEL_EXTRA_DOWNLOADERS="package1 package2" fuel-download some_dataset

The fix is quite simple, so I went ahead and pushed something. Let me know if you spot anything wrong.

@vdumoulin - confirmed to be working as of 73c986a, but extra_downloaders/converters then stopped working from both the .fuelrc and environment variable after the successive 0c5cbb0 commit. I'll try to dig into this more, but for now might want to hold off merging.

Aha, like the cleaner subparser interface of returning the function. Updated my code and everything is working well again - confirmed operation both with environment variables and the .fuelrc file.
So thanks for this great addition - now hoping this gets merged into master soon. Once merged, I'll update my downstream repo dependency and code, and retire my own hacked versions of download and convert which provided me this functionality.
Perhaps overkill, but below is an updated sample session (without .fuelrc entries) that demonstrates functionality.
# either `pip install` or just clone repo and update PYTHONPATH

export PYTHONPATH=`pwd`

# test extra downloader

$ FUEL_EXTRA_DOWNLOADERS="lfw_fuel" fuel-download lfw
INFO:requests.packages.urllib3.connectionpool:Starting new HTTP connection (1): vis-www.cs.umass.edu
INFO:requests.packages.urllib3.connectionpool:Starting new HTTP connection (1): vis-www.cs.umass.edu
lfw.tgz: 100% [======================================] Time: 0:00:26   6.71 MB/s
INFO:requests.packages.urllib3.connectionpool:Starting new HTTP connection (1): vis-www.cs.umass.edu
INFO:requests.packages.urllib3.connectionpool:Starting new HTTP connection (1): vis-www.cs.umass.edu
lfw-names.txt: 100% [================================] Time: 0:00:00 487.51 kB/s
INFO:requests.packages.urllib3.connectionpool:Starting new HTTP connection (1): vis-www.cs.umass.edu
INFO:requests.packages.urllib3.connectionpool:Starting new HTTP connection (1): vis-www.cs.umass.edu
pairsDevTest.txt: 100% [=============================] Time: 0:00:00  15.93 MB/s
INFO:requests.packages.urllib3.connectionpool:Starting new HTTP connection (1): vis-www.cs.umass.edu
INFO:requests.packages.urllib3.connectionpool:Starting new HTTP connection (1): vis-www.cs.umass.edu
pairsDevTrain.txt: 100% [============================] Time: 0:00:00  15.62 MB/s

# test extra converter

$ FUEL_EXTRA_CONVERTERS="lfw_fuel" fuel-convert lfw
--> Converting lfw.tgz to tar
--> Building test/train lists
--> Converting
Converting train images: 100% [==================================] Time: 0:00:13
Converting test images: 100% [===================================] Time: 0:00:05
train shapes:  (2200, 6, 250, 250) (2200, 1)
test shapes:   (1000, 6, 250, 250) (1000, 1)
--> Writing hdf5 output file
--> Done, removing tar file

# test both converter specific arguments and checks for missing files

$ FUEL_EXTRA_CONVERTERS="lfw_fuel" fuel-convert lfw --format deepfunneled
usage: fuel-convert [-h]

                    {iris,caltech101_silhouettes,svhn,cifar10,binarized_mnist,lfw,cifar100,mnist}
                    ...
fuel-convert: error: The following required files were not found:

   * lfw-deepfunneled.tgz

Did you forget to run fuel-download?

# check top level help to confirm extra dataset gets listed

$ FUEL_EXTRA_DOWNLOADERS="lfw_fuel" fuel-download --help
usage: fuel-download [-h]

                     {iris,caltech101_silhouettes,svhn,cifar10,binarized_mnist,lfw,cifar100,mnist}
                     ...

Download script for built-in datasets.

positional arguments:
  {iris,caltech101_silhouettes,svhn,cifar10,binarized_mnist,lfw,cifar100,mnist}
    iris                Download the iris dataset
    caltech101_silhouettes
                        Download the caltech101_silhouettes dataset
    svhn                Download the svhn dataset
    cifar10             Download the cifar10 dataset
    binarized_mnist     Download the binarized_mnist dataset
    lfw                 Download the lfw dataset
    cifar100            Download the cifar100 dataset
    mnist               Download the mnist dataset

optional arguments:
  -h, --help            show this help message and exit

# check that extra provided args are discoverable with help (note `format` argument)

$ FUEL_EXTRA_DOWNLOADERS="lfw_fuel" fuel-download lfw --help
usage: fuel-download lfw [-h] [-d DIRECTORY] [--clear] [--format FORMAT]

optional arguments:
  -h, --help            show this help message and exit
  -d DIRECTORY, --directory DIRECTORY
                        where to save the downloaded files
  --clear               clear the downloaded files
  --format FORMAT       alternate format

@dribnet Sorry about that, I meant to write and push some documentation explaining the change but didn't have time to do so this weekend.

For my own edification (and for the purpose of preserving it for posterity in the PR comments), what's the motivation behind returning the downloader rather than setting it as .func?
LGTM aside from the issues I raised.

I had some comments offline regarding the fact that passing the download/convert function via set_defaults is somewhat unconventional, and that it would be cleaner to have the function filling the subparser to return it instead.

@dwf I addressed your comments.


make holoparasites actually holographic

About the PR
title
also makes their melee weapon sounds not silent
normal guardian is punch noise, holoclown is bike horn noise
Why / Balance
holoparasites are holographic, yet bullets will not phase through them which is strange
Media
https://github.com/space-wizards/space-station-14/assets/45323883/1a1f03a8-1a21-47d3-8983-c89ef5505263

[X] I have added screenshots/videos to this PR showcasing its changes ingame, or this PR does not require an ingame showcase

:cl:

tweak: Holoparasites and holoclowns will now phase through projectiles such as bullets, like a holocarp.

TIL you can hit your own holo to hurt yourself

If this goes through I don't think the Holo should be priced at its current listing as 14tc for a bodyguard that can't tank some damage for you is agonizing, (plus also praying for a player that knows how to play them).

If this goes through I don't think the Holo should be priced at its current listing as 14tc for a bodyguard that can't tank some damage for you is agonizing, (plus also praying for a player that knows how to play them).
Then again i have yet to see many of them honestly in-game as they are a rare purchase. (just my 2 cents)

? This makes it so that bullets can't hit them, it doesn't make their resistances weaker

they are supposed to be bullet immune it just broke a long time ago


Feature Request/Help wanted: setting/cssclass for rendering abstract frontmatter-field in reading mode

Feature Requested
Hello,
I basically use only this theme and nothing else; and spend a good portion of my day on manuscripts - and that fraction will go on even more soon.
As the pandoc-plugin is way too limiting for me (and I need R anyways), I need to make a complicated step-wise documentbuilding of
obsidian syntax → standard markdown → R-markdown → convert to docx/html/...

Because most papers require a special formatting for the abstract, and because docx-templates require it be its own style, one cannot feed the abstract as a normal paragraph or section when executing pandoc. That means that the abstract is a single frontmatter line, which is then interpreted by pandoc and rendered in accordance to the template word file given.
Issue is, frontmatter's hidden in reading mode because having 40 lines of frontmatter is quite annoying. And on larger projects, when I have upwards of 20 keys, this gets even worse.
Thus, I would like to ask for the ability to render a frontmatter abstract field in reading mode, even if hiding all else. A potential would be to give  a userinput, maybe a simple edit-box, to feed comma-separated yaml-fields that shall not be hidden, in the same way that tags/aliases can be kept.
Considering the high customisability of this theme, its focus on minimalism and its at least partial support on academia I believe this to be a sensible addition.
Thank you.
Sincerely,
~Gw

Alternatively, I found this post that allows rendering selected lines of the frontmatter via
.frontmatter-container .frontmatter-section:nth-child(4)

That of course works, but is cumbersome as it is key-agnostic and would have to be updated whenever the position of a key is wrong. Is there a way to detect the keyname of the n'th child and show it if it is "abstract", or within a list of strings?
so something pseudo like
ToShow="abstract,author,csl"
for index, child in .frontmatter-container .frontmatter-section
   if Instr(ToShow, child)
       ;; render

(Obviously this is just pseudocode, and very simple one at that, but I think you get what I mean.)
Relevant Screenshot
LP-mode:

reading mode:

Checklist

[X] I have checked that the feature is not already available via the Style Settings plugin.
[X] The feature would be useful to more users than just me. (If it's only relevant to you, have you considered using a CSS Snippet?)
[X] My issue concerns Obsidian version 0.16+ and I am not using the Legacy Editor. (Older Obsidian versions and the Lecacy Editor are not supported anymore.)

As the pandoc-plugin is way too limiting for me (and I need R anyways), I need to make a complicated step-wise documentbuilding of
obsidian syntax → standard markdown → R-markdown → convert to docx/html/...

Yeah, I also use pandoc directly. But I am pretty sure you can consolidate all that into one step by using a pandoc filter.

Regarding the issue, I definitely see the use case, however this goes beyond what is possible via CSS and therefore what is feasible via theme. (for the very reason you stated, in CSS we don't know the identity of frontmatter fields.) For what you want, one would require a plugin. I would check out the metadata-related plugins, maybe one of them gets you closer to what you want? Maybe via some customization of the metatable plugin?
Also, the next item on the roadmap of the Obsidian devs is metadata improvements, so it makes little sense for plugin devs as well theme devs to create new metadata-related features, since the underlying Obsidian architecture is likely to change soon. However, this also means some of your requests are likely to be customizable via Obsidian core soon.

Yeah, I also use pandoc directly. But I am pretty sure you can consolidate all that into one step by using a pandoc filter.

I am not sure what you mean by that exactly, as to my knowledge obsidian's syntax cannot be used by pandoc in its normal form as it's highly customised compared to norm-abiding md.

metadata improv

I wasn't aware that that was on track right now - I don't follow the minutae of obsidian's development - and will hold out for now if that is the case - because it makes no sense delving into this right now, as you pointed out.
Thank you for the pointers, I'll take a closer look once I am through the upcoming exam hell week :P I can get a good amount of stuff modded myself, but yea. Modding a plugin by readings its code and inserting working, but janky solutions is not at all the same as conceptualising and writing it from the ground up.

I am not sure what you mean by that exactly, as to my knowledge obsidian's syntax cannot be used by pandoc in its normal form as it's highly customised compared to norm-abiding md.

look into pandoc filters: https://pandoc.org/lua-filters.html
They allow you to make the necessary changes from Obsidian markdown to r markdown all at once. Takes a bit of learning at first, but could simplify your workflow a bit.


Incorrect model is set in new conversation if in previous chat model was applied but no message was sent

EPAM AI DIAL chat version
0.14.0
What happened?

Create new conversation based on model1 -> send a message
Create new conversation -> note that model1 is set automatically -> ok
In chat setting in the header change model1 to model2 -> click on Apply changes -> current chat icon is changed to model2 -> ok
Create new conversation -> note that the model1 is set -> bug

Expected result: model2 should be set
Note: model2 is set in new conversation only in the case when model is responded.
Note: in 13 version model2 is used if it was applied in previous chat, model response is not required action
Confidential information

[X] I confirm that do not share any confidential information

Verified on staging env successfully


NOS-567 - Use remote existence check instead of get for HEAD requests…

Not get (download) a remote resource when the request is HEAD type. Am I on right track? Do not merge this, I will add some ftest later.

The TransferManager 'exists' returns a boolean. DownloadManager need a Transfer object in order to populate the response, e.g, content length and lastModifytime. Do we need to add another 'retrieve' to TransferManager and ask it not do download for HEAD request (instead of using exists())?

I understand why the perv way was wrong - contentController.getTransfer() only get from cached, not try getting from remote. Would it be possible to switch from https://github.com/Commonjava/indy/blob/master/core/src/main/java/org/commonjava/indy/core/content/DefaultDownloadManager.java#L434, like:
...
if ( store instanceof RemoteRepository )
{
if (eventMetadata.get("head_only")) {
target = transfers.retrieveHEAD( res, suppressFailures, eventMetadata );
} else {
target = transfers.retrieve( res, suppressFailures, eventMetadata );
}
}
Add "retrieveHEAD" in Galley TransferManager, make it reuse "exists()" code but return Transfer object. This is because exists() only return a boolean however doHead need resp metadata (lastModifyTime, length).
How does this sound?
----- Original Message -----

From: "John Casey"<EMAIL_ADDRESS>To: "Commonjava/indy"<EMAIL_ADDRESS>Cc: "Rui Han"<EMAIL_ADDRESS>"Author"<EMAIL_ADDRESS>Sent: Thursday, September 15, 2016 5:06:56 AM
Subject: Re: [Commonjava/indy] NOS-567 - Use remote existence check instead of get for HEAD requests… (#390)
jdcasey commented on this pull request.
Unfortunately it won't be quite so easy. If you trace the
contentController.get(..) call down, you'll eventually see it hit
DownloadManager.retrieveFirst(..), which will in turn call
TransferManager.retrieveFirst(..) in Galley (Implementation is
TransferManagerImpl in galley-core).
For HEAD requests like this, we need it to instead call this:
https://github.com/Commonjava/galley/blob/master/api/src/main/java/org/commonjava/maven/galley/TransferManager.java#L90
That means you'll have to create a new method for it in Indy's
DownloadManager / DefaultDownloadManager, then implement an exists method in
the various ContentManager implementations. You'll have to keep intact the
same group / generated content stuff for existence checks, I think...at
least for now. But where you'd delegate to DownloadManager.retrieveFirst(..)
from DefaultContentManager, you'll use the new methods.
If the result is 'true' (the file exists), then you should pull the http
metadata and use that to populate the HTTP response headers (just as we do
now). It's possible you'll have to address the file directly instead of
using an existing Transfer instance, but that should be possible.
I think I'd focus on the DefaultContentManager for now, and we can setup
another task for the other ContentManager decorators later.
--
You are receiving this because you authored the thread.
Reply to this email directly or view it on GitHub:
https://github.com/Commonjava/indy/pull/390#pullrequestreview-48883

Actually, the existence call that you mentioned above is the one we want. What I failed to mention before is that the HTTP transport always writes a .http-metadata.json file when it makes a request. This stores the HTTP response status code and headers. It was originally created so we don't have to make further requests to the upstream server in order to provide consistent header information in the event of something like a 500 error, or a 404. We use the cached header information and leave the upstream server alone (sometimes just for a particular period of time).
This file can be used to retrieve the content-length and other similar headers, and it's written even when we do a HEAD request using the exists() method. So using ContentController.getHttpMetadata( sk, path ) should retrieve that information after you determine that the file exists.
You can actually see this in action here: https://github.com/Commonjava/indy/blob/master/bindings/jaxrs/src/main/java/org/commonjava/indy/core/bind/jaxrs/ContentAccessHandler.java#L294

I should also mention that both Indy and Galley try to be agnostic about what transport is used behind the scenes. In principle, we should be able to host zip files and retrieve content from them using the same high-level APIs we use to retrieve files from a HTTP server. That's part of the reason why we don't want to include things like 'HEAD' in the method names. Event the method 'getHttpMetadata(..)' really needs to be renamed to something like 'getResponseMetadata(..)' that will obscure the transport being used.

Thanks for telling me this. I dig into the code and it seems we only need to trigger exists() and not worry about metadata because below line does all chores (loading http-metadata.json). I submit a new fix and my ftest works fine. Please review.
https://github.com/Commonjava/indy/blob/master/bindings/jaxrs/src/main/java/org/commonjava/indy/core/bind/jaxrs/ContentAccessHandler.java#L195
----- Original Message -----

From: "John Casey"<EMAIL_ADDRESS>To: "Commonjava/indy"<EMAIL_ADDRESS>Cc: "Rui Han"<EMAIL_ADDRESS>"Author"<EMAIL_ADDRESS>Sent: Tuesday, September 20, 2016 12:05:46 AM
Subject: Re: [Commonjava/indy] NOS-567 - Use remote existence check instead of get for HEAD requests… (#390)
Actually, the existence call that you mentioned above is the one we want.
What I failed to mention before is that the HTTP transport always writes a
.http-metadata.json file when it makes a request. This stores the
HTTP response status code and headers. It was originally created so we don't
have to make further requests to the upstream server in order to provide
consistent header information in the event of something like a 500 error, or
a 404. We use the cached header information and leave the upstream server
alone (sometimes just for a particular period of time).
This file can be used to retrieve the content-length and other similar
headers, and it's written even when we do a HEAD request using the exists()
method. So using ContentController.getHttpMetadata( sk, path ) should
retrieve that information after you determine that the file exists.
You can actually see this in action here:
https://github.com/Commonjava/indy/blob/master/bindings/jaxrs/src/main/java/org/commonjava/indy/core/bind/jaxrs/ContentAccessHandler.java#L294
--
You are receiving this because you authored the thread.
Reply to this email directly or view it on GitHub:
https://github.com/Commonjava/indy/pull/390#issuecomment-248037119

Unfortunately there are a lot of ftest failures. Will look into them next.

In the case of an existence check, the item is null and it goes line 195 to get metadata from .json and works fine when it is 'remote' type. However this explains why other tests failed, because no proper handling for 'hosted' repo. What is the way to get metadata for hosted artifacts?
----- Original Message -----

From: "John Casey"<EMAIL_ADDRESS>To: "Commonjava/indy"<EMAIL_ADDRESS>Cc: "Rui Han"<EMAIL_ADDRESS>"Author"<EMAIL_ADDRESS>Sent: Wednesday, September 21, 2016 5:40:33 AM
Subject: Re: [Commonjava/indy] NOS-567 - Use remote existence check instead of get for HEAD requests… (#390)
jdcasey requested changes on this pull request.
Looks pretty good. I think we will have to add content generation support
eventually (as noted in my line comments), but for now it looks good.
I'd like some info on how we avoid the 404 in the ContentAccessHandler, and a
small TODO comment added in the DefaultContentManager, then as soon as we
can get the CI builds working I'm happy to have this merged.

@@ -174,7 +174,7 @@ public Response doHead( String type, String name,
String path, Boolean cacheOnly
{
try
{

           Transfer item;

           Transfer item = null;

will this lead to a 404 response on line 204 if we don't assign it somehow
(or change the condition on line 191) in the case of an existence check?
Or, maybe a better way to put is: Why doesn't this generate a 404 in line
204?

@@ -742,6 +742,13 @@ public HttpExchangeMetadata getHttpMetadata( final
StoreKey key, final String pa
return readExchangeMetadata( meta );
}

@Override
public boolean exists(ArtifactStore store, String path)

   throws IndyWorkflowException

{

   return downloadManager.exists(store, path);

Please add a //TODO to add content generation handling here, for things like
merged metadata, checksum files, etc. We will have to tackle those soon.
--
You are receiving this because you authored the thread.
Reply to this email directly or view it on GitHub:
https://github.com/Commonjava/indy/pull/390#pullrequestreview-845978

About the why question. In case of remote repo, no mater exists returns true or false, the getHttpMetadata always get correct response and the line 204 is not used. I believe there need to be recode a little bit to come up a better solution once I get how to handle 'hosted' case.
----- Original Message -----

From: "John Casey"<EMAIL_ADDRESS>To: "Commonjava/indy"<EMAIL_ADDRESS>Cc: "Rui Han"<EMAIL_ADDRESS>"Author"<EMAIL_ADDRESS>Sent: Wednesday, September 21, 2016 5:40:33 AM
Subject: Re: [Commonjava/indy] NOS-567 - Use remote existence check instead of get for HEAD requests… (#390)
jdcasey requested changes on this pull request.
Looks pretty good. I think we will have to add content generation support
eventually (as noted in my line comments), but for now it looks good.
I'd like some info on how we avoid the 404 in the ContentAccessHandler, and a
small TODO comment added in the DefaultContentManager, then as soon as we
can get the CI builds working I'm happy to have this merged.

@@ -174,7 +174,7 @@ public Response doHead( String type, String name,
String path, Boolean cacheOnly
{
try
{

           Transfer item;

           Transfer item = null;

will this lead to a 404 response on line 204 if we don't assign it somehow
(or change the condition on line 191) in the case of an existence check?
Or, maybe a better way to put is: Why doesn't this generate a 404 in line
204?

@@ -742,6 +742,13 @@ public HttpExchangeMetadata getHttpMetadata( final
StoreKey key, final String pa
return readExchangeMetadata( meta );
}

@Override
public boolean exists(ArtifactStore store, String path)

   throws IndyWorkflowException

{

   return downloadManager.exists(store, path);

Please add a //TODO to add content generation handling here, for things like
merged metadata, checksum files, etc. We will have to tackle those soon.
--
You are receiving this because you authored the thread.
Reply to this email directly or view it on GitHub:
https://github.com/Commonjava/indy/pull/390#pullrequestreview-845978

In the case of a hosted repository, you should be able to getCacheReference() and retrieve the Transfer. If you're checking existence on a hosted repo, the file is either there or it's not, so it's a matter of getting the cached Transfer instance and calling Transfer.exists(). That Transfer will also have a file length method, and a file name method you could use to create a content-type. I thought most of that was already in that method in some way or other, though.

I come to notice that under the hook "contentController.getTransfer" calls "getCacheReference". So things become easier. I just call "exists" when repo is remote (and not cache-only); for other cases make it go through getTransfer(). This fix works for me. I managed to fix some broken ftests. Although running all ftests is painfully slow, I passed them all eventually. Please review it again.
----- Original Message -----

From: "John Casey"<EMAIL_ADDRESS>To: "Commonjava/indy"<EMAIL_ADDRESS>Cc: "Rui Han"<EMAIL_ADDRESS>"Author"<EMAIL_ADDRESS>Sent: Wednesday, September 21, 2016 12:22:52 PM
Subject: Re: [Commonjava/indy] NOS-567 - Use remote existence check instead of get for HEAD requests… (#390)
In the case of a hosted repository, you should be able to getCacheReference()
and retrieve the Transfer. If you're checking existence on a hosted repo,
the file is either there or it's not, so it's a matter of getting the cached
Transfer instance and calling Transfer.exists(). That Transfer will also
have a file length method, and a file name method you could use to create a
content-type. I thought most of that was already in that method in some way
or other, though.
--
You are receiving this because you authored the thread.
Reply to this email directly or view it on GitHub:
https://github.com/Commonjava/indy/pull/390#issuecomment-248507982

retest this please


Policies Required for t2.micro running Parallel Cluster

Hello APC,
I provisions a t2.micro running AWS OS, and have installed Parallel Cluster. Is there an example policy this instance requires to run pcluster to create HPCs so that I do not have to pass in credentials and run aws configure? Would this be some update to AWS docs?
-- Gene.

Hi @eewolfe,
you can setup a role for the instance with the ParallelCluster user policy described here https://docs.aws.amazon.com/parallelcluster/latest/ug/iam.html#parallelclusteruserpolicy
L

The docs are pretty good at explaining what is required.

Closing. Feel free to reopen if needed!


UML-1518 - PHP Linting with PHP Code Sniffer

Purpose
Give developers feedback on php linting issues
Fixes UML-1518
Approach

add a github action to run PHP CodeSniffer
Use a matrix to run linting for each app path

Learning
https://github.com/marketplace/actions/action-php-codesniffer
Checklist

[ ] I have performed a self-review of my own code
[ ] I have added relevant logging with appropriate levels to my code
[ ] I have updated documentation (Confluence/GitHub wiki/tech debt doc) where relevant
[ ] I have added tests to prove my work
[ ] I have added welsh translation tags and updated translation files
[ ] I have run an accessibility tool on any pages I have made changes to and fixed any issues found
[ ] The product team have tested these changes

Not sure it's picking up the config file correctly as it's doing linting operations from standards we don't use.

Not sure it's picking up the config file correctly as it's doing linting operations from standards we don't use.

You're right, there's an issue on the action showing some incompatibility with blame and standards options.
I've replaced the phpcs action and it's now respecting the standards

Action now provides inline comments


landscape issue 66, add api server failure rate high to control plan

How to categorize this PR?

/area monitoring
/kind enhancement
What this PR does / why we need it:
Which issue(s) this PR fixes:
Add api server failure rate high alert to control plan
Special notes for your reviewer:
Release note:

 Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.You have signed the CLA already but the status is still pending? Let us recheck it.

/assign @istvanballok

/unassign @istvanballok
/invite @istvanballok

/ok-to-test

Please adapt the unit tests.

/cc @istvanballok

/retest

@cathyzhang05 What is the status of this PR? Do you still plan to continue working on it?

@cathyzhang05 What is the status of this PR? Do you still plan to continue working on it?

Hi @rfranzke , previously I have some trouble to setup local environment, right now it has been resolved. I am testing locally. And adjusting the threshold values.

/assign @oliver-goetz

/retitle Add new Prometheus alert ApiserverRequestsFailureRate for API Server failure rate
/approve


Add URLSearchParams

Fixes #153

Hi @nicolashenry, I'm your friendly neighborhood Microsoft Pull Request Bot (You can call me MSBOT). Thanks for your contribution!
You've already signed the contribution license agreement. Thanks!
The agreement was validated by Microsoft and real humans are currently evaluating your PR.
TTYL, MSBOT;

Can you include the comments from https://github.com/Microsoft/TypeScript/issues/12517#issuecomment-263445670.

also we will need to add the iterable definition, like entries, keys and [Symbol.Iterator] in https://github.com/Microsoft/TypeScript/blob/master/src/lib/dom.iterable.d.ts, but this is a separate PR.

I tried to add them in comments.json but it doesn't work. I added them in signatures instead but it's maybe not the right way to do it ?

I tried to add them in comments.json but it doesn't work.

@zhengbli why dose not this work?

I added them in signatures instead but it's maybe not the right way to do it ?

Well.. my first reaction was that not right.. but seems to work :)

There is a bug with comment.json that it doesn't search for the newly added types. But I don't think we should put comments in the json files. Can you split this PR into two, one for the code change (should be ready to merge) and the other for the comments? I'll try to fix it today. Sorry for the hassle.

sorry for my original comment about adding comments. i thought it would work, and figured it would be better for the user. sorry for the hassel.

👍 Thanks @nicolashenry !


⚠ Spryr has degraded performance

In 3a3fb74, Spryr (https://spryr.com) experienced degraded performance:

HTTP code: 200
Response time: 6565 ms

Resolved: Spryr performance has improved in 73596a1 after 9 minutes.