Window not opening on macOS with Onyx Boox Note Air 2

[x] I have read the FAQ.
[x] I have searched in existing issues.

Environment

OS: macOS.
scrcpy version: 2.0
installation method:  brew
device model: Onyx Boox Note Air 2
Android version: 11

Describe the bug
Window does not open
On errors, please provide the output of the console (and adb logcat if relevant).
If i try to run it with scrcpy -m1024    or scrcpy -800 the error is gone but still no scree
Please paste terminal output in a code block.

scrcpy 2.0 https://github.com/Genymobile/scrcpy
/opt/homebrew/Cellar/scrcpy/2.0/share/scrcpy/scrcpy-server: 1 file pushed, 0 skipped. 184.8 MB/s (52867 bytes in 0.000s)
[server] INFO: Device: ONYX NoteAir2 (Android 11)
INFO: Renderer: metal
[server] ERROR: Encoding error: android.media.MediaCodec$CodecException: Error 0xfffffff4
[server] INFO: newMaxSize = 1600
[server] INFO: Retrying with -m1600...
[server] INFO: Retrying...
INFO: Initial texture: 1400x1872
1   HIToolbox                           0x000000019c6b45c8 _ZN15MenuBarInstance22EnsureAutoShowObserverEv + 120
2   HIToolbox                           0x000000019c6b4188 _ZN15MenuBarInstance14EnableAutoShowEv + 60
3   HIToolbox                           0x000000019c657310 SetMenuBarObscured + 372
4   HIToolbox                           0x000000019c656ee8 _ZN13HIApplication15HandleActivatedEP14OpaqueEventRefhP15OpaqueWindowPtrh + 172
5   HIToolbox                           0x000000019c650fcc _ZN13HIApplication13EventObserverEjP14OpaqueEventRefPv + 296
6   HIToolbox                           0x000000019c617cd0 _NotifyEventLoopObservers + 176
7   HIToolbox                           0x000000019c65096c AcquireEventFromQueue + 432
8   HIToolbox                           0x000000019c63fc84 ReceiveNextEventCommon + 320
9   HIToolbox                           0x000000019c63fb2c _BlockUntilNextEventMatchingListInModeWithFilter + 72
10  AppKit                              0x00000001961ec424 _DPSNextEvent + 632
11  AppKit                              0x00000001961eb5b4 -[NSApplication(NSEvent) _nextEventMatchingEventMask:untilDate:inMode:dequeue:] + 728
12  libSDL2-2.0.0.dylib                 0x000000010366f02c Cocoa_PumpEventsUntilDate + 84
13  libSDL2-2.0.0.dylib                 0x000000010366f1dc Cocoa_PumpEvents + 56
14  libSDL2-2.0.0.dylib                 0x00000001035eab70 SDL_PumpEventsInternal + 64
15  libSDL2-2.0.0.dylib                 0x00000001035eae34 SDL_WaitEventTimeout_REAL + 564
16  scrcpy                              0x0000000102ee3ec8 scrcpy + 2112
17  scrcpy                              0x0000000102eda6ac main_scrcpy + 196
18  dyld                                0x0000000192b63e50 start + 2544
1   HIToolbox                           0x000000019c63f90c _ZN15MenuBarInstance22RemoveAutoShowObserverEv + 44
2   HIToolbox                           0x000000019c657214 SetMenuBarObscured + 120
3   HIToolbox                           0x000000019c65e390 _ZN13HIApplication11FrontUILostEv + 44
4   HIToolbox                           0x000000019c65704c _ZN13HIApplication15HandleActivatedEP14OpaqueEventRefhP15OpaqueWindowPtrh + 528
5   HIToolbox                           0x000000019c650f70 _ZN13HIApplication13EventObserverEjP14OpaqueEventRefPv + 204
6   HIToolbox                           0x000000019c617cd0 _NotifyEventLoopObservers + 176
7   HIToolbox                           0x000000019c65096c AcquireEventFromQueue + 432
8   HIToolbox                           0x000000019c63fe0c ReceiveNextEventCommon + 712
9   HIToolbox                           0x000000019c63fb2c _BlockUntilNextEventMatchingListInModeWithFilter + 72
10  AppKit                              0x00000001961ec424 _DPSNextEvent + 632
11  AppKit                              0x00000001961eb5b4 -[NSApplication(NSEvent) _nextEventMatchingEventMask:untilDate:inMode:dequeue:] + 728
12  libSDL2-2.0.0.dylib                 0x000000010366f02c Cocoa_PumpEventsUntilDate + 84
13  libSDL2-2.0.0.dylib                 0x000000010366f15c Cocoa_WaitEventTimeout + 144
14  libSDL2-2.0.0.dylib                 0x00000001035eaec8 SDL_WaitEventTimeout_REAL + 712
15  scrcpy                              0x0000000102ee3ec8 scrcpy + 2112
16  scrcpy                              0x0000000102eda6ac main_scrcpy + 196
17  dyld                                0x0000000192b63e50 start + 2544

Please do not post screenshots of your terminal, just post the content as text instead.

adb shell screenrecord /sdcard/file.mp4
gives;
ERROR: unable to configure video/avc codec at 1404x1872 (err=-1010)
WARNING: failed at 1404x1872, retrying at 720x1280
According to the internet the resolution of the screen is: Screen Resolution, 1,872 by 1,404 pixels.

There is an encoder issue on the device.
scrcpy --list-encoders

What do I have to do to fix it?
scrcpy 2.0 https://github.com/Genymobile/scrcpy
/opt/homebrew/Cellar/scrcpy/2.0/share/scrcpy/scrcpy-server: 1 file pushed, 0 skipped. 219.3 MB/s (52867 bytes in 0.000s)
[server] INFO: List of video encoders:
--video-codec=h264 --video-encoder='OMX.qcom.video.encoder.avc'
--video-codec=h264 --video-encoder='c2.android.avc.encoder'
--video-codec=h264 --video-encoder='OMX.google.h264.encoder'
--video-codec=h265 --video-encoder='OMX.qcom.video.encoder.hevc'
--video-codec=h265 --video-encoder='OMX.qcom.video.encoder.hevc.cq'
--video-codec=h265 --video-encoder='c2.android.hevc.encoder'
[server] INFO: List of audio encoders:
--audio-codec=opus --audio-encoder='c2.android.opus.encoder'
--audio-codec=aac --audio-encoder='c2.android.aac.encoder'
--audio-codec=aac --audio-encoder='OMX.google.aac.encoder'
sjorskamps@Sjorss-MBP ~ %

Whe nI do scrcpy -V debug
scrcpy 2.0 https://github.com/Genymobile/scrcpy
DEBUG: ADB device found:
DEBUG:     -->   (usb)  8E635657                        device  NoteAir2
DEBUG: Device serial: 8E635657
DEBUG: Using server: /opt/homebrew/Cellar/scrcpy/2.0/share/scrcpy/scrcpy-server
/opt/homebrew/Cellar/scrcpy/2.0/share/scrcpy/scrcpy-server: 1 file pushed, 0 skipped. 164.6 MB/s (52867 bytes in 0.000s)
[server] INFO: Device: ONYX NoteAir2 (Android 11)
[server] DEBUG: Using encoder: 'OMX.qcom.video.encoder.avc'
DEBUG: Server connected
DEBUG: Starting controller thread
DEBUG: Starting receiver thread
[server] DEBUG: Using audio encoder: 'c2.android.opus.encoder'
[server] ERROR: Encoding error: android.media.MediaCodec$CodecException: Error 0xfffffff4
[server] INFO: newMaxSize = 1600
[server] INFO: Retrying with -m1600...
[server] INFO: Retrying...
INFO: Renderer: metal
DEBUG: Trilinear filtering disabled (not an OpenGL renderer)
DEBUG: Using icon: /opt/homebrew/Cellar/scrcpy/2.0/share/icons/hicolor/256x256/apps/scrcpy.png
DEBUG: Demuxer 'video': starting thread
DEBUG: Demuxer 'audio': starting thread
INFO: Initial texture: 1400x1872

Try the 3 available h264 encoders:
scrcpy --video-encoder='OMX.qcom.video.encoder.avc'
scrcpy --video-encoder='c2.android.avc.encoder'
scrcpy --video-encoder='OMX.google.h264.encoder'

No window opens, it also says no available windows
scrcpy 2.0 https://github.com/Genymobile/scrcpy
/opt/homebrew/Cellar/scrcpy/2.0/share/scrcpy/scrcpy-server: 1 file pushed, 0 skipped. 195.3 MB/s (52867 bytes in 0.000s)
[server] INFO: Device: ONYX NoteAir2 (Android 11)
INFO: Renderer: metal
INFO: Initial texture: 1400x1872
1   HIToolbox                           0x000000019c6b45c8 _ZN15MenuBarInstance22EnsureAutoShowObserverEv + 120
2   HIToolbox                           0x000000019c6b4188 _ZN15MenuBarInstance14EnableAutoShowEv + 60
3   HIToolbox                           0x000000019c657310 SetMenuBarObscured + 372
4   HIToolbox                           0x000000019c656ee8 _ZN13HIApplication15HandleActivatedEP14OpaqueEventRefhP15OpaqueWindowPtrh + 172
5   HIToolbox                           0x000000019c650fcc _ZN13HIApplication13EventObserverEjP14OpaqueEventRefPv + 296
6   HIToolbox                           0x000000019c617cd0 _NotifyEventLoopObservers + 176
7   HIToolbox                           0x000000019c65096c AcquireEventFromQueue + 432
8   HIToolbox                           0x000000019c63fe0c ReceiveNextEventCommon + 712
9   HIToolbox                           0x000000019c63fb2c _BlockUntilNextEventMatchingListInModeWithFilter + 72
10  AppKit                              0x00000001961ec424 _DPSNextEvent + 632
11  AppKit                              0x00000001961eb5b4 -[NSApplication(NSEvent) _nextEventMatchingEventMask:untilDate:inMode:dequeue:] + 728
12  libSDL2-2.0.0.dylib                 0x0000000100a6302c Cocoa_PumpEventsUntilDate + 84
13  libSDL2-2.0.0.dylib                 0x0000000100a631dc Cocoa_PumpEvents + 56
14  libSDL2-2.0.0.dylib                 0x00000001009deb70 SDL_PumpEventsInternal + 64
15  libSDL2-2.0.0.dylib                 0x00000001009dee34 SDL_WaitEventTimeout_REAL + 564
16  scrcpy                              0x00000001002d7ec8 scrcpy + 2112
17  scrcpy                              0x00000001002ce6ac main_scrcpy + 196
18  dyld                                0x0000000192b63e50 start + 2544
1   HIToolbox                           0x000000019c63f90c _ZN15MenuBarInstance22RemoveAutoShowObserverEv + 44
2   HIToolbox                           0x000000019c657214 SetMenuBarObscured + 120
3   HIToolbox                           0x000000019c65e390 _ZN13HIApplication11FrontUILostEv + 44
4   HIToolbox                           0x000000019c65704c _ZN13HIApplication15HandleActivatedEP14OpaqueEventRefhP15OpaqueWindowPtrh + 528
5   HIToolbox                           0x000000019c650f70 _ZN13HIApplication13EventObserverEjP14OpaqueEventRefPv + 204
6   HIToolbox                           0x000000019c617cd0 _NotifyEventLoopObservers + 176
7   HIToolbox                           0x000000019c65096c AcquireEventFromQueue + 432
8   HIToolbox                           0x000000019c63fe0c ReceiveNextEventCommon + 712
9   HIToolbox                           0x000000019c63fb2c _BlockUntilNextEventMatchingListInModeWithFilter + 72
10  AppKit                              0x00000001961ec424 _DPSNextEvent + 632
11  AppKit                              0x00000001961eb5b4 -[NSApplication(NSEvent) _nextEventMatchingEventMask:untilDate:inMode:dequeue:] + 728
12  libSDL2-2.0.0.dylib                 0x0000000100a6302c Cocoa_PumpEventsUntilDate + 84
13  libSDL2-2.0.0.dylib                 0x0000000100a6315c Cocoa_WaitEventTimeout + 144
14  libSDL2-2.0.0.dylib                 0x00000001009deec8 SDL_WaitEventTimeout_REAL + 712
15  scrcpy                              0x00000001002d7ec8 scrcpy + 2112
16  scrcpy                              0x00000001002ce6ac main_scrcpy + 196
17  dyld                                0x0000000192b63e50 start + 2544

