DirectConnection causing document state corruption

Description
If you use a DirectConnection when there are no WebSocket connections for a document, the WebSocket connections established during the next 2 seconds (or debounce time) will end up using an orphaned document and will not sync changes properly with clients that establish connections after that 2 second period. The problem lies in that storeDocumentHooks is called directly after closing the DirectConnection, but also in a debounced manner a bit later. Details follow.
Steps to reproduce the bug

Start from a situation where there are no connections for document doc1.
Establish a direct connection on the server, transact something and disconnect the connection.
At this stage storeDocumentHooks has now beed called twice (once for the (transact and once for the disconnect). As the result of the latter, the unloadDocument method has been called and the doc1 has beed removed from this.documents
All fine, except that there's still a debounced call for storeDocumentHooks to be performed in 2 seconds or so.
Let's say a WebSocket client connects at this stage. Because the doc1 is not loaded yet, it will now be loaded
After 2 seconds, the debounced storeDocumentHooks call kicks in. This call is bound to the earlier Y.Doc instance that no longer is referenced in this.documents (there's no a new copy of doc1 loaded). This call results into another call to unloadDocument which, on this line removed the document from this.documents. Unfortunately, it ends up removing the new document instance, which is now referenced by the WebSocket client which connected in step 5.
Now the WebSocket client is connected to an orphaned document not in this.documents. Any client connecting from now on, will be assigned to a new document instance and the clients will not see changes from each other.

Expected behavior
When the DirectConnection is closed and there are no more clients for doc1, we should not unload the document when there is still a debounced storeDocumentHooks call left to be performed. Or alternatively, at least make sure that the debounced call does not end up removing the newer, active document from this.documents.
In my project, I made a quick patch for this line to additionally check that the document currently in this.docs is actually same document that's now being unloaded.
The patch solution is suboptimal though at least in the sense that two copies of the same document will exist in server memory for a time. I'd prolly rather have it so that the document accessed by DirectConnection would be subject to the same lifecycle as with WebSocket connections - that is, to be unloaded only after the normal debounce period. Yet, I'm not intimately familiar with the server design, so my hunch may be misguided.

Thanks a lot for this @raimohanska!
I think I've found a way (I'm just using the debouncer in storeDocumentHooks), but will need to do some testing. I haven't reproduced your issue yet, but it makes sense. I'm spending some time now testing / reproducing it.

aha! This only happens when you start a transaction and pass an origin, otherwise it works (L404 in Hocuspocus.ts is the guard).
I've pushed a fix in #834 and added a reproduction test case. Can you verify if that works for you? 🙏

Great, thanks! I'll have a look tomorrow and see if I can verify the fix.
Btw the redis-specific check on L404 looks quite hacky 😂


Washing Machine - Add Pause/Resume command

"The function available in the LG ThinQ app is not available in the integration. It would be very useful for managing electrical consumption and avoiding power disconnection or optimizing consumption if a photovoltaic system is in place."

I Agree, feature request very usefull. However, I don't know if it's easy to create. In any case, thanks Ollo69!

I'll specify better. Currently the ability to turn off the washing machine from HA is integrated and it works.
However, if we use this switch to manage a load control, we are not able to restart it and, if we do it manually from the washing machine, when it is turned back on, the washing machine has lost the wash information and we have to start again from the beginning.
For these reasons it would be very useful to integrate the possibility of the pause button that is present in the LG app.

Pause button is now available with last release. Please test is and report here results.

test ok. pause command works from ha. well done!
new issue. to resume program from ha I used "remote start" of this release but washing machine started program from scratch.

new issue. to resume program from ha I used "remote start" of this release but washing machine started program from scratch.

Was it working properly with previous release?
Could someone capture traffic from Mobile app to see the command used to resume?
Please also attach device diagnostics so that I can take a look to your model info and maybe found additional info.

the pause/resume button from the app works fine. the "remote start" button in HA works the same way in the previous release: it starts the program from scratch.
we need to understand how to replicate the app's resume button.
I attach the diagnostics
smartthinq_sensors-d45cacc22fb0e37e6c898e3c348f20dd-LAVATRICE-4233ca5e0aac5f40d0a83ffd8f1b959b.json.txt

Unfortunately diagnostics do not provide additional info. I suppose that is just a matter of calling WMStart with different parameter but we need to capture traffic from LG App.
I will try to do this my side but I have a APIv1 device and commands are different from APIv2

Maybe I found the reason, could be the initial_bit value send with the start command. Please try last release and let me know if fix the issue.

Well done, I tested and it works perfectly
thank you
Il giorno lun 5 feb 2024 alle ore 01:55 ollo69 @.***>
ha scritto:

Maybe I found the reason, could be the initial_bit value send with the
start command. Please try last release and let me know if fix the issue.
—
Reply to this email directly, view it on GitHub
https://github.com/ollo69/ha-smartthinq-sensors/issues/627#issuecomment-1926032804,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AOFYIF4LINMG3SQAPLFC2LLYSAUWRAVCNFSM6AAAAAA6PDXAXCVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMYTSMRWGAZTEOBQGQ
.
You are receiving this because you commented.Message ID:
@.***>

Good, close this.


Fix one-liner bash Sandbox install

What type of PR is this?

Uncomment only one  /kind <> line, hit enter to put that in a new line, and remove leading whitespaces from that line:
/kind bug
/kind cleanup
/kind design
/kind documentation
/kind failing-test

/kind feature

/kind flake

What this PR does / why we need it:
These changes fix the one-liner bash Sandbox install instruction curl -fsSL https://raw.githubusercontent.com/nephio-project/test-infra/main/e2e/provision/init.sh | sudo -E bash which in some cases can be useful to provision Nephio Sandboxes. It also separates the Sandbox Hardware requirements from the requirements to execute End-to-End tests and tries to reduce the provisioning time by skipping the building/loading gtp5g kernel module in OAI test cases.
Which issue(s) this PR fixes:

Fixes #
Special notes for your reviewer:
Does this PR introduce a user-facing change?:

/retest

/retest

/approve

/lgtm


Add events to collections and orient event creation around events, not states

Why was this change made?
This commit follows a discussion in stand-up earlier today and aims to make the
following improvements around events:

Create state machine transition events using the event as the type, not the resulting state
Extract an Eventable model concern out of the Work and Collection model classes (a refactoring)
Rename the events.work_id database column to events.eventable, using a polymorphic relationship allowing events to be associated with both works and collections
Add event create to the collection state machine, for consistency with the work state machine, since we know we will need collection events soon
Add the Event#latest_by_type scope to facilitate getting the latest event of a particular type by using database query mechanics
Inject user information into event contexts in the work and collection controllers so that events are reflecting the accurate user associated with the event
Regenerate sorbet and make it happy again

How was this change tested?
CI
Which documentation and/or configurations were updated?
None

@jcoyne can you take another look?

Looks like the tests are borken now.

@jcoyne :speech_balloon:

Looks like the tests are borken now.

Tests fixed now.


Added "Pay-fare" to swap "Board" on the Travel Cart

Closes #7468

Integrated within the Travel config option
Swap Board to Pay-fare for the travel cart near Hajedy

This feature seems overlooked and is kinda missing or is there something wrong with the idea?

Superseded by #10614


installation: stuck at welcome artix screen

Waited for couple hours on that but can't see login input. Any idea? I am trying on a MacBookAir9,1

Hi @ihsanturk , do you follow all the steps, especially the install bootloader part and make artix dual boot
If so, when restart the mac, you can hold alt/option button and these 2 disk which you can choose: One is Artix and the other is OSX.
If you'll finish everything but still can't see anything, that's mean you have problem in install boot loader and make artix dual boot  with OSX, you have to boot to usb to mount again, install bootloader again.
Pay attention of boot.efi file. It's may corrupt or not match the one you'v generated.
Please try again and let me know if i can help you anything else.

Ah, i forgot, i'll you see the black screen with text running in it, you'v successfully install Artix, these is no login form, you have to login via that black screen, after login, you can install and tweak any thing you'd like, with this minimal install, the system just take 100MB from my Macbook and run smoothly, you then have to install what you'd like to use cause this is Artix. :D

No, I couldn't install Artix successfully. I am talking about logging in to the live iso. I think I could not explained the issue in detail. Here how I run into the problem

✅ I have made a partition from disk utility.
✅ dd'ed the Artix iso to my flash drive.
✅ Pressed "Option" key while booting and booted from flash drive (Artix Linux).
✅ I can see it is booting successfully, and when finally comes to "Welcome to Artix"
❌ I expect it asks login and password but it is freezing there so I can't log in to the live environment, thus I can't install anything.

I thought maybe the screen resolution does not match with the settings and login & password overflowing the screen, so I tried typing artix<enter>artix<enter> even if I don't see the input question, but nothing happens.

During installation, did you install these:
basestrap /mnt base base-devel runit elogind-runit

Especially elogind-runit

I couldn't install the system since I can't login to live iso.

I mean you have to install the system before you install boot loader with basestrap, you have to install linux firmware too.
Then you have to install these if you only have wireless.
I know it some how confuse, but it's harder than normal installation, all the steps i'v notes is required for the fresh artix to work and you can login and use it as normally.

But you are talking about the later steps. First of all, I can't even get in to live iso's command line!? How am I supposed to install the system. I can install if I can get to the live usb environment, but that doesn't load unfortunately. I know how to install the system afterwards, I did installed many distros (arch, void, etc.) before to a non-apple device, so the the installation process will not be a problem for me I guess. But first, I can't get into the installation command line yet. For clarity, I can only make progress to the  "Boot it up" section in the readme.md. So I can't even run sudo pacman -Sy terminus-font because the main issue reason: system freezes on the "Welcome Artix linux" screen.
When I boot from the iso USB for the first time to install Artix linux, I can't type a command due to system freeze at "Welcome to Artix" :/ I will then be able to run basestrap etc. whatever, but yeah... I am repeating myself

I tried nixos minimal iso, to see whether any other linux works on my mac, and it booted up but I couldn't use the internal keyboard. I searched a bit and found out that the keyboard is not supported in the linux kernel <v5.5 due to T2 security chip that newer macs have and drivers not supported. So I won't be able to install any linux distro until the linux kernel supports it.
Thank you for the responses anyway.

Thanks @ihsanturk

Sorry @ihsanturk , i'v just read again and understand it, lol. I though you'll pass the setup. This issue is like you said. New Macbooks with T2 Security may not well support. But in the past i used to get similar problem with my boot usb. Turn out the dd and some tools to create usb boot may cause this problem. I remember i'v used a tool call Rufus on window (i borrow my friend Window Laptop) and it work without freeze. @@
BTW, can you send me the link where it say T2 Security Macbook not work. Thank you in advanced

Even if I write the ISO with a different tool, my keyboard will not work anyways. So not worth a try.
I already sent the link on that comment but here it is: https://discussions.apple.com/thread/251087440?answerId=252062188022#252062188022

Oh nice, i'll add it to the docs. Hope there'll be an update or other thing to help you enjoy linux on your mac. Thank you very much :heart:

I decided to give a try to my external keyboard, I plugged it and it is working, so the issue right now is the overflowing tty screen size since I become sure by opening Vim, pressing : and can't seeing the ex mode line (it's out of the screen). I think this was the case on my artix installation attempt, it was not freezing on the welcome screen, I just couldn't see the login and password and even if I type artix<enter>artix<enter> without seeing them would not work because my keyboard was not working, so I thought that it was frozen.
Now, I am trying to find to set the screen size with kernel parameters but it seems that I can't (tried vga=2560x1440@60) but nothing changed. So, I can't see the very bottom and very right of the screen :/.
For the internal keyboard to work, they say I need to install BCE drivers and touchpad & keyboard patches. So I will also try those. Let's see...

Great effort you are. You can tried to set the smaller font, i think i'll fully display with smaller font

It may take time bro. kk. But it worth it


Change log

This resolves #11.

Worth noting is that the release notes were missing 2 dates. I've left these's as yyyy-??-??. @wcarthur1 : when you review this feel free to fill these in.


Quest: Flute of the Pure Note issue

