fixing casing issue on aria-props

I found a bug in my code where I accidentally capitalize the 'B' in aria-describedby :
aria-describedBy
I am hoping to remove the toLowerCase() in aria-props so that we can lint casing of aria props.

Coverage decreased (-0.005%) to 99.465% when pulling 2529ad3bce1caf0544296b5220944abf576d1ac4 on kendallgassner:ariaPropsCasing into 00926f2ffa261cd3f9fa4d2d4e1ae61e3dae9fdc on evcohen:master.

Coverage decreased (-0.005%) to 99.465% when pulling 2529ad3bce1caf0544296b5220944abf576d1ac4 on kendallgassner:ariaPropsCasing into 00926f2ffa261cd3f9fa4d2d4e1ae61e3dae9fdc on evcohen:master.


chore: delete check that platform is not macos

Upon resolving #2171, the 'Free disk space' GitHub action will be compatible with MacOS. When that is ready, we should remove this check so that it runs on all platforms

Checklist:

[ ] Commit Message Formatting: Commit titles and messages follow guidelines in the
conventional commits.
[ ] Changelog updated with breaking and/or notable changes for the next minor release.
[ ] Documentation has been updated, if necessary.
[ ] Unit tests have been added, if necessary.
[ ] Integration tests have been added, if necessary.

Can we close this in favor of https://github.com/instructlab/instructlab/pull/2177 ?
@khaledsulayman I added you as a co-author on that commit.

@danmcp sure, sounds good! I originally put this up and set it to hold so we remember to delete that line once we add freeing disk space for MacOS, but I like your solution for now and it makes it easy for me to pickup from there. Thanks!


CSD task [Bug]: entering waterBody value, then saving, causes forever buffering

Steps to reproduce the bug
Submitting on behalf of Theodore Cook
1. When I save a collection object in CSD task, and I have added a value for waterBody (data attribute), it doesn't allow me to save and it buffers forever (TW logo loading).
2. If I refresh the page while buffering, sometimes an incomplete collection object will be saved. For example: without a catalog number, or without biocuration.
3. I am needing to filter and delete these incomplete collection objects.
4. This has been happening for about a week. (Noticed the week of 2024-07-26)
...

Screenshot
No response
Expected behavior
No response
Additional Screenshots
No response
Environment
Production
Sandbox Used
No response
Version
v0.43.0
Browser Used
chrome

Hello @lvhart2
I can't replicate it. I'm going to need more information about this. Can you provide an example that allows us to replicate it? The exact data you use in the forms to try to replicate the issue. The task saves different objects at the same time, and it could be one of them is failing, in order to investigate this correctly I will need the exact data they are putting in the forms. Also the name of the project and if you have the ID of a collectible that has this problem could also help.

This is an example of the kind of collection object that I am trying to submit. As long as I do not enter anything in the waterbody space, the object saves normally, but if I enter a name under waterBody then press save, the taxonworks "saving changes" logo appears and circles perpetually (it eventually times out). If I refresh the page then go back to find the object that I was working on, I usually find a half-completed entry.
Another example of a collectible that has this problem would by BYUC 168251. I have not entered a waterbody name for that one. The name of the project is INHS Insect Collection.

Apparently the bug is present when filling out the data attributes form found in the collection events panel, in collection objects it works fine.
@mjy At the console I see that we have a loop creating delayed jobs


Installed Nuxt as stated in the documentation but issue with jest-preset.js

After installing and setting up nuxt test utils as stated in the docs, I get an error saying 'Module @nuxt/test-utils should have "jest-preset.js" or "jest-preset.json" file at the root.' when I run yarn test

I have the same issue with the following dependency versions:

@nuxt/test-utils 3.0.0-rc.5
jest: 28.1.3

I had the same problem. You need to downgrade to "@nuxt/test-utils": "0.2.2". And it works.

Tried your solution but having a different error of:
$ jest
[fatal] You need to run with a version of node that supports ES Modules in the VM API. See https://jestjs.io/docs/ecmascript-modules
 ...
[fatal] Cannot read properties of undefined (reading 'close')
 ...

Yup, I can confirm this being the case for me as well.

I had the same problem. You need to downgrade to "@nuxt/test-utils": "0.2.2". And it works.

This worked for me on RC11, had to install @babel/plugin-transform-runtime and @babel/preset-env too

Hi, any news here ? The current version of @nuxt/test-utils is ^3.1.2 :/

hey ya !
facing the same problem here !
my setup versions:
"nuxt": "^2.15.8"
"@nuxt/test-utils": "^3.1.2"


use --output-suffix option outside of auto mode

Append the output file suffix to the input file name as a way of easier image processing in normal mode. For example, ./ckiss.py input.jpg -d 550 -t 80 -s -u smashed should cerate a file called input_smashed.jpg in the current working directory.

Fixed in 0b1c9ec


Cant connect to WebUI. Fresh install

[x] I confirm that this is an issue rather than a question.

Bug report
Steps to reproduce
Downloaded latest img
Wrote to SD card using Raspberry Pi Imager
Put in Raspberry Pi 4 B
Booted up
What is expected?
I see webui
What is actually happening?
I do not see webui
System
I cant
I had a very old version of Hyperion running on my pi, but wanted to update to latest.  Now I cant even get webui up.  I can ping the IP. I can putty into it and it says its not running.  I dont know what else to do.  I restarted multiple times.  Attaching screenshot of putty and what my monitor shows when I connect HDMI cable to the pi.

Please stop the service completely and run Hyperion manually in debug mode. Please post the output. Thank you very much.
sudo systemctl stop<EMAIL_ADDRESS>hyperiond -d

Please stop the service completely and run Hyperion manually in debug mode. Please post the output. Thank you very much.
sudo systemctl stop<EMAIL_ADDRESS>hyperiond -d