Getting this issue as well, after the firmware update to V3.3.2. I suspect it is a broken update.

Looks like only audio is broken, none of the audio encoder options work, but scrcpy --no-audio does work!

but scrcpy --no-audio does work!

There is definitely a problem here. It should work even without --no-audio, but I can't understand what's wrong.
Refs https://www.reddit.com/r/scrcpy/comments/138zt3o/scrcpy_not_launching/
It seems that running a second encoder (for audio) prevents video encoding from working.I don't understand why you get a stacktrace, it suggests that it crashes the client, I don't know why.
Could you compile scrcpy with ASAN enabled, and run:
meson setup d -Db_sanitize=address -Dprebuilt_server=/path/to/scrcpy-server # adapt the path
ninja -Cd
./run d

What's the error?
Also, does it work with scrcpy --audio-codec=raw?

--audio-codec=raw gives:
C:\Users\0>C:\Users\0\main.syncthing\monochrome\bin\/../apps/scrcpy-win64-v2.0/scrcpy.exe --tcpip=<IP_ADDRESS> --audio-codec=raw
scrcpy 2.0 <https://github.com/Genymobile/scrcpy>
INFO: Connecting to <IP_ADDRESS>:5555...
INFO: Connected to <IP_ADDRESS>:5555
C:\Users\0\main.syncthing\monochrome\apps\scrcpy-win64-v2.0\scrcpy...erver: 1 file pushed, 0 skipped. 89.3 MB/s (52867 bytes in 0.001s)
[server] INFO: Device: ONYX NoteAir2P (Android 11)
INFO: Renderer: direct3d
INFO: Initial texture: 1400x1872
[server] ERROR: Encoding error: android.media.MediaCodec$CodecException: Error 0xfffffff4
[server] INFO: newMaxSize = 1600
[server] INFO: Retrying with -m1600...
[server] INFO: Retrying...

as opposed to --no-audio giving:
C:\Users\0>C:\Users\0\main.syncthing\monochrome\bin\/../apps/scrcpy-win64-v2.0/scrcpy.exe --tcpip=<IP_ADDRESS> --no-audio
scrcpy 2.0 <https://github.com/Genymobile/scrcpy>
INFO: Connecting to <IP_ADDRESS>:5555...
INFO: Connected to <IP_ADDRESS>:5555
C:\Users\0\main.syncthing\monochrome\apps\scrcpy-win64-v2.0\scrcpy...erver: 1 file pushed, 0 skipped. 42.7 MB/s (52867 bytes in 0.001s)
[server] INFO: Device: ONYX NoteAir2P (Android 11)
[server] ERROR: Encoding error: android.media.MediaCodec$CodecException: Error 0xfffffff4
[server] INFO: newMaxSize = 1600
[server] INFO: Retrying with -m1600...
[server] INFO: Retrying...
INFO: Renderer: direct3d
INFO: Initial texture: 1400x1872
INFO: New texture: 1200x1600
WARN: Killing the server...

I don’t have build routines setup yet, but I can probably get to it in the next two weeks and report back. Thanks for helping!

I don’t have build routines setup yet, but I can probably get to it in the next two weeks and report back. Thanks for helping!
Here is the output for the commands you requested.

`audio-codec=raw`:
C:\Users\0>C:\Users\0\main.syncthing\monochrome\bin\/../apps/scrcpy-win64-v2.0/scrcpy.exe -V debug --select-usb --audio-codec=raw
scrcpy 2.0 <https://github.com/Genymobile/scrcpy>
DEBUG: ADB device found:
DEBUG:     -->   (usb)              5F56C44D            device  NoteAir2P
DEBUG:         (tcpip)    <IP_ADDRESS>:5555            device  NoteAir2P
DEBUG: Device serial: 5F56C44D
DEBUG: Using server (portable): C:\Users\0\main.syncthing\monochrome\apps\scrcpy-win64-v2.0\scrcpy-server
C:\Users\0\main.syncthing\monochrome\apps\scrcpy-win64-v2.0\scrcpy...erver: 1 file pushed, 0 skipped. 92.6 MB/s (52867 bytes in 0.001s)
[server] INFO: Device: ONYX NoteAir2P (Android 11)
DEBUG: Server connected
DEBUG: Starting controller thread
DEBUG: Starting receiver thread
[server] DEBUG: Using encoder: 'OMX.qcom.video.encoder.avc'
INFO: Renderer: direct[server] ERROR: Encoding error: android.media.MediaCodec$CodecException: Error 0xfffffff4
3d[server] INFO: newMaxSize = 1600

[server] INFO: Retrying with -m1600...
D[server] INFO: Retrying...
EBUG: Trilinear filtering disabled (not an OpenGL renderer)
DEBUG: Using icon (portable): C:\Users\0\main.syncthing\monochrome\apps\scrcpy-win64-v2.0\icon.png
DEBUG: Demuxer 'video': starting thread
DEBUG: Demuxer 'audio': starting thread
INFO: Initial texture: 1400x1872
DEBUG: [Audio] Buffering threshold exceeded, skipping 240 samples
DEBUG: [Audio] Buffering threshold exceeded, skipping 240 samples
DEBUG: [Audio] Buffering threshold exceeded, skipping 240 samples
...

This continues until I CTRL-C. One time, the program stalls indefinitely after INFO: Initial texture: 1400x1872. Not sure if I just didn’t wait long enough, but I couldn’t recreate this later.
Using audio-codec=aac results in similar behavior.

`--no-audio` (success):
C:\Users\0>C:\Users\0\main.syncthing\monochrome\bin\/../apps/scrcpy-win64-v2.0/scrcpy.exe -V debug --select-usb --no-audio
scrcpy 2.0 <https://github.com/Genymobile/scrcpy>
DEBUG: ADB device found:
DEBUG:     -->   (usb)              5F56C44D            device  NoteAir2P
DEBUG:         (tcpip)    <IP_ADDRESS>:5555            device  NoteAir2P
DEBUG: Device serial: 5F56C44D
DEBUG: Using server (portable): C:\Users\0\main.syncthing\monochrome\apps\scrcpy-win64-v2.0\scrcpy-server
C:\Users\0\main.syncthing\monochrome\apps\scrcpy-win64-v2.0\scrcpy...erver: 1 file pushed, 0 skipped. 93.8 MB/s (52867 bytes in 0.001s)
[server] INFO: Device: ONYX NoteAir2P (Android 11)
DEBUG: Server connected
DEBUG: Starting controller thread
DEBUG: Starting receiver thread
[server] DEBUG: Using encoder: 'OMX.qcom.video.encoder.avc'
[server] ERROR: Encoding error: android.media.MediaCodec$CodecException: Error 0xfffffff4
[server] INFO: newMaxSize = 1600
[server] INFO: Retrying with -m1600...
[server] INFO: Retrying...
INFO: Renderer: direct3d
DEBUG: Trilinear filtering disabled (not an OpenGL renderer)
DEBUG: Using icon (portable): C:\Users\0\main.syncthing\monochrome\apps\scrcpy-win64-v2.0\icon.png
DEBUG: Demuxer 'video': starting thread
INFO: Initial texture: 1400x1872
INFO: New texture: 1200x1600
DEBUG: User requested to quit
DEBUG: quit...
DEBUG: Demuxer 'video': end of frames
DEBUG: Receiver stopped
[server] DEBUG: Controller stopped
WARN: Killing the server...
DEBUG: Server disconnected
DEBUG: Server terminated

What is the behavior if you run with audio only (using #3978, merged on dev branch)?
scrcpy --no-video

I don’t have build routines setup yet, but I can probably get to it in the next two weeks and report back.

I'm interested :)

Just for the record, I had the same problem with an Onyx Boox Nova Air C, and using scrcpy --no-audio the extra window finally opened and I was able to cast video flawlessly.

Oh, it might be related to this line on Android 11 (that would explain why when audio is enabled it does not work):
https://github.com/Genymobile/scrcpy/blob/4ad74794255b7669a89c023afc7ae7a2c0da4dc3/server/src/main/java/com/genymobile/scrcpy/Server.java#L89

Could you also retry on current dev branch? (6ba99a62ff51c0ce209db78a9ed17f1633170027 merged on dev might help)


Void associated type for enum cases with empty parenthesis

Fixes issue #572

          1 Error

:no_entry_sign:
Any changes to library code need a summary in the Changelog.

  Generated by :no_entry_sign: Danger

I guess CircleCI hasn't been set up for Swift 4.1 and swift4_1 branch yet. Should I cherry pick my commits and make a PR to the master branch?


repeatable does not work if name includes brackets

Bug report
What I did
I used repeatable with a nested relationship property e.g. relationship.property and tried to add some rows
What I expected to happen
I expected the rows to be saved
What happened
The rows were not saved and after opening the developer tools console, a javascript error occured every time I pressed on the + button.
Uncaught Error: Syntax error, unrecognized expression: input[type=hidden][name=relationship[property]]
What I've already tried to fix it
The field_name should be escaped inside the repeatable.blade.php file.
A solution could be using jquery $.escapeSelector
Is it a bug in the latest version of Backpack?
After I run composer update backpack/crud the bug... is it still there?
It is still there
Backpack, Laravel, PHP, DB version
When I run php artisan backpack:version the output is:
PHP VERSION:
PHP 8.1.6 (cli) (built: May 12 2022 23:30:39) (NTS)
Copyright (c) The PHP Group
Zend Engine v4.1.6, Copyright (c) Zend Technologies
with Zend OPcache v8.1.6, Copyright (c), by Zend Technologies
LARAVEL VERSION:
v9.42.2@607d7867c93706eae20e28e46679f8a66e2a23ec
BACKPACK VERSION:
5.4.10@050b288caf2f60c79313f2b0b7d4fefd25177f3f

I have commited PRs on version prior to 5, but I haven't on the pro package before.
Could you please guide me or point me to some doc.
I have to mention also that https://mattstauffer.co/blog/how-to-contribute-to-an-open-source-github-project-using-your-own-fork  inside https://github.com/Laravel-Backpack/CRUD/blob/050b288caf2f60c79313f2b0b7d4fefd25177f3f/CONTRIBUTING.md no longer works.

Hello @kritsot thanks for the report. The only supported relationships with dot.notation as fields are HasOne and MorphOne.
They seem to be working fine on my side:

Any other relations you should define the attribute inside attribute field key.
I will have a look at the contributing issue and fix it too.
Let me know how it goes.
Cheers

OK, I now see that I didn't define it properly.
I refer to the case where we have relationship.property as the name of the repeatable and we  then have subfields (e.g ur).
The relationship is indeed a  hasOne relationship.
So during inspection the name of the field  for the first repetition is shown as
relationship[property][0][url]

I am sorry @kritsot I didn't fully understood what you meant. Is this solved and I can close it ?
You were using something like:
[
    'name' => 'relation.attribute',
    'subfields' => []
]

?
That's not possible I am afraid. You either don't use subfields and define the HasOne/MorphOne with relation.field1, relation.field2 (two separate fields), or use the subfields => [[field1],[field2]]
Let me know if I can help you with something else.
Cheers

@pxpm no this is not solved.
I have already implemented a solution
and if I understand your proposal correctly, I follow the second approach  you suggested
subfields => [[field1],[field2]]
I have already implemented the save functionality with custom code, and I have patched the repeatable code with some minor changes.
For my custom business code to work, however there must be support inside the repeatable field for the name to be escaped.
I attach the patch here, till I find a way to contribute to the private pro repo and submit a PR.
The change I suggest is (using )
$.escapeSelector(field_name) instead of field_name
and this does not  create any backwards compatibility issues
--- /dev/null
+++ ../resources/views/fields/repeatable.blade.php
@@ -161,7 +161,7 @@

             var field_name = element.attr('name');

-            var container_holder = $('[data-repeatable-holder="'+field_name+'"]');
+            var container_holder = $('[data-repeatable-holder="'+$.escapeSelector(field_name)+'"]');

             var init_rows = Number(container_holder.attr('data-init-rows'));
             var min_rows = Number(container_holder.attr('data-min-rows'));
@@ -170,7 +170,7 @@
             // make a copy of the group of inputs in their default state
             // this way we have a clean element we can clone when the user
             // wants to add a new group of inputs
-            var container = $('[data-repeatable-identifier="'+field_name+'"]').last();
+            var container = $('[data-repeatable-identifier="'+$.escapeSelector(field_name)+'"]').last();

             // make sure the inputs get the data-repeatable-input-name
             // so we can know that they are inside repeatable
@@ -187,11 +187,11 @@
                 newRepeatableElement(container_holder, field_group_clone);
             });