I'm stuck on the Head to the Bastion in Heill step. I'm not sure if I just can't find the trigger or it doesn't exist. I walked nearly every block between spawn and the heill portal, went all through the Bastion, talked to every npc in the Bastion.
IGN: Zaronto

Needs fixed due to new Bastion location

Quest is fixed.


[REQ] Add type overload for endpoint, if skip_deserialization = True -> api_client.ApiResponseWithoutDeserialization

Is your feature request related to a problem? Please describe.
Add type overload for endpoint, if skip_deserialization = True -> api_client.ApiResponseWithoutDeserialization
Describe the solution you'd like

Describe alternatives you've considered

Additional context

Closing because this repo has been relocated


Packets to external IP marked as martian on a node that is running the service

I have a service with externalTrafficPolicy: Local and an externalIP defined. I am trying to do a simple http request to the external IP of the service.
Expected Behavior
The external IP of the service is reachable.
Current Behavior
Trying to query the external IP of a service hangs if the query is from a node that runs a pod that belongs to the service.
I added tracing in iptables for the externalIP of the service I am testing with:
iptables -t raw -I PREROUTING 1   -d <IP_ADDRESS>/32 -j TRACE

Then I just try to do curl <IP_ADDRESS> on a node that runs the service.

Any ideas why this might be happening?
Context
Routes for context
$ ip r
default via <IP_ADDRESS> dev enp65s0f0
<IP_ADDRESS>/27 dev enp65s0f0 proto kernel scope link src <IP_ADDRESS>
<IP_ADDRESS>/22 dev eno1 proto kernel scope link src <IP_ADDRESS>
blackhole <IP_ADDRESS>/24 proto bird
<IP_ADDRESS> dev calibc56ba63daf scope link
<IP_ADDRESS> dev calib12ccf003ae scope link
<IP_ADDRESS> dev cali0e4b17fc7a3 scope link
<IP_ADDRESS> dev calie2df1318714 scope link
<IP_ADDRESS> dev cali29beaebbaa5 scope link
<IP_ADDRESS> dev calieffebc3fc95 scope link
<IP_ADDRESS> dev cali1034546d288 scope link
<IP_ADDRESS> dev cali6cf8ed3a5ec scope link

Your Environment

Calico version: v3.12.0
Orchestrator version (e.g. kubernetes, mesos, rkt): kubernetes 1.16.2
Operating System and version: RHEL 7.5

Hey, a couple questions for you: what is <IP_ADDRESS> in your network?
You are trying to reach <IP_ADDRESS>, but it appears from your logs that this is getting DNAT'ed to <IP_ADDRESS>.  However, you don't have a route to <IP_ADDRESS> via any cali interface, so it doesn't appear to be a pod running the service locally.

@spikecurtis Sorry I have mixed things up while preparing this report. <IP_ADDRESS> is the externalIP of the service. <IP_ADDRESS> is the clusterIP, I was also testing with that, that's why I pasted the wrong this. Apologies for the confusion. I have now updated the issue to reflect that.

This is sounding like a kube-proxy issue---what kube-proxy mode are you running? (e.g. iptables, ipvs, etc.)

@benceszikora any updates here? Is this still a problem for you?


New bulbs/lamps, troubleshooting the process