I just did that and now the web interface worked.   Here is the output:
`2024-02-08T12:59:45.728 || MAIN              :  Starting Hyperion [non-G                                                                                UI mode] - 2.0.16, (HEAD detached at 2.0.16) (Paulchen-Panther-cb85d2d/a93d79b-1                                                                                705568419), built: Jan 21 2024:19:47:19
2024-02-08T12:59:45.729 || MAIN              :  main.cpp:349:main() | Q                                                                                tVersion [6.4.2]
2024-02-08T12:59:45.729 || MAIN              :  Set user data path to '/                                                                                home/jim/.hyperion'
2024-02-08T12:59:46.149 || DAEMON            :  PythonInit.cpp:155:Pyth                                                                                onInit() | Initializing Python interpreter
2024-02-08T12:59:46.388 |I255| SETTINGSMGR     :  SettingsManager.cpp:186                                                                                :SettingsManager() | Settings database initialized
2024-02-08T12:59:46.413 || EFFECTFILES       :  41 effects loaded from d                                                                                irectory :/effects/
2024-02-08T12:59:46.417 || EFFECTFILES       :  23 effect schemas loaded                                                                                from directory :/effects/schema/
2024-02-08T12:59:46.417 || EFFECTFILES       :  New Effect path "/home/j                                                                                im/.hyperion/custom-effects/" created successfully
2024-02-08T12:59:46.504 |I0| SETTINGSMGR       :  SettingsManager.cpp:186                                                                                :SettingsManager() | Settings database initialized
2024-02-08T12:59:46.511 |I0| BLACKBORDER       :  BlackBorderProcessor.cp                                                                                p:67:handleSettingsUpdate() | Set mode to: default
2024-02-08T12:59:46.512 |I0| COMPONENTREG      :  ComponentRegister.cpp:8                                                                                9:setNewComponentState() | Blackborder detector: enabled
2024-02-08T12:59:46.512 |I0| IMAGETOLED        :  ImageProcessor.cpp:174:                                                                                setReducedPixelSetFactorFactor() | Set reduced pixel set factor to 0
2024-02-08T12:59:46.512 |I0| IMAGETOLED        :  ImageProcessor.cpp:189:                                                                                setAccuracyLevel() | Set processing accuracy level to 0
2024-02-08T12:59:46.520 || DAEMON            :  hyperiond.cpp:761:creat                                                                                eGrabberDispmanx() | The dispmanx framegrabber is not supported on this platform
2024-02-08T12:59:46.521 || DAEMON            :  hyperiond.cpp:719:handl                                                                                eSettingsUpdate() | V4L2 grabber created
2024-02-08T12:59:46.521 || DAEMON            :  hyperiond.cpp:741:handl                                                                                eSettingsUpdate() | Audio grabber created
2024-02-08T12:59:46.523 || FLATBUFSERVER     :  Started on port 19400
2024-02-08T12:59:46.524 || PROTOSERVER       :  Started on port 19445
2024-02-08T12:59:46.525 || DAEMON            :  hyperiond.cpp:428:start                                                                                EventServices() | Hyperion event handler created
2024-02-08T12:59:46.526 || EVENTS-SCHED      :  EventScheduler.cpp:35:h                                                                                andleSettingsUpdate() | Event scheduler is disabled
2024-02-08T12:59:46.526 || EVENTS-SCHED      :  Disabling event schedule                                                                                r
2024-02-08T12:59:46.526 || DAEMON            :  hyperiond.cpp:436:start                                                                                EventServices() | Hyperion event scheduler created
2024-02-08T12:59:46.527 |I0| LEDDEVICE         :  Start LedDevice 'file'.
2024-02-08T12:59:46.527 |I0| LEDDEVICE         :  LedDevice.cpp:215:init(                                                                                ) | deviceConfig: [{"autoStart":true,"colorOrder":"rgb","currentLedCount":1,"ena                                                                                bleAttempts":6,"enableAttemptsInterval":15,"hardwareLedCount":1,"latchTime":0,"o                                                                                utput":"/dev/null","rewriteTime":0,"type":"file"}]
2024-02-08T12:59:46.528 |I0| COMPONENTREG      :  ComponentRegister.cpp:8                                                                                9:setNewComponentState() | Smoothing: enabled
2024-02-08T12:59:46.528 |I0| LEDDEVICE         :  LedDevice.cpp:565:setLe                                                                                dCount() | LedCount set to 1
2024-02-08T12:59:46.528 |I0| LEDDEVICE         :  LedDevice.cpp:571:setCo                                                                                lorOrder() | ColorOrder set to RGB
2024-02-08T12:59:46.528 |I0| LEDDEVICE         :  LedDevice.cpp:578:setLa                                                                                tchTime() | LatchTime set to 0ms
2024-02-08T12:59:46.528 |I0| SMOOTHING         :  LinearColorSmoothing.cp                                                                                p:142:handleSettingsUpdate() | [0] - Type: Linear, Pause: false, Settling time:                                                                                150ms, Interval: 40ms (25Hz), delay: 0 frames
2024-02-08T12:59:46.528 |I0| LEDDEVICE         :  LedDevice.cpp:584:setAu                                                                                toStart() | AutoStart enabled
2024-02-08T12:59:46.528 |I0| LEDDEVICE         :  LedDevice.cpp:621:setEn                                                                                ableAttempts() | Max enable retries: 6, enable retry interval = 15s
2024-02-08T12:59:46.528 |I0| SMOOTHING         :  LinearColorSmoothing.cp                                                                                p:700:selectConfig() | [0] - Type: Linear, Pause: false, Settling time: 150ms, I                                                                                nterval: 40ms (25Hz), delay: 0 frames
2024-02-08T12:59:46.528 |I0| LEDDEVICE         :  LedDevice.cpp:90:start(                                                                                ) | Not enabled -> enable device
2024-02-08T12:59:46.528 |I0| LEDDEVICE         :  LedDevice.cpp:140:enabl                                                                                e() | Enable device file'
2024-02-08T12:59:46.528 |I0| LEDDEVICE         :  LedDeviceFile.cpp:59:op                                                                                en() | QIODevice::WriteOnly, /dev/null
2024-02-08T12:59:46.528 |I0| LEDDEVICE         :  Switching device file ON
2024-02-08T12:59:46.528 |I0| LEDDEVICE         :  LedDevice.cpp:482:power                                                                                On() | Power On: file
2024-02-08T12:59:46.528 |I0| LEDDEVICE         :  Device file is ON
2024-02-08T12:59:46.528 |I0| LEDDEVICE         :  LedDevice 'file' enabled
2024-02-08T12:59:46.529 |I0| EFFECTENGINE      :  EffectEngine.cpp:128:ha                                                                                ndleUpdatedEffectList() | Effect "Candle": Add custom smoothing settings [3]. Ty                                                                                pe: Linear, Settling time: 500ms, Interval: 20Hz
2024-02-08T12:59:46.529 |I0| EFFECTENGINE      :  EffectEngine.cpp:128:ha                                                                                ndleUpdatedEffectList() | Effect "Rainbow swirl": Add custom smoothing settings                                                                                [4]. Type: Linear, Settling time: 200ms, Interval: 25Hz
2024-02-08T12:59:46.529 |I0| EFFECTENGINE      :  EffectEngine.cpp:128:ha                                                                                ndleUpdatedEffectList() | Effect "Random": Add custom smoothing settings [5]. Ty                                                                                pe: Linear, Settling time: 200ms, Interval: 20Hz
2024-02-08T12:59:46.529 |I0| EFFECTENGINE      :  EffectEngine.cpp:128:ha                                                                                ndleUpdatedEffectList() | Effect "Sea waves": Add custom smoothing settings [6].                                                                                Type: Linear, Settling time: 200ms, Interval: 25Hz
2024-02-08T12:59:46.529 |I0| EFFECTENGINE      :  EffectEngine.cpp:128:ha                                                                                ndleUpdatedEffectList() | Effect "Warm mood blobs": Add custom smoothing setting                                                                                s [7]. Type: Linear, Settling time: 200ms, Interval: 25Hz
2024-02-08T12:59:46.530 |I0| EFFECTENGINE      :  Run effect "Rainbow swir                                                                                l fast" on channel 1
2024-02-08T12:59:46.548 || EVENTS-OS         :  OsEventHandler.cpp:360:                                                                                registerOsEventHandler() | Registered for suspend/resume events via service: org                                                                                .freedesktop.login1
2024-02-08T12:59:46.549 || DAEMON            :  hyperiond.cpp:444:start                                                                                EventServices() | Operating System event handler created
2024-02-08T12:59:46.550 || DAEMON            :  CEC event handler create                                                                                d
2024-02-08T12:59:46.582 |I0| EFFECTENGINE      :  EffectEngine.cpp:217:ru                                                                                nEffectScript() | Start the effect: name [Rainbow swirl fast]
2024-02-08T12:59:46.582 |I0| MUXER             :  PriorityMuxer.cpp:178:r                                                                                egisterInput() | Register new input 'System/EFFECT' (Rainbow swirl fast) with pr                                                                                iority 1 as inactive
2024-02-08T12:59:46.596 |I0| HYPERION          :  Initial foreground effec                                                                                t 'Rainbow swirl fast' started
2024-02-08T12:59:46.597 |I0| BOBLIGHT          :  BoblightServer.cpp:31:B                                                                                oblightServer() | Instance created
2024-02-08T12:59:46.598 |I0| COMPONENTREG      :  ComponentRegister.cpp:8                                                                                9:setNewComponentState() | LED device: enabled
2024-02-08T12:59:46.598 || HYPERION-INSTMGR  :  Hyperion instance 'First                                                                                LED Hardware instance' has been started
2024-02-08T12:59:46.599 || JSONSERVER        :  JsonServer.cpp:32:JsonS                                                                                erver() | Created instance
2024-02-08T12:59:46.600 || WEBSERVER         :  WebServer.cpp:45:initSe                                                                                rver() | Initialize http-Webserver2024-02-08T12:59:46.600 |__| JSONSERVER                                                                                :  Started on port 19444
2024-02-08T12:59:46.601 || WEBSERVER         :  WebServer.cpp:45:initSe                                                                                rver() | Initialize https-Webserver
2024-02-08T12:59:46.604 || EVENTS-CEC        :  CECHandler.cpp:52:handl                                                                                eSettingsUpdate() | CEC Event handling is disabled
2024-02-08T12:59:46.605 || EVENTS-CEC        :  CEC handler disabled
2024-02-08T12:59:46.655 |I0| MUXER             :  PriorityMuxer.cpp:422:u                                                                                pdatePriorities() | Set visible priority to 1
2024-02-08T12:59:46.655 |I0| IMAGETOLED        :  ImageToLedsMap.cpp:112:                                                                                ImageToLedsMap() | Total index number is: 320 (memory: 320). Reduced pixel set f                                                                                actor: 0, Accuracy level: 0, Image size: 64 x 64, LED areas: 1
2024-02-08T12:59:46.655 |I0| IMAGETOLED        :  ImageToLedsMap.cpp:112:                                                                                ImageToLedsMap() | Previous line repeats 1 times
2024-02-08T12:59:46.655 |I0| HYPERION          :  Hyperion.cpp:654:handle                                                                                SourceAvailability() | new source available -> Resume output processing and swit                                                                                ch LED-Device on
2024-02-08T12:59:46.655 |I0| LEDDEVICE         :  LedDevice.cpp:392:switc                                                                                hOn() | Device file is already on. Skipping.
2024-02-08T12:59:46.658 || WEBSERVER         :  WebServer.cpp:99:handle                                                                                SettingsUpdate() | Apply Webserver settings2024-02-08T12:59:46.658 |__| WEBSERVE                                                                                R         :  WebServer.cpp:99:handleSettingsUpdate() | Apply Webserver se                                                                                ttings
2024-02-08T12:59:46.659 || WEBSERVER         :  WebServer.cpp:117:handl                                                                                eSettingsUpdate() | Set document root to: :/webconfig
2024-02-08T12:59:46.659 || WEBSERVER         :  WebServer.cpp:117:handl                                                                                eSettingsUpdate() | Set document root to: :/webconfig
2024-02-08T12:59:46.659 || WEBSERVER         :  'Hyperion http-Webserver                                                                                ' started on port 8090
2024-02-08T12:59:46.675 || WEBSERVER         :  WebServer.cpp:183:handl                                                                                eSettingsUpdate() | Setup SSL certificate
2024-02-08T12:59:46.678 || WEBSERVER         :  WebServer.cpp:201:handl                                                                                eSettingsUpdate() | Setup private SSL key
2024-02-08T12:59:46.678 || WEBSERVER         :  'Hyperion https-Webserve                                                                                r' started on port 8092
2024-02-08T12:59:49.639 |I0| EFFECTENGINE      :  Effect [Rainbow swirl fast] finished
2024-02-08T12:59:49.722 |I0| MUXER             :  PriorityMuxer.cpp:371:updatePriorities() | Timeout clear for priority 1
2024-02-08T12:59:49.723 |I0| MUXER             :  PriorityMuxer.cpp:422:updatePriorities() | Set visible priority to 255
2024-02-08T12:59:49.723 |I0| HYPERION          :  Hyperion.cpp:645:handleSourceAvailability() | No source left -> Pause output processing and switch LED-Device off
2024-02-08T12:59:49.723 |I0| LEDDEVICE         :  Switching device file OFF
2024-02-08T12:59:49.723 |I0| LEDDEVICE         :  LedDevice.cpp:468:powerOff() | Power Off: file
2024-02-08T12:59:49.723 |I0| LEDDEVICE         :  LedDevice.cpp:363:writeBlack() | Set LED strip to black to switch LEDs off
2024-02-08T12:59:49.723 |I0| LEDDEVICE         :  Device file is OFF
2024-02-08T13:00:11.602 || WEBSOCKET         :  WebSocketClient.cpp:30:WebSocketClient() | New connection from ::ffff:<IP_ADDRESS>
2024-02-08T13:00:11.949 || WEBSOCKET         :  JsonAPI.cpp:154:handleInstanceSwitch() | Client '::ffff:<IP_ADDRESS>' switch to Hyperion instance 0
^C
Hyperion caught signal :SIGINT
2024-02-08T13:00:48.053 || DAEMON            :  hyperiond.cpp:265:freeObjects() | Cleaning up Hyperion before quit.
2024-02-08T13:00:48.053 || EVENTS-CEC        :  Stopping CEC handler
2024-02-08T13:00:48.054 || DAEMON            :  CEC handler stopped
2024-02-08T13:00:48.054 || EVENTS-SCHED      :  Event scheduler stopped
2024-02-08T13:00:48.054 || EVENTS-OS         :  Operating System event handler stopped
2024-02-08T13:00:48.060 || FLATBUFSERVER     :  Stopped
2024-02-08T13:00:48.060 || PROTOSERVER       :  Stopped
2024-02-08T13:00:48.066 || WEBSERVER         :  Stopped Hyperion http-Webserver
2024-02-08T13:00:48.067 || WEBSERVER         :  Stopped Hyperion https-Webserver
2024-02-08T13:00:48.069 || HYPERION-INSTMGR  :  Hyperion instance 'First LED Hardware instance' has been stopped
2024-02-08T13:00:48.070 |I0| LEDDEVICE         :  LedDevice.cpp:99:stop() | Stop device
2024-02-08T13:00:48.071 |I0| LEDDEVICE         :  LedDevice.cpp:194:disable() | Disable device file'
2024-02-08T13:00:48.071 |I0| LEDDEVICE         :  LedDeviceFile.cpp:85:close() | File: /dev/null
2024-02-08T13:00:48.071 |I0| LEDDEVICE         :   Stopped LedDevice 'file'
2024-02-08T13:00:48.072 || MAIN              :  Application closed with code 0
2024-02-08T13:00:48.073 || DAEMON            :  PythonInit.cpp:181:~PythonInit() | Cleaning up Python interpreter
jim@hyperion:~ $ 2024-02-08T12:59:45.728 || MAIN              :  Starting Hyperion [non-G                                                                                ^C24-02-08T13:00:48.073 || DAEMON            :  PythonInit.cpp:181:~PythonInit() | Cleaning up Python interpretert.17' switch to Hyperion instance 0ED-Device off                   jim@hyperion:~ $ 705568419), built: Jan 21 2024:19:47:19
2024-02-08T12:59:45.729 || MAIN              :  main.cpp:349:main() | Q                                                                                tVersion [6.4.2]
2024-02-08T12:59:45.729 || MAIN              :  Set user data path to '/                                                                                home/jim/.hyperion'
2024-02-08T12:59:46.149 || DAEMON            :  PythonInit.cpp:155:Pyth                                                                                onInit() | Initializing Python interpreter
2024-02-08T12:59:46.388 |I255| SETTINGSMGR     :  SettingsManager.cpp:186                                                                                :SettingsManager() | Settings database initialized
2024-02-08T12:59:46.413 || EFFECTFILES       :  41 effects loaded from d                                                                                irectory :/effects/
2024-02-08T12:59:46.417 || EFFECTFILES       :  23 effect schemas loaded                                                                                from directory :/effects/schema/
2024-02-08T12:59:46.417 || EFFECTFILES       :  New Effect path "/home/j                                                                                im/.hyperion/custom-effects/" created successfully
2024-02-08T12:59:46.504 |I0| SETTINGSMGR       :  SettingsManager.cpp:186                                                                                :SettingsManager() | Settings database initialized
2024-02-08T12:59:46.511 |I0| BLACKBORDER       :  BlackBorderProcessor.cp                                                                                p:67:handleSettingsUpdate() | Set mode to: default
2024-02-08T12:59:46.512 |I0| COMPONENTREG      :  ComponentRegister.cpp:8                                                                                9:setNewComponentState() | Blackborder detector: enabled
2024-02-08T12:59:46.512 |I0| IMAGETOLED        :  ImageProcessor.cpp:174:                                                                                setReducedPixelSetFactorFactor() | Set reduced pixel set factor to 0
2024-02-08T12:59:46.512 |I0| IMAGETOLED        :  ImageProcessor.cpp:189:                                                                                setAccuracyLevel() | Set processing accuracy level to 0
2024-02-08T12:59:46.520 || DAEMON            :  hyperiond.cpp:761:creat                                                                                eGrabberDispmanx() | The dispmanx framegrabber is not supported on this platform
2024-02-08T12:59:46.521 || DAEMON            :  hyperiond.cpp:719:handl                                                                                eSettingsUpdate() | V4L2 grabber created
2024-02-08T12:59:46.521 || DAEMON            :  hyperiond.cpp:741:handl                                                                                eSettingsUpdate() | Audio grabber created
2024-02-08T12:59:46.523 || FLATBUFSERVER     :  Started on port 19400
2024-02-08T12:59:46.524 || PROTOSERVER       :  Started on port 19445
2024-02-08T12:59:46.525 || DAEMON            :  hyperiond.cpp:428:start                                                                                EventServices() | Hyperion event handler created
2024-02-08T12:59:46.526 || EVENTS-SCHED      :  EventScheduler.cpp:35:h                                                                                andleSettingsUpdate() | Event scheduler is disabled
2024-02-08T12:59:46.526 || EVENTS-SCHED      :  Disabling event schedule                                                                                r
2024-02-08T12:59:46.526 || DAEMON            :  hyperiond.cpp:436:start                                                                                EventServices() | Hyperion event scheduler created
2024-02-08T12:59:46.527 |I0| LEDDEVICE         :  Start LedDevice 'file'.
2024-02-08T12:59:46.527 |I0| LEDDEVICE         :  LedDevice.cpp:215:init(                                                                                ) | deviceConfig: [{"autoStart":true,"colorOrder":"rgb","currentLedCount":1,"ena                                                                                bleAttempts":6,"enableAttemptsInterval":15,"hardwareLedCount":1,"latchTime":0,"o                                                                                utput":"/dev/null","rewriteTime":0,"type":"file"}]
2024-02-08T12:59:46.528 |I0| COMPONENTREG      :  ComponentRegister.cpp:8                                                                                2024-02-08T13:00:48.073 || DAEMON            :  PythonInit.cpp:181:~PythonInit() | Cleaning up Python interpretert.17' switch to Hyperion instance 0ED-Device off
`