-            $('input[type=hidden][name='+field_name+']').first().on('CrudField:disable', function() {
+            $('input[type=hidden][name='+$.escapeSelector(field_name)+']').first().on('CrudField:disable', function() {
                 disableRepeatableContainerFields(container_holder);
             });

-            $('input[type=hidden][name='+field_name+']').first().on('CrudField:enable', function() {
+            $('input[type=hidden][name='+$.escapeSelector(field_name)+']').first().on('CrudField:enable', function() {
                 enableRepeatableContainerFields(container_holder);
             });

I have no concerns about escaping the selector before using it. So I say let's do it.
I will ping @tabacitu on how to approach this, either he need to give you access to PRO repo and you submit the PR (may not be feasible because it may exceed the contributors number and would required paying extra to add more people) , or I do it myself.
Thanks for the suggestion 👍

Not a prio though 👀 We're focused on finishing v5 bugs, then launching v6. Eyes on the prize! 🏆


Missing license

Hi,
we really would like to use this package but due to company policies this isn't possible without a license. When not choosing a license the default Github No license clause comes into action which prevents further use.
Could you please either add a license type to the package.json or commit a LICENSE file?

I just added the CC0 1.0 Universal License.

Thx


Mptt

use mptt for AttributeEntity
optimize sql queries for angular apps
rename full_title to label

Coverage decreased (-0.03%) to 85.399% when pulling 6a13d6bdee7541983f05505f8c7f90ca7981c1da on mptt into 0697f5ef629bb3d752ba74942a2d8c32310208e3 on master.


Read from global catchments file

while i was in there, i also cleaned up some refs to megabasins and basins that are now obolete and removed the vector data download step from the readme
open question: to speed up reads, do we want to use canonical bounds (eg bounds that match up with tiles?) we might read more data than we need, but caching could make things faster?

Approved!


Question - how to run this script?

Hi,
So far I could not run this script...
tried:

wizzair.php BFS VNO 2016-12-07 2016-12-09
= opens the file.

php wizzair.php BFS VNO 2016-12-07 2016-12-09
=

Using Parameters: BFS - VNO / 2016-12-07 - 2016-12-09
Fatal error: Uncaught Error: Class 'projectivemotion\WizzairScraper\Scraper' not found in E:\wizz air scraper\wizzair-scraper\demo\wizzair.php:32
Stack trace:
#0 {main}
  thrown in E:\wizz air scraper\wizzair-scraper\demo\wizzair.php on line 32

I installed by cloning the repo but Composer did not update due to
 [Composer\Exception\NoSslException]
  The openssl extension is required for SSL/TLS protection but is not available. If you can not enable the openssl e
  xtension, you can disable this error, at your own risk, by setting the 'disable-tls' option to true.

I think this script is outdated now. wizzair has released many api versions since the last commit. Not sure it is possible to use this script now.
But your error looks like not related to this problem.

You forgot to run composer update to download the dependencies. Closing.


PersistenceAdapter Serialization Issue

When saveDatabase is called, the persistence adapter is serialized in bulk.
This is a bit aggressive in situations that consumers will be implementing their own persistence adapter and injecting during instantiation of the LokiJS constructor. Custom adapters will have hooks to scopes that potentially aren't serializable (imagine it being backed by a bunch of web service apis that have request dependencies)
It is possible to avoid calling serialize on the entire adapter?
Thanks!
Todd

Wanted to call out that adapter implementer can provide toJSON() method (see https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/JSON/stringify#toJSON()_behavior)
But, wanted to keep the issue active to review if full serialization is actually necessary

Loki does not attempt to serialize the adapter reference itself.  We avoid this by using a serializeReplacer method and then passing that to JSON.serialize.
Link to relevant lines of code in lokijs.js

I actually just ran into this as well. The problem is because Loki still serializes its options that were passed into the constructor. If you pass an adapter in using options, it still gets serialized.
You can avoid this by setting loki.persistenceAdapter = yourAdapterInstance; after you've created your loki instance.
However, loki does serialize a bunch of other stuff it does not need to as well...

Ok it does seem as though we were leaving this in options (even while copying this to a separate loki level variable which actually does get nulled out).
As per commit comment, we should probably create loki level object containing all volatile options... options we do not want serialized.
Please pass on any other options you think we should remove from serialization and we can refactor them all (including existing db.persistenceAdapater reference) into such a 'volatileOptions' object.

Old issue and I assume this has been fixed, if not feel free to reopen.


[core] Replace Material-UI with MUI

I replaced all occurrences of Material-UI with MUI except the following:
index b9130ad1f4..164021f3a9 100644
--- a/.eslintignore
+++ b/.eslintignore
@@ -8,7 +8,7 @@
 /examples/preact/config
 /examples/preact/scripts
 # auto-generated by Framer
-/framer/Material-UI.framerfx/design/document.json
+/framer/MUI.framerfx/design/document.json
 /packages/mui-codemod/lib
 /packages/mui-codemod/src/*/*.test/*
 /packages/mui-icons-material/fixtures
diff --git a/.eslintrc.js b/.eslintrc.js
index b172f90d4a..0320f751c9 100644
--- a/.eslintrc.js
+++ b/.eslintrc.js
@@ -338,7 +338,7 @@ module.exports = {
       },
     },
     {
-      files: ['framer/Material-UI.framerfx/code/**/*.tsx'],
+      files: ['framer/MUI.framerfx/code/**/*.tsx'],
       rules: {
         // framer requires named exports
         'import/prefer-default-export': 'off',
diff --git a/README.md b/README.md
index cc3474700c..2382c3aca4 100644
--- a/README.md
+++ b/README.md
@@ -14,7 +14,7 @@ Quickly build beautiful [React](https://reactjs.org/) apps. MUI is a simple and
 [![npm downloads](https://img.shields.io/npm/dm/@mui/material.svg)](https://www.npmjs.com/package/@mui/material)
 [![CircleCI](https://img.shields.io/circleci/project/github/mui-org/material-ui/next.svg)](https://app.circleci.com/pipelines/github/mui-org/material-ui?branch=next)
 [![Coverage Status](https://img.shields.io/codecov/c/github/mui-org/material-ui/next.svg)](https://codecov.io/gh/mui-org/material-ui/branch/next)
-[![Follow on Twitter](https://img.shields.io/twitter/follow/MaterialUI.svg?label=follow+Material-UI)](https://twitter.com/MaterialUI)
+[![Follow on Twitter](https://img.shields.io/twitter/follow/MaterialUI.svg?label=follow+MUI)](https://twitter.com/MaterialUI)
 [![Renovate status](https://img.shields.io/badge/renovate-enabled-brightgreen.svg)](https://github.com/mui-org/material-ui/issues/27062)
 [![Average time to resolve an issue](https://isitmaintained.com/badge/resolution/mui-org/material-ui.svg)](https://isitmaintained.com/project/mui-org/material-ui 'Average time to resolve an issue')
 [![Crowdin](https://badges.crowdin.net/material-ui-docs/localized.svg)](https://translate.material-ui.com/project/material-ui-docs)
diff --git a/dangerfile.js b/dangerfile.js
index 2b0764c314..a61433b8ba 100644
--- a/dangerfile.js
+++ b/dangerfile.js
@@ -5,7 +5,7 @@ const { exec } = require('child_process');
 const { loadComparison } = require('./scripts/sizeSnapshot');

 const azureBuildId = process.env.AZURE_BUILD_ID;
-const azureBuildUrl = `https://dev.azure.com/mui-org/Material-UI/_build/results?buildId=${azureBuildId}`;
+const azureBuildUrl = `https://dev.azure.com/mui-org/MUI/_build/results?buildId=${azureBuildId}`;
 const dangerCommand = process.env.DANGER_COMMAND;

 const parsedSizeChangeThreshold = 300;
diff --git a/docs/pages/branding/about.tsx b/docs/pages/branding/about.tsx
index 3de62da1d3..bada409225 100644
--- a/docs/pages/branding/about.tsx
+++ b/docs/pages/branding/about.tsx
@@ -709,7 +709,7 @@ export default function About() {
     <BrandingProvider>
       <Head
         title="About Us - MUI"
-        description="MUI (formerly Material-UI) started back in 2014 to unify React and Material Design. Today, MUI has grown to become one of the world's most popular React libraries <E2><80><93> used by a vibrant community of more than 2M developers in over 180 countries."
+        description="MUI (formerly MUI) started back in 2014 to unify React and Material Design. Today, MUI has grown to become one of the world's most popular React libraries <E2><80><93> used by a vibrant community of more than 2M developers in over 180 countries."
       />
       <AppHeader />

diff --git a/docs/src/pages/company/contact/contact.md b/docs/src/pages/company/contact/contact.md
index 1beaa00ac1..2c24e61d0f 100644
--- a/docs/src/pages/company/contact/contact.md
+++ b/docs/src/pages/company/contact/contact.md
@@ -7,7 +7,7 @@ Please choose a topic below related to your inquiry:
 - [Help & Support](/getting-started/support/)
 - Email enquiries: [contact<EMAIL_ADDRESS> - Our address:

-  **Material-UI SAS**

+  **MUI SAS**

   128 Rue La Bo<C3><A9>tie

   75008 Paris

   France
diff --git a/docs/src/pages/landing/Quotes.js b/docs/src/pages/landing/Quotes.js
index d2ab22e8ed..ea28d4825c 100644
--- a/docs/src/pages/landing/Quotes.js
+++ b/docs/src/pages/landing/Quotes.js
@@ -21,7 +21,7 @@ const quotes = [
     username: '@aumitleon',
     tweet: 'https://twitter.com/aumitleon/status/1210396946566963200',
     quote:
-      'Material-UI continues to blow my mind how easily I can put together really aesthetic and functional components and minimize overhead.',
+      'MUI continues to blow my mind how easily I can put together really aesthetic and functional components and minimize overhead.',
   },
   {
     avatar: 'https://pbs.twimg.com/profile_images/1231452795368329216/GhjrxYH2',
@@ -45,7 +45,7 @@ const quotes = [
     username: '@MohamedELAYAD19',
     tweet: 'https://twitter.com/MohamedELAYAD19/status/1208118580430229504',
     quote:
-      "Such a great library. I have used Material-UI for the last two years as the main react ui library in my projects (in more than 4 companies!) and I find that it's really great! A lot of good work and dedication are put in there. Salute to the team!",
+      "Such a great library. I have used MUI for the last two years as the main react ui library in my projects (in more than 4 companies!) and I find that it's really great! A lot of good work and dedication are put in there. Salute to the team!",
   },
   {
     avatar: 'https://pbs.twimg.com/profile_images/1144184864754851840/WIVBqpWM',
@@ -53,7 +53,7 @@ const quotes = [
     username: '@matthiasmargot',
     tweet: 'https://twitter.com/matthiasmargot/status/1215482285681795072',
     quote:
-      'The DX on Material-UI is absolutely insane and that package has shaped my approach to Component API Design / Composition Design & Style System Design. I think those guys got it idiomatically right, wonderful product.',
+      'The DX on MUI is absolutely insane and that package has shaped my approach to Component API Design / Composition Design & Style System Design. I think those guys got it idiomatically right, wonderful product.',
   },
   {
     avatar: 'https://pbs.twimg.com/profile_images/1129370929409056769/Zkwjy9_I',
@@ -93,7 +93,7 @@ const quotes = [
     username: '@jimboolean',
     tweet: 'https://twitter.com/jimboolean/status/1276549134128943106',
     quote:
-      'Working with Material-UI is like working with an entire UI development team, minus the overhead. The theming tooling is simple and well-done. The components are common, customizable, and practical. <F0><9F><8F><86>',
+      'Working with MUI is like working with an entire UI development team, minus the overhead. The theming tooling is simple and well-done. The components are common, customizable, and practical. <F0><9F><8F><86>',
   },
   {
     avatar: 'https://pbs.twimg.com/profile_images/931358187793530880/C08Iv8_f',
diff --git a/framer/.prettierignore b/framer/.prettierignore
index 9a491997b3..6736b29a1e 100644
--- a/framer/.prettierignore
+++ b/framer/.prettierignore
@@ -1,4 +1,4 @@
-Material-UI.framerfx/design/*
-Material-UI.framerfx/build/*
-Material-UI.framerfx/dist/*
+MUI.framerfx/design/*
+MUI.framerfx/build/*
+MUI.framerfx/dist/*
 canvas.tsx
diff --git a/framer/Material-UI.framerfx/package.json b/framer/Material-UI.framerfx/package.json
index ca068b049e..bf1681b9bb 100644
--- a/framer/Material-UI.framerfx/package.json
+++ b/framer/Material-UI.framerfx/package.json
@@ -8,7 +8,7 @@
   "repository": {
     "type": "git",
     "url": "https://github.com/mui-org/material-ui.git",
-    "directory": "framer/Material-UI.framerfx"
+    "directory": "framer/MUI.framerfx"
   },
   "bugs": {
     "url": "https://github.com/mui-org/material-ui/issues"
diff --git a/framer/package.json b/framer/package.json
index 4bd149b332..214ca395a0 100644
--- a/framer/package.json
+++ b/framer/package.json
@@ -19,8 +19,8 @@
   },
   "scripts": {
     "build": "yarn build:core && yarn build:styles && yarn prettier",
-    "build:core": "cross-env BABEL_ENV=development babel-node --config-file ../babel.config.js ./scripts/buildFramer.js ../packages/mui-material/src ./Material-UI.framerfx/code",
-    "build:styles": "cross-env BABEL_ENV=development babel-node --config-file ../babel.config.js ./scripts/buildFramer.js ../packages/mui-styles/src ./Material-UI.framerfx/code",
+    "build:core": "cross-env BABEL_ENV=development babel-node --config-file ../babel.config.js ./scripts/buildFramer.js ../packages/mui-material/src ./MUI.framerfx/code",
+    "build:styles": "cross-env BABEL_ENV=development babel-node --config-file ../babel.config.js ./scripts/buildFramer.js ../packages/mui-styles/src ./MUI.framerfx/code",
     "prettier": "prettier --write --config ../prettier.config.js ./**/*.{js,tsx}",
     "typescript": "tsc -p tsconfig.json"
   }
diff --git a/framer/tsconfig.json b/framer/tsconfig.json
index b5b0379736..e363892d34 100644
--- a/framer/tsconfig.json
+++ b/framer/tsconfig.json
@@ -4,5 +4,5 @@
     "skipLibCheck": true,
     "noUnusedLocals": true
   },
-  "include": ["Material-UI.framerfx/code", "types"]
+  "include": ["MUI.framerfx/code", "types"]
 }
diff --git a/scripts/copy-files.js b/scripts/copy-files.js
index 59e6a87e7e..85bc9599c2 100644
--- a/scripts/copy-files.js
+++ b/scripts/copy-files.js
@@ -119,7 +119,7 @@ async function prepend(file, string) {
 }

 async function addLicense(packageData) {
-  const license = `/** @license Material-UI v${packageData.version}
+  const license = `/** @license MUI v${packageData.version}
  *
  * This source code is licensed under the MIT license found in the
  * LICENSE file in the root directory of this source tree.
  *

The changes of the translation files are reverted.

Regarding the license, the file that we can see at the top of https://unpkg.com/<EMAIL_ADDRESS>or https://unpkg.com/<EMAIL_ADDRESS>I think that we could consider this change:
 async function addLicense(packageData) {
-  const license = `/** @license Material-UI v${packageData.version}
+  const license = `/** @license MUI Core v${packageData.version}
  *
  * This source code is licensed under the MIT license found in the
  * LICENSE file in the root directory of this source tree.
  *

description="MUI (formerly MUI) ..."

This looks like a mistake.


layouts: include db/table description in index pages

https://github.com/simonw/datasette/discussions/1997

Hm, that particular example has very large descriptions. You probably want to truncate to the first period, or alternative pull a "short-description" from metadata.

This isn't really my strength, so not going to attempt anything.


[BUG] Password include "@" will failed

Command:
elasticdump --input=http://elastic:pa@ssword@localhost:9200/index --output=./result.json

ElasticDump version: 6.28.4
Elasticsearch version: 7.0+

Describe the bug
My es password is "pa@ssword", if set intput "pa@ssword", will get
Thu, 21 May 2020 06:44:29 GMT | starting dump
Thu, 21 May 2020 06:44:49 GMT | Error Emitted => getaddrinfo ENOTFOUND elastic elastic:80
Thu, 21 May 2020 06:44:49 GMT | Error Emitted => getaddrinfo ENOTFOUND elastic elastic:80
Thu, 21 May 2020 06:44:49 GMT | Total Writes: 0

May be '@' will split string.

Within the user and password field, any ":","@", or "/" must be encoded.


Fix 👻 minutes bug

Please provide a summary of the feature

will provide a better summary later
Are there any potential issues you foresee with this feature
Is this feature related to any current or past issues? Please provide the #
Additional context
Add any other context or screenshots about the feature request here.
If you're interested in working on this feature, please comment so you can be assigned

May I try to fix this bug?

May I try to fix this bug?

Yes. Do you need any further explanation on the issue? I can type it up if you're having trouble.

That would be helpful. At the moment, I am connected to a dummy server and that's not giving me the error that Eric described you guys were experiencing.

That would be helpful. At the moment, I am connected to a dummy server and that's not giving me the error that Eric described you guys were experiencing.

Rascal believes this issue appears with how we're parsing the event object. Currently we are using parseISO for the dates, when we should be using parseJSON. Tagging @rascalTwo for visibility.

That would be helpful. At the moment, I am connected to a dummy server and that's not giving me the error that Eric described you guys were experiencing.

Rascal believes this issue appears with how we're parsing the event object. Currently we are using parseISO for the dates, when we should be using parseJSON. Tagging @RascalTwo for visibility.

@RascalTwo, @Caleb-Cohen and @intelagense how can I emulate this bug?

Good question. I was actually under the impression that all the dates were off by at least a few seconds, but when I changed return format(isoDate, 'p') in the formatToLocalTime inclient/utilities/src/utilitiestoreturn format(isoDate, 'pp')` I'm not seeing the expected errors in seconds.
I'm not sure how to reproduce this error.

Wild guess:
I'm under the impression that, that one specific Mongo document/event that caused the ghost bug might had been an outdated document that was submitted through an old interation of the frontend form?
Probably best to archive this issue until the bug resurface again when 100Devs member uses the application.

Not reproducible closing now.


Deploy application to Digital Ocean.

Do all work for this task in a branch called issue-1

Start by creating meteor app named "proftcg"

Deployed at http://<IP_ADDRESS>/


Update scala-collection-compat to 2.7.0

Updates org.scala-lang.modules:scala-collection-compat from 2.6.0 to 2.7.0.
GitHub Release Notes - Version Diff
I'll automatically update this PR to resolve conflicts as long as you don't change it yourself.
If you'd like to skip this version, you can just close this PR. If you have any feedback, just mention me in the comments below.
Configure Scala Steward for your repository with a .scala-steward.conf file.
Have a fantastic day writing Scala!

Ignore future updates
Add this to your .scala-steward.conf file to ignore future updates of this dependency:
updates.ignore = [ { groupId = "org.scala-lang.modules", artifactId = "scala-collection-compat" } ]

labels: library-update, early-semver-minor, semver-spec-minor, commit-count:1

Codecov Report

Merging #1058 (5d7383f) into develop (94eaa07) will decrease coverage by 0.04%.
The diff coverage is n/a.

@@             Coverage Diff             @@
##           develop    #1058      +/-   ##
===========================================
- Coverage    89.55%   89.51%   -0.05%
===========================================
  Files          124      124
  Lines         9957     9957
  Branches       501      501
===========================================
- Hits          8917     8913       -4
- Misses        1040     1044       +4

Impacted Files
Coverage Δ

.../main/scala/com/twitter/algebird/Successible.scala
83.33% <0.00%> (-8.34%)
:arrow_down:

...main/scala/com/twitter/algebird/monad/Reader.scala
52.94% <0.00%> (-5.89%)
:arrow_down:

...src/main/scala/com/twitter/algebird/Interval.scala
74.78% <0.00%> (-2.61%)
:arrow_down:

.../main/scala/com/twitter/algebird/Approximate.scala
88.70% <0.00%> (-1.62%)
:arrow_down:

...re/src/main/scala/com/twitter/algebird/QTree.scala
78.57% <0.00%> (-1.20%)
:arrow_down:

.../main/scala/com/twitter/algebird/BloomFilter.scala
93.80% <0.00%> (-0.45%)
:arrow_down:

.../main/scala/com/twitter/algebird/HyperLogLog.scala
90.04% <0.00%> (+0.43%)
:arrow_up:

...ain/scala/com/twitter/algebird/AdaptiveCache.scala
78.37% <0.00%> (+5.40%)
:arrow_up:

...in/scala/com/twitter/algebird/scalacheck/Gen.scala
100.00% <0.00%> (+8.33%)
:arrow_up:

...main/scala-2.12-/com/twitter/algebird/compat.scala
83.33% <0.00%> (+16.66%)
:arrow_up:

Continue to review full report at Codecov.

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


BUG:new here / sign up now button when screen size is reduced

Is there an existing issue for this?

[X] I have searched the existing issues

What went down?
when screen size is reduced then new here/ sign up now is not in position
https://github.com/mdazfar2/HelpOps-Hub/assets/159682348/4c8b4c39-8920-4706-969b-3c916d6a3e80
Record

[X] I agree to follow this project's Code of Conduct
[X] I'm a GSSOC'24 contributor
[ ] I'm a VSoC'24 contributor
[X] I want to work on this issue

@mdazfar2 please assign me

@ANKeshri go ahead


Boomer panics if the spawn rate is smaller than number of boomers connected to master

Describe the bug
If the number of workers is bigger than the user spawn rate on the master node, then some workers will panic and exit
To Reproduce
Steps to reproduce the behavior:

Start locust master
build a boomer worker out of example
connect 4 boomer workers to master
start test on master, select 50 users and between 1 to 3 users spawn rate

Expected behavior
Workers won't panic
Screenshots
worker_2  | panic: close of nil channel
worker_2  |
worker_2  | goroutine 23 [running]:
worker_2  | github.com/myzhan/boomer.(*runner).stop(0xc0000b2340)
worker_2  | 	/go/pkg/mod/github.com/myzhan/boomer@v1.6.1-0.20211029022911-e3671f206d48/runner.go:218 +0x51
worker_2  | github.com/myzhan/boomer.(*slaveRunner).onMessage(0xc0000b2340, {0x6ef1c0, 0xc000182870})
worker_2  | 	/go/pkg/mod/github.com/myzhan/boomer@v1.6.1-0.20211029022911-e3671f206d48/runner.go:394 +0x58a
worker_2  | github.com/myzhan/boomer.(*slaveRunner).startListener.func1()
worker_2  | 	/go/pkg/mod/github.com/myzhan/boomer@v1.6.1-0.20211029022911-e3671f206d48/runner.go:426 +0x37
worker_2  | created by github.com/myzhan/boomer.(*slaveRunner).startListener
worker_2  | 	/go/pkg/mod/github.com/myzhan/boomer@v1.6.1-0.20211029022911-e3671f206d48/runner.go:422 +0x5b
Environment (please complete the following information):

OS: Ubuntu though workers are running on docker scratch, built on alpine.
Go Version: 1.17

Additional context
I've set up a cluster using docker-compose based on the locust samples, and embed workers inside a scratch based dockerimage, then starting them using docker-compose

Yes, it's a known issue and has been fixed after #139 is merged. Please update boomer.


[otbn] Allow an insn to have ops without a space after the mnemonic

This is used by mulqacc, which has an optional .z suffix that says to
zero the accumulator.
This patch isn't particularly interesting, just improving the
documentation spacing slightly. But the information is also needed by
an assembler, which needs to know what the mnemonic "bn.mulqacc.z"
means.

Note: the CI failure seems to be something completely unrelated to OTBN. Not sure what's going on there.

Note: the CI failure seems to be something completely unrelated to OTBN. Not sure what's going on there.

I did retrigger the failing runs, it helped in another run. Let's see if it persists.


Add some improvements from 1.03

Would it be possible to port some of the bugfixes of 1.03 back to this 1.02 source code?
For example, the following two bugs (which are probably already fixed in 1.03)

Friend room race random track selection forces random for the whole GP
Track selection does not "keep" selected track, but always jumps to the last played track
Create a lap count & speed mod patch for CTGP1.02

there are plans made for this afaik


Would I be banned if I only used LevelHelper?

Is it real ? Like is it no virus ?

Yes. You will be banned.


language?

where can i change language or texts like "players alive"?

You can currently do this by creating a theme; specifically by copying the respective .html file that contains the text you'd like to replace into your theme and updating the text in there.
Hoping to eventually make this easier (tracked in #118).


chore: added support for symfony/console:7

Pull Request Test Coverage Report for Build<PHONE_NUMBER>
Details

0 of 0   changed or added relevant lines in 0 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage remained the same at 48.251%

Totals

Change from base Build<PHONE_NUMBER>:
0.0%

Covered Lines:
331

Relevant Lines:
686

💛  - Coveralls


Ockam Release 20-09-2022

Ockam release

Closing because this failed https://github.com/build-trust/ockam/actions/runs/3094253365
Fixing in #3500


Eager not working with CITEXT columns (PostgreSQL)

Hi!
I've two tables that are related by columns with CITEXT type (PostgreSQL case insensitive text extension) with this scenario:
Table1
id: id1
name: test
Table2
id: someOtherId
table1Id: ID1
This operation produces the eager result with null:
  const result = await Model
    .query()
    .eager('table1')
    .where('name', 'test');

But if the eager algorithm is set to JoinEagerAlgorithm the results are the expected.
With the WhereInEagerAlgorithm  and the NaiveEagerAlgorithm  algorithms seems to have some kind of code verification that ignores the results if the columns don't match (id1 !== ID1) but the match is valid in the SQL engine.

What?

I've found the problem.
In /lib/relations/RelationFindOperation.js, onAfter2 function:
The result of
const key = this.relation.relatedProp.propKey(rel);
it's different from
const key = this.relation.ownerProp.propKey(own);
because, in fact, they are different. From the example above the result would be k_id1 and k_ID1.
This is a special case where the database is case-insensitive. Any solution?

The cases match in the db since the column is case insensitive. I'm using JoinEagerAlgorithm to hotfix the problem but I think this could be a problem in the future.

Using citext for foreign key constraints seems slightly problematic, if that's what's going on here. Why do this?

That's the case. In MySQL with a case-insensitive collation, wouldn't be the same problem?

Sorry, to clarify, why not use integers (or unsigned integers in MySQL) as id columns? I'm not sure of the benefits of using a text column that literally says id<someNumber>.

That was just an example. In my case I have primary keys that are codes, they need to be string values. One entry on the related table was introduced with uppercase and I've flagged this "error". I've corrected the data and everything is working.

gotcha, 👍


videos run on background tabs will pause when click on another tab

videos run on background tabs will pause when click on another tab, and run again later.
any way avoid that?

It may be can't.
It is webview's behavior.
Please tell me if you know a browser that will act your desired behavior.


"Soulbound" incompatibility with /KeepInventory true

When die using /KeepInventory and having item with Soulbound enchantment in inventory
Item just disappears after death and rebirth.

This was a known bug that I was planning to address in the last release but just forgot lol, thanks for bringing it up


Replace cron

What this PR does:

Upgrade sidekiq
Add the sidekiq-scheduler gem to define recurrent jobs
Remove sidekiq initializer which adds a namespace and the new version of sidekiq no longer depends on the redis-namespace gem and the author of sidekiq doesn't recommend using namespaces.
Add the new worker UpdatesSynchronizerWorker  that will run at 8 and 11 pm everyday
Add the dotenv-rails gem as a helper when using env variables.
Add a sample.env file to serve as a sample of the required env variables.
Configured development environment to sent emails through mailcatcher.

Notes
More info on why a namespace is not a good idea when using
redis:http://www.mikeperham.com/2015/09/24/storing-data-with-redis
Sidekiq by default, tries to connect to Redis at localhost:6379 so there is no need during development to define the url but in production we can set the env var REDIS_PROVIDER and sidekiq will use this as the Redis server url.

@theharq could we rebase this one?


Some small but important step towards better contributor experience

Is your feature request related to a problem? Please describe.
There is no way to recognize which feature has been completed or on which feature someone is currently working, etc.
Describe the solution you'd like
Kindly put assignee tags and close the completed features so that it becomes easier for new individuals to get mingled.
Describe alternatives you've considered
I think currently there is no automation bot here to manage tasks that can be automated. I would love to see such a bot preferably prow here as it would make things easier for both the maintainers and the contributors alike.
┆Issue is synchronized with this Jira Task by Unito

Thank you for your suggestion.  I'm not sure how difficult it is to use Prow outside of K8.
Do you know of any other github action solutions?  We should have an auto close bot and I think generally we need to cleanup issues.

Yes, it can be used. In fact, a lot of CNCF projects use Prow. You just need some infra to spin it up along with some configuration files. For basic prow bot. I can give you a helping hand.

@sbdtu5498
I think it's good idea

I think the infra may be an issue at the moment for us.  We would encourage adding a github actions that could close stale issues.
I think generally we try to assign tickets to people as they work on it.

Sure that would be great either. Then adding action for assigning tasks and tracking issues' progress in the sense that whether they are being worked upon or not would be enough for the time being

Also, right now the improvement steps for Armada are being taken by the core team, and thus almost every issue is probably well sought and needs to be resolved. But as soon as the adaptability of the project would increase folks would open some bugs that might be because of some misconfiguration instead. So for that, I think some comment based github action support to add tags such as bugs, etc. by anyone and  triage-accepted and priority-based tags by the maintainers would be a great addition as well.

Agreed!
if anyone wants to play around with startle issues, https://docs.github.com/en/actions/managing-issues-and-pull-requests/closing-inactive-issues

I am less convinced the repo is active enough that this is needed. Closing for now.


Wrong selected NSDate

Hi guys . Thanks for a great calendar.
I've faced with issue that delegate returns me wrong date in

(void)didSelectDatesWithStartDate:(NSDate *)startDate endDate:(NSDate *)endDate {
For example if 2016-11-17 selected,  it returns 2016-11-16 22:00:00 +0000.

What might be a problem ?
Thanks.

Ok, first thing. What version of the calendar are you using?
the didSelectDate function looks like this
func calendar(_ calendar: JTAppleCalendarView, didSelectDate date: Date, cell: JTAppleDayCellView?, cellState: CellState)

I also have the same problem, I'm using version 5.0.1 (just because our project can't migrate to swift 3.0 yet). Can you please check where I can edit the library so we can get the correct date? And thanks for the great calendar!

@haketputek join me here https://gitter.im/patchthecode/JTAppleCalendar

I'm using 6.01. Application is on Objective C, so I created a bridge.
didSelectDate looks like this

(void)didSelectDatesWithStartDate:(NSDate *)startDate endDate:(NSDate *)endDate

sounds like youre in an eastern region.
@dbyst ok, use the following as the calendar that you provide to the configureCalendar function.
var calendar = Calendar.current
calendar.timeZone = TimeZone(secondsFromGMT: 0)

This bug was fixed
To test the master branch with your current project do this:
Go to your pod file, and change your JTAppleCalendar pod to this:
pod 'JTAppleCalendar', :git => 'https://github.com/patchthecode/JTAppleCalendar.git'

Then do a:
pod install

Sure, will take a look, and let you know. Thanks.

Alright then. Closing this issue as it is fixed.
If this is still a problem. We can re-open this.


[no-jira][risk=no] Fix npm install

Fix the npm install for the trivy action - with the latest ubuntu update, it was failing some dependencies

Have you read Terra's Contributing Guide lately? If not, do that first.
I, the developer opening this PR, do solemnly pinky swear that:

[ ] PR is labeled with a Jira ticket number and includes a link to the ticket
[ ] PR is labeled with a security risk modifier [no, low, medium, high]
[ ] PR describes scope of changes

In all cases:

[ ] Get a minimum of one thumbs worth of review, preferably 2 if enough team members are available
[ ] Get PO sign-off for all non-trivial UI or workflow changes
[ ] Verify all tests go green
[ ] Squash and merge; you can delete your branch after this
[ ] Test this change deployed correctly and works on dev environment after deployment

Thank you @JVThomas !

Thank you @JVThomas !


Update privacy policy

User Story
As a repository maintainer, I'd like for the privacy policy to accurately reflect the data usage of the project, so that users are properly informed about how their data is used.
Acceptance Criteria

The privacy policy is relevant to this project and uses its name (Roll For Reaction, not React RPG)
The privacy policy has undergone review, and any statements not relevant to Roll For Reaction have been removed

Notes

The first thing to determine is whether or not we need to use react-ga, as it's Google Analytics. I'll have a look into if I can determine why it was added upstream.

So, browsing through the history for package.json shows that react-ga was added in 994840e5cea037328f39b3a87fd550291b9641a4 upstream. From what I can tell, this simply registers that the page was opened.
In our branch, it was removed from everything but package.json in d4f5a813ef34e33acee30a570386112446dccff8.
I'll build it locally without react-ga in package.json to see if it's possible to remove completely. If so, as far as I'm aware that's the only item of ours that is privacy related. That may change if we decide to store anything server side regarding multiplayer.


Fine grained local storage

Don't save everything each time something small changes, separate each state attribute into its own key.

Not relevant anymore


add patron-api lookup for both barcode and shib logins

look up p-type on user-barcode for annex requesting -- b.b. will give me those p-types

barcode login implemented in commit https://github.com/birkin/easyrequest_project/commit/0d933d6ae29d67b0393c863fc669cafe75acd489.

closing this issue, will ad p-type lookup as another issue.


Images are not working in the build with pro license and getting white screen everywhere

Bug description
Recently problem starting to occur, while building with personal license all things are working properly. However, when I use pro license to make build for release it just doesn't show images and everything is white. Build configuration for build with personal license and pro license are exactly the same, just different licensing method. Build type is IL2CPP, using unity builder tag v2 and unity version 2019.4.10f. I've slightly modified default build script to change some configuration from build flavor.
How to reproduce
    - name: Build Unity Project
      id: build
      uses: game-ci/unity-builder@v2
      env:
        UNITY_EMAIL: ${{ secrets.UNITY_EMAIL }}
        UNITY_PASSWORD: ${{ secrets.UNITY_PASSWORD }}
        UNITY_SERIAL: ${{ secrets.UNITY_SERIAL }}
        # UNITY_LICENSE: ${{ secrets.UNITY_PERSONAL_LICENSE }}
      with:
        unityVersion: ${{ env.UNITY_VERSION }}
        targetPlatform: Android
        versioning: None
        buildMethod: UnityBuilderAction.Builder.BuildProject
        buildName: ${{ format('SignedProduction_{0}', env.ANDROID_VERSION_CODE) }}
        androidVersionCode: ${{ env.ANDROID_VERSION_CODE }}
        androidAppBundle: false
        androidKeystoreName: App.keystore
        androidKeystoreBase64: ${{ secrets.ANDROID_SIGN_BASE64 }}
        androidKeystorePass: ${{ secrets.ANDROID_SIGN_PASS }}
        androidKeyaliasName: ${{ secrets.ANDROID_SIGN_ALIAS }}
        androidKeyaliasPass: ${{ secrets.ANDROID_SIGN_ALIAS_PASS }}
        customParameters: '-flavor Production'

Expected behavior
Builds with pro license should also work the same as it is working with personal license.
Additional details

I was using the same code in the past and it worked perfectly untill last week. It is strange that it is working well with personal license. I didn't find anything other that can break the build.

Did you find any indicators that pointed to a possible cause for this?
Images are in fact working with the pro license. It would be very helpful if we can somehow collect some information about under which circumstances it does not work for private license, and what the errors are exactly.
Could you also try to describe the problem itself in a bit more detail? You switched from personal to professional license and it broke. But there are many cases where it "just works".
Closing this until there's more clarity about what's going wrong.

Sorry, I totally forgot to follow up. I found the cause of the isssue. The environment where I was making builds, git lfs was disabled for some reason. As soon as I reconfigured it, everything was working fine.
Hope this helps someone!


chore(Dropdown): remove deprecated lifecycle methods

Fixes #3919.
This PR removes AutoControlledComponent & removes the usage of deprecated lifecycle methods from Dropdown.

Codecov Report

Merging #3986 into master will decrease coverage by 0.00%.
The diff coverage is 100.00%.

@@            Coverage Diff             @@
##           master    #3986      +/-   ##
==========================================
- Coverage   99.84%   99.84%   -0.01%
==========================================
  Files         181      183       +2
  Lines        3168     3157      -11
==========================================
- Hits         3163     3152      -11
  Misses          5        5

Impacted Files
Coverage Δ

src/modules/Dropdown/Dropdown.js
100.00% <100.00%> (ø)

src/modules/Dropdown/utils/getMenuOptions.js
100.00% <100.00%> (ø)

src/modules/Dropdown/utils/getSelectedIndex.js
100.00% <100.00%> (ø)

Continue to review full report at Codecov.

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


Using a query key that contains a hyphen raises a SyntaxError

What version of Elysia.JS is running?
0.8.15
What platform is your computer?
Darwin 23.1.0 x86_64 i386
What steps can reproduce the bug?
import { Elysia, t } from 'elysia'

const app = new Elysia()
  .get('/', ({ query }) => query['key-with-hyphen'], {
    query: t.Object({
      'key-with-hyphen': t.String(),
    }),
  })
  .listen(3000)

What is the expected behavior?
To be able to use query keys that contain hyphens.
What do you see instead?
I receive the following error:
SyntaxError: Unexpected token '-'. Expected a ':' following the property name 'key'.
Additional information
The error still occurs even if the query value isn't accessed within the route handler. Example:
import { Elysia, t } from 'elysia'

const app = new Elysia()
  .get('/', () => 'Hello', {
    query: t.Object({
      'key-with-hyphen': t.String(),
    }),
  })
  .listen(3000)

I also tested using a similar syntax with TypeBox to see if it was an issue with TypeBox, but the below example worked without any errors.
import { Type } from '@sinclair/typebox'
import { Value } from '@sinclair/typebox/value'

const T = Type.Object({ 'key-with-hyphen': Type.String() })

console.log(Value.Check(T, { 'key-with-hyphen': 'this is a test' }))

Same problem with dots


Use SemVer version number for Helm chart

Is this a BUG REPORT or FEATURE REQUEST?:

Uncomment only one, leave it on its own line:

/kind bug

/kind feature

What happened:
Helm chart is not using a SemVer version number.
What you expected to happen:
The version number of the helm chart should be SemVer as suggested in:
https://github.com/kubernetes/helm/blob/master/docs/chart_best_practices/conventions.md#version-numbers
How to reproduce it (as minimally and precisely as possible):
Just have a look at the Chart.yaml:
https://github.com/kubernetes/charts/blob/master/stable/cert-manager/Chart.yaml#L2
Anything else we need to know?:
https://github.com/kubernetes/charts/pull/6097
Environment:

Kubernetes version (use kubectl version): 1.9.x
Cloud provider or hardware configuration**: GKE
Install tools: Helm 2.9.1
Others:

I'd really like to see this sort of thing checked and failed by helm lint. As it stands, it seems pretty undefined whether or not it's acceptable. I've previously asked in helm-users, and there was little objection a 'v' prefix. It was added mostly for consistency with our own version numbers which also have the prefix (although that said, it isn't that important to me either way).
Here is the relevant block in Helm where lint is run, and the underlying Masterminds/semver library is permissive and will parse a semver with a 'v' prefix just fine: https://github.com/kubernetes/helm/blob/master/pkg/lint/rules/chartfile.go#L91
Can we get the upstream docs clarified either way, and the behaviour of helm lint updated to reflect this?
Happy to follow whatever is recommended by upstream, but I do believe if the Helm project has a best practice, it should be clear (and preferably enforced by tooling).

I've hit an issue deploying the cert-manager chart using Octopus Deploy due to this.
Octopus Deploy enforces strict semver 2, so it is unable to load the cert-manager helm chart due to the v in the version number.
I had a look at the upstream helm lint code and Masterminds/semver repo and I can see it does allow the v, and I can imagine changing this could be a breaking change for a lot of people, however semver docs do say that the v should not be included;
https://semver.org/#is-v123-a-semantic-version
Given that it's a relatively simple change and should be non-breaking, can this be fixed?


[Don't merge][Review] A solution to prevent zombie containers locally and in CI

Description
This PR adds mechanisms on the build scripts to cleanup docker containers when there is a cancellation, either from the user by sending SIGINT / SIGTERM or when the process inside the container ends with an error.
It also propagates the environment variables from Jenkins which are used by the process tree killer to identify runaway processes so processes inside the container are killed when the Jenkins job is stopped.
With this patch we catch SIGINT and SIGTERM and install a handler on atexit which cleans (stops) docker containers which were created during execution of the build.
We also switch to python docker API for better management of running containers.
@aaronmarkham @marcoabreu @lebeg @KellenSunderland
Checklist
Essentials
Please feel free to remove inapplicable items for your PR.

[x] The PR title starts with [MXNET-$JIRA_ID], where $JIRA_ID refers to the relevant JIRA issue created (except PRs with tiny changes)
[x] Changes are complete (i.e. I finished coding on this PR)
[x] All changes have test coverage:
Unit tests are added for small changes to verify correctness (e.g. adding a new operator)
Nightly tests are added for complicated/long-running ones (e.g. changing distributed kvstore)
Build tests will be added for build configuration changes (e.g. adding a new build option with NCCL)
[x] Code is well-documented:
For user-facing API changes, API doc string has been updated.
For new C++ functions in header files, their functionalities and arguments are documented.
For new examples, README.md is added to explain the what the example does, the source of the dataset, expected performance on test set and reference to the original paper if applicable
Check the API doc at http://mxnet-ci-doc.s3-accelerate.dualstack.amazonaws.com/PR-$PR_ID/$BUILD_ID/index.html
[x] To the my best knowledge, examples are either not affected by this change, or have been fixed to be compatible with this change

@mxnet-label-bot: [pr-awaiting-review]

Can you provide any usage/testing info?
What would be a good way to try this out locally: break/bite something and turn it into a zombie, and then kill it?

Depends on PR https://github.com/apache/incubator-mxnet/pull/12296

Made the change smaller with @KellenSunderland in a different PR: https://github.com/apache/incubator-mxnet/pull/12336


Be more flexible for instance type

Is this a BUG REPORT or FEATURE REQUEST?:

Uncomment only one, leave it on its own line:
/kind bug

/kind feature
What happened:
At this moment in tarmak.yaml, we can only provide small, medium, large, ...
What you expected to happen:
I would expect we can specify a specific AWS instance like c5.large. This makes tarmak more tweakable for end-user.
For master I would do a check that we don't launch instances that are too small to run everything (eg t2.nano, t2.micro, ...). A sensible default should also be set.
Especially for masters we should make this tweakable. People have totally different workloads (eg memory, cpu, gpu, ...)
How to reproduce it (as minimally and precisely as possible):
 tarmak init
Anything else we need to know?:
Environment:

Kubernetes version (use kubectl version):
Cloud provider or hardware configuration**:
Install tools:
Others:

/assign


Add zach boman as copyright holder in 2020 with MIT license

Potential license for distribution
#33

@zack-pronto no problem. I appreciate the promptness. What's the process to bump the version and release it to npm?


Preserve policyID when navigating to canned search queries

Details

previously when building a "canned Search" we would only use static, hardcoded type and status
with this PR we will now preserve policyID if it was chosen via Workspace Switcher and when navigating to a canned search the policyID will not be reset

Fixed Issues

$ https://github.com/Expensify/App/issues/49637
PROPOSAL:
Tests

go to Search
select a policy using workspace switcher
check that when clicking on LHN canned search buttons (expense, trips, chats) and on Status Nav buttons (All, draft, unread etc) the workspace switcher is not reset to all

Offline tests

QA Steps

go to Search
select a policy using workspace switcher
check that when clicking on LHN canned search buttons (expense, trips, chats) and on Status Nav buttons (All, draft, unread etc) the workspace switcher is not reset to all

PR Author Checklist

[x] I linked the correct issue in the ### Fixed Issues section above
[x] I wrote clear testing steps that cover the changes made in this PR

[x] I added steps for local testing in the Tests section
[x] I added steps for the expected offline behavior in the Offline steps section
[x] I added steps for Staging and/or Production testing in the QA steps section
[x] I added steps to cover failure scenarios (i.e. verify an input displays the correct error message if the entered data is not correct)
[x] I turned off my network connection and tested it while offline to ensure it matches the expected behavior (i.e. verify the default avatar icon is displayed if app is offline)
[x] I tested this PR with a High Traffic account against the staging or production API to ensure there are no regressions (e.g. long loading states that impact usability).

[x] I included screenshots or videos for tests on all platforms
[x] I ran the tests on all platforms & verified they passed on:

[x] Android: Native
[x] Android: mWeb Chrome
[x] iOS: Native
[x] iOS: mWeb Safari
[x] MacOS: Chrome / Safari
[x] MacOS: Desktop

[x] I verified there are no console errors (if there's a console error not related to the PR, report it or open an issue for it to be fixed)
[x] I followed proper code patterns (see Reviewing the code)

[x] I verified that any callback methods that were added or modified are named for what the method does and never what callback they handle (i.e. toggleReport and not onIconClick)
[x] I verified that the left part of a conditional rendering a React component is a boolean and NOT a string, e.g. myBool && <MyComponent />.
[x] I verified that comments were added to code that is not self explanatory
[x] I verified that any new or modified comments were clear, correct English, and explained "why" the code was doing something instead of only explaining "what" the code was doing.
[x] I verified any copy / text shown in the product is localized by adding it to src/languages/* files and using the translation method

[x] If any non-english text was added/modified, I verified the translation was requested/reviewed in #expensify-open-source and it was approved by an internal Expensify engineer. Link to Slack message:

[x] I verified all numbers, amounts, dates and phone numbers shown in the product are using the localization methods
[x] I verified any copy / text that was added to the app is grammatically correct in English. It adheres to proper capitalization guidelines (note: only the first word of header/labels should be capitalized), and is either coming verbatim from figma or has been approved by marketing (in order to get marketing approval, ask the Bug Zero team member to add the Waiting for copy label to the issue)
[x] I verified proper file naming conventions were followed for any new files or renamed files. All non-platform specific files are named after what they export and are not named "index.js". All platform-specific files are named for the platform the code supports as outlined in the README.
[x] I verified the JSDocs style guidelines (in STYLE.md) were followed

[x] If a new code pattern is added I verified it was agreed to be used by multiple Expensify engineers
[x] I followed the guidelines as stated in the Review Guidelines
[x] I tested other components that can be impacted by my changes (i.e. if the PR modifies a shared library or component like Avatar, I verified the components using Avatar are working as expected)
[x] I verified all code is DRY (the PR doesn't include any logic written more than once, with the exception of tests)
[x] I verified any variables that can be defined as constants (ie. in CONST.js or at the top of the file that uses the constant) are defined as such
[x] I verified that if a function's arguments changed that all usages have also been updated correctly
[x] If any new file was added I verified that:

[x] The file has a description of what it does and/or why is needed at the top of the file if the code is not self explanatory

[x] If a new CSS style is added I verified that:

[x] A similar style doesn't already exist
[x] The style can't be created with an existing StyleUtils function (i.e. StyleUtils.getBackgroundAndBorderStyle(theme.componentBG))

[x] If the PR modifies code that runs when editing or sending messages, I tested and verified there is no unexpected behavior for all supported markdown - URLs, single line code, code blocks, quotes, headings, bold, strikethrough, and italic.
[x] If the PR modifies a generic component, I tested and verified that those changes do not break usages of that component in the rest of the App (i.e. if a shared library or component like Avatar is modified, I verified that Avatar is working as expected in all cases)
[x] If the PR modifies a component related to any of the existing Storybook stories, I tested and verified all stories for that component are still working as expected.
[x] If the PR modifies a component or page that can be accessed by a direct deeplink, I verified that the code functions as expected when the deeplink is used - from a logged in and logged out account.
[x] If the PR modifies the UI (e.g. new buttons, new UI components, changing the padding/spacing/sizing, moving components, etc) or modifies the form input styles:

[x] I verified that all the inputs inside a form are aligned with each other.
[x] I added Design label and/or tagged @Expensify/design so the design team can review the changes.

[x] If a new page is added, I verified it's using the ScrollView component to make it scrollable when more elements are added to the page.
[x] If the main branch was merged into this PR after a review, I tested again and verified the outcome was still expected according to the Test steps.

Screenshots/Videos

Android: Native
https://github.com/user-attachments/assets/cf1a2d5d-bc28-4361-85cf-c3e08dfe919d

Android: mWeb Chrome

iOS: Native
https://github.com/user-attachments/assets/7040a85c-eecc-4b2d-89ef-319fa6c5bacf

iOS: mWeb Safari

MacOS: Chrome / Safari
https://github.com/user-attachments/assets/dd6d94e7-af61-4e40-8b56-321a8b1a87cc

MacOS: Desktop

yea eta 30 mins

Reviewer Checklist

[ ] I have verified the author checklist is complete (all boxes are checked off).
[ ] I verified the correct issue is linked in the ### Fixed Issues section above
[ ] I verified testing steps are clear and they cover the changes made in this PR

[ ] I verified the steps for local testing are in the Tests section
[ ] I verified the steps for Staging and/or Production testing are in the QA steps section
[ ] I verified the steps cover any possible failure scenarios (i.e. verify an input displays the correct error message if the entered data is not correct)
[ ] I turned off my network connection and tested it while offline to ensure it matches the expected behavior (i.e. verify the default avatar icon is displayed if app is offline)

[ ] I checked that screenshots or videos are included for tests on all platforms
[ ] I included screenshots or videos for tests on all platforms
[ ] I verified tests pass on all platforms & I tested again on:

[ ] Android: Native
[ ] Android: mWeb Chrome
[ ] iOS: Native
[ ] iOS: mWeb Safari
[ ] MacOS: Chrome / Safari
[ ] MacOS: Desktop

[ ] If there are any errors in the console that are unrelated to this PR, I either fixed them (preferred) or linked to where I reported them in Slack
[ ] I verified proper code patterns were followed (see Reviewing the code)

[ ] I verified that any callback methods that were added or modified are named for what the method does and never what callback they handle (i.e. toggleReport and not onIconClick).
[ ] I verified that the left part of a conditional rendering a React component is a boolean and NOT a string, e.g. myBool && <MyComponent />.
[ ] I verified that comments were added to code that is not self explanatory
[ ] I verified that any new or modified comments were clear, correct English, and explained "why" the code was doing something instead of only explaining "what" the code was doing.
[ ] I verified any copy / text shown in the product is localized by adding it to src/languages/* files and using the translation method
[ ] I verified all numbers, amounts, dates and phone numbers shown in the product are using the localization methods
[ ] I verified any copy / text that was added to the app is grammatically correct in English. It adheres to proper capitalization guidelines (note: only the first word of header/labels should be capitalized), and is either coming verbatim from figma or has been approved by marketing (in order to get marketing approval, ask the Bug Zero team member to add the Waiting for copy label to the issue)
[ ] I verified proper file naming conventions were followed for any new files or renamed files. All non-platform specific files are named after what they export and are not named "index.js". All platform-specific files are named for the platform the code supports as outlined in the README.
[ ] I verified the JSDocs style guidelines (in STYLE.md) were followed

[ ] If a new code pattern is added I verified it was agreed to be used by multiple Expensify engineers
[ ] I verified that this PR follows the guidelines as stated in the Review Guidelines
[ ] I verified other components that can be impacted by these changes have been tested, and I retested again (i.e. if the PR modifies a shared library or component like Avatar, I verified the components using Avatar have been tested & I retested again)
[ ] I verified all code is DRY (the PR doesn't include any logic written more than once, with the exception of tests)
[ ] I verified any variables that can be defined as constants (ie. in CONST.js or at the top of the file that uses the constant) are defined as such
[ ] If a new component is created I verified that:

[ ] A similar component doesn't exist in the codebase
[ ] All props are defined accurately and each prop has a /** comment above it */
[ ] The file is named correctly
[ ] The component has a clear name that is non-ambiguous and the purpose of the component can be inferred from the name alone
[ ] The only data being stored in the state is data necessary for rendering and nothing else
[ ] For Class Components, any internal methods passed to components event handlers are bound to this properly so there are no scoping issues (i.e. for onClick={this.submit} the method this.submit should be bound to this in the constructor)
[ ] Any internal methods bound to this are necessary to be bound (i.e. avoid this.submit = this.submit.bind(this); if this.submit is never passed to a component event handler like onClick)
[ ] All JSX used for rendering exists in the render method
[ ] The component has the minimum amount of code necessary for its purpose, and it is broken down into smaller components in order to separate concerns and functions

[ ] If any new file was added I verified that:

[ ] The file has a description of what it does and/or why is needed at the top of the file if the code is not self explanatory

[ ] If a new CSS style is added I verified that:

[ ] A similar style doesn't already exist
[ ] The style can't be created with an existing StyleUtils function (i.e. StyleUtils.getBackgroundAndBorderStyle(theme.componentBG)

[ ] If the PR modifies code that runs when editing or sending messages, I tested and verified there is no unexpected behavior for all supported markdown - URLs, single line code, code blocks, quotes, headings, bold, strikethrough, and italic.
[ ] If the PR modifies a generic component, I tested and verified that those changes do not break usages of that component in the rest of the App (i.e. if a shared library or component like Avatar is modified, I verified that Avatar is working as expected in all cases)
[ ] If the PR modifies a component related to any of the existing Storybook stories, I tested and verified all stories for that component are still working as expected.
[ ] If the PR modifies a component or page that can be accessed by a direct deeplink, I verified that the code functions as expected when the deeplink is used - from a logged in and logged out account.
[ ] If the PR modifies the UI (e.g. new buttons, new UI components, changing the padding/spacing/sizing, moving components, etc) or modifies the form input styles:

[ ] I verified that all the inputs inside a form are aligned with each other.
[ ] I added Design label and/or tagged @Expensify/design so the design team can review the changes.

[ ] If a new page is added, I verified it's using the ScrollView component to make it scrollable when more elements are added to the page.
[ ] If the main branch was merged into this PR after a review, I tested again and verified the outcome was still expected according to the Test steps.
[ ] I have checked off every checkbox in the PR reviewer checklist, including those that don't apply to this PR.

Screenshots/Videos

Android: Native

Android: mWeb Chrome

iOS: Native

iOS: mWeb Safari

MacOS: Chrome / Safari

MacOS: Desktop

Fair point.
Then let me preface the response with a bit of summary of how we got here:
Sometimes we treat policyID as another filter field in Search. That means:

we have policyID param inside query (and grammar) NOT as a separate param
any interaction with policyID on search pages, means changing it inside the search query
query is the single source of truth for all currently chosen filters

But sometimes we also treat policyID in a special way, via workspaceSwitcher, and preserve it on page changes - which was also requested in here.
So technically (from code logic perspective) I think the behaviour is correct now - when you click on a saved search you are redirected to exactly the query that was saved, with all the filters.
If we think it would be better for the user to "preserve" the chosen workspace, then I argue that we should be saving the original chosen policyID into the saved search and use this one, while ignoring the currently chosen policyID.
Here is what this would mean:

I'm on search, I use workspace switcher to change to policyID PolicyA
I open advanced filters, I chose filters amount>2000 and I created a saved search
in reality here is the saved search that I created: type:Expense status:all policyID:PolicyA amount>2000
whenever I click this ☝ saved search I get redirected to this exact query, even if currently I set workspace switcher to a different policy or "All"

Otherwise, we will be mixing the query from saved searches with current context value of policyID which I think might be even further confusing.
@luacmartins @JmillsExpensify please share your opinions

So technically (from code logic perspective) I think the behaviour is correct now - when you click on a saved search you are redirected to exactly the query that was saved, with all the filters.
If we think it would be better for the user to "preserve" the chosen workspace, then I argue that we should be saving the original chosen policyID into the saved search and use this one, while ignoring the currently chosen policyID.

Otherwise, we will be mixing the query from saved searches with current context value of policyID which I think might add further confusion.

i agree with you 👍 💯

a bit pedantic but - if a user creates a saved result while no workspace is chosen, then they will see the results for all workspaces, yeah? i.e. no policyID is saved here.

I think what @mateuuszzzzz is saying for A (current) is a bit different from @rushatgabhane's summary. Basically for option A (current), if you're on a specific policy in the workspace switcher when you save a search, that policy is also saved in the saved search and we always respect it. Otherwise, it's "all policies" and no specific policyID is saved. Right? If that's the case, I agree with that approach.

Okey, so I will move forward with following:

when a user is on a specific workspace when creating a new saved search, then that policyID gets saved into the search and when clicking on this saved search we always show the specific policy saved
otherwise we will always show "All policies" when clicking on a saved search

Shouldn't be too complex.

Here's how this looks:
https://github.com/user-attachments/assets/3426baa4-f35d-4f6c-a666-093fd323f719

Yes, that looks really great!

Looks great!

@luacmartins please take a look


Error at task "all-prep : copy certificate authority to trusted ca path of the os"

Got an error at
TASK [all-prep : copy certificate authority to trusted ca path of the os] ***************************************************************************************************************
task path: /home/cloud-user/openshift-on-openstack-123/roles/all-prep/tasks/main.yml:9
fatal: [master0]: FAILED! => {"msg": "The conditional check 'bastion_repo' failed. The error was: error while evaluating conditional (bastion_repo): 'bastion_repo' is undefined\n\nThe error appears to have been in '/home/cloud-user/openshift-on-openstack-123/roles/all-prep/tasks/main.yml': line 9, column 3, but may\nbe elsewhere in the file depending on the exact syntax problem.\n\nThe offending line appears to be:\n\n\n- name: copy certificate authority to trusted ca path of the os\n  ^ here\n"}
fatal: [infra0]: FAILED! => {"msg": "The conditional check 'bastion_repo' failed. The error was: error while evaluating conditional (bastion_repo): 'bastion_repo' is undefined\n\nThe error appears to have been in '/home/cloud-user/openshift-on-openstack-123/roles/all-prep/tasks/main.yml': line 9, column 3, but may\nbe elsewhere in the file depending on the exact syntax problem.\n\nThe offending line appears to be:\n\n\n- name: copy certificate authority to trusted ca path of the os\n  ^ here\n"}
fatal: [infra1]: FAILED! => {"msg": "The conditional check 'bastion_repo' failed. The error was: error while evaluating conditional (bastion_repo): 'bastion_repo' is undefined\n\nThe error appears to have been in '/home/cloud-user/openshift-on-openstack-123/roles/all-prep/tasks/main.yml': line 9, column 3, but may\nbe elsewhere in the file depending on the exact syntax problem.\n\nThe offending line appears to be:\n\n\n- name: copy certificate authority to trusted ca path of the os\n  ^ here\n"}
fatal: [node0]: FAILED! => {"msg": "The conditional check 'bastion_repo' failed. The error was: error while evaluating conditional (bastion_repo): 'bastion_repo' is undefined\n\nThe error appears to have been in '/home/cloud-user/openshift-on-openstack-123/roles/all-prep/tasks/main.yml': line 9, column 3, but may\nbe elsewhere in the file depending on the exact syntax problem.\n\nThe offending line appears to be:\n\n\n- name: copy certificate authority to trusted ca path of the os\n  ^ here\n"}
fatal: [bastion]: FAILED! => {"msg": "The conditional check 'bastion_repo' failed. The error was: error while evaluating conditional (bastion_repo): 'bastion_repo' is undefined\n\nThe error appears to have been in '/home/cloud-user/openshift-on-openstack-123/roles/all-prep/tasks/main.yml': line 9, column 3, but may\nbe elsewhere in the file depending on the exact syntax problem.\n\nThe offending line appears to be:\n\n\n- name: copy certificate authority to trusted ca path of the os\n  ^ here\n"}

Problem is:
- name: copy certificate authority to trusted ca path of the os
  copy:
    src: /etc/pki/ca-trust/source/anchors/cacert.pem
    dest: /etc/pki/ca-trust/source/anchors
  when: bastion_repo

/etc/pki/ca-trust/source/anchors/cacert.pem did not exist on my bastion.
OS Version: RHEL 7.6
Maybe is a problem with RHEL?

I should set bastion_repo: False in my vars.yml. But for what is bastion_repo?

yes you should that is for disconnected install

bastion_repo: False
rhn_local_repo: False
are false by default so you must have set them to true not realizing what it is for. I will try and document this better in vars file or feel free to do pull request to make it clear :)


SSR not working

I'm trying to get SSR to work but I'm running into issues. I haven't enabled SSR from scratch, I've enabled it only after a while, which might be why I'm having issues.
I'm running the latest version of everything. I've set up everything according to the guides, and the Inertia SSR server is running, but when I refresh the browser I get an error in the console about this line: https://github.com/ozziexsh/laravel-jetstream-react/blob/87929328471f9f7753e76720f0ae653fa7db8340/src/stubs/resources/js/ssr.tsx#L25
A console.log(page.props) reveals that there is no 'ziggy' property present, which is why it breaks when trying to access the page.props.ziggy.url property.
When does the ziggy property get set on the page props?

I can only get it to work if I run php artisan ziggy:generate and then use it in the ssr file:
import { Ziggy } from './ziggy.js';
...
return route(name, params, absolute, {
    ...Ziggy,
    location: new URL(Ziggy.url),
    ...config,
});

But should that really be necessary?

hey, thanks for opening this!
haven't tried this locally yet but a quick search seems like maybe this could be the cause:
https://github.com/laravel/jetstream/pull/1024
if the project wasn't generated with the --ssr flag initially it would mean that the required ziggy data wasn't being shared by the middleware
can you ensure that your HandleInertiaRequests class has the ziggy key as shown here and report back?
https://github.com/laravel/jetstream/blob/3.x/stubs/inertia/app/Http/Middleware/HandleInertiaRequests.php#L34

I can confirm it's working with that change to the middleware. That was actually the missing piece of the puzzle! Next time I'm gonna use the --ssr flag in the initial setup 😅
Thanks for the help!


Inconsistent font size scaling

My work's standard presentation format is Google Slides in a ratio 16:9, with width set to 10 inches. But I hate having to manually input plots etc so originally mimicked it using Beamer, but am now trying to use xaringan for all the modern html features (which uses remarkjs under the hood - and I'm pretty sure is where my problem originates).
My problem comes in that I cannot easily get any consistency in font sizes between displaying presentations on screen and printing them. As in, I want the print out and the screen to be identically laid-out, but just scaled appropriately. Even different size screens scale slightly inconsistently. Google Slides can achieve this, but I cannot (easily) achieve the same with remarkjs.
With remarkjs I can only get this to (sort of) work if I manually set CSS options that scale the font size according to the physical size of my monitor relative to the physical size of the print out. For example:
@page {
  size: 10in 5.625in;
}
@media only screen {
  html {
    font-size: calc(1.2289 * var(--base-font-size));
  }
}

My screen is 14.1 inches 16:9, hence the 1.2289 to scale to the default 10in x 5.625in (= 11.473in) that Google Slides uses.
This is not so much an issue if I only display the presentation on my own screen, but the second I display it on a different size screen then the font sizes scale incorrectly again and I have to manually adjust the 1.2289 factor. Often it's not visually obvious, but sometimes it can cause problems with the paging of the slide and bump things around too far.
I don't have this problem when using revealjs as long as I set the reveal options to be the correct number of pixels (e.g. 960 x 540 gives 10in x 5.625in) then everything scales appropriately regardless of whether it is print or screen, or the size of the screen - so, presumably, there's a slight difference between then way the two scale everything. I'd prefer to keep using remarkjs, though as it integrates a little better with everything else I'm doing.
If there a way to get remarkjs to be screen size "insensitive" so I don't have to manually adjust the scaling factor every time?

Update. I went off on a bit of a tangent with the whole screen size vs print out size ratio. In my case the correct scaling size to use for fonts is 1.2611, as in:
@media only screen {
  html {
    font-size: calc(1.2611 * var(--base-font-size));
  }

I could only tell the difference once I started checking enormous fonts.
The reason being, after getting round to dig through the remark.js source code, it sets a reference 4:3 slide dimension of 908 x 681 (in scaler.js) - and then adjusts the scaling according to the width of the current display device (or printed page). But it never corrects the height accordingly and this gives the inconsistent font scaling.
In my case my slides are defined as 960 x 540, so I need to correct the font sizes (plus any other objects with a variable height - e.g. hr) by 681/540 and then everything scales consistently. It would be nice if the scaler could scale both dimensions "correctly" as that would avoid all these issues - when you've got font, hr's etc etc in your slides, it's a lot of CSS to write to make sure they scale correctly.

Update. I went off on a bit of a tangent with the whole screen size vs print out size ratio. In my case the correct scaling size to use for fonts is 1.2611, as in:
@media only screen {
  html {
    font-size: calc(1.2611 * var(--base-font-size));
  }

I could only tell the difference once I started checking enormous fonts.
The reason being, after getting round to dig through the remark.js source code, it sets a reference 4:3 slide dimension of 908 x 681 (in scaler.js) - and then adjusts the scaling according to the width of the current display device (or printed page). But it never corrects the height accordingly and this gives the inconsistent font scaling.
In my case my slides are defined as 960 x 540, so I need to correct the font sizes (plus any other objects with a variable height - e.g. hr) by 681/540 and then everything scales consistently. It would be nice if the scaler could scale both dimensions "correctly" as that would avoid all these issues - when you've got font, hr's etc etc in your slides, it's a lot of CSS to write to make sure they scale correctly.


Add unified exceptions

I was experimenting with Gibberish::AES and it really provides nice encryption/decryption API. But if I want to catch exceptions in my application when Gibberish::AES#decrypt cannot decrypt provided argument then it is not easy.
Gibberish::AES#decrypt with nil argument raises "NoMethodError: undefined method `unpack' for nil:NilClass", with empty string argument raises "TypeError: can't convert nil into String", with wrong decryption key raises "OpenSSL::Cipher::CipherError: Given final block not properly padded". As a result I need to catch any exception in my application and assume that it was caused by decrypt.
It would be better if Gibberish::AES#decrypt would always raise something like Gibberish::DecryptionError with more details in error message and then it would be easier for applications to catch just this exception.

Wow, I somehow completely missed this notification in my github inbox.
This is definitely an issue, and one that I'll corrent. Sorry for the epic delay.

This should solve: https://github.com/mdp/gibberish/pull/25


[Improvement][ui] Introduce remixicon, delete ans-ui license and font-awesome

Supplement the front-end dependency license document

Codecov Report

Merging #4313 (d1b8077) into dev (ede7895) will not change coverage.
The diff coverage is n/a.

@@            Coverage Diff            @@
##                dev    #4313   +/-   ##
=========================================
  Coverage     43.21%   43.21%
+ Complexity     3183     3182    -1
=========================================
  Files           471      471
  Lines         21732    21732
  Branches       2626     2626
=========================================
  Hits           9391     9391
+ Misses        11444    11442    -2
- Partials        897      899    +2

Impacted Files
Coverage Δ
Complexity Δ

...er/master/dispatch/host/assign/RandomSelector.java
77.77% <0.00%> (-5.56%)
3.00% <0.00%> (-1.00%)

...dolphinscheduler/remote/future/ResponseFuture.java
81.35% <0.00%> (-1.70%)
18.00% <0.00%> (-1.00%)

...inscheduler/service/zk/CuratorZookeeperClient.java
65.85% <0.00%> (+4.87%)
8.00% <0.00%> (+1.00%)

Continue to review full report at Codecov.

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

+1

+1

+1