This set of scripts is awesome, and I've flashed a number of my tuya bulbs (Novastella and Slitinto.)
I am having problems with some new bulbs I have purchased from Amazon, as well as some older lamps, and it appears this may be a change in the firmware or something isn't quite right in the process.  None of these have been attached to the app, but they were all purchased after the new year.  I am using a Raspbian Stretch on a Raspberry Pi 3b+ (and it has worked about a dozen times.)  All of the bulbs and lamps exhibit the same flaw in that they take an ip address from the dhcp server and do not use the default <IP_ADDRESS> (even though I have a device connected to the AP and pinging <IP_ADDRESS>.)  I broke apart the script to see what is happening, and it appears that the device connects to the ap successfully, grabs an IP address, and then connects to psk_frontend.py.  I then get the message "a bytes-like object is required, not 'str'."
On the Novastella 20W IP66 (ec:fa:bc:xx:xx:xx), I get the following...
From start_ap,
wlan0: AP-STA-CONNECTED 34:e1:2d:xx:xx:xx <- Laptop
wlan0: AP-STA-CONNECTED ec:fa:bc:xx:xx:xx <- Device
I then see from tcpdump:
<IP_ADDRESS>.68 > <IP_ADDRESS>.67 DHCP, Request from ec:fa:bc:xx:xx:xx
[...]
Hostname Option 12, length 10: "ESP_48C6C631"
[...]
<IP_ADDRESS>.67 > <IP_ADDRESS>.68 DHCP, Reply from b8:27:eb:xx:xx:xx
I then see what appears to be encrypted traffic from <IP_ADDRESS> to <IP_ADDRESS> and a DNS query to a3.tuyaus.com (which the old ones may have done too, I am not sure as I didn't look for it when the bulbs were successful.)
I am seeing the same from brand new Slitinto E26 9W bulbs (which I will attach to logs later.)
fake-registration-server.log
psk_frontend.log
setup_ap.log
output.dump.log

Slitinto TB95 bulbs exhibiting the same issue (purchased from Amazon last week.)
fake-registration-server.log
psk_frontend.log
setup_ap.log
output.dump.log

I actually ran into a similar issue last night on a pair of brand new Slitinto TB95 bulbs attempting to use tuya-convert for the first time. I ran mine from a Raspberry Pi Zero W running a fresh install of Raspbian.  I cracked open a bulb and can confirm there is an ESP8285 inside. The module bears the marking "ajw-05_8285" on the silk screen. There are test points for TX and RX, but they aren't easily accessible. I may need to desolder the ESP8285 module. I can upload my logs later today if that's helpful.

@ltlw0lf have you updated tuya-convert or is this a clean install? Sounds like #500
a bytes-like object is required, not 'str'

This is symptomatic of a mismatch between the installed sslpsk and tuya-convert.
Try doing a git pull followed by ./install_prereq.sh.

No upgrade, fresh install that converted 11 bulbs purchased in November and December during the same time it failed with four new bulbs (purchased a week and a half ago).  Old bulbs do not exhibit the same issue.  However, I will delete the directory and re-git and reinstall to be sure as it sounds plausible that something might have gone corrupt.

On Feb 19, 2020, at 12:22, Colin Kuebler<EMAIL_ADDRESS>wrote:

@ltlw0lf have you updated tuya-convert or is this a clean install? Sounds like #500
a bytes-like object is required, not 'str'
This is symptomatic of a mismatch between the installed sslpsk and tuya-convert.
Try doing a git pull followed by ./install_prereq.sh.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub, or unsubscribe.

I have same issue, bough 4 bulbs and only I’m able flash only one, another just keep rapidly blinking and after I start flash it switched blinking to stale light and continously retrying without any success

@ltlw0lf

Old bulbs do not exhibit the same issue

If they are old they might not be running TLS and thus wouldn't be affected by psk-frontend issues. Let me know how it works out after upgrade.
@michaelkuty

I think they disabled OTA in new firmaware

It's not new firmware with OTA disabled, we just can't flash a different microcontroller with ESP firmware as this would brick the device.

WARNING: it appears this device does not use an ESP82xx and therefore cannot install ESP based firmware

Hm but these bulbs are from one seller in same batch 1 flashed without any issues and three with this issue, I think that the new release is with new board inside ?

Hm but these bulbs are from one seller in same batch 1 flashed without any issues and three with this issue, I think that the new release is with new board inside ?

Sounds like you just got lucky they had one old bulb in stock, newly manufactured devices are now using other microcontrollers.

Re-git of the code resulted in the error going away, but now the bulb keeps asking the DHCP server for an IP address and gets nothing back.  Will try to figure out why dnsmasq isn't assigning IP addresses.

Ok, restarted and everything is working, but bulb is still getting <IP_ADDRESS>, not <IP_ADDRESS>, so the code isn't able to complete the upload of the firmware. I am going to try to modify the code to use <IP_ADDRESS> instead.

Don't do this. The bulb will request <IP_ADDRESS> if and only if it has downloaded and run the intermediate firmware. Let's take a look at your most recent logs and see why it is not running the intermediate firmware.

Laptop is still getting <IP_ADDRESS>, newest logs attached along with tcpdump output.
output.dump.log
smarthack-web.log
smarthack-wifi.log
smarthack-mqtt.log
smarthack-psk.log
smarthack-udp.log

Unfortunately, I have found your problem
new client on port 443 from <IP_ADDRESS>:59911
ID: 0242416f68626d64366147393149465231042860c5307ae18dd03e0a23dfed0dc2a3db9b8f0b7a0e7ec58f558fc1571873
PSK: d1b2cb80cb023ca40a924400067b7976c11f6b5dd0f41d5ba026496ddf6c8f5c
could not establish sslpsk socket: [SSL: DECRYPTION_FAILED_OR_BAD_RECORD_MAC] decryption failed or bad record mac (_ssl.c:720)

This is the latest patched firmware from Tuya, which uses a yet-uncracked PSK. See #483
Sorry I wish I had better news for you, it is unfortunately not compatible with tuya-convert at this time.

That is quite alright...I will stand by and wait to see if this changes.  I was able to get the IP66 20W ones working with the correct code, just these ones aren't working.


Cocoapods not working

did you delete your repo? T_T even your .xcodeproj has nothing inside it.

Try it now. I had forgotten to trunk the pod.
https://cocoapods.org/pods/SwiftLinkPreview

a very late reply from me. but thanks :D


WebUI not working - Checked bower.json and angular-chart.js and the required packages looks in-tact.

I can't login and click any tab like DASHBOARD, CERTIFICATES, etc...rest api works. this is exactly the same issues reported earlier in the new build. I verified bower.json and angular packages.  Any help on this would be appreciated.

{
"name": "lemur",
"repository": {
"type": "git",
"url": "git://github.com/netflix/lemur.git"
},
"private": true,
"dependencies": {
"jquery": "~2.2.0",
"angular-wizard": "~0.4.0",
"angular": "1.4.9",
"json3": "~3.3",
"es5-shim": "~4.5.0",
"bootstrap": "~3.3.6",
"angular-bootstrap": "~1.1.1",
"angular-animate": "~1.4.9",
"restangular": "~1.5.1",
"ng-table": "~0.8.3",
"moment": "~2.11.1",
"angular-loading-bar": "~0.8.0",
"angular-moment": "~0.10.3",
"moment-range": "~2.1.0",
"angular-clipboard": "~1.3.0",
"angularjs-toaster": "~1.0.0",
"angular-chart.js": "~0.8.8",
"ngletteravatar": "~4.0.0",
"bootswatch": "~3.3.6",
"fontawesome": "~4.5.0",
"satellizer": "~0.13.4",
"angular-ui-router": "~0.2.15",
"font-awesome": "~4.5.0",
"lodash": "~4.0.1",
"underscore": "~1.8.3",
"angular-smart-table": "2.1.8",
"angular-strap": ">= 2.2.2",
"angular-underscore": "^0.5.0",
"angular-translate": "^2.9.0",
"angular-ui-switch": "~0.1.0",
"angular-sanitize": "~1.5.0",
"angular-file-saver": "~1.0.1",
"angular-ui-select": "~0.17.1",
"d3": "^3.5.17"
},
"../bower.json" 56L, 1411C                                                               1,1           Top

Lemur doesn't work on Firefox. do you observe the same issue also with other Browsers?

I have the same problem in chrome/Safari.  Looks like REST API is working but not UI.
vagrant@ubuntu-xenial:~$ curl -H "Content-Type: application/json" -X POST -d '{"username":"lemur","password":"xxxx"}' http://<IP_ADDRESS>:8000/api/1/auth/login
{"token": "eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpYXQiOjE1NzA1NjA4MzgsImV4cCI6MTU3MDY0NzIzOCwic3ViIjoxfQ.a_4ZfIko9VGolcy2vIzfeTnrDNiKISEll1d9wMMwnLM"}

-- | -- | -- | --

Lemur doesn't work on Firefox. do you observe the same issue also with other Browsers?
I have the same problem in chrome/Safari. Looks like REST API is working but not UI.


Standard unit support for all emissions species

In reviewing a PR for aneris I noticed that the following passes
df.convert_unit('Mt CO2/yr', to='kt CO2/yr')

and the following fails
df.convert_unit('Mt BC/yr', to='kt BC/yr')

It's not urgent, but I'd be keen for pyam to support at least simple unit conversions for all emissions species IAMs use. If someone (@danielhuppmann?) can point me in the right direction to get started, happy to tackle this (eventually)

Black carbon isn't listed in https://github.com/openclimatedata/globalwarmingpotentials and the derived emissions species in https://github.com/IAMconsortium/units, not sure why...
Options for resolving this:

Add BC to those packages (no need to make any changes in pyam, just update iam-units)
If there is a good reason why BC shouldn't be treated in those packages, make an alternative proposal


Fixing Raw without windows being time based. Adding helpers and fixing typos

Coverage increased (+0.0009%) to 99.534% when pulling 7d84a4c1eef9014eb224c809ac15dd34f837d7e7 on akshaisarma:master into b60686e591bb45499e873f29604572d914a90dad on yahoo:master.


Not draining existing connection if filter chain or listener updates through lds

I can see in the listener_filters doc that in case LDS updates a listener with a new config that only applies to a specific filter chain, it would only drain connections that are using those filter chain, however my question is - can this draining be avoided at all? Meaning that existing connections would use the current filter chain configs, and new connections that would match with the filter chain would get the new filter chain configurations. Thanks.

I think the filter chain update necessarily means the older version must be eventually retired - that could be changed but that could be surprising since it was always this way.
An out of band config mechanism might be better - using ECDS or something else to configure listener filter without modifying LDS.

Thanks @kyessenov! That's a good idea I was not familiar with. Two questions - first is why the ECDS is not listed in the xDS configuration doc? Is it because it's WIP or not-stable or something?
Second and the more important Q to understand if I could use this feature - If I use LDS that responds with a listener config that itself contains other xDS configurations, for example using SDS for a filter chain transport socket, or the ECDS for HCM - is this supported? In other words - can I combine LDS with SDS + ECDS, considering that SDS and ECDS configs are nested within LDS resources?

@ohadvano ECDS is fairly stable - it's been used in Istio for Wasm delivery and lots of rough edges have been ironed out. I think it's already integrated with listener filters. @adisuissa has also proposed another xDS called ODS for fine-grained objects which might be a better fit.
You can combine transitively xDS resources by using resource warming. The warming mechanism stalls the application of LDS until all the dependencies are resolved.

Thanks Kuat, I do have some more questions about how LDS behaves with nested xDS resources, but I'll open another issue as it's not 100% related to the draining problem I mentioned at first.
One other question though - is it currently possible to somehow respond with ECDS resources with some flag that causes the connections attached to a listener/filter-chain to drain? A use case for example would be some config update that would mitigates some security issue.

Thanks


Slurm collector crashes after switching to summer time

The slurm collector crashed after switching to summer time:
Apr 03 11:01:32 XXX systemd[1]: Started AUDITOR SLURM collector.
Apr 03 11:01:32 XXX auditor-slurm-collector[4009]: {"v":0,"name":"AUDITOR-slurm-collector","msg":"[SLURM COLLECTOR - START]","level":30,"hostname":"XXX","pid":4009,"time":"2023-04-03T09:01:32.320113626Z","target":"auditor_slurm_collector","line":60,"file":"collectors/slurm/src/main.rs","run_id":"fc1da16f-b28d-4040-b604-09d0427a8a8a"}
Apr 03 11:01:32 XXX auditor-slurm-collector[4009]: {"v":0,"name":"AUDITOR-slurm-collector","msg":"[LOADING CONFIGURATION - START]","level":30,"hostname":"XXX","pid":4009,"time":"2023-04-03T09:01:32.320188692Z","target":"auditor_slurm_collector::configuration","line":422,"file":"collectors/slurm/src/configuration.rs","run_id":"fc1da16f-b28d-4040-b604-09d0427a8a8a"}
Apr 03 11:01:32 XXX auditor-slurm-collector[4009]: {"v":0,"name":"AUDITOR-slurm-collector","msg":"[LOADING CONFIGURATION - END]","level":30,"hostname":"XXX","pid":4009,"time":"2023-04-03T09:01:32.32147451Z","target":"auditor_slurm_collector::configuration","line":422,"file":"collectors/slurm/src/configuration.rs","run_id":"fc1da16f-b28d-4040-b604-09d0427a8a8a","elapsed_milliseconds":1}
Apr 03 11:01:32 XXX auditor-slurm-collector[4009]: {"v":0,"name":"AUDITOR-slurm-collector","msg":"PRAGMA journal_mode = WAL; …; rows affected: 0, rows returned: 1, elapsed: 401.033µs\n\nPRAGMA journal_mode = WAL;\nPRAGMA foreign_keys = ON;\n","level":30,"hostname":"XXX","pid":4009,"time":"2023-04-03T09:01:32.322507302Z","target":"log","line":null,"file":null,"log.module_path":"sqlx::query","log.target":"sqlx::query"}
Apr 03 11:01:32 XXX auditor-slurm-collector[4009]: {"v":0,"name":"AUDITOR-slurm-collector","msg":"CREATE TABLE IF NOT …; rows affected: 0, rows returned: 0, elapsed: 22.170µs\n\nCREATE TABLE IF NOT EXISTS _sqlx_migrations (\n  version BIGINT PRIMARY KEY,\n  description TEXT NOT NULL,\n  installed_on TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,\n  success BOOLEAN NOT NULL,\n  checksum BLOB NOT NULL,\n  execution_time BIGINT NOT NULL\n);\n","level":30,"hostname":"XXX","pid":4009,"time":"2023-04-03T09:01:32.322784357Z","target":"log","line":null,"file":null,"log.module_path":"sqlx::query","log.target":"sqlx::query"}
Apr 03 11:01:32 XXX auditor-slurm-collector[4009]: {"v":0,"name":"AUDITOR-slurm-collector","msg":"SELECT version FROM _sqlx_migrations …; rows affected: 0, rows returned: 0, elapsed: 59.523µs\n\nSELECT\n  version\nFROM\n  _sqlx_migrations\nWHERE\n  success = false\nORDER BY\n  version\nLIMIT\n  1\n","level":30,"hostname":"XXX","pid":4009,"time":"2023-04-03T09:01:32.322980708Z","target":"log","line":null,"file":null,"log.target":"sqlx::query","log.module_path":"sqlx::query"}
Apr 03 11:01:32 XXX auditor-slurm-collector[4009]: {"v":0,"name":"AUDITOR-slurm-collector","msg":"SELECT version, checksum FROM …; rows affected: 0, rows returned: 1, elapsed: 32.435µs\n\nSELECT\n  version,\n  checksum\nFROM\n  _sqlx_migrations\nORDER BY\n  version\n","level":30,"hostname":"XXX","pid":4009,"time":"2023-04-03T09:01:32.323122987Z","target":"log","line":null,"file":null,"log.target":"sqlx::query","log.module_path":"sqlx::query"}
Apr 03 11:01:32 XXX auditor-slurm-collector[4009]: {"v":0,"name":"AUDITOR-slurm-collector","msg":"[STARTING SACCT MONITOR - START]","level":30,"hostname":"XXX","pid":4009,"time":"2023-04-03T09:01:32.323159429Z","target":"auditor_slurm_collector::sacctcaller","line":40,"file":"collectors/slurm/src/sacctcaller.rs","run_id":"fc1da16f-b28d-4040-b604-09d0427a8a8a"}
Apr 03 11:01:32 XXX auditor-slurm-collector[4009]: {"v":0,"name":"AUDITOR-slurm-collector","msg":"[STARTING SACCT MONITOR - END]","level":30,"hostname":"XXX","pid":4009,"time":"2023-04-03T09:01:32.323186713Z","target":"auditor_slurm_collector::sacctcaller","line":40,"file":"collectors/slurm/src/sacctcaller.rs","run_id":"fc1da16f-b28d-4040-b604-09d0427a8a8a","elapsed_milliseconds":0}
Apr 03 11:01:32 XXX auditor-slurm-collector[4009]: {"v":0,"name":"AUDITOR-slurm-collector","msg":"[STARTING AUDITORSENDER - START]","level":30,"hostname":"XXX","pid":4009,"time":"2023-04-03T09:01:32.323368767Z","target":"auditor_slurm_collector::auditorsender","line":28,"file":"collectors/slurm/src/auditorsender.rs","run_id":"fc1da16f-b28d-4040-b604-09d0427a8a8a"}
Apr 03 11:01:32 XXX auditor-slurm-collector[4009]: {"v":0,"name":"AUDITOR-slurm-collector","msg":"[STARTING AUDITORSENDER - END]","level":30,"hostname":"XXX","pid":4009,"time":"2023-04-03T09:01:32.323384474Z","target":"auditor_slurm_collector::auditorsender","line":28,"file":"collectors/slurm/src/auditorsender.rs","run_id":"fc1da16f-b28d-4040-b604-09d0427a8a8a","elapsed_milliseconds":0}
Apr 03 11:01:32 XXX auditor-slurm-collector[4009]: {"v":0,"name":"AUDITOR-slurm-collector","msg":"[CALLING SACCT AND PARSING OUTPUT - START]","level":30,"hostname":"XXX","pid":4009,"time":"2023-04-03T09:01:32.324392172Z","target":"auditor_slurm_collector::sacctcaller","line":94,"file":"collectors/slurm/src/sacctcaller.rs"}
Apr 03 11:01:32 XXX auditor-slurm-collector[4009]: {"v":0,"name":"AUDITOR-slurm-collector","msg":"SELECT id, record FROM …; rows affected: 0, rows returned: 0, elapsed: 80.626µs\n\nSELECT\n  id,\n  record\nFROM\n  records\n","level":30,"hostname":"XXX","pid":4009,"time":"2023-04-03T09:01:32.32454866Z","target":"log","line":null,"file":null,"log.target":"sqlx::query","log.module_path":"sqlx::query"}
Apr 03 11:01:32 XXX auditor-slurm-collector[4009]: {"v":0,"name":"AUDITOR-slurm-collector","msg":"PRAGMA journal_mode = WAL; …; rows affected: 0, rows returned: 1, elapsed: 98.503µs\n\nPRAGMA journal_mode = WAL;\nPRAGMA foreign_keys = ON;\n","level":30,"hostname":"XXX","pid":4009,"time":"2023-04-03T09:01:32.324825816Z","target":"log","line":null,"file":null,"log.target":"sqlx::query","log.module_path":"sqlx::query"}
Apr 03 11:01:32 XXX auditor-slurm-collector[4009]: thread 'tokio-runtime-worker' panicked at '{"v":0,"name":"AUDITOR-slurm-collector","msg":"SELECT lastcheck, jobid FROM …; rows affected: 0, rows returned: 1, elapsed: 44.901µs\n\nSELECT\n  lastcheck,\n  jobid\nFROM\n  lastcheck\n","level":30,"hostname":"XXX","pid":4009,"time":"2023-04-03T09:01:32.325027425Z","target":"log","line":null,"file":null,"log.module_path":"sqlx::query","log.target":"sqlx::query"}
Apr 03 11:01:32 XXX auditor-slurm-collector[4009]: No such local time', /home/runner/.cargo/registry/src/github.com-1ecc6299db9ec823/chrono-0.4.23/src/offset/mod.rs:186:34
Apr 03 11:01:32 XXX auditor-slurm-collector[4009]: note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace
Apr 03 11:01:32 XXX auditor-slurm-collector[4009]: {"v":0,"name":"AUDITOR-slurm-collector","msg":"[CALLING SACCT AND PARSING OUTPUT - END]","level":30,"hostname":"XXX","pid":4009,"time":"2023-04-03T09:01:32.325144315Z","target":"auditor_slurm_collector::sacctcaller","line":94,"file":"collectors/slurm/src/sacctcaller.rs","elapsed_milliseconds":0}
Apr 03 11:01:32 XXX auditor-slurm-collector[4009]: {"v":0,"name":"AUDITOR-slurm-collector","msg":"[SLURM COLLECTOR - EVENT] Shutdown signal from inside application received.","level":30,"hostname":"XXX","pid":4009,"time":"2023-04-03T09:01:32.325203234Z","target":"auditor_slurm_collector","line":115,"file":"collectors/slurm/src/main.rs","run_id":"fc1da16f-b28d-4040-b604-09d0427a8a8a"}
Apr 03 11:01:32 XXX auditor-slurm-collector[4009]: {"v":0,"name":"AUDITOR-slurm-collector","msg":"[SENDING SHUTDOWN SIGNAL TO SACCTCALLER AND AUDITORSENDER - START]","level":30,"hostname":"XXX","pid":4009,"time":"2023-04-03T09:01:32.325214412Z","target":"auditor_slurm_collector::shutdown","line":50,"file":"collectors/slurm/src/shutdown.rs","run_id":"fc1da16f-b28d-4040-b604-09d0427a8a8a"}
Apr 03 11:01:32 XXX auditor-slurm-collector[4009]: {"v":0,"name":"AUDITOR-slurm-collector","msg":"[SENDING SHUTDOWN SIGNAL TO SACCTCALLER AND AUDITORSENDER - END]","level":30,"hostname":"XXX","pid":4009,"time":"2023-04-03T09:01:32.325242621Z","target":"auditor_slurm_collector::shutdown","line":50,"file":"collectors/slurm/src/shutdown.rs","run_id":"fc1da16f-b28d-4040-b604-09d0427a8a8a","elapsed_milliseconds":0}
Apr 03 11:01:32 XXX auditor-slurm-collector[4009]: {"v":0,"name":"AUDITOR-slurm-collector","msg":"[SLURM COLLECTOR - EVENT] Could not send shutdown signal to tasks: channel closed\n\nLocation:\n    collectors/slurm/src/shutdown.rs:56:13","level":50,"hostname":"XXX","pid":4009,"time":"2023-04-03T09:01:32.325253209Z","target":"auditor_slurm_collector","line":120,"file":"collectors/slurm/src/main.rs","run_id":"fc1da16f-b28d-4040-b604-09d0427a8a8a"}
Apr 03 11:01:32 XXX auditor-slurm-collector[4009]: {"v":0,"name":"AUDITOR-slurm-collector","msg":"[SLURM COLLECTOR - END]","level":30,"hostname":"XXX","pid":4009,"time":"2023-04-03T09:01:32.325272215Z","target":"auditor_slurm_collector","line":60,"file":"collectors/slurm/src/main.rs","run_id":"fc1da16f-b28d-4040-b604-09d0427a8a8a","elapsed_milliseconds":5}
Apr 03 11:01:42 XXX systemd[1]: auditor-slurm-collector.service holdoff time over, scheduling restart.
Apr 03 11:01:42 XXX systemd[1]: Stopped AUDITOR SLURM collector.

The error message no such local time happens when unwrapping a LocalResult that has a value of LocalResult::None
impl<T: fmt::Debug> LocalResult<T> {
    /// Returns the single unique conversion result, or panics accordingly.
    #[must_use]
    #[track_caller]
    pub fn unwrap(self) -> T {
        match self {
            LocalResult::None => panic!("No such local time"),
            LocalResult::Single(t) => t,
            LocalResult::Ambiguous(t1, t2) => {
                panic!("Ambiguous local time, ranging from {:?} to {:?}", t1, t2)
            }
        }
    }
}

We also had an issue when switching to winter time (see #518) where we then implemented proper handling of all the possible values in  LocalResult instead of doing an unwrap (see #521). So I think we should not run into this issue anymore. I'll leave this issue open until we have the next switch to summer time and will close it afterwards if we don't experience issues.

No crash this year, so I think this has been fixed in the PR mentioned above.


Does candle supports offloading layers to gpu and remaining running on CPU ?

llama.cpp has a feature to offload some layers to gpu. Does candle also have some kind of similar feature ?
I've a GPU with 6GB VRAM and host is 16GB RAM and I can run models easily on CPU as I have sufficient RAM but slow. If I try to use GPU then app crashes. It would be helpful to offload 6GB of layers to GPU and run remaining on CPU.

Using candle you can select the device on which each of the tensors live so having some layers on GPU and some others on CPU is certainly doable. That said in our model library candle-transformers, we put usually everything on the same device for simplicity. If you want to experiment with this layer offloading, you can try to duplicate the model code from candle-transformers and adapt it the way you want, one of the design goal of candle-transformers is that the model code should be easy to transplant and tweak without having to drag a lot of dependencies.

I believe this feature helps to run models on consumer grade laptops / desktops utilising most of the hardware. Curious to know the amount of development efforts needed to create this feature.  I’ll try to implement and check. Thanks 👍


[material-ui][Autocomplete] Add support for infinite queries

Duplicates

[X] I have searched the existing issues

Latest version

[X] I have tested the latest version

Summary 💡
It should at least allow a way to add some sort of loader at the bottom of the options when fetching next page or some way to integrate infinite queries.
Examples 🌈
No response
Motivation 🔦
I want to have my autocomplete with infinite query using tanstack query. I can accomplish this partially but there is no way to add a loader to indicate we're fetching more stuff to my user

Saw some similar but closed issues: https://github.com/mui/material-ui/issues/32823

Duplicate of https://github.com/mui/material-ui/issues/18450

A PR is underway for onScrollToBottom https://github.com/mui/material-ui/pull/35653


onWebsocketHandshakeReceivedAsServer throwing InvalidDataException has no effect

I've implemented this piece of code on my WebSocketServer:
public ServerHandshakeBuilder onWebsocketHandshakeReceivedAsServer(WebSocket conn, Draft draft, ClientHandshake request) throws InvalidDataException {
        ServerHandshakeBuilder builder = super.onWebsocketHandshakeReceivedAsServer(conn, draft, request);
        if (!shouldAccept(request)) {
            throw new InvalidDataException(CloseFrame.POLICY_VALIDATION, "Not accepted!");
        }

        return builder;
    }

When an invalid handshake is sent by the client, nothing happens. The client doesn't close the connection nor connect.

Hello @devgianlu,
thx for your bug report!
Looks like an internal error which is caused by WebSocketImpl between 271 to 275. I will look into this!
Greetings
marci4

I've done some more debugging:

throwing a RuntimeException doesn't work either
I can close the connection with WebSocket#close(int, String) but the close code and the message are overwritten
If I call WebSocket#closeConnection(int, String), the connection is closed but with close code -1.

Thx again for the time you invest into this issue!
Hope I get the time to check this out over the weekend ;)
Could also be just the flushAndClose (since there are no bytes to write maybe this is causing problems).
Greetings
marci4

Hello @devgianlu,
I fixed your issue with pull request #532.
Closing this issue!
Greetings
marci4


Add matrix representation of gates to docstrings

What did you find confusing? Please describe.
The documentation for the supported gates don't sufficiently describe the action of these gates or how each of the parameters are used.
Describe how documentation can be improved
The docstring for each gate implemented here should show the matrix representation of the gate.
Additional context

As a point of discussion for the issue, it would seem to make sense to have the docstrings using the math directive so they render correctly in the docs.

For reference, look at how gate matrices are written in the PennyLane plugin

Closing the issue, since the PR addressing the issue was merged: https://github.com/amazon-braket/amazon-braket-sdk-python/pull/756


Adding failure information to failure file.

Issue #, if available:
Description of changes:
By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.

Job PR-247/1 is complete.
Docs are uploaded to http://gluon-ts-staging.s3-accelerate.dualstack.amazonaws.com/PR-247/1/index.html


Clean up CalendarObjectResource._create

_create looks unecesarily complex, and parts of the code there isn't covered by the tests.  Probably the whole method should be rewritten from scratch.
Possibly related to #94.  Spawned from #93.

See also #104 on a suggestion on how to set object.id on object instantiation.  That would move much of the complexity out of _create.


Dispute template data mappings

Overview
The data mappings describe how the variables from the dispute templates are populated from a data source.
The following data sources are initially supported: json (=hardcoded), subgraph, abi/call, abi/event.
Another source fetch might be added if really necessary, but likely requires additional security considerations to prevent XSS.
Example
Input 1: Dispute Template
{
    "title": "A reality.eth question",
    "description": "A reality.eth question has been raised to arbitration.",
    "frontendUrl": "https://reality.eth.limo/app/#!/question/{{ realityAddress }}-{{ questionId }}",
}

Input 2: Dispute Template Mappings
This is a basic mapping with hardcoded data (json type). A more advanced example would retrieve the values from an onchain event or a subgraph endpoint.
[
  {
    "type": "json",
    "value": {
      "questionId": "0xe2a3bd38e3ad4e22336ac35b221bbbdd808d716209f84014c7bc3bf62f8e3b39",
      "realityAddress": "0x14a6748192aBC6E10CA694Ae07bDd4327D6c7A51"
    },
    "seek": [
      "questionId",
      "realityAddress"
    ],
    "populate": [
      "questionId",
      "realityAddress"
    ]
  }
]

Output: Dispute Details
{
    "title": "A reality.eth question",
    "description": "A reality.eth question has been raised to arbitration.",
    "frontendUrl": "https://reality.eth.limo/app/#!/question/0x14a6748192aBC6E10CA694Ae07bDd4327D6c7A51-0xe2a3bd38e3ad4e22336ac35b221bbbdd808d716209f84014c7bc3bf62f8e3b39",
}

API
type SubgraphMapping = {
  endpoint: string; // Subgraph endpoint
  query: string; // Subgraph query
  seek: string[]; // Subgraph query parameters value used to populate the template variables
  populate: string[]; // Populated template variables
};

export type AbiEventMapping = {
  abi: string; // ABI of the contract emitting the event
  address: string; // Address of the contract emitting the event
  eventFilter: { // Event filter (eg. specific parameter value, block number range, event index)
    fromBlock: BigInt | string; // Block number range start
    toBlock: BigInt | string; // Block number range end
    args: any; // Event parameter value to filter on
  };
  seek: string[]; // Event parameters value used to populate the template variables
  populate: string[]; // Populated template variables
};

type AbiCallMapping = {
  abi: string; // ABI of the contract emitting the event
  address: string; // Address of the contract emitting the event
  args: any[]; // Function arguments
  seek: string[]; // Call return parameters used to populate the template variables
  populate: string[]; // Populated template variables
};

type JsonMapping = {
  value: object; // Hardcoded object, to be stringified.
  seek: string[]; // JSON keys used to populate the template variables
  populate: string[]; // Populated template variables
};

Full JSON Example
[
  {
    "type": "subgraph",
    "endpoint": "https://api.thegraph.com/subgraphs/name/uniswap/uniswap-v2",
    "query": "query($id: ID!) { pair(id: $id) { id token0Price token1Price } }",
    "seek": [
      "token0Price",
      "token1Price"
    ],
    "populate": [
      "price1",
      "price2"
    ]
  },
  {
    "type": "abi/event",
    "abi": "event StakeSet(address indexed _address, uint256 _courtID, uint256 _amount)",
    "address": "0x9f8f72aa9304c8b593d555f12ef6589cc3a579a2",
    "eventFilter": {
      "fromBlock": "36205881",
      "toBlock": "latest",
      "args": {
        "_courtID": 1
      }
    },
    "seek": [
      "amount"
    ],
    "populate": [
      "amount"
    ]
  },
  {
    "type": "abi/call",
    "abi": "function appealCost(uint256 _disputeID) public view returns (uint256)",
    "address": "0x5a2bC1477ABE705dB4955Cda7DE064eA79D563d1",
    "args": [
      "1"
    ],
    "seek": [
      "cost"
    ],
    "populate": [
      "cost"
    ]
  },
  {
    "type": "json",
    "value": {
      "name": "John Doe",
      "age": 30,
      "email"<EMAIL_ADDRESS>    },
    "seek": [
      "name",
      "age",
      "email"
    ],
    "populate": [
      "name",
      "age",
      "email"
    ]
  }
]

Acceptance Criteria
This specification and implementation must accommodate complex use cases such as mappings for a Reality dispute.
⚠ Disambiguation: the "Reality template" and "Reality question" are part of the Reality datamodel designed by Reality and outside the control of Kleros. In contrast, the "dispute template" and "dispute question" are part of the Kleros datamodel and are the subject of this specification.
For a Reality dispute:

first the Reality question must be retrieved,
then the Reality template,
then they must be executed (=populated),
then finally it can be used as an input to the dispute template. The steps in more details can be found here.

Here is an example of Reality question created on Arbitrum Goerli which can be used for testing:

Question ID: 0x1747ed3af678c3d8415171a0f8453e38a9de4cf37aed83f1d477218d194c5f4b
[Question tx which emits LogNewQuestion] (https://goerli.arbiscan.io/tx/0xeb588b623fc6fb0457d380e89d662390e6f8c44414a7a46ec77ff1fb69867efe#eventlog)
LogNewTemplate event to query

template_id 0 = question_text : {"title": "%s", "type": "bool", "category": "%s", "lang": "%s"}

TODO: type fetch/ipfsJson, which is safer than a generic fetch

Reopening: work will continue in a different PR.
https://github.com/kleros/kleros-v2/pull/1165#issuecomment-1906778483


feat: Specify caching fields with typePolicy directive

This is based on the discussions within #549, and matches the functionality of the typePolicy directive in Apollo Kotlin (specifically, the non-experimental keyFields argument)
TODO

[ ] Validation of the keyFields argument
[ ] Add tests to the GraphQLCompiler
[ ] Add tests for the changes in SchemaMetadata

🛠 Docs Preview Building...

Configuration
{
  "repoOverrides": {
    "apollographql/apollo-ios-dev@main": {
      "remote": {
        "owner": "x-sheep",
        "repo": "apollo-ios-dev",
        "branch": "typepolicy"
      }
    }
  }
}

e7cd57b7b8c76bb5c3f1018424a8fc1fa010229a


[stdlib] NFC: Unicode.Scalar.Properties documentation fixes

Non-functional cleanup/improvements missed after changes in the initial implementation PR:

Updated the description of family emoji to be less "nuclear"
Reference the Swift string properties *caseMapping instead of the Unicode transforms to*case in the descriptions of the Boolean changesWhen*cased properties (this change is still consistent with the definitions of those transforms)
Remove - Returns: sections from the case mapping properties now that they're properties instead of functions
Update description of numericValue to return nil instead of nan
Update the code examples in numeric{Type,Value} with slightly cleaner output

ping: @milseman

@swift-ci please smoke test

Changes made—thanks for the suggestions! Once this is merged, can we cherrypick both #15593 and this one into the 4.2 branch?

Whether we can merge Unicode Scalar Properties into 4.2 would be a decision by the release managers for 4.2.
CC @airspeedswift and @tkremenek.

Bump—is there anything else to be done before we can merge these changes into master?

@swift-ci please test and merge


Modal Title appears in button

Describe the bug
Title started appearing in button after recent update
To Reproduce
Create a Modal in command bar, set title. eg
            ModalToggle::make(__('Add Default Availability'))
                ->icon('plus')
               ->title('Add')
                ->method('add_availability')
                ->modal('add_default_availability')
                ->asyncParameters([
                    'class' => $this->class,
                ]),

Expected behavior
Should not see title
Screenshots

Version 9.8.2

Hey @RaiserWeb, the update hasn't been for the last year, but the headlines were not affected.
For models, there is a separate method for setting them.
Both for the button and himself:
Layout::modal('exampleModals', [
    Layout::rows([]),
])
    ->title('Window title');

or
ModalToggle::make('Open async modal')
    ->modal('exampleModals')
    ->modalTitle('Dynamics title')


Domain correction for Riot's new chunking patcher

What CDN does this PR relate to
All Riot Games
Does this require running via sniproxy
No, this domain is dedicated to mixed HTTP/HTTPS content and the patcher is designed to gracefully degrade to HTTP when this domain resolves to an RFC1918, RFC4193, or a link-local address.
Capture method
I designed the CDN topology ;)

@v3n Great to see you're still going strong and proactively reaching out to the community!

I am, supporting this is super important to us! :)


Fixes X icon positioning.

Previously, and to everyone's shock, dismay, and disgust, the X icon was so badly off-center that we were losing users every day. Take a look at this mangled monstrosity...

But now, with new technologies, tools and approaches, we have improved the positioning and BEHOLD....

This icon appears in the Inline Editor (colorpicker etc)

Forgive me Luke, I can't see the difference.  But great work!


add ability to validate a license from a string rather than having to save it to a file

Allow loading a license as a string that may have been saved in a database rather than as an xml file.

What does this gives that this doesn't?
https://github.com/ayende/rhino-licensing/blob/master/Rhino.Licensing/StringLicenseValidator.cs

sorry - probably nothing - hadn't seen the StringLicenseValidator thanks


Django TextChoices support request

Probably TextChoises could be treated the same way as Enums. Now it raises an assertion error.

Can you please provide more context and an example of what you see and what would be the desired behavior?


Implement BitButton in different sizes

I need to style buttons in different sizes of SM / LG /MD
we already have two different styles by the name of BitButtonStyle, I appreciate it if I could have something like this for Size.

This issue has been resolved and it will be available in the next pre-release version. It will be announced when the pre-release becomes ready.

The pre-release has been published. Please give it a try and give feedback.


[vmss] disk attach --disk should be deprecated for --name -n eventually.

vmss disk attach:  we should deprecate --disk for --name -n (disk name) when usage of the now deprecated --name/-n (vmss name) option drops in favor of the preferred --vmss-name.
Follows from #4255 and #8115.

@qwordy add to S162.


Invalid info_name with shiv and pex

Summary
When Click is used inside zipapps produced by Shiv or PEX, it displays an invalid "Usage" string. Instead of "Usage: program" it says "Usage: python -m program".
I did some digging and found that this is due to info_name being guessed incorrectly in the code introduced by #1609. There is a test for __package__ being set to None; however, in the case when the script is run inside Shiv or PEX, __package__ is instead set to the empty string (""). This is allowed by PEP 366:

Note that setting package to the empty string explicitly is permitted, and has the effect of disabling all relative imports from that module (since the import machinery will consider it to be a top level module in that case).

Reproducing
Follow the basic Shiv hello world example, but add Click:
hello.py:
import click

@click.command()
def main():
    print("Hello world")

if __name__ == "__main__":
    main()

setup.py:
from setuptools import setup

setup(
    name="hello-world",
    version="0.0.1",
    description="Greet the world.",
    py_modules=["hello"],
    entry_points={
        "console_scripts": ["hello=hello:main"],
    },
    install_requires=['Click==8.1.3'],
)

Build the executable zipapps and run them:
$ shiv . -c hello -o hello1.pyz
$ pex . -c hello -o hello2.pyz

$ ./hello1.pyz --help
Usage: python -m hello1 [OPTIONS]

$ ./hello2.pyz foo
Usage: python -m hello2 [OPTIONS]
Try 'python -m hello2 --help' for help.

Expected behavior
Click should not print the Usage string as "python -m hello"; it should just be "hello".
Environment:

Python version: 3.10.5
Click version: 8.1.3
Shiv version: 1.0.1
Pex version: 2.1.102

If you know you're packaging your app with those tools, you can set the program name directly:
main(prog_name="my-command")

main(prog_name="my-command")

Hey, thanks! I didn't realize that parameter existed. That's good to know. 😊


Support for parent elements

It would be nice in future versions to add the ability to load a list with parent elements.
For example:
[
   { parent1: [
    element1,
    element2,
    element3,
   ]},
   { parent2: [
    element1,
    element2,
    element3,
   ]},
   { parent3: [
    element1,
    element2,
    element3,
   ]},
]

Ok, I plan to add this in a future update.


ZNMF jet actuation for cylinder

Move the current Cylinder to RotaryCylinder and add a new Cylinder that uses blowing/suction for actuation instead of rotary control.

Branch https://github.com/dynamicslab/hydrogym/tree/jc/cyl-jet


Bump similar/console versions

This aligns the version used by insta so that you don't get duplicate versions of similar.

Actually, had to unbump console back to 0.14 since insta also uses the older one.


gcc-arm-embedded: 4.9 -> 5.2

Things done:

[x] Tested using sandboxing (nix-build --option build-use-chroot true or nix.useChroot on NixOS)
Built on platform(s)

[x] NixOS
[ ] OS X
[x] Linux

[ ] Tested compilation of all pkgs that depend on this change using nix-shell -p nox --run "nox-review wip"
[x] Tested execution of all binary files (usually in ./result/bin/)
[x] Fits CONTRIBUTING.md.

Seems that GCC ARM Embedded have changed convention for file location,
and version 5.2 isn't accessible from the predicted URL. That's why
nix-expression is updated to allow overloading URL parts.

ping

Rebased on master.


kernel panic on PXE boot

Hello.
After creating the files and attempting to boot via PXE, the kernel panics.
Tried both Proxmox VE 6.4 and Proxmox VE 7.0
BIOS legacy (not UEFI), platform Supermicro X8DTU with X5670
PXE configuration in my python script:
:proxmox_6
echo Proxmox VE 6
echo Load kernel...
kernel {{ request.url_root }}images/proxmox/6/linux26
echo Load initrd...
initrd {{ request.url_root }}images/proxmox/6/initrd
imgargs linux26 vga=791 ramdisk_size=16777216 quiet splash=verbose proxdebug
echo Boot
boot || goto special
goto special

:proxmox_7
echo Proxmox VE 7
echo Load kernel...
kernel {{ request.url_root }}images/proxmox/7/linux26
echo Load initrd...
initrd {{ request.url_root }}images/proxmox/7/initrd
imgargs linux26 vga=791 ramdisk_size=16777216 quiet splash=verbose proxdebug
echo Boot
boot || goto special
goto special

In the attachment there is a screenshot of the problem:

Hm, i was able to boot via BIOS in a PVE VM. I do not have any BIOS enabled hardware to test further. You could try to chainload IPXE and see if it works this way.

got the same problem with BIOS and EFI boot

got the same problem with BIOS and EFI boot

read again...
LEGACY BIOS

I tried both BIOS Legacy AND UEFI mode... both give the kernel panic error

I tried both BIOS Legacy AND UEFI mode... both give the kernel panic error

its bad :(

Me to; im  always getting the
VFS: Cannot open root device "(null)" or unknown-block(0,0).....
@morph027 could you post your working  ipxe entry? The one in the readme isnt working, at least at my end.

I digged in a little deeper, and it semas that the initrd.img doen't get decompressed, because its not a compressed file, as it looks like. so the $decompress value is not set at all.

Its not compressed anymore, right, but should not matter.

what i dont understand, why is the filesize of the initrd (inc. iso) not bigger that the iso itself, shouldnt it be the initrd.img + iso?

Jip, it should. Mine is ~1GB in size.

# ls -larth
-r--r--r-- 1 root   root     12M May 24 08:29 linux26
-rw-r--r-- 1 root   root   1005M May 24 09:21 initrd

well, than the not compressed image is the problem: check your sourcecode, if the mimetype is not found, then the $decompress value will not be set and the initrd.img will be in /tmp/initrd.img. And the iso will pe appendet, to ./initrd, but this is an empty file ATM ( if no mimetype is found).
so all your scipt does is more or less renaming the .iso to initrd :)
for compare, the initrd.img is mine done manually, and initrd is done by the script:
-r--r--r-- 1 root root<PHONE_NUMBER> Jul 26 13:12 initrd.img -rw-r--r-- 1 root root<PHONE_NUMBER> Jul 23 15:10 initrd.iso.img
there you see the size difference.

bzw thats the size of the iso itself
-rw-r--r-- 1 root root<PHONE_NUMBER> Jul 23 09:58 proxmox-ve_7.0-1.iso

Thanks for debugging. Will have a look later!

I've testet the 7.0.1 iso with the 6.4 initrd, at least the kernel finds the iso but it runs into other problems:

Any ideas what i clould try, or what else i could debugg?

Can you try the latest commit please?

okay at least that works :)
Using proxmox-ve_7.0-1_new.iso...
extracting kernel...
extracting initrd...
unable to detect initrd compression method, exiting
But i still havent found a way to boot 7.0 :|