I tried restarting and again webui wont load, I have to do those commands you put in.   I tried writing to multiple different SD's cards too.

Output please from systemd service
sudo journalctl -u<EMAIL_ADDRESS>

So I can just run the 2nd command you told me, in putty, and then everything works.  But I am going to have this on and off, so thats really not a long term solution.  If it matters, the previous version I was running is 2.0.0 alpha 9.
The only difference between the 2 installs is the my current one, i wrote the img file using Win32.  For the new one I am trying, I am using Raspberry Pi imager.  When I try to write it with Win32 and then create a wpa_supplicant.conf file, it never connects to my wifi.   On the readout, I never see it say "My IP address is...."
I've searched for info on wpa_supplicant.conf and tried multiple versions of it, all with same issue. But when I use rasp pi imager and put in same network data, it works.
I know wpa_supplicant isnt your issue, I am just trying to explain the differences I can think of between my old install and this new one.

All Hyperion configuration can be completed via the Hyperion Web UI.
Hyperion status: ⬤  Stopped

Documentation: https://docs.hyperion-project.org
Website:       https://hyperion-project.org
Source:        https://github.com/hyperion-project

jim@hyperion:~ $ sudo journalctl -u<EMAIL_ADDRESS>Jan 22 07:00:20 hyperion systemd[1]: Started<EMAIL_ADDRESS>- Hyperi>
Jan 22 07:00:20 hyperion systemd[1]<EMAIL_ADDRESS>Main process ex>
Jan 22 07:00:20 hyperion systemd[1]<EMAIL_ADDRESS>Failed with res>
Jan 22 07:00:23 hyperion systemd[1]<EMAIL_ADDRESS>Scheduled resta>
Jan 22 07:00:23 hyperion systemd[1]: Stopped<EMAIL_ADDRESS>- Hyperi>
Jan 22 07:00:23 hyperion systemd[1]: Started<EMAIL_ADDRESS>- Hyperi>
Jan 22 07:00:23 hyperion systemd[1]<EMAIL_ADDRESS>Main process ex>
Jan 22 07:00:23 hyperion systemd[1]<EMAIL_ADDRESS>Failed with res>
Jan 22 07:00:25 hyperion systemd[1]<EMAIL_ADDRESS>Scheduled resta>
Jan 22 07:00:25 hyperion systemd[1]: Stopped<EMAIL_ADDRESS>- Hyperi>
Jan 22 07:00:25 hyperion systemd[1]: Started<EMAIL_ADDRESS>- Hyperi>
Jan 22 07:00:25 hyperion systemd[1]<EMAIL_ADDRESS>Main process ex>
Jan 22 07:00:25 hyperion systemd[1]<EMAIL_ADDRESS>Failed with res>
Jan 22 07:00:27 hyperion systemd[1]<EMAIL_ADDRESS>Scheduled resta>
Jan 22 07:00:27 hyperion systemd[1]: Stopped<EMAIL_ADDRESS>- Hyperi>
Jan 22 07:00:27 hyperion systemd[1]: Started<EMAIL_ADDRESS>- Hyperi>
Jan 22 07:00:27 hyperion systemd[1]<EMAIL_ADDRESS>Main process ex>
Jan 22 07:00:27 hyperion systemd[1]<EMAIL_ADDRESS>Failed with res>
Jan 22 07:00:29 hyperion systemd[1]<EMAIL_ADDRESS>Scheduled resta>
Jan 22 07:00:29 hyperion systemd[1]: Stopped<EMAIL_ADDRESS>- Hyperi>
Jan 22 07:00:29 hyperion systemd[1]: Started<EMAIL_ADDRESS>- Hyperi>
Jan 22 07:00:29 hyperion systemd[1]<EMAIL_ADDRESS>Main process ex>
Jan 22 07:00:29 hyperion systemd[1]<EMAIL_ADDRESS>Failed with res>
lines 1-23...skipping...
Jan 22 07:00:20 hyperion systemd[1]: Started<EMAIL_ADDRESS>- Hyperion ambient light systemd service for user hyperion.
Jan 22 07:00:20 hyperion systemd[1]<EMAIL_ADDRESS>Main process exited, code=exited, status=217/USER
Jan 22 07:00:20 hyperion systemd[1]<EMAIL_ADDRESS>Failed with result 'exit-code'.
Jan 22 07:00:23 hyperion systemd[1]<EMAIL_ADDRESS>Scheduled restart job, restart counter is at 1.
Jan 22 07:00:23 hyperion systemd[1]: Stopped<EMAIL_ADDRESS>- Hyperion ambient light systemd service for user hyperion.
Jan 22 07:00:23 hyperion systemd[1]: Started<EMAIL_ADDRESS>- Hyperion ambient light systemd service for user hyperion.
Jan 22 07:00:23 hyperion systemd[1]<EMAIL_ADDRESS>Main process exited, code=exited, status=217/USER
Jan 22 07:00:23 hyperion systemd[1]<EMAIL_ADDRESS>Failed with result 'exit-code'.
Jan 22 07:00:25 hyperion systemd[1]<EMAIL_ADDRESS>Scheduled restart job, restart counter is at 2.
Jan 22 07:00:25 hyperion systemd[1]: Stopped<EMAIL_ADDRESS>- Hyperion ambient light systemd service for user hyperion.
Jan 22 07:00:25 hyperion systemd[1]: Started<EMAIL_ADDRESS>- Hyperion ambient light systemd service for user hyperion.
Jan 22 07:00:25 hyperion systemd[1]<EMAIL_ADDRESS>Main process exited, code=exited, status=217/USER
Jan 22 07:00:25 hyperion systemd[1]<EMAIL_ADDRESS>Failed with result 'exit-code'.
Jan 22 07:00:27 hyperion systemd[1]<EMAIL_ADDRESS>Scheduled restart job, restart counter is at 3.
Jan 22 07:00:27 hyperion systemd[1]: Stopped<EMAIL_ADDRESS>- Hyperion ambient light systemd service for user hyperion.
Jan 22 07:00:27 hyperion systemd[1]: Started<EMAIL_ADDRESS>- Hyperion ambient light systemd service for user hyperion.
Jan 22 07:00:27 hyperion systemd[1]<EMAIL_ADDRESS>Main process exited, code=exited, status=217/USER
Jan 22 07:00:27 hyperion systemd[1]<EMAIL_ADDRESS>Failed with result 'exit-code'.
Jan 22 07:00:29 hyperion systemd[1]<EMAIL_ADDRESS>Scheduled restart job, restart counter is at 4.
Jan 22 07:00:29 hyperion systemd[1]: Stopped<EMAIL_ADDRESS>- Hyperion ambient light systemd service for user hyperion.
Jan 22 07:00:29 hyperion systemd[1]: Started<EMAIL_ADDRESS>- Hyperion ambient light systemd service for user hyperion.
Jan 22 07:00:29 hyperion systemd[1]<EMAIL_ADDRESS>Main process exited, code=exited, status=217/USER
Jan 22 07:00:29 hyperion systemd[1]<EMAIL_ADDRESS>Failed with result 'exit-code'.
Jan 22 07:00:32 hyperion systemd[1]<EMAIL_ADDRESS>Scheduled restart job, restart counter is at 5.
Jan 22 07:00:32 hyperion systemd[1]: Stopped<EMAIL_ADDRESS>- Hyperion ambient light systemd service for user hyperion.
Jan 22 07:00:32 hyperion systemd[1]: Started<EMAIL_ADDRESS>- Hyperion ambient light systemd service for user hyperion.
Jan 22 07:00:32 hyperion systemd[1]<EMAIL_ADDRESS>Main process exited, code=exited, status=217/USER
Jan 22 07:00:32 hyperion systemd[1]<EMAIL_ADDRESS>Failed with result 'exit-code'.
Jan 22 07:00:34 hyperion systemd[1]<EMAIL_ADDRESS>Scheduled restart job, restart counter is at 6.
Jan 22 07:00:34 hyperion systemd[1]: Stopped<EMAIL_ADDRESS>- Hyperion ambient light systemd service for user hyperion.
Jan 22 07:00:34 hyperion systemd[1]: Started<EMAIL_ADDRESS>- Hyperion ambient light systemd service for user hyperion.
Jan 22 07:00:34 hyperion systemd[1]<EMAIL_ADDRESS>Main process exited, code=exited, status=217/USER
Jan 22 07:00:34 hyperion systemd[1]<EMAIL_ADDRESS>Failed with result 'exit-code'.
Jan 22 07:00:36 hyperion systemd[1]<EMAIL_ADDRESS>Scheduled restart job, restart counter is at 7.
Jan 22 07:00:36 hyperion systemd[1]: Stopped<EMAIL_ADDRESS>- Hyperion ambient light systemd service for user hyperion.
Jan 22 07:00:36 hyperion systemd[1]: Started<EMAIL_ADDRESS>- Hyperion ambient light systemd service for user hyperion.
Jan 22 07:00:36 hyperion systemd[1]<EMAIL_ADDRESS>Main process exited, code=exited, status=217/USER
Jan 22 07:00:36 hyperion systemd[1]<EMAIL_ADDRESS>Failed with result 'exit-code'.
Feb 08 12:44:57 hyperion systemd[1]<EMAIL_ADDRESS>Scheduled restart job, restart counter is at 8.
Feb 08 12:44:57 hyperion systemd[1]: Stopped<EMAIL_ADDRESS>- Hyperion ambient light systemd service for user hyperion.
Feb 08 12:44:57 hyperion systemd[1]: Started<EMAIL_ADDRESS>- Hyperion ambient light systemd service for user hyperion.
Feb 08 12:44:57 hyperion systemd[1]<EMAIL_ADDRESS>Main process exited, code=exited, status=217/USER
Feb 08 12:44:57 hyperion systemd[1]<EMAIL_ADDRESS>Failed with result 'exit-code'.
Feb 08 12:44:59 hyperion systemd[1]<EMAIL_ADDRESS>Scheduled restart job, restart counter is at 9.
Feb 08 12:44:59 hyperion systemd[1]: Stopped<EMAIL_ADDRESS>- Hyperion ambient light systemd service for user hyperion.
Feb 08 12:44:59 hyperion systemd[1]: Started<EMAIL_ADDRESS>- Hyperion ambient light systemd service for user hyperion.
Feb 08 12:44:59 hyperion systemd[1]<EMAIL_ADDRESS>Main process exited, code=exited, status=217/USER
Feb 08 12:44:59 hyperion systemd[1]<EMAIL_ADDRESS>Failed with result 'exit-code'.
lines 1-48
`

I kept holding enter and i keeps repeating same lines, but then also says this sometimes...

The error 217 indicate the user did not exist at the time the service tried to start.Since you wrote the image with the Raspberry tool, the actual user hyperion was overwritten. To fix this, the old service must be deregistered and registered to the new user jim.
sudo updateHyperionUser
sudo reboot

That did the trick!  Thank you!!


"import" comnand

@rultor release, tag is 0.0.28

@rultor release, tag is 0.0.28

@yegor256 OK, I will release it now. Please check the progress here

@rultor release, tag is 0.0.28

@yegor256 Done! FYI, the full log is here (took me 8min)

@rultor release, tag is 0.0.29

@rultor release, tag is 0.0.29

@yegor256 OK, I will release it now. Please check the progress here

@rultor release, tag is 0.0.29

@yegor256 Done! FYI, the full log is here (took me 8min)


 Didn't see that variable

config.js is ignored by default. You are supposed to generate it from the sample-config.js file and populate it with your settings.


Unhandled Exception: PlatformException(com.google.android.play.core.internal.aq, Failed to bind to the service., null)

Describe the bug
The error Unhandled Exception: PlatformException(com.google.android.play.core.internal.aq, Failed to bind to the service., null) occurs while trying to show a native rate dialog.
To Reproduce
Call showRateDialog or showStarRateDialog.
Expected behavior
Shows the (native) rate dialog.
Smartphone (please complete the following information):
Android / iOS.
Additional context
Stacktrace :
I/PlayCore(13766): UID: [10157]  PID: [13766] ReviewService : requestInAppReview (com.bhujmandir.vachanamrut)
I/PlayCore(13766): UID: [10157]  PID: [13766] ReviewService : Initiate binding to the service.
I/PlayCore(13766): UID: [10157]  PID: [13766] ReviewService : Failed to bind to the service.
E/flutter (13766): [ERROR:flutter/lib/ui/ui_dart_state.cc(166)] Unhandled Exception: PlatformException(com.google.android.play.core.internal.aq, Failed to bind to the service., null)
E/flutter (13766): #0      StandardMethodCodec.decodeEnvelope (package:flutter/src/services/message_codecs.dart:572:7)
E/flutter (13766): #1      MethodChannel._invokeMethod (package:flutter/src/services/platform_channel.dart:161:18)
E/flutter (13766): <asynchronous suspension>
E/flutter (13766): #2      MethodChannel.invokeMethod (package:flutter/src/services/platform_channel.dart:334:12)
E/flutter (13766): #3      RateMyApp.launchNativeReviewDialog (package:rate_my_app/src/core.dart:106:16)
E/flutter (13766): #4      RateMyApp.showStarRateDialog (package:rate_my_app/src/core.dart:169:13)
E/flutter (13766): #5      _rootRunUnary (dart:async/zone.dart:1198:47)
E/flutter (13766): #6      _CustomZone.runUnary (dart:async/zone.dart:1100:19)
E/flutter (13766): #7      _FutureListener.handleValue (dart:async/future_impl.dart:143:18)
E/flutter (13766): #8      Future._propagateToListeners.handleValueCallback (dart:async/future_impl.dart:696:45)
E/flutter (13766): #9      Future._propagateToListeners (dart:async/future_impl.dart:725:32)
E/flutter (13766): #10     Future._completeWithValue (dart:async/future_impl.dart:529:5)
E/flutter (13766): #11     _AsyncAwaitCompleter.complete (dart:async-patch/async_patch.dart:40:15)
E/flutter (13766): #12     _completeOnAsyncReturn (dart:async-patch/async_patch.dart:311:13)
E/flutter (13766): #13     MethodChannel._invokeMethod (package:flutter/src/services/platform_channel.dart)
E/flutter (13766): #14     _rootRunUnary (dart:async/zone.dart:1198:47)
E/flutter (13766): #15     _CustomZone.runUnary (dart:async/zone.dart:1100:19)
E/flutter (13766): #16     _FutureListener.handleValue (dart:async/future_impl.dart:143:18)
E/flutter (13766): #17     Future._propagateToListeners.handleValueCallback (dart:async/future_impl.dart:696:45)
E/flutter (13766): #18     Future._propagateToListeners (dart:async/future_impl.dart:725:32)
E/flutter (13766): #19     Future._completeWithValue (dart:async/future_impl.dart:529:5)
E/flutter (13766): #20     Future._asyncCompleteWithValue.<anonymous closure> (dart:async/future_impl.dart:567:7)
E/flutter (13766): #21     _rootRun (dart:async/zone.dart:1190:13)
E/flutter (13766): #22     _CustomZone.run (dart:async/zone.dart:1093:19)
E/flutter (13766): #23     _CustomZone.runGuarded (dart:async/zone.dart:997:7)
E/flutter (13766): #24     _CustomZone.bindCallbackGuarded.<anonymous closure> (dart:async/zone.dart:1037:23)
E/flutter (13766): #25     _microtaskLoop (dart:async/schedule_microtask.dart:41:21)
E/flutter (13766): #26     _startMicrotaskLoop (dart:async/schedule_microtask.dart:50:5)
E/flutter (13766):

OP : @PritamSangani.

Should have been fixed in fa1cf79558946a8cd0dc14204a41c738ab242599.


Missing information for libotr

I don't have an account for the ZNC WIki, but you should add that we need to install the libotr5-dev package (eg. here for Debian/Ubuntu-based distros) if we want to compile the module... Or we're getting this:
LIBS="-lotr" znc-buildmod otr.cpp
Building "otr.so" for ZNC 1.5.0... otr.cpp:26:26: fatal error: libotr/proto.h: No such file or directory
compilation terminated.
[ !! ] Error while building "otr.so"
make: *** [otr.so] Error 1

Thanks for the report! I've edited the page - feel free to reopen the bug if the modification is insufficient: http://wiki.znc.in/Otr#Installing


Add a stale bot

Motivation:
There are many PRs that are open but stale. Possible reasons for the stale would be:

An appropriate solution for a problem could not be found
Maintainers or contributors are busy.
A PR depends on other PRs or a library patch.

In order to separate and manage old PRs more systematically, it would be a good idea to add stale label to the PR.
For PRs marked as stale, maintainers will determine whether to close the PR or modify it by themselves.
Modifications:

Add a stale bot that marks inactive PRs for 60 days
Auto-close is disabled.
Don't mark issues as stale.

Result:
A stale bot is working in the Armeria repository on a daily basis.

Test result: https://github.com/ikhoon/armeria/pull/43#issuecomment-2035963533

+1 for not closing automatically but just adding a label. I wish the bot doesn't add any comment to suppress potential noise. OK with 30 days.


Work around slow Typescript compilation by debouncing diagnostics calls on documentChange events

As reported in https://github.com/UnwrittenFun/svelte-vscode/issues/65, each keystroke triggers a separate call to validate typescript (and presumably any other preprocessors). Debouncing the documentChange handler makes everything much smoother and more stable feeling.

I played with a few durations. Smaller can feel a bit snappier, but it's also more likely to collide with a slow compile and start piling up requests again. Open to ideas! I think a slightly more sophisticated queue could be even better.
There also seems to be some stuff around cancelling events in the LSP protocol, but I'm not familiar enough to know if that's relevant. This solution is imperfect, but it seems like a very workable stopgap.
Thanks!

This looks promising for developing with svelte/ts. The languageserver response in vs code right now makes it impossible for me to use.

Looks good, thanks


[fix(code)]: add online store code back

Refactor and check the code for the online store app project and add it back go the projects

This is issue has been open for too long and shall now be closed, thank you!


[SPARK-33099][K8S] Respect executor idle timeout configuration

What changes were proposed in this pull request?
This PR aims to protect the executor pod request or pending pod during executor idle timeout.
Why are the changes needed?
In case of dynamic allocation, Apache Spark K8s ExecutorPodsAllocator cancels the pod request or pending pod too eagerly. This PR is reusing spark.dynamicAllocation.executorIdleTimeout (default: 60s) to keep the pod request or pending pod.
Does this PR introduce any user-facing change?
No.
How was this patch tested?
Pass the newly added test case.

Test build #129573 has started for PR 29981 at commit 7b53528.

Test build #129573 has finished for PR 29981 at commit 7b53528.

This patch passes all tests.
This patch merges cleanly.
This patch adds no public classes.

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/129573/
Test PASSed.

Test build #129574 has started for PR 29981 at commit 8d242b5.

Test build #129575 has started for PR 29981 at commit 22dbbea.

Test build #129574 has finished for PR 29981 at commit 8d242b5.

This patch passes all tests.
This patch merges cleanly.
This patch adds no public classes.

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/129574/
Test PASSed.

Test build #129576 has started for PR 29981 at commit f5fe24e.

Kubernetes integration test starting
URL: https://amplab.cs.berkeley.edu/jenkins/job/SparkPullRequestBuilder-K8s/34179/

Test build #129575 has finished for PR 29981 at commit 22dbbea.

This patch passes all tests.
This patch merges cleanly.
This patch adds no public classes.

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/129575/
Test PASSed.

Test build #129576 has finished for PR 29981 at commit f5fe24e.

This patch passes all tests.
This patch merges cleanly.
This patch adds no public classes.

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/129576/
Test PASSed.

Kubernetes integration test status success
URL: https://amplab.cs.berkeley.edu/jenkins/job/SparkPullRequestBuilder-K8s/34179/

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder-K8s/34179/
Test PASSed.

cc @holdenk , @dbtsai , @viirya

Kubernetes integration test starting
URL: https://amplab.cs.berkeley.edu/jenkins/job/SparkPullRequestBuilder-K8s/34180/

Kubernetes integration test starting
URL: https://amplab.cs.berkeley.edu/jenkins/job/SparkPullRequestBuilder-K8s/34181/

Kubernetes integration test status success
URL: https://amplab.cs.berkeley.edu/jenkins/job/SparkPullRequestBuilder-K8s/34180/

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder-K8s/34180/
Test PASSed.

Kubernetes integration test status success
URL: https://amplab.cs.berkeley.edu/jenkins/job/SparkPullRequestBuilder-K8s/34181/

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder-K8s/34181/
Test PASSed.

Hi, @HyukjinKwon . Could you review this please?

Thank you so much, @HyukjinKwon ! Merged to master.


(feat) New flag --exclude-unchanged

In order to publish just those crates in a workspace that have changed (plus their transitive dependencies), I've added an --exclude-unchanged flag. It further filters the pkgs selection resulting from consulting the workspace and the --package and --exclude flags.

Thanks for getting the ball rolling on this.  Could you open an issue about this as a place to discuss how we should expose this and how it would work?  I feel like it'd be better to capture that conversation over there (e.g. if this PR gets supplanted by another one, unlikely but still) and not to clog up the code discussion with the design discussion.


Gold star next to contributors' nameplates

Recognize em somehow, yeah?
The idea is to steal it from heat. Give each contributor a long string they can enter into the config file as a "secret passphrase" of sorts. Server matches it against list of sha256 hashes, and if it matches, flip a bool in the clientbound player update.

What's stopping some random andy SOMEHOW getting his hands on said secret passphrase and getting the star without ackhually contributing?

What's stopping some random andy SOMEHOW getting his hands on said secret passphrase and getting the star without ackhually contributing?

Nothing. If the secret passphrase:tm: gets leaked, you comment out the hash for that person and rebuild the server.
I also don't particularly care if server owners change it for their own server.

I have decided I think this would be better if it was a Polo icon.


Update .travis.yml

Adds regular expression to match tags (yes, match tag in branches...)
Tags should follow:
1.0.0
or
1.0.0-alpha

Current coverage is 92.80%

Merging #1428 into master will decrease coverage by -0.02% as of d112a83

@@            master   #1428   diff @@
======================================
  Files           86      86
  Stmts         5460    5460
  Branches      1007    1007
  Methods          0       0
======================================
- Hit           5068    5067     -1
  Partial         10      10
- Missed         382     383     +1

Review entire Coverage Diff as of d112a83

Powered by Codecov. Updated on successful CI builds.

See the publish attempt here: https://travis-ci.org/ParsePlatform/parse-server/jobs/121678019
The other one skipped: https://travis-ci.org/ParsePlatform/parse-server/jobs/121678017


Composite transform question

Hi,
Thank you so much for this library! It's super useful.
Do you have an example of using a composite transform for affine and then bspline?
Thanks!

Closing issue, assuming questions was answered.


Sortable inputs are not focusable

When having a list of sortable inputs (e.g. todos), the inputs are not focusable, and there for can not add text to them
here is an example: https://stackblitz.com/edit/solid-vite-zwawhq?file=src%2Findex.tsx
Not sure, but it looks like <DragDropSensors /> causes that, because removing it returns the inputs to be focusable, but the list is not sortable :/

Yeah, we call event.preventDefault in the sensor activator (pointerdown event) which would have the side effect of preventing focus on the input.
We did this to try and prevent confusing behaviour, but I guess we could make it configurable when setting up the sensor.
Another approach would be to not make the input itself directly draggable, but make a drag handle for it.

If I remove the event.preventDefault call then we end up with a poor experience as dragging the object around causes things like text selection on the page. But we could potentially address that by intercepting those events after the drag has actually activated.
I'll have a look into that as a general improvement here.
However, a drag handle approach might be a better solution for you as you would still end up with potentially confusing behaviour in some cases -> someone trying to drag select text in the input would actually start dragging the input. I added a drag handle example to https://solid-dnd.com/#examples if it helps.

Oh, and if you don't actually need the input to contribute to the drag activation (and still be focusable etc) you can intercept the pointerdown event and stop it propagating from the input.
<li use:sortable>
  <input type="text" on:pointerdown={(event) => event.stopPropagation()} />
</li>

Thank you @martinpengellyphillips for the detailed response.
stopPropagation didn't do the trick, but adding an explicit drag handler following your example (instead of having the whole element draggable) works :)
Can see here: https://stackblitz.com/edit/solid-vite-zwawhq?file=src%2Findex.tsx
Maybe it is worth mentioning it in the docs? to use a specific drag handler when has nested inputs?
it looks like createEffect is not triggered when the store changes. Not sure if the DND causes it or something else, need to check

No problem - glad you got to a solution.
I'm curious why stopPropagation didn't work for you though - I made the same change in your example and it worked for me:
https://stackblitz.com/edit/solid-vite-yaf9nn?file=src/index.tsx
Note that you need to do on:pointerdown rather than onpointerdown (see the :). This is because the use: directive has to set up non-delegated event handlers whereas Solid uses delegated event handlers by default.

Got you, missed that part, you are right, it works with on:pointerdown

FYI @yonathan06 - I've released 0.4.1 now with the fix to not intercept input focus by default. I think you will likely still be better off with the drag handle for your case, but thanks for inspiring this improvement to the library.


Handle first child specially

Closes https://github.com/mbr/asciitree/issues/10
Adds first_child_head and first_child_tail to Style and implements them in a compatible way for BoxStyle. Updates LeftAligned to handle the first child with these special methods.

Still need to resolve the case of having only one child. Namely does it go through first or last or possibly both and why.

Made the only child case a special case that can also be overridden.

Also updated all styles to define these functions in a way that is compatible with their existing behavior.

While this technically works and passes the tests, I'm not sure that it is helpful for solving my problem yet. Am trying to generate some HTML and CSS to make a visualization like this one (item 4) The code being generated needs to look something like this, but was having a hard time getting that behavior out of these functions. Ended up rolling my own function, but it would be better if that wasn't necessary.

Opened issue ( https://github.com/mbr/asciitree/issues/12 ) based on the last point. Namely handling cases of having or not having children specially.


Integration of oswap or jfrog to amplify reactjs application with next.js framework

Before opening, please confirm:

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

App Id
d2jroedicsrin4
AWS Region
us-west-2
Amplify Hosting feature
Build settings, Deployments, E2E Cypress tests, SSR
Question
How can i integrate oswap or jfrog in my amplify application, which should test the vulnerabilities in the packages and dependencies. Which should provide a report of vulnerabilities and stop proceeding the build.

Hi @pichu1995 👋 , we do not provide an out of the box or native solution for applications such as owasp and jfrog to test package and dependency vulnerabilities. To get started, I'll recommend reviewing their official documentation and/or public GitHub repositories (if any). If you can install these security solutions using a package manager such as npm, you can then also install them via npm install <package> in the default build container by modifying the build specification amplify.yml file.
The default build container provided by Amplify Hosting uses Amazon Linux 2 as its operating system. If these security solutions are not compatible with Amazon Linux 2, you can consider creating your own custom build image and using it with Amplify Hosting: https://docs.aws.amazon.com/amplify/latest/userguide/custom-build-image.html#setup


Help identifying file read?

Hi there. I've just decompiled a file that I know will, at some point, read from a file. Unfortunately, I can't seem to find and standard file code, so I am not sure what I am looking for. Would it be possible for you to help me? Thank you.
NAME_REDACTED.zip
(Sorry if this issue is a duplicate. I tried to look for similar issues but found way too many results and could not see any that looked similar. I may have missed it)

@PeterMatula could you please take a look?

Hi. For your output, it seems that RetDec did not detect any standard library function which surely makes an analyzation of the output hard. With the input that you have provided, I might only guess where are functions you are looking for. If I would like to find work with a file in a situation like this when RetDec does not detect almost any info I would use info from disassembler. Because of not detecting standard functions much information was discarded with optimizations (including strings). With disassembler info perhaps, I would be able to find strings (filename) and like this locate the address of fopen function or such and check decompiler output on the address.
I would like to take a look at the file you were analyzing and try to decompile it myself. If you still have a binary file that you have tried to decompile, would you be able to send it? Either here or to my email address.

@xkubov I've sent the original file to your email, but I doubt you'll be able to get much from it. The file has been pretty well stripped.

@xkubov Please keep me updated on your findings about the program, if any.


Strip the submodule down to only the things we use

Fixes https://github.com/crossplane/crossplane/issues/1583.
This submodule is a fresh fork of https://github.com/upbound/build. Despite the name, upbound/build is now (to my knowledge) only used by Crossplane projects. Upbound previously used it for internal projects, but those now have their own fork.
Forking this submodule under the Crossplane org makes it clear that Crossplane is its only purpose, and only consumer.
There's a bunch of functionality in the submodule that Crossplane has either never used, or hasn't used for a long time. This commit removes them.

I've tested this in https://github.com/crossplane-contrib/provider-upjet-aws/pull/1313 and https://github.com/crossplane/crossplane/pull/5693. It seems to work, so I'm going to proceed.


Internet Explorer Edge Support?

IE edge supports video capture and this library also recording on IE but when record stops IE throws this error;

What media playback types does Ie edge support? Did you even search? And how am I supposed to guess yoh


JWT-based authentication using local SQLite3 database

Chris,
Here's the reworked version of my local authentication feature. It follows standard conventions for use of "Authorization" headers and now correctly refreshes access tokens etc.
This is the follow-up to my earlier pull request: https://github.com/google/codeworld/pull/626
-Richard
--
Description
This change implements an alternative authentication method that can be
configured to be used in place of the standard Google authentication
mechanism used by the official, live CodeWorld instance. It employs a
local SQLite3 accounts database with BCrypt password hashing. Stateless
authentication is established using signed JWT tokens generated on the
server and passed back by the browser.
An authenticated session is first established by the browser calling the
server's "/signIn" API using appropriate credentials using HTTP basic
authentication. These credentials are then validated against the
accounts database. The server then responds with a response body
containing two signed JWT tokens: an access token and refresh token. The
browser then makes subsequent authenticated calls to the server by
including the access token in the "Authorization" HTTP header (of
"Bearer" type). Assuming that the token has not yet expired, the server
will respond by passing back the API call result in the response body.
If the token has expired, the server will reject the request and the
client will make a call to the "/refreshToken" API along with the
refresh token. This will return a new access token and refresh token. If
the refresh token has also expired, the server will reject this and the
user will be prompted to re-enter credentials in the browser. It is the
browser's responsibility to sign out a session in order to invalid the
current refresh token (which is achieved using a monotonically
increasing token identifier).
This new authentication system is intended to be used in applications
where instructors cannot reasonably expect all students to have a Google
account. Note that local authentication enforces a very basic
5-character password policy.
Note that Google API's platform.js is loaded on-demand only if Google
authentication is configured. Also, we take a dependency on SweetAlert2
(in addition to SweetAlert) which supports multi-input UI more readily
than SweetAlert but which is not API-compatible with it.

Thanks.  Merged.  I'll deploy later tonight when I have more time to test the prod behavior.

Thanks. The behaviour you should see is that nothing changes since the new functionality is not enabled by default.


[v3] media.load() breaks hls.js

media.load() is used in a few places in the plyr codebase, with stop, or after playing the video if showPosterOnEnd is enabled, and also when changing the source or quality.
In effect this breaks hls.js (and possibly other streaming wrappers), since hls.js loads the video by some SourceBuffer voodoo after the element is created. For showPosterOnEnd and stop this is a problem, while if you're changing the source or quality you should be expecting to have to re-initiate hls.js.
Native hls support in Safari is unaffected.
Example:
https://codepen.io/fullkornslimpa/pen/XEParj
Let it play until it's complete (you can skip to the end), then press play again. It will fail unless you remove showPosterOnEnd.
(Added the [v3] tag since I haven't tested v2).

I've renamed the property to resetOnEnd in v3.3.0 and it now applies to all media types. I've created a poster container much like @friday 's suggestion and the poster setter will now update both. This is also used for Vimeo and YouTube so the behaviour is consistent.

I suspect .stop() could just do the same thing - pause and restart effectively. I'll make that change and see?

Try v3.3.5!

Works great!
I'll close this then :) As I remember it media.load() is still used in a couple of other places, but none that can be avoided like changing the source. Nothing you would try to use with hls.js anyway.


[bugfix] Float values are inserted to a built SQL query incorrectly when some locales are set in PHP

The bug is described here: https://github.com/usmanhalalit/pixie/issues/166
The reason is that PHP uses different symbols as decimal point depending on locale but SQL accepts only dot as a decimal point.

Which branch should I merge to?

Sorry @FinesseRus. Getting built SQL is just for testing purpose only, don't want to go too far for this.

@usmanhalalit If getRawSql is only for tests, why is it used to insert a subquery to a query?

@FinesseRus good point, but there is a note in the doc which mentions that we don't use bindings for this. https://github.com/usmanhalalit/pixie#sub-queries-and-nested-queries


About trainning examples

Hi! I'm very interested in your paper and project, but I encountered some issues when I try to set up the environment for the training example. Could you send me the result of the training example? I'm very interested in that. My email is<EMAIL_ADDRESS>Thank you!

Hi Yuanhao,
Sure, what is the training example you're interested in?


nz-tag disabled not working

Reproduction link
https://stackblitz.com/edit/angular-ry15ho?embed=1&file=src/app/app.component.ts
Steps to reproduce
Add disabled or [disabled]="true" to <nz-tag>
What is expected?
It's expected to disable (visual and functional) the tag like it does for buttons https://ng.ant.design/components/button/en#components-button-demo-disabled
What is actually happening?
disabled have no effect
<EMAIL_ADDRESS>have no effect
[disabled]="true" causes a fatal error (see below)

Can't bind to 'disabled' since it isn't a known property of 'nz-tag'.
1. If 'nz-tag' is an Angular component and it has 'disabled' input, then verify that it is
part of this module.
2. If 'nz-tag' is a Web Component then add 'CUSTOM_ELEMENTS_SCHEMA' to the<EMAIL_ADDRESS>of this component to suppress this message.
3. To allow any property add 'NO_ERRORS_SCHEMA' to the<EMAIL_ADDRESS>of this component.

Environment
Info

ng-zorro-antd
9.3.0

Browser
Chrome

Disabled appears to have been implemented in https://github.com/NG-ZORRO/ng-zorro-antd/issues/2922 but it doesn't work on at least nz-tag

@snebjorn Do you want to disable the tag's animation or tag itself?
disable animation
https://ng.ant.design/docs/animations/en
disable tag
not support yet.

Sorry. I want to disable the tag itself. So I guess this is a feature request :)

What is the currently recommended way to disable a tag?

Try this
import { Directive } from '@angular/core';

@Directive({
  selector: 'nz-tag[disable]',
  host: {
    '(click)': 'disableClick($event)'
  }
})
export class DisableableTagDirective {

  constructor() { }

  disableClick(e: MouseEvent): void {
    e.preventDefault();
    e.stopPropagation();
  }

nz-tag[disable] {
    cursor: not-allowed;
    color: rgba(0,0,0,.25);
}


user profiles: Really long emails break popover

Feedback would be appreciated on how this should be resolved

I'd test what other tools do for similar things, but I think a reasonable fix would be to just cut it off with a ... and if it is cutoff, have the full email available on mouseover.

Hey, It is easily fixable by these css property
text-overflow: ellipsis; /* add ... if text is very big */
white-space: nowrap;
overflow: hidden;

That's definitely a step towards the solution, but additional work needs to be done to have the full email revealed upon mouseover, like Tim suggested.

can i have file name of this HTML, i am pretty new to this, Pretty sure this can de done by JavaScript.

See this docs article for where files are located; git grep is also a useful command for finding locations of files.

I think @brockwhittaker kind of fixed this issue in this PR. Not sure why it didn't get merged yet.
https://github.com/zulip/zulip/pull/4475

@hackerkid Yes it does but not fully, i just put ... at the end of email if it is too long. But does not display the tooltip of full email on mouseover. I have a solution just opening PR Later tonight.

@cPhost Brock's solution was to make the popover more space effective so that long emails would be encountered less; I'm not sure if it still looks visually appealing for extremely long emails still, though. @brockwhittaker are you still maintaining your PR?

I got the PR ready it should be fairy easy to integrate it with that PR.

@zulipbot claim.


Add role arn annotation on service account

Add role arn annotation on service account to handle permission through role instead of iam role on worker node
In a AWS EKS context, we need to give permissions in order to allow istio to provision load balancer. The standard way is to give permission on the worker nodes.
This PR allow to give permission through a role, bind on the service account. It's a more fine grained security.
[ ] Configuration Infrastructure
[ ] Docs
[ ] Installation
[X] Networking
[ ] Performance and Scalability
[ ] Policies and Telemetry
[X] Security
[ ] Test and Release
[ ] User Experience
[ ] Developer Infrastructure
Pull Request Attributes
Please check any characteristics that apply to this pull request.
[ ] Does not have any changes that may affect Istio users.

Hi @tpoingt. Thanks for your PR.
I'm waiting for a istio member to verify that this patch is reasonable to test. If it is, they should reply with /ok-to-test on its own line. Until that is done, I will not automatically test new commits in this PR, but the usual testing commands by org members will still work. Regular contributors should join the org to skip this step.
Once the patch is verified, the new status will be reflected by the ok-to-test label.
I understand the commands that are listed here.

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository.

@googlebot I fixed it

@googlebot I fixed it

@googlebot I consent

Any update on this ?


Add validation for corsConfiguration properties

Description:
I am able to add unexpected properties via apk-conf file and in the response also I am seeing the unexpected field. Even though we do not want to throw a 400 when user add unexpected fields, the response should not have the unexpected field in it.
Suggested Labels:
Improvement
Steps to reproduce:
Add cors configuration with unexpected fields and observe the response
corsConfiguration:
enabled: sdjsahdkjas
accessControlAllowCredentials: true
accessControlAllowOrigins:

"*"
accessControlAllowHeaders:
authorization
accessControlAllowMethods:
GET

- POST
accessControlExposeHeaders:

"*"

This is fixed by https://github.com/wso2/apk/pull/1475
Now a response like below will be sent to the client
{
    "code": 909029,
    "message": "Invalid apk-conf provided",
    "description": "Invalid apk-conf provided",
    "moreInfo": {
        "expected type: Boolean, found: String": "#/corsConfiguration/corsConfigurationEnabled: expected type: Boolean, found: String"
    }
}


course drawer state maintained

Pre-Flight checklist

[ ] Screenshots and design review for any changes that affect layout or styling

[ ] Desktop screenshots
[ ] Mobile width screenshots

[ ] Testing

[ ] Code is tested
[ ] Changes have been manually tested

What are the relevant tickets?
Closes https://github.com/mitodl/ocw-hugo-themes/issues/795
What's this PR do?

Maintains desktop course drawer state across different course pages.
Approach:

Whenever the user, either closes or opens the course drawer, its state (opened or closed) is stored in local storage.
Whenever any page is loaded, a function is triggered to check if there is any previously stored drawer state in local storage:

If yes, then it either closes or opens the drawer depending upon that state.
If not, then it sets the state to opened and opens the drawer by default

Note: we can also use session storage in order to maintain the state for a very longer period of time but not sure if its required or not

How should this be manually tested?

Checkout this branch.
Build any course locally.
Go to any page of that course (other than homepage)
Verify that the course drawer is opened.
Verify that the course drawer state (either opened or closed) is maintained across different course pages.
One approach:

Close the drawer.

Either refresh the page or go to any other page and verify that the drawer is still closed.
Close the tab, open a new tab and verify that the drawer is still closed.

Open the drawer and repeat the above steps again.

Test this on multiple browsers (chrome, safari, firefox etc)
Now block the cookies in your browser settings, test the flow again and verify that no error is logged in sentry, only an error message will be shown in console. (functionality will not work with blocked/disabled cookies)
Test any other use-case that needs to be tested.

Any background context you want to provide?

Currently this branch is created from abdurrehman/compact-design branch instead of main, once compact design PR is merged then we can change the base of this PR

we can also use session storage in order to maintain the state for a very longer period of time but not sure if its required or not

Can you explain this comment a bit more? How long is the state maintained in this PR?

Can you explain this comment a bit more? How long is the state maintained in this PR?

Ahh, Sorry! I was in a rush while writing this description and what I wrote is wrong. The data stored in local storage does not expire whereas data stored in session storage is cleared when the browser session ends. So for this PR, using local storage makes more sense, which is already being used.
Please ignore this statement, I'll also remove it from the description.

@MAbdurrehman12 I took a look at the revised inline approach and it looks even better.  Your previous commits fixed the issue with the empty column popping in and out, but I was still seeing a bit of flickering on the button itself to open the drawer if it was in a closed state and I refreshed the page.  With the inline'd approach, I don't see any flickering at all.  You can merge this when you're ready.

Thanks @gumaerc
Yeah, this inline JS approach worked well.
So no flickering/glitch now.
I have pushed another commit, improving the error handling stuff when user has either blocked cookies or their browser has no storage support. Do you want to have another look?

Thanks @gumaerc Yeah, this inline JS approach worked well. So no flickering/glitch now.
I have pushed another commit, improving the error handling stuff when user has either blocked cookies or their browser has no storage support. Do you want to have another look?

Just tested this out blocking cookies in an incognito window and it worked as expected.


is module support not working ?

I always get this error:
In [1]:

module A.B where

fib 0 = 1
fib 1 = 1
fib n = fib (n-1) + fib (n-2)
In [2]:

print $ A.B.fib 20
:
    cannot find normal object file ‘./A/B.dyn_o’
    while linking an interpreted expression

---
Want to back this issue? **[Post a bounty on it!](https://www.bountysource.com/issues/16968631-is-module-support-not-working?utm_campaign=plugin&utm_content=tracker%2F332399&utm_medium=issues&utm_source=github)** We accept bounties via [Bountysource](https://www.bountysource.com/?utm_campaign=plugin&utm_content=tracker%2F332399&utm_medium=issues&utm_source=github).

It works for me using ihaskell-<IP_ADDRESS>.

ihaskell-<IP_ADDRESS>

this is working in try.jupiter.com so I suppose it is something which was not working on 0.5 but works on 0.6.


Reverse

Reverse the order of play and end your turn without drawing a card.

redirect 305 diría yo


[Bug]: type errors with RedisVectorStore after #9135

Bug Description
https://github.com/run-llama/llama_index/pull/9135 moved RedisVectorStore to inherit from BasePydanticVectorStore. An unfortunate side effect here is now type checkers (mypy==1.7.1) fail for RedisVectorStore:
a.py:130:26: error: Argument "vector_store" to "from_defaults" of "StorageContext" has incompatible type "RedisVectorStore"; expected "VectorStore | None"  [arg-type]
                vector_store=RedisVectorStore(index_name=index_name),
                             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
a.py:130:26: note: Following member(s) of "RedisVectorStore" have conflicts:
a.py:130:26: note:     Expected:
a.py:130:26: note:         def async_add(self, nodes: list[BaseNode], **kwargs: Any) -> Coroutine[Any, Any, list[str]]
a.py:130:26: note:     Got:
a.py:130:26: note:         def async_add(self, nodes: list[BaseNode]) -> Coroutine[Any, Any, list[str]]

Version
0.9.11
Steps to Reproduce
Pass a RedisVectorStore into StorageContext.from_defaults

easy enough fix it looks like (although also not too urgent, since we aren't using that version of mypy yet)

Something between 0.9.11 and 0.9.17 fixed this. Closing it out


Failure to re-use the GS-cache when the specified # of queries > larger one

Create a data set with say 800 queries.
Run a test with the option -Q 1000. Gold standard cache should be enabled, but shouldn't exist before test beings.
Run a test a second time now reusing the gold standard cache. You would get something like this:

2017-03-14 13:04:54 main.cc:674 (main) [FATAL] Exception: The specified # queries (2500)  exceeds the value (2448)  in the gold standard cache.

See the commit in a special branch (will need to do the same in the main one).


Write a blog post about intent and high-level design

https://docs.google.com/document/d/1s94Nmg33Q1oTjIH8oDWfA9FKLn2rpONlquPGekEWweE


Dataset audit plugin does not resolve variables

Notably projectKey, which is now by default in table names for relocation.
Executing master data query : SELECT COUNT(*) AS global_count, count(distinct "city") as "city_distinct",sum (case when "city" is null then 1  else 0 end) as "city_missing",count(distinct "year") as "year_distinct",sum (case when "year" is null then 1  else 0 end) as "year_missing",count(distinct "weekofyear") as "weekofyear_distinct",sum (case when "weekofyear" is null then 1  else 0 end) as "weekofyear_missing",count(distinct "total_cases") as "total_cases_distinct",sum (case when "total_cases" is null then 1  else 0 end) as "total_cases_missing" FROM "${projectKey}_submission_format_copy"
*************** Recipe code failed **************
Begin Python stack
Traceback (most recent call last):
  File "/home/dataiku/dataiku/data-dirs/dss-15800/jobs/SAS_V2/Build_sub_output_2017-10-06T08-46-53.714/compute_sub_output_NP/custompyrecipei0UzfWvE7IRG/python-exec-wrapper.py", line 3, in <module>
    execfile(sys.argv[1])
  File "/home/dataiku/dataiku/data-dirs/dss-15800/jobs/SAS_V2/Build_sub_output_2017-10-06T08-46-53.714/compute_sub_output_NP/custompyrecipei0UzfWvE7IRG/script.py", line 101, in <module>
    df = sqlexec.query_to_df(query)
  File "/home/dataiku/dataiku/installers/dataiku-dss-4.0.8/python/dataiku/core/sql.py", line 189, in query_to_df
    return _streamed_query_to_df(self._iconn, query, pre_queries, post_queries, self._find_connection_from_dataset, "sql", extra_conf)
  File "/home/dataiku/dataiku/installers/dataiku-dss-4.0.8/python/dataiku/core/sql.py", line 25, in _streamed_query_to_df
    data = data)
  File "/home/dataiku/dataiku/installers/dataiku-dss-4.0.8/python/dataiku/core/intercom.py", line 86, in backend_json_call
    return _handle_json_resp(backend_api_post_call(path, data, **kwargs), err_msg = err_msg)
  File "/home/dataiku/dataiku/installers/dataiku-dss-4.0.8/python/dataiku/core/intercom.py", line 152, in _handle_json_resp
    raise Exception("%s: %s" % (err_msg, _get_error_message(err_data).encode("utf8")))
Exception: None: During query 'SELECT COUNT(*) AS global_count, count(distinct "city") as "city_distinct",sum (case when "city" is null then 1  else 0 end) as "city_missing",count(distinct "year") as "year_distinct",sum (case when "year" is null then 1  else 0 end) as "year_missing",count(distinct "weekofyear") as "weekofyear_distinct",sum (case when "weekofyear" is null then 1  else 0 end) as "weekofyear_missing",count(distinct "total_cases") as "total_cases_distinct",sum (case when "total_cases" is null then 1  else 0 end) as "total_cases_missing" FROM "${projectKey}_submission_format_copy"' : ERROR: relation "${projectKey}_submission_format_copy" does not exist
  Position: 531
End Python stack

Workaround: use metrics

I use this piece of code to solve the issue:
project_key = dataset_config["projectKey"]
table = table.replace("${projectKey}",project_key)

fixed


Command voyager:admin --create fails during MySQL connection is strict

Laravel Version: 5.4
Voyager Version: 0.11.7
PHP Version: 7.0.14
Database Driver & Version: MySQL Ver 15.1 Distrib 10.1.20-MariaDB, for osx10.12 (x86_64) using readline 5.1

Description:
When creating an admin via command-line it only asks for a name and password. The database structure does not allow null values in the email field. In case the MySQL database connection is set strict it will cause the command to crash with an error:
SQLSTATE[23000]: Integrity constraint violation: 1048 Column 'email' cannot be null
// and
[PDOException]
  SQLSTATE[23000]: Integrity constraint violation: 1048 Column 'email' cannot be null

Therefor are 2 ways to resolve this:

Checking if the connection is strict and ask for the email(preferred I guess)?
Not allowing strict connections.

I will create a PR with the first option to fix it properly.
Steps To Reproduce:
Make sure the config item database.connections.mysql.strict is set to true before installation.
Run the command voyager:admin --create on the command-line and proceed the name and password steps.
EDIT
I found out there is an email argument that fills the email. I will add an extra check in case there isn't one set and adding documentation for it.

The email is create in the comand, so you don't need to anything. Pass on the email it work fine
php artisan voyager:admin<EMAIL_ADDRESS>--create

Fixed in #965


Error on get() method

The same codes were working fine until the update from version 1.9.0 to 2.0.1.
Error showing at the get method and I am not sure how to solve it.
String quotesURL = "https://api.forismatic.com/api/1.0/" + "?method=getQuote&format=text&lang=en";

         Fuel.get(quotesURL).responseString(new Handler<String>() {
                    @Override
                     public void success(String quote) {
                             nameList.add(quote);
...

Errors:

OS: Windows 10
IDE: Android Studio
Fuel version: 2.0.1

Please help :(

Try Fuel.get(quotesUrl, null). Second argument is for parameters. When you call this method from Kotlin you can omit second parameter (it is null by default) but you use Java, so must declare null explicitly.
Another (better) solution is to add annotation @JvmOverloads to method get. I think so

Thank you! You are my savior!
It works after I put null as the second parameter and use Fuel instance!
Fuel.INSTANCE.get(quotesURL, null).responseString(new Handler<String>() { ...

Another (better) solution is to add annotation @JvmOverloads to method get. I think so

We've removed all Interopt like that and support only Kotlin as a first-class citizen.


Add more simple samples

AllControls became more of a playground for testing new features than a real sample.
So before we can release Fabulous 1.0, we need to make simpler samples.
I'm thinking something like the XAML Controls Gallery in the Microsoft Store (https://www.microsoft.com/en-us/p/xaml-controls-gallery/9msvh128x2zt) can be a good thing to do.
It would both act as an interactive documentation, show code samples on how to use a control, and demonstrate how to implement a complete application with Fabulous.

@TimLariviere
Will try to make an initial app like the Xaml gallery. Now the "most bugs" for desktop parts are gone, so i could try.
I'll make the app with Gtk, UWP, WPF and macOS.
Anything specific what I should include or not include?
When I have the initial app running - should I include it into Fabulous? or where to put?

How is the progress going on this?  Also the @SergejDK link to the samples seems to be broken.  Here's some links to samples for Xamarin.Forms microsoft docs and github
I'd be interested in helping out on this.  Maybe we could recreate some of the Xamarin.Forms samples, such as the Weather app or the Bug sweeper to show how fabulous scales into a real app?

How is the progress going on this?

I'll let @SergejDK answer to that. For my part, I haven't worked on it.

I'd be interested in helping out on this. Maybe we could recreate some of the Xamarin.Forms samples, such as the Weather app or the Bug sweeper to show how fabulous scales into a real app?

Absolutely! Any help is really appreciated. :)
We already have a TicTacToe sample, so BugSweeper might not add much.
Weather app in the other hand is a good example of a typical app that display data from an API.
You could also take a look at https://github.com/jamesmontemagno/app-pretty-weather
It's dead simple (no API, could reuse the one from the other Weather app), but pretty fancy.

Awesome!  I think the app pretty weather would be even better and looks super simple.  I'll go ahead and fork fabulous and work on this.

How is the progress going on this?

I did not get the time to work on pretty much in the last months... Please go ahead and work on this :)
One thing to mention is that Don had a great idea:

I think the important step here is to change https://github.com/fsprojects/Fabulous/tree/master/Fabulous.XamarinForms/samples so that they are xcopy-cloneable, i.e. fully buildable outside the Fabulous repo - and, crucially, put that build under CI, so that all the samples compile and will continue to compile on every commit to Fabulous.

Maybe this is something that we should think about in this issue?

Progress Update
I wanted to give an update on what I have done so far.  I have successfully created a replica of the pretty weather app and created a view extension for the pancake view.
I really like the overall development experience (especially the hot reload).  I'm curious of the progress of the type provider for extending the view module?  I think that'd be really valuable in speeding up the development process (I'd love to help).  Additionally, I'd love to see hot reload become faster (maybe using binary requests instead json if not done so already?)
Making the samples buildable outside the Fabulous repo
I'm curious as to how we should accomplish making the samples buildable outside the Fabulous repo and also build under CI?  Maybe you could have something in MSBuild that would use Fabulous if building CI, but use nuget if being built locally?  That would allow samples to be seperate, but still test changes to fabulous.
Screenshots

Awesome, thanks! Will take a look at the PR.

I'm curious of the progress of the type provider for extending the view module?

We don't work on a type provider because even though it may seem like a good idea, in fact, there's a lot of subtleties that make it impractical.
See https://github.com/fsprojects/Fabulous/issues/396
Instead, the new Fabulous.XamarinForms.Generator can help you with that.
You need to pass it a json file (like this one) that points to the dll containing your controls and it will generate the same code as the one composing Fabulous.XamarinForms.
Stil need to add a little thing to it to allow using it for extensions though.

Additionally, I'd love to see hot reload become faster (maybe using binary requests instead json if not done so already?)

There's a lot of room to improve LiveUpdate.
Unfortunately, I haven't had time to work on it seems Don created it.
So if you feel like it, you can take a look :)

I'm curious as to how we should accomplish making the samples buildable outside the Fabulous repo and also build under CI? Maybe you could have something in MSBuild that would use Fabulous if building CI, but use nuget if being built locally?

That's an interesting thought.
Maybe we can use Directory.Build.props to declare a global variable like <IsFabulousRepository>True</IsFabulousRepository> and in the samples projects do something like:
<ItemGroup Condition="'$(IsFabulousRepository)' == 'True'">
    <ProjectReference Include="..\..\..\src\Fabulous.XamarinForms\Fabulous.XamarinForms.fsproj" />
    <ProjectReference Include="..\..\..\src\Fabulous.XamarinForms.LiveUpdate\Fabulous.XamarinForms.LiveUpdate.fsproj" />
</ItemGroup>

<ItemGroup Condition="'$(IsFabulousRepository)' != 'True'">
    <PackageReference Include="Fabulous.XamarinForms" Version="0.50.3" />
    <PackageReference Include="Fabulous.XamarinForms.LiveUpdate" Version="0.50.3" />
</ItemGroup>

The only real difficulty will be to automatically update the hard-coded version numbers when we update the version number of Fabulous.

Instead, the new Fabulous.XamarinForms.Generator can help you with that.
You need to pass it a json file (like this one) that points to the dll containing your controls and it will generate the same code as the one composing Fabulous.XamarinForms.
Stil need to add a little thing to it to allow using it for extensions though.

Awesome!  I think this would be something good to add to these docs as this is what I was following to make the view extension.
I'll take a look at the LiveUpdate and see what I can do 😄.
As far as the hard coded version numbers, for people who are downloading the samples it would be easy to update the nugets and we could update the nugets manually as well.
Maybe to make it automatic we could have nuget update Fabulous.XamarinForms called on before build or something like that?

Since we have a new cool sample thanks to @chrisevans9629, I'll close this issue.
Don't hesitate to open a new issue if you find we're missing samples.


[📚] Example link is returning Page not found

Link to documentation - https://pub.dev/packages/firebase_messaging
Please see the attached screenshot and the highlighted text. The link is giving page not found

Closing since this is no longer relevant


Fix sep-10 auth with TS

Preview is available here:http://developers-pr226.previews.kube001.services.stellar-ops.com


query string route syntax & parameter-based URI decoding

Query string route syntax
Any route except those ending with a wildcard will automatically accept additional content using the '?' separator.  This content is a set of key value pairs using '&' as the pair separator and '=' as the key/value separator - just like the URL query string syntax.
If a query string exists in the route hash, the routing function (defined in the routes hash) will be given an additional parameter (in last ordinal position) containing hash of the key/value data.
routes: {
'foo/:bar': 'myRoute'
}
...
myRoute: function(bar, params) {
// the params attribute will be undefined unless there is a route containing a query string
}
Example route patterns
#foo/abc -> myRoute( 'abc', undefined )
#foo/abc?foo=bar -> myRoute( 'abc', {'foo': 'bar'} )
Nested query string Keys
Any keys containing '.' will represent a nested structure.
#foo/abc?me.fname=Joe&me.lname=Hudson -> myRoute('abc', {'me': {'fname': 'Joe', 'lname': 'Hudson'}} )
Query string value arrays
Any values containing '|' will assume an array structure.  Note: you can still have non-array values containing '|' but it must be URI encoded (%7C).
You can prefix the value with '|' to ensure an array in case there is only a single value.
#foo/abc?animals=cat|dog -> myRoute( 'abc', ['cat', 'dog'] )
#foo/abc?animals=|cat -> myRoute( 'abc', ['cat'] )
Generating route with query string=========================
You can easily create a route string from a route + parameter hash using the router.toFragment(route, parameters) method.  It can contain a nested hash structure or arrays.  ex:
var route = router.toFragment('myroute', {
a:'l', b:{c: 'n', d:'m', e:{f: 'o'}}, array1:['p'], array2:['q', 'r'], array3:['s','t','|']
});
Parameter-based URI decoding
Current backbone will decode the complete hash value.  This requires route parameters to be encoded multiple times if they contain reserved characters ('/' for example).
This patch moves all decoding to route parameters when they are in parameter form (after the hash has been parsed).

+1

Nice!
Would be nice to have an method to set/update the query string on the current URL.

+1

+1

maybe a good call to add some updated documentation to go along with this?

Does it also decode objects encoded in the query string?  I.e. "?a[b]=c"

Joe, I believe we discussed this in Campfire but ++ decoding nested objects in the query string.

It doesn't currently but can be done - I'll see if I can get that in there

Nice. I've been using this in the past:
http://benalman.com/code/projects/jquery-bbq/examples/deparam/
Something along these lines:
routeHandler: function(params) {
var paramsObject = jQuery.deparam( params );
}

Question to anyone participating in this pull request:
Would you rather have a helper method for creating a url with parameters

directly on Backbone.history.navigate - more convienant to use
in the router - in the same place that parameter decoding is
not at all

I've just added it to the router but want to get other opinions...  Thanks.

^ Usage example: https://github.com/jhudson8/backbone/blob/0b25ab941fda37edc1e7ea4a9bf6f9d6db7f7fbd/test/router.js#L133

jhudson8, great work. I think it should be a method on the Router, so i can use it stand alone and for other uses, like to put it in href of some a tags and not really change the url to it.

Great work Joe. Since navigate already has extra arguments on it I'd say keep it separate. The example you posts with the encoding done in toFragment seems like it would suffice.
Is there a reason you went with "." as the object separator in the query string? I'd prefer to see:
"address[street]" rather than "address.street" to match PHP and Rails.

I agree with syntacticx.
Maybe it should be optional as dot is really cleaner and using [] will only be useful if you are going to use it with HTML5 history (not using #) and really decode the URLs on the server side.

@ricardovf, I'm arguing for using brackets rather than the dot syntax.

@syntacticx my comment was confusing
Im arguing to make it optional  to use dot or brackets since i see the point of using both depending on the project/objective. Dunno if its gonna be a hard thing thought.

So -- this is a fantastic feature for a Backbone plugin, and I highly encourage you to wrap it up and publish it as such on the Wiki.
But I don't think that query parameters in routes make sense for Backbone core. A big part of having a Backbone.Router, instead of using something like jQuery BBQ, is so that you have clean, pretty URL fragments like:
/search/madoff/p10

Instead of the nastier:
?action=search&query=madoff&page=10

The vast majority of Backbone apps will have a limited set of client-side URLs that can be easily expressed in the former notation. There may be some that have such a wide variety of URL possibilities that query params are a better choice, but they're going to be in the minority, and it's not worth adding this amount of code to core Backbone to help 'em out, when a plugin will work equally well.
Finally, whereas query parameters are the only way to communicate data to the server side in a GET request ... this is the client-side were talking about here, and a large number of your query params are probably better passed around in pure JavaScript, and not jammed into the URL, unless they're something you truly intend to make bookmarkable.

:(
I understand - thanks for taking the time to evaluate.
I would like to mention that it was never intended as a mutually exclusive deal... #/foo/bar?a=b&c=d
The problem is that the pretty URLs become much less pretty when you have optional parameters.  The other problem is that there is also a fragment decoding issue (fragment is decoded before splitting it into parts) which makes parameters that contain special characters ('/') have to be encoded more than once.

Just out of curiosity, in your actual app -- what are some examples of real client-side URLs that take advantage of these query params?

Jeremy, will get details for you - I'm going to make sure it's ok to tell you who I work for (I think it's fine but just in case)...
In the meantime: https://github.com/documentcloud/backbone/wiki/Adding-Query-Parameter-support
I assume this is what you mean by a plugin - please let me know if there is a better way.  Thanks.

@jashkenas github uses it:
https://github.com/documentcloud/backbone/issues?labels=enhancement&sort=updated&direction=desc&state=open&page=1
The route could be: /documentcloud/backbone/issues
And everytime the query changes the route would be called with diferente query strings.
As you can note for exemple in the Labels selector (bottom left) the href of the links is changed in real time with updated url everytime i use a diferente filter.
The advantage of jhudson is that is really simplier to deal with an object (from query string) then from custom uri, like: /search/madoff/p10

Also, if this functionality is to remain as a plugin, I would like to request that the fragment uri decoding be pushed to _extractParameters - out of getFragment.  Doing this would all this type of plugin with minimal risk to backbone core changes.  Thoughts?

Yep -- extracting the decoding to an overridable function sounds like a fine idea.

Cool, then this really works just fine as a plugin - and you only have to get it if you want it.  Thanks Jeremy.

@jhudson8 -- no, a massive Wiki paste is not what I mean by a plugin. ;)
Instead, make a github project that includes a script that provides the override functionality. So if I load backbone.js, and then backbone.queryparams.js ... I'll have a working version.

thanks

For what it's worth, my team has added query parameters as well. URL fragments don't really scale or handle optional parameters. Also, having unordered query string parameters is nice because adding or removing parameters doesn't require a change to routing, since they just pass through.

A case for adding this functionality to core:
Whenever parameters can have a "/" in them, those values cannot be made to work in path params if tomcat or apache are involved. %2F is the URL encoded form of "/" but that value will not hide the "/" in the path param.
This means query params for any parameters whose values could possibly contain a "/", such as search queries. So search queries must go in the query params and therefore the backbone routes break down.
Slosh "" is also impossible to work with in this way.
There is one case in which a "/" can work with path params, that is if it is the last path param and the slash is NOT URI encoded.


AbstractCircuits and FrozenCircuits

Partial reupload of #3445, following the method reordering submitted in #3478.
Commit history has been cleaned up to remove a misconfigured YAPF run from the previous upload. The following items have also been addressed:
@balopat

There are no tests protecting immutability for FrozenCircuit - I can just add a the method below to FrozenCircuit - making it mutable, and there are no tests broken.

Tests have been added to ensure moments and devices cannot be set with =.
@maffoo

[frozen_circuit_test.py] is almost entirely duplicated from {...} circuit_test.py. It seems like a better way to handle this would be to write a single test that is parameterized over whether to use a frozen circuit, e.g. {...}

Shared tests have been converted to parameterized tests in circuit_test.py. frozen_circuit_test.py now only contains tests for FrozenCircuit-specific behavior.

Thank you for the thorough review!

For bookkeeping: this is part of #3235.