What does which file says on your system?

file /tmp/initrd.img /tmp/initrd.img: data

and file --mime-type --brief /tmp/initrd.img ?

file --mime-type --brief /tmp/initrd.img`` application/octet-stream

Ah, well, that's the reason why it fails to decompress ;)
Which OS are you running?

do you have another iso than me? i downloaded mine now a few times, from :
https://www.proxmox.com/en/downloads/item/proxmox-ve-7-0-iso-installer ( 7.0-1)
Here my sysinfos:
Linux pxeinstall 3.16.0-11-686-pae #1 SMP Debian 3.16.84-1 (2020-06-09) i686 GNU/Linux
Distributor ID: Debian
Description:    Debian GNU/Linux 8.11 (jessie)
Release:        8.11
Codename:       jessie

Na, I will update the system :) and report back it that helped, but i allready tryed the compressiondetection on my wsl, and i looks like it worked.

@morph027
[root@node2 prox]# bash pve-iso-2-pxe.sh prox.iso

#########################################################################################################
# Create PXE bootable Proxmox image including ISO                                                       #
#                                                                                #
# Author: mrballcb @ Proxmox Forum (06-12-2012)                                                         #
# Thread: http://forum.proxmox.com/threads/8484-Proxmox-installation-via-PXE-solution?p=55985#post55985 #
# Modified: morph027 @ Proxmox Forum (23-02-2015) to work with 3.4                                      #
#########################################################################################################

Using prox.iso...
extracting kernel...
extracting initrd...
unable to detect initrd compression method, exiting

OS info:
[root@node2 prox]# cat /etc/os-release
NAME="CentOS Linux"
VERSION="7 (Core)"
ID="centos"
ID_LIKE="rhel fedora"
VERSION_ID="7"
PRETTY_NAME="CentOS Linux 7 (Core)"

Okay, looks like the same, your file command is too old to recognize the data types. Can you upgrade or run docker on your system?

On ubuntu 20.04 this script working (but i dont check boot from this pxe files)
I'll check it a little later and write it to the issue

okay i got i now working in UEFI and legacy mode. my changes have been allready added in this Pull request : https://github.com/morph027/pve-iso-2-pxe/pull/23
:)

I also had this problem with  proxmox-ve_7.0-1.iso and "unable to detect initd compression method" but this was easy to fix.
Here I had to replace "zstd" with "x-zstd" and then it worked:
case "${mimetype##*/}" in
  "x-zstd")
    decompress="zstd -d /tmp/initrd.img -o initrd"
    ;;

But unfortunately the installation does not work but ends with a kernel panic before things really get started:

When I run:
cpio -ivd < initrd
I get:
../proxmox.iso

@fansari  try the forked version plz ( the one in the pull request: https://github.com/Exellent1988/pve-iso-2-pxe
the where some errors in the scrypt by morph ...

@Exellent1988 Thank you. With this forked version the Proxmox installer is starting.

@fansari try the forked version plz ( the one in the pull request: https://github.com/Exellent1988/pve-iso-2-pxe
the where some other errors in the scrypt by morph as well...

This fork works with Proxmox Backup Server 2.0 too... THX

Thanks @Exellent1988 for the hint regarding x-zstd. I've added this and fixed the extracting error too in https://github.com/morph027/pve-iso-2-pxe/commit/f32cc7f9e9d0b5be46752dfb5e8d1c4d963d5894


Add wildcard to linkedin urn regex check for a dataset id

so that logic flow allows wildcards when transitioning into dataset route.
ember test results:
1..361
# tests 361
# pass  355
# skip  6
# fail  0

# ok

Codecov Report

Merging #1142 into master will increase coverage by 0.48%.
The diff coverage is n/a.

@@            Coverage Diff             @@
##           master    #1142      +/-   ##
==========================================
+ Coverage   32.73%   33.21%   +0.48%
==========================================
  Files         195      195
  Lines        4940     4940
  Branches     1354     1354
==========================================
+ Hits         1617     1641      +24
+ Misses       3323     3299      -24

Impacted Files
Coverage Δ

wherehows-web/app/utils/validators/urn.ts
86.66% <ø> (ø)
:arrow_up:

...mponents/datasets/containers/dataset-compliance.ts
62.29% <0%> (+1.63%)
:arrow_up:

wherehows-web/app/services/notifications.ts
63.75% <0%> (+28.75%)
:arrow_up:

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 6ae8c0b...4447362. Read the comment docs.

Coverage remained the same at 26.687% when pulling 4447362c0c854950130d32f73e0f61522ca8018a on cptran777:urn-wildcards-encoding-fix into 6ae8c0b3e8a5484d99949441378a588ebfa0dd07 on linkedin:master.


[nfc] Use ^stdlib not stdlib for lit regex filter.

Otherwise this will pick up non-stdlib tests such as interop tests. Thesedon't work in the toolchain config because the test might rely on a recent fix to the compiler.
rdar://89980100

preset=stdlib_RA_standalone,build,test
@swift-ci please test with preset macOS platform

In the mean time:
@swift-ci please smoke test


How to set TextField type "password" ?

textFieldConfig
| label = "Password"
, outlined = True
, additionalAttributes =  [ Html.Attributes.type_ "password" ]
that's invalid !

Hi @cloudshill, thank you for reporting this! It is indeed not currently possible to set type "password" for Textfields, because additionalAttributes are applied to the wrapping custom element and not the underlying input element.
Other attributes like this are (ie. value) are mapped in the configuration so that they can get passed to the input. I am not quite sure if we would add a field

password : Bool,
type : String, or
nativeControl : List (Html.Attribute msg)

to TextFieldConfig. I will investigate what types are there besides password, and then add support for that.

Hi @cloudshill,
I have investigated a bit and I have added a type_ : String configuration field to TextFieldConfig (104be35183ebc0cac297d4056c8220dfee9bf527).
You should this be able to write
textField { textFieldConfig | type = "password" }

If there are issues with this still, or anything remains unclear feel free to re-open! Thanks again for reporting this issue.

thanks.


Ability to use custom remark/rehype plugins and disable included ones

Is your feature request related to a problem?
Yes. Right now you can't disable default plugins and can't include new ones or configure existing plugins.
Describe the solution you'd like
Ability to control plugins
Describe alternatives you've considered
None, there is no alternative sadly
Additional context
No response

would u be up to try make a PR? we will be happy to merge


[CARBONDATA-3081] Fixed NPE for boolean type column with null value

Be sure to do all of the following checklist to help us incorporate
your contribution quickly and easily:

[ ] Any interfaces changed?

[ ] Any backward compatibility impacted?

[ ] Document update required?

[ ] Testing done
Please provide details on
- Whether new unit test cases have been added or why no new tests are required?
- How it is tested? Please attach test report.
- Is it a performance related change? Please attach the performance test report.
- Any additional information to help reviewers in testing this change.

[ ] For large changes, please consider breaking it into sub-tasks under an umbrella JIRA.

Build Failed with Spark 2.2.1, Please check CI http://<IP_ADDRESS>:8080/job/ApacheCarbonPRBuilder1/1499/

retest this please

Build Success with Spark 2.3.1, Please check CI http://<IP_ADDRESS>:8080/job/carbondataprbuilder2.3/9544/

Build Success with Spark 2.1.0, Please check CI http://<IP_ADDRESS>:8080/job/ApacheCarbonPRBuilder2.1/1284/

Build Success with Spark 2.2.1, Please check CI http://<IP_ADDRESS>:8080/job/ApacheCarbonPRBuilder1/1502/

Build Failed  with Spark 2.3.1, Please check CI http://<IP_ADDRESS>:8080/job/carbondataprbuilder2.3/9549/

Build Success with Spark 2.1.0, Please check CI http://<IP_ADDRESS>:8080/job/ApacheCarbonPRBuilder2.1/1299/

Build Failed with Spark 2.2.1, Please check CI http://<IP_ADDRESS>:8080/job/ApacheCarbonPRBuilder1/1513/

Build Success with Spark 2.3.1, Please check CI http://<IP_ADDRESS>:8080/job/carbondataprbuilder2.3/9560/

LGTM...please check the CI failure

retest this please

Build Failed with Spark 2.2.1, Please check CI http://<IP_ADDRESS>:8080/job/ApacheCarbonPRBuilder1/1524/

Build Success with Spark 2.1.0, Please check CI http://<IP_ADDRESS>:8080/job/ApacheCarbonPRBuilder2.1/1309/

Build Failed with Spark 2.2.1, Please check CI http://<IP_ADDRESS>:8080/job/ApacheCarbonPRBuilder1/1525/

Build Success with Spark 2.1.0, Please check CI http://<IP_ADDRESS>:8080/job/ApacheCarbonPRBuilder2.1/1315/

Build Success with Spark 2.3.1, Please check CI http://<IP_ADDRESS>:8080/job/carbondataprbuilder2.3/9573/

retest this please

Build Success with Spark 2.1.0, Please check CI http://<IP_ADDRESS>:8080/job/ApacheCarbonPRBuilder2.1/1378/

Build Success with Spark 2.2.1, Please check CI http://<IP_ADDRESS>:8080/job/ApacheCarbonPRBuilder1/1588/

Build Success with Spark 2.3.1, Please check CI http://<IP_ADDRESS>:8080/job/carbondataprbuilder2.3/9636/

LGTM


Include a flag to replace the "circle" with a glyph from Nerd Fonts

Summary 💡
Currently in the languages section a circle using the "chip" color is printed along the programming language name, it would be more attractive to the eye to have the colored logo of the programming language instead of the circle.
Motivation 🔦
In the Nerd Fonts project there are a lot of glyphs directly related to a lot of programming languages (see non extensive list below, to be updated later).

Ada: 
Arduino: 
Assembly: 
Bash: 󱆃 / 
C: 
Clojure: 
CoffeeScript: 
Coldfusion: 
C++: 
Crystal: 
Csharp: 󰌛
Css: 
Dart:   *ascii differs from logo
Docker: 
E-lisp: 
Elixir: 
Elm: 
Emojicode: 󰞅 *no logo?
Erlang: 
Fish: 
Fortran Legacy/modern: 󱈚
Fsharp: 
GdScript (godot): 
Go: 
Graphql: 󰡷
Groovy: 
Haskell: 
Haxe: 
HolyC: 
HTML: 
Java: 
JavaScript: 
Json: 
Julia: 
Kotlin: 
Lisp: 
Lua: 
Makefile: 
Markdown: 
Nim: 
Nix: 
ObjectiveC:  *Use C again?
Ocaml: 
Org: 
Perl: 
Perl6 (now raku): *need rename?
php:  /  / 
Powershell: 󰨊
Prolog: 
Purescript: 
Python: 
Qml: 
R: 
Ruby: 
Rust: 
Sass: 
Scala: 
Scheme: 
sh: 󱆃
Sql: 
Svelte: 
Svg: 󰜡
SystemVerilog:  *HDL
SWift: 
Tcl: 󰛓
Tex: 
TOML: 
Typescript: 
Twig: 
Verilog:  *HDL
VHDL:  *HDL
VimScript: 
Vue: 
Xaml: 󰙳
XML: 󰗀
YAML: 
Zig: 
zsh: 󱆃

If a new entry in the config file is added, users could include the glyph if it exists and onefetch could replace the circle with that.
            let circle = "\u{25CF}".color(*circle_color);

    glyph: "\uf34b" # 

Example:
onefetch --icons

So you're proposing using the main language's logo as the "chip"? TBH If we supported something like this I'd want to go a step further and show each language's nerdfont icon.

Yes, I mean to assign their corresponding icons to each language, in the picture I just used the Rust icon because it was an easy change, I'm not really good at rust so I don't know how to implement the proposed change.

I'm not really good at rust so I don't know how to implement the proposed change.

No problem. Let's give this issue some time for discussion before you make any contributions (I wouldn't want you to do work unnecessarily), but even just updating languages.yaml would be a huge help 🙂

This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs.

Is this as simple as adding a value in languages.yaml with the character and using that, or is there something I'm missing.
This is an example of a possible solution.

The logos are so tiny 😄

lol.
my colorscheme doesn't contrast very well with the chip colour for these langs, but even then all of the characters are one space wide.
I don't know of any way to get around that though.

The logos are so tiny

https://github.com/o2sh/onefetch/issues/1308#issuecomment-2290232076 Just happened to show two of the more detailed, and therefore hard to see, logos. It's not so bad with the C logo.
@Localghost385 you might be able to get a head-start by referencing the contributions here: https://github.com/spenserblack/gengo/pull/345. But I believe some invalid codes were included :cry:

Here's another example.
I'll definetly check https://github.com/spenserblack/gengo/pull/345 and https://github.com/spenserblack/gengo/pull/348
In regards to legibility, there may be an argument for not using the logo for some languages like makefile?

there may be an argument for not using the logo for some languages like makefile?

You might be able to find a alternate glyphs for some. For Makefile, for example, try  or  instead of 

@Localghost385 FYI, if you're going to use the escapes: https://github.com/spenserblack/gengo/pull/435
For example, for Rust (󱘗), use \U000f1617 (0 pad for 8 characters), not \uf1617 or \udb85\ude17. The former is an invalid escape (5 characters for a 16-bit code point), and apparently YAML parsers can't handle the latter (tried with yq, Ruby's yaml library, and Rust's serde_yaml).
Though I guess that depends on if you're planning on putting the literal nerd font character or its escaped Unicode in the data file (personally I prefer using escapes).

@spenserblack
I've been doing it like this, which seems like the rust way of handling unicode (According to this),
icon: \u{f031f} # 󰌟
But i could handle them in a more standard format,
icon: "\U000f031f" # 󰌟
The only problem with that is that it would no longer be able to handle them as chars
error: character literal may only contain one codepoint
It's not a big change, but at the same time I don't know if it's an issue to keep it this way.

Oh, are you hard-coding these in the Rust code? You probably want to put it in languages.yaml.

this is in the in languages.yaml
Rust:
  type: programming
  ascii: |
    {0}                 R RR RR
    {0}              R RRRRRRRR R          R
    {0} R RR       R RRRRRRRRRRRRR R      RR
    {0}rR RRR    R RRRRRRRRRRRRRRRRR R   RRR R
    {0}RRR RR   RRRRRRRRRRRRRRRRRRRRRRR  RRRRR
    {0} RRRRR  RRRRRRRRRRRRRRRRRRRRRRRR  RRRR
    {0}  RRR RRRRRRRRRRRRRRRRRRRRRRRRRRRR RR
    {0}    R  RRRRRRRRRR{1}=  {0}RR{1} = {0}RRRRRRRRRRR
    {0}     RRRRRRRRRRRR{1}=  {0}RR{1} = {0}RRRRRRRRRR
    {0}      RRRRRRRRRRR   RR   RRRRRRRRRR
    {0}     RR==RRRRRRRRRRRRRRRRRRRRRR===RR
    {0}     RR =  ==RRRRRRR  RRRRRR==  = RR
    {0}      RR =     ===========     = RR
    {0}       RR                        R
    {0}        R                       R
    {0}         R
  colors:
    ansi:
      - red
      - white
    hex:
      - "#E43717"
      - "#FFFFFF"
    chip: "#DEA584"
  icon: \u{E7A8} # 

the error occurs in the rust code generated from the yaml in languages.tera.
    pub fn get_language_icon(&self) -> char {
        match self {
            {% for language, attrs in languages -%}
                Language::{{ language }} => '{{ attrs.icon }}',
            {% endfor %}
        }
    }
}

Oh, OK, now I understand what you're doing. It's a literal string (not an escape) in the YAML, and then gets output just as it is in the template. So it's kind of like you're writing Rust strings, not YAML strings. Sorry, I missed that the snippets you were posting were YAML and not Rust.
This brings up an interesting thought: what should we ask/expect contributors to know? The Rust syntax for writing Unicode, or the YAML syntax?

The standard way seems best to me really.
If there's already a precedent of handling them that way (in gengo), and it's what most people will be used to it's probably the best solution.

In gengo's scenario it was ideal to do it that way, for 2 reasons:

If a contributor doesn't have a Nerd Font installed they should still be able to review the code (so no special characters like 󰌟)
gengo reads the YAML and writes Rust tokens, so the YAML should evaluate to the actual string value

Onefetch, like tokei, doesn't write tokens, but uses a templating language. So there's a bit more freedom in that you can write Rust syntax directly in the data. So it really comes down to a matter of preference I think. There's a bit of overlap between tokei and onefetch contributions. Tokei has set the precedent of writing Rust syntax in the data file (even going so far as requiring double escapes, 1 for JSON and 1 for Rust).
At this point I'm leaning slightly towards YAML escapes instead of Rust escapes, but I don't really have a strong opinion one way or the other. Just raising the question for consideration. @o2sh thoughts?

Ideally, we would use the Nerd Font code point verbatim inside languages.yaml to facilitate future contributions and code reviews.
This means using \uf031f instead of \u{f031f}, and making the necessary conversion inside the tera template.

If we're fine with having the actual character in the generated code instead of the escape, I don't think we actually need to perform a conversion.
# input
nerd-font-icon: "\U0000e7a8"

// output
fn get_nerd_font_icon(&self) -> Option<char> {
    match self {
        // ...
        Rust => '',
        // ...
    }
}

#1395

I created a pr to get some feedback on the icons, most of the functionality is there but there's still some issues to be worked out.
#1395


"can't pickle _thread.lock" in ResumableDatasetLoop with SubprocessRunner in Python 3

at 8db62fc2ad9a87c3169fea1d1089ad2f51d62172, a few commits after v0.24.2
Traceback (most recent call last):
  File "./bdphi-scripts/bdphiROC/twirl_mktbl_heppy.py", line 721, in <module>
    main()
  File "./bdphi-scripts/bdphiROC/twirl_mktbl_heppy.py", line 62, in main
    run(reader_collector_pairs)
  File "./bdphi-scripts/bdphiROC/twirl_mktbl_heppy.py", line 609, in run
    treeName='tree'
  File "./bdphi-scripts/external/atheppy/atheppy/fw.py", line 110, in run
    self._run(loop)
  File "./bdphi-scripts/external/atheppy/atheppy/fw.py", line 285, in _run
    loop()
  File "./bdphi-scripts/external/alphatwirl/alphatwirl/datasetloop/loop.py", line 60, in __call__
    pickle.dump(self.reader, f, protocol=pickle.HIGHEST_PROTOCOL)
TypeError: can't pickle _thread.lock objects

The error occures in ResumableDatasetLoop:
https://github.com/alphatwirl/alphatwirl/blob/8db62fc2ad9a87c3169fea1d1089ad2f51d62172/alphatwirl/datasetloop/loop.py#L52-L61

This happens only in Python 3, not in Python 2.7
This happens only in the parrallel mode subprocess, not in htcondor.

The proc in SubprocessRunner might not be picklable in Python 3:
https://github.com/alphatwirl/alphatwirl/blob/8db62fc2ad9a87c3169fea1d1089ad2f51d62172/alphatwirl/concurrently/SubprocessRunner.py#L44-L50

can try to pickle before self.reader.read(dataset) or self.reader.begin()

now pickle before start reading events 2eea376679478c5fb63262b77c3d8993bb4af650
this is not covered by unit tests


[FEATURE REQUEST] Option to suppress adding URLs to hover document

In vim, the URL in the hover document given by RA is actually unclickable because the popup window does not capture focus. However, the presence of these URLs can affect the sentence flow of the document text.
I know there's a feature in vim called conceal that hides them, but since URLs are usually long, actually hiding them leaves a huge black hole, like this:

I looked at the source code for these modules and found that the original documentation comments did not contain URLs, so they should have been added actively by rust-analyzer.
I know that some GUI editors like vscode have this feature that is very useful, as they often have an integrated browser that can easily display what the link is pointing to. But in other term-based editors, actually opening the URL is not very convenient and breaks the train of thought.
So is it possible to request an option to turn this feature off?

The documentation does contain urls. For example [`String`] turns into a link because there is a [`String`]: <the url> at the bottom.

So, since it is at the bottom of the document, is it possible to still keep it at the bottom? Just add an option to give those who need it a choice.

I tried to make a few small changes myself and things look much better now. If my suggestions are accepted, I'll improve it so that it can be merged in via PR.

This seems like an editor issue to me, unless we're sending these links in a non-markdown context?

When rewriting links I think the markdown is canonicalized to always use [text](link) instead of [text] and [text]: link
https://github.com/rust-analyzer/rust-analyzer/blob/e7da5816d67fadc056ee43310f9d04164c2617d9/crates/ide/src/link_rewrite.rs#L41-L46

pulldown-cmark doesn't distinguish between the two ways of writing a link. It always uses Tag::Link with a mandatory url: https://docs.rs/pulldown-cmark/0.8.0/pulldown_cmark/enum.Tag.html#variant.Link pulldown-cmark-to-cmark then emits [text](link): https://docs.rs/pulldown-cmark-to-cmark/5.0.0/src/pulldown_cmark_to_cmark/lib.rs.html#325-331

FYI we only ever send markdown back (we do not honor the client caps here). We should probably have different behavior if sending back text. See #4326

It just works now. I cordially invite @bjorn3, @flodiebold, and @kjeremy to review my changes and hope to merge them with your help.


Export / Import WADL

I noticed that Apigee is using this for importing API's into their system - http://en.wikipedia.org/wiki/Web_Application_Description_Language
www.apigee.com
N

Yes I saw that before but hate its XML syntax. Maybe as an addon
Sent from my iPhone
On Nov 25, 2011, at 12:51 PM, Nolan<EMAIL_ADDRESS>wrote:

I noticed that Apigee is using this for importing API's into their system - http://en.wikipedia.org/wiki/Web_Application_Description_Language
www.apigee.com
N

Reply to this email directly or view it on GitHub:
https://github.com/ColdBox/coldbox-relax/issues/28


Pytorch questions!

I use torch=1.4.0, and python=3.6.4
running sh on only one GPU (the corporation condition is poor) -.-
it indicates
/pytorch/aten/src/ATen/native/cuda/LegacyDefinitions.cpp:19: UserWarning: masked_fill_ received a mask with dtype torch.uint8, this behavior is now deprecated,please use a mask with dtype torch.bool instead.
how can i solve this error?

        else:             # transform byte to bool type.             dec_attn_mask = torch.triu(                 word_emb.new_ones(qlen, klen), diagonal=1+mlen).bool()[:,:,None]
byte() -> bool()


Turn off eager expression reordering

In [2]: t = bz.symbol('t', 'var * {name: string, id: int}')

In [6]: t[['name']][t.name == 'Ying']
Out[6]: t[t.name == 'Ying'][['name']]

In [7]: t[['name', 'id']][['name']]
Out[7]: t[['name']]

In [8]: t[['name', 'id']][['id']]
Out[8]: t[['id']]

In [9]: t[['name', 'id']][t.id < 100][['id']]
Out[9]: t[t.id < 100][['id']]

We have usecases that build up expressions incrementally.  The final composite expression needs to be able to indicate which smaller expressions it is derived from.  Blaze's eager expression rewriting makes it impossible to do this at times.
One solution would be to turn off any eager expression rewriting or reordering, and instead do rewriting / reordering as a compute() time optimization.

@kwmsmith If eager rewriting is turned off, are expressions that are not commutative allowed to fail?
Example:
blaze_test=# select * from alice_bob;
 id | name  | amount
----+-------+--------
  1 | Alice |    100
  2 | Bob   |    200
  3 | Alice |     50
(3 rows)

blaze_test=# select * from (select name from alice_bob) as t where amount < 100;
ERROR:  column "amount" does not exist
LINE 1: ...ct * from (select name from alice_bob) as t where amount < 1...
                                                             ^
blaze_test=# select name from (select * from alice_bob where amount < 100) as t;
 name
-------
 Alice
(1 row)

Eager rewriting currently lets some computations succeed that would otherwise fail naturally like above.  The test suite contains some examples (e.g. test_spark).

For this specific example, what is the blaze expression that's being rewritten / reordered here?
Is it something like:
t[t.amount < 100].name

When I repr this expression, it isn't being reordered -- it's symbolic representation looks identical to the expr as input.
The expression reordering I'm referring to here is entirely at the symbolic Blaze level before any compute happens.  It's fine if Blaze reorders an expression as an optimization pass, but that has to happen during compute, not when the original symbolic expr is constructed.
So, for instance, when I do a projection followed by a selection:
t[['name']][t.amount < 100]

The resulting symbolic expression is constructed as a selection, then a projection:
t[t.amount < 100][['name']]

That logic needs to be factored out and moved into optimize, and wherever else this is occurring.
For this specific example, the offending line is here:  https://github.com/blaze/blaze/blob/master/blaze/expr/expressions.py#L544
That logic needs to be moved into the optimize pass.

One way to find where this is likely happening is wherever _subs() is called inside expression constructors.  I suspect and hope this is somewhat infrequent.

Yes, your example is one the lines that I removed:
https://github.com/blaze/blaze/blob/master/blaze/expr/expressions.py#L544

But https://github.com/blaze/blaze/blob/master/blaze/compute/tests/test_spark.py#L241 seems to rely on this eager reordering.
So my question was: Given that this double-select spark example would also naturally fail in sql, can users be expected to write this instead?
t[t['amount'] < 100]['name']
Or is the commutativity part of the published API?

Yes, your example is one the lines that I removed

Did you remove it without moving that logic to optimize?  That logic / reordering does need to happen before the actual computation happens, otherwise we'll get the errors we're seeing.
One suggestion would be to make a new reorder_projection() optimization pass, and put it in blaze/expr/optimize.py -- you can follow the pattern for lean_projection().  You'll have to ensure that this optimization is run during compute.

I didn't move the logic to optimize.  A related question is:
Currently the test suite seems to pass (except for two hard-coded sql output comparisons) when optimize is disabled:
    # 3. Re-optimize data and expressions
    optimize_ = False #  kwargs.get('optimize', optimize)

This issue would move essential reorderings into optimize. Should there perhaps be a separate pass for the essential reorderings?

This issue would move essential reorderings into optimize. Should there perhaps be a separate pass for the essential reorderings?

Yes, good point!  This is a good case for a new transform() function that takes an expression and returns the transformed expr, to be done right at the top of compute().  It would need to happen before optimization, and we could put other expression transformations there as more accumulate.

There is precedent for making required expr rewrites in optimize. Instead of adding a new pass, we could rename optimize to rewrite_expression or something more clear.

There is precedent for making required expr rewrites in optimize. Instead of adding a new pass, we could rename optimize to rewrite_expression or something more clear.

OK, I'm +1 on the rename -- what about transform_expr()?  I'm used to multi-pass compilers that have a pipeline of transformations on an AST -- this strikes me as something very similar, and transform_expr()'s job would be to pass an input expression through the pipeline.

The multipass compiler is also what I am thinking of, so transform sounds good to me.

+1 transform


⚠ Bofrost.lu has degraded performance

In f6ffef2, Bofrost.lu (https://www.bofrost.lu) experienced degraded performance:

HTTP code: 200
Response time: 1188 ms

Resolved: Bofrost.lu performance has improved in 0b63ce3 after 7 minutes.


Jupyter notebook markdown inline and block code is now red in Dark+ V2 (Experimental) theme

Does this issue occur when all extensions are disabled?: No — an extension is required to see the bug

VS Code Version: 1.76.0
OS Version: macOS 13.2.1

Steps to Reproduce:

Open new Jupyter notebook.
Write some markdown including code in between backticks.

Code is displayed in a sort of deep red colour that looks like a fatal error message. This does not happen in an ordinary markdown file. This started happening immediately after the update to 1.76.0 today, so my first thought is that it must be a new version of the theme (also it doesn’t happen in V1 of Dark+), however it is possible that this is something to do with one of the Python extensions. Please advise if I have misfiled it.
Screenshots:

@daviddossett This is coming from the textPreformat-foreground theme color

Probably related to, or duplicate of, #175596

Duplicate of https://github.com/microsoft/vscode/issues/175596


How to make a placeholder for the dnc state?

I need to run one step dnc, but dnc state is not a tensor, how can i feed a self constructed state to the dnc core just like the LSTM? thanks

You can construct a state with the initial_state(...) method.
If you want to build one of these by hand, you need to create a dnc.DNCState namedtuple, which also contains instances of access.AccessState and addressing.TemporalLinkageState namedtuples. Together these contain 9 different tensors of varying shapes (look at what's returned by initial_state() for the full details, the shapes vary with hyperparameters and will need to match exactly).
Alternatively, if you want to create a full set of placeholders for all components of the state, Sonnet provides a set of utilities called nest, which we use extensively for dealing with arbitrary RNN states or other similar data structures of tensors.
import tensorflow as tf
import sonnet as snt
import dnc

dnc_core = dnc.DNC(...)
initial_core_state = dnc_core.initial_state(batch_size=1)

# Creates placeholders in the same structure & shape as `initial_core_state`.
# Note: this is generic and will work for *any* Sonnet RNNCore, not just the DNC.
core_state_placeholders = snt.nest.map(lambda t: tf.placeholder(t.dtype, shape=t.shape),
                                       initial_core_state)

Hope this helps!

Thank you so much. I have made it work!


Implement IComparable for uint256

This will make it able to put uint256 as a key in sorted collection (e.g. SortedDictionary) without custom implementation for IComparer.

can you do for uint160 as well?

Sure. Will do it on Monday.

Updated.


REPL crash

Describe the bug

OS
Windows 11

I reproduced this problem also on Ubuntu. The cause is that erg does not have permission to write files to the current directory (Erg writes a .pyc file and makes Python read it).


Systemd Install creates a docker network interface

Describe the bug
When performs a systemd installation, the script create a new docker network iface named docker0, in my case with <IP_ADDRESS>/16 CIDR, and the new iface <IP_ADDRESS>/16, so  i can reach traffic in the <IP_ADDRESS> segments in my network.
To Reproduce
Steps to reproduce the behavior:
follow the standard installation for systemd:

See error

Expected behavior
i understand if i dont select docker installation the systemd scirpt doesnt have to créate a docker network interfaces.

Even when using a systemd installation, mercure needs access to Docker because the processing modules are Docker containers.  mercure must be able to pull, start, and stop those container images. Therefore, the latest Docker version gets installed during the mercure installation. If you are not planning to use any processing steps, you can probably comment-out the Docker installation function in the installation script, but by default Docker should be installed with mercure.

Hi, thanks for your answer, Ive got a better solution, i`ll send pr.
Regards.

There are plenty of resources online on how to change the default Docker network:
https://support.hyperglance.com/knowledge/changing-the-default-docker-subnet


Error with Svelte 5.0.0, can't install package.

% npm i sveltekit-i18n
npm ERR! code ERESOLVE
npm ERR! ERESOLVE unable to resolve dependency tree
npm ERR!
npm ERR! While resolving<EMAIL_ADDRESS>npm ERR! Found<EMAIL_ADDRESS>npm ERR! node_modules/svelte
npm ERR!   dev<EMAIL_ADDRESS>from the root project
npm ERR!
npm ERR! Could not resolve dependency:
npm ERR! peer<EMAIL_ADDRESS>from<EMAIL_ADDRESS>npm ERR! node_modules/sveltekit-i18n
npm ERR!   sveltekit-i18n@"*" from the root project
npm ERR!
npm ERR! Fix the upstream dependency conflict, or retry
npm ERR! this command with --force or --legacy-peer-deps
npm ERR! to accept an incorrect (and potentially broken) dependency resolution.

I guess you could force update for now, but I’ll update the peer dependency and release a new version soon.

Looked into this today and it should start working normally after svelte@5 is a stable release. For pre-releases, please, use --force or --legacy-peer-deps.


Could you let me know the RPC command to use in UniversalCurrency?

Dears
I am implementation of Universalcurrency mining support on CoiniumServ however as I understand correctly then UnIT  uses different command set for RPC response such as Getnetworkinfo()
I needed a their data type like
GetPoWMHashPS(), which response a network hash rate and   uses a numeric values.
Regards,
John Ahn

UniversalCurrencyd help


Deployment error when directly deploying the bicep file (mockSpacestation.bicep)

Description
My understanding is that with current versions of the CLI you can directly deploy bicep templates.  So I expected I could use the CLI to directly deploy mockSpacestation.bicep
Steps to Reproduce
Steps to reproduce the behavior:

Run CLI with:

az deployment group create \
--resource-group $resourceGroupName \
--name $deploymentName \
--parameters groundstationLocation=$groundstationLocation \
--parameters spacestationLocation=$spacestationLocation \
--template-file ./mockSpacestation.bicep

Expected behavior
Same resources would be deployed as when referencing the ARM template:
az deployment group create \
--resource-group $resourceGroupName \
--name $deploymentName \
--parameters groundstationLocation=$groundstationLocation \
--parameters spacestationLocation=$spacestationLocation \
--template-file ./mockSpacestation.json

Actual behavior
I see error that seem to be related to parsing the script files for delivery to the VM agent.
{"status":"Failed","error":{"code":"DeploymentFailed","message":"At least one resource deployment operation failed. Please list deployment operations for details. Please see https://aka.ms/DeployOperations for usage details.","details":[{"code":"Conflict","message":"{\r\n  \"status\": \"Failed\",\r\n  \"error\": {\r\n    \"code\": \"ResourceDeploymentFailure\",\r\n    \"message\": \"The resource operation completed with terminal provisioning state 'Failed'.\",\r\n    \"details\": [\r\n      {\r\n        \"code\": \"DeploymentFailed\",\r\n        \"message\": \"At least one resource deployment operation failed. Please list deployment operations for details. Please see https://aka.ms/DeployOperations for usage details.\",\r\n        \"details\": [\r\n          {\r\n            \"code\": \"Conflict\",\r\n            \"message\": \"{\\r\\n  \\\"status\\\": \\\"Failed\\\",\\r\\n  \\\"error\\\": {\\r\\n    \\\"code\\\": \\\"ResourceDeploymentFailure\\\",\\r\\n    \\\"message\\\": \\\"The resource operation completed with terminal provisioning state 'Failed'.\\\",\\r\\n    \\\"details\\\": [\\r\\n      {\\r\\n        \\\"code\\\": \\\"VMExtensionProvisioningError\\\",\\r\\n        \\\"message\\\": \\\"VM has reported a failure when processing extension 'configureDestination'. Error message: \\\\\\\"Enable failed: failed to execute command: command terminated with exit status=2\\\\n[stdout]\\\\n\\\\n[stderr]\\\\ncript/download/0/script.sh: line 19: z9YXmCiWDghUlhb08pwNak0sOi2KZ8DbZ/T09hBb3LSH4C30XVPasCxawM9cFIVP7dvkRN: No such file or directory\\\\n/var/lib/waagent/custom-script/download/0/script.sh:

Then at the end notes that unexpected EOF, so maybe there's something about line endings?
line 44: unexpected EOF while looking for matching `''\\\\n/var/lib/waagent/custom-script/download/0/script.sh: line 91: syntax error: unexpected end of file\\\\n\\\\\\\"\\\\r\\\\n\\\\r\\\\nMore information on troubleshooting is available at https://aka.ms/VMExtensionCSELinuxTroubleshoot \\\"\\r\\n      }\\r\\n    ]\\r\\n  }\\r\\n}\"\r\n

Additional context
Deploying the ARM template worked fine

Saw the same behavior, but, should be fixed by #21. Mind pulling latest and giving it a try? Gonna close for now, but do reply here if you see the issue persists from the latest in main.

My understanding is that with current versions of the CLI you can directly deploy bicep templates. So I expected I could use the CLI to directly deploy mockSpacestation.bicep
...
Deploying the ARM template worked fine

You're correct that a user can deploy the bicep template directly given that they Bicep installed. That led me to realize our compiled ARM template from that Bicep was out of date and #20 was created to address that.
(The compiled JSON is necessary to light up the Deploy to Azure button that gives the user the Portal experience.)