First plex scan ended in panic

[HOME/RCLONE/PLEXDRIVE] [2017-05-19 20:15] DEBUG  : Deleting oldest chunk file /dev/shm/chunks/0BxHUEIQkvBkXTVd5TFZwbjFNRUE/597688320
panic: runtime error: invalid memory address or nil pointer dereference
[signal SIGSEGV: segmentation violation code=0x1 addr=0x20 pc=0x7c0b08]
goroutine 6012193 [running]:
main.deleteOldestFile.func1(0xc42096c000, 0x36, 0x0, 0x0, 0xd646e0, 0xc42077c0c0, 0x0, 0x0)
/go/src/github.com/dweidenfeld/plexdrive/buffer.go:271 +0x38
path/filepath.walk(0xc420787770, 0x2c, 0xd6b2a0, 0xc427caf110, 0xc420684d80, 0x0, 0x0)
/usr/local/go/src/path/filepath/path.go:372 +0x2fe
path/filepath.walk(0xc4201e2f20, 0xf, 0xd6b2a0, 0xc427bfcd00, 0xc420684d80, 0x0, 0x20)
/usr/local/go/src/path/filepath/path.go:376 +0x414
path/filepath.Walk(0xc4201e2f20, 0xf, 0xc420684d80, 0x8ed800, 0x0)
/usr/local/go/src/path/filepath/path.go:398 +0x14c
main.deleteOldestFile(0xc4201e2f20, 0xf, 0x3115b6b29, 0x0)
/go/src/github.com/dweidenfeld/plexdrive/buffer.go:279 +0x119
main.cleanChunkDir(0xc4201e2f20, 0xf, 0x438c48, 0x438c48)
/go/src/github.com/dweidenfeld/plexdrive/buffer.go:257 +0x98
main.(*Buffer).ReadBytes.func2()
/go/src/github.com/dweidenfeld/plexdrive/buffer.go:170 +0x3d
created by main.(*Buffer).ReadBytes
/go/src/github.com/dweidenfeld/plexdrive/buffer.go:174 +0x1393
rclone@Plex:/home/aj$ /home/rclone/plexdrive --verbosity=3 --fuse-options=allow_other,read_only --temp=/dev/shm --clear-chunk-max-size=8G /media/PMS

Why don't you just write in to an actual disk? I'm assuming you probably have a file over 8G too?
I run with almost default options:
/home/felix/scripts/plexdrive --chunk-size=26214400 -o allow_other -v 2 /GD

Scanned and analyzed 30TB that route.

I have 128GB so why write to the disk when memory is so much faster, its only temp files anyway. It's ECC also so it should not be a corruption issue. I was watching it and it didn't get full. Kept hovering around 13GB even though I spesified 8GB. I made 32GB available so far from the limit.

If you got a 128GB of memory, just point it at your SSD then as that should be fine.
If you can't scan and it bombs out, it doesn't matter how fast it is.
I was sharing what worked for me to give that a go.

Thank I'll switch it over if it bugs out again. Been going for around 30min now, crossing fingers. That being said I think there is some improvements that can be done to the caching. For example it will not keep within it limits. Currently running at 12GB with a 8GB limit.

Okay crashed again, lets try the ssd
[HOME/RCLONE/PLEXDRIVE] [2017-05-19 21:52] DEBUG  : Creating buffer for object 0BxHUEIQkvBkXWWFRNUZnNnF6QXc
[HOME/RCLONE/PLEXDRIVE] [2017-05-19 21:52] DEBUG  : Requesting object 0BxHUEIQkvBkXWWFRNUZnNnF6QXc bytes 0 - 5242880 from API
[HOME/RCLONE/PLEXDRIVE] [2017-05-19 21:52] DEBUG  : Deleting oldest chunk file /dev/shm/chunks/0BxHUEIQkvBkXYllScGNkWmtrYUU/519045120
[HOME/RCLONE/PLEXDRIVE] [2017-05-19 21:52] DEBUG  : Requesting object 0BxHUEIQkvBkXWWFRNUZnNnF6QXc bytes 5242880 - 10485760 from API
[HOME/RCLONE/PLEXDRIVE] [2017-05-19 21:52] DEBUG  : Requesting object 0BxHUEIQkvBkXWWFRNUZnNnF6QXc bytes<PHONE_NUMBER> -<PHONE_NUMBER> from API
[HOME/RCLONE/PLEXDRIVE] [2017-05-19 21:52] DEBUG  : Deleting oldest chunk file /dev/shm/chunks/0BxHUEIQkvBkXYllScGNkWmtrYUU/692060160
panic: runtime error: invalid memory address or nil pointer dereference
[signal SIGSEGV: segmentation violation code=0x1 addr=0x20 pc=0x7c0b08]
goroutine 3102144 [running]:
main.deleteOldestFile.func1(0xc421a3bf80, 0x36, 0x0, 0x0, 0xd646e0, 0xc420747830, 0x0, 0x0)
/go/src/github.com/dweidenfeld/plexdrive/buffer.go:271 +0x38
path/filepath.walk(0xc420747020, 0x2c, 0xd6b2a0, 0xc420882b60, 0xc420571b00, 0x0, 0x0)
/usr/local/go/src/path/filepath/path.go:372 +0x2fe
path/filepath.walk(0xc4201ae430, 0xf, 0xd6b2a0, 0xc420f1a410, 0xc420571b00, 0x0, 0x20)
/usr/local/go/src/path/filepath/path.go:376 +0x414
path/filepath.Walk(0xc4201ae430, 0xf, 0xc420571b00, 0x8ed800, 0x0)
/usr/local/go/src/path/filepath/path.go:398 +0x14c
main.deleteOldestFile(0xc4201ae430, 0xf, 0x341742d64, 0x0)
/go/src/github.com/dweidenfeld/plexdrive/buffer.go:279 +0x119
main.cleanChunkDir(0xc4201ae430, 0xf, 0xc4200c4180, 0x438c48)
/go/src/github.com/dweidenfeld/plexdrive/buffer.go:257 +0x98
main.(*Buffer).ReadBytes.func2()
/go/src/github.com/dweidenfeld/plexdrive/buffer.go:170 +0x3d
created by main.(*Buffer).ReadBytes
/go/src/github.com/dweidenfeld/plexdrive/buffer.go:174 +0x1393
rclone@Plex:/home/aj$

I'd ditch the small limit and let it run a bit. Can you tell if it's bombing on Movies or TV?
When my movies were being analyzed, it seemed pretty linear in terms of growing and shrinking. When I hit TV shows, it was a bit chunky as it seemed to grab a lot of files before analyzing each one.
I think mine with default settings maybe grew to 100-150GB till it was finally done.

I'll try to let it run free the next time, already started it with a 8GB limit. Currently doing movies, not started the series yet. Looking at the resources it seamed pretty stable until the crash. I see both tried to do "Deleting oldest chunk file" before the panic.

I'm assuming you have some movies over 8GB? Not sure what it would do if that hits and the file is bigger.

Yes I do have large files. It's only temp chunks so I would think that sticktly speaking anything above the default 5mb chunk size would be enough. And it would just replace the oldest ones/one.

Still working on the SSD?

This is the same issue as here: https://github.com/dweidenfeld/plexdrive/issues/104
Although this ticket is more appropriately named.
I don't see how anyone can successfully do a full plex scan with plexdrive. If you can, what is your library size? It seems to me that over a certain threshold, plexdrive will always segfault at the attempt.
And with every crash, it seems, plexdrive forgets about the chunk directory size limit. I start plexdrive with a limit of 80G but after several crashes it is now at 140G.

Restarted it multiple times during the night, both memory and disk, and it always ended in either panic or a "Could not write chunk temp file" loop. I cannot get it to scan with clear-chunk-max-size without it stopping for me. I have started it unlimited a few hours ago, and it still running. It is fine running it unlimited during the initial scan, but I need some sort of limit during normal operation so it does not expand into the indefinite.

I think you guys are hitting the issue that plex opens many files at the same time and it needs to have more in cache than it seems.
By limiting the cache size, it's trying to access things plex needs but they have already been removed from the cache.
For the scan, I think a better use case/config would be using the  "  --clear-chunk-age" and reducing that to 5m or 10m. When I ran my scan with the 30m, I'd rarely have more than 150-200G there at a time that I have a gig Fios to it's pulling stuff down quickly for the initial scan.
For normal use, you want to limit based on access time though not chunk size. As long as you aren't running 50 streams or something, you won't get a an infinite tmp dir. I'd put a high or max limit on it, but I wouldn't use max size as my main limit as I'd make that as high as I can and use the access time of the files as the main drives to remove files.
I "think" that is more plex operates as it only grabs what it needs. During normal use of 4-5 streams, I barely see 10-20GB of chunk space being used.
I use a SSD for my scan and chunk space and I use these settings for my transcoder:
Segmented transcoder timeout: 120
Transcoder temporary directory: /dev/shm
Transcoder default throttle buffer: 600

So chunk to SSD and transcode to memory.

One would assume when you hit --clear-chunk-max-size limit the oldest chunks are automatically cleared so space is made for new ones.
Or am I wrong about it ?

What if you have more chunks needed than you have max cache size? That seems to be the situation.

What if you have more chunks needed than you have max cache size? That seems to be the situation.

So --clear-chunk-max-size will result in panic if out of space ?
My current mount cmd:
    /usr/bin/plexdrive $MPOINT \
                       -o allow_other \
                       --clear-chunk-max-size=400G \
                       --clear-chunk-age=24h \
                       --temp=/home/plex/.plexdrive/temp \
                       -v 2 &>>/home/plex/logs/mountplexdrive.log &

I reached 300G so far on my 64TB lib.

He started with 8GB max size and my theory/assumption was that he was requesting more than the max with his movie scans and it was clearing while trying to read.

I'll do some more testing in 24h, managed to 403 myself. Not plexdrives fault.

You could also try something like make the age like 1m or something and if you leave it unlimited, that should give you a real idea of how much transient data is there during the scans.
This feels like zfs tuning for me. Unless something isn't working, just use the defaults.

FWIW in regards to the "can't write chunk file to directory X" errors coming at you like a whirlwind I was able to make that stop earlier today. I had the "Perform extensive media analysis during maintenance" option enabled in Settings->Server->Scheduled Tasks of Plex. Up until I turned that off today my server would sit at pulling 90MB/s down while trying to analyze media extensively outside of the scheduled tasks maintenance window. It would also throw tons of "can't write chunk file to directory X" while doing that. It burned through 7TB of traffic yesterday and today in doing that. I don't know if this is effecting anyone here but perhaps it's helpful. According to Plex's own explanation, that option "does an extensive bitrate analysis on each file in your library to help with bandwidth controls" (https://support.plex.tv/hc/en-us/articles/201553286-Scheduled-Tasks). I have scans running every 15 minutes in Plex on a 30TB library and haven't had the issue re-occur since I disabled it about 8 hours ago. It could be worth checking.

There is really no reason to do extensive analysis from what I've seen and usually one of the first things I turn off.
Scanning every 15 minutes seems not needed. I just have Sonarr/Radarr executes scan when they add something and have it off.

One observation I made:
Using the clear-chunk-max-size will always just delete only one chunk for each chuck it downloads. So if you had a bigger cache or used time before it will not clear it out for you. Ie. the cache folder will never get smaller than it currently is.
I've enabled all logging and will get back when I got more..

Setting both clear by size and clear by time. Only clear by size will be used.

Using --clear-chunk-age or without any parameters does not clear any chunks for me. Doesnt give any errors either:
plexdrive@Plex:~$ plexdrive /media/PMS/ --verbosity=3 --fuse-options=allow_other,read_only --config=/home/plexdrive/GoogleG1 --temp=/tmp/plexdrive/GoogleG1
[PLEXDRIVE] [2017-05-22 13:23] DEBUG  : verbosity            : DEBUG
[PLEXDRIVE] [2017-05-22 13:23] DEBUG  : config               : /home/plexdrive/GoogleG1
[PLEXDRIVE] [2017-05-22 13:23] DEBUG  : temp                 : /tmp/plexdrive/GoogleG1
[PLEXDRIVE] [2017-05-22 13:23] DEBUG  : chunk-size           : 5M
[PLEXDRIVE] [2017-05-22 13:23] DEBUG  : refresh-interval     : 5m0s
[PLEXDRIVE] [2017-05-22 13:23] DEBUG  : clear-chunk-interval : 1m0s
[PLEXDRIVE] [2017-05-22 13:23] DEBUG  : clear-chunk-age      : 30m0s
[PLEXDRIVE] [2017-05-22 13:23] DEBUG  : clear-chunk-max-size :
[PLEXDRIVE] [2017-05-22 13:23] DEBUG  : fuse-options         : allow_other,read_only
[PLEXDRIVE] [2017-05-22 13:23] DEBUG  : UID                  : 1003
[PLEXDRIVE] [2017-05-22 13:23] DEBUG  : GID                  : 1003
[PLEXDRIVE] [2017-05-22 13:23] DEBUG  : Umask                : ----------
[PLEXDRIVE] [2017-05-22 13:23] DEBUG  : speed-limit          :
[PLEXDRIVE] [2017-05-22 13:23] DEBUG  : Opening cache connection
[PLEXDRIVE] [2017-05-22 13:23] DEBUG  : Migrating cache schema
[PLEXDRIVE] [2017-05-22 13:23] DEBUG  : Authorizing against Google Drive API
[PLEXDRIVE] [2017-05-22 13:23] DEBUG  : Loading token from cache
[PLEXDRIVE] [2017-05-22 13:23] DEBUG  : Checking for changes
[PLEXDRIVE] [2017-05-22 13:23] DEBUG  : Getting start page token from cache
[PLEXDRIVE] [2017-05-22 13:23] DEBUG  : Last change id found, continuing getting changes (1315959)
[PLEXDRIVE] [2017-05-22 13:23] INFO   : First cache build process started...
[PLEXDRIVE] [2017-05-22 13:23] INFO   : Using clear-by-interval method for chunk cleaning
[PLEXDRIVE] [2017-05-22 13:23] INFO   : Mounting path /media/PMS/
[PLEXDRIVE] [2017-05-22 13:23] DEBUG  : Getting root from API
[PLEXDRIVE] [2017-05-22 13:23] DEBUG  : Storing page token 1315959 in cache
[PLEXDRIVE] [2017-05-22 13:23] INFO   : First cache build process finished!
[PLEXDRIVE] [2017-05-22 13:24] DEBUG  : Cleaning chunk directory /tmp/plexdrive/GoogleG1/chunks
[PLEXDRIVE] [2017-05-22 13:25] DEBUG  : Cleaning chunk directory /tmp/plexdrive/GoogleG1/chunks
[PLEXDRIVE] [2017-05-22 13:26] DEBUG  : Cleaning chunk directory /tmp/plexdrive/GoogleG1/chunks
[PLEXDRIVE] [2017-05-22 13:27] DEBUG  : Cleaning chunk directory /tmp/plexdrive/GoogleG1/chunks
[PLEXDRIVE] [2017-05-22 13:28] DEBUG  : Cleaning chunk directory /tmp/plexdrive/GoogleG1/chunks
./GoogleG1/chunks/0BxHUEIQkvBkXZUNUTVlfN0R6dkE:
total 14844
drwxrwxr-x    2 plexdrive plexdrive    4096 May 22 11:33 .
drwxrwxr-x 4985 plexdrive plexdrive  253952 May 22 13:28 ..
-rwxrwxr-x    1 plexdrive plexdrive 5242881 May 22 11:44 0
-rwxrwxr-x    1 plexdrive plexdrive 4441087 May 22 11:44 193986560
-rwxrwxr-x    1 plexdrive plexdrive 5242881 May 22 11:44 5242880
./GoogleG1/chunks/0BxHUEIQkvBkXZUpPdDVMc1djSTA:
total 15080
drwxrwxr-x    2 plexdrive plexdrive    4096 May 22 13:15 .
drwxrwxr-x 4985 plexdrive plexdrive  253952 May 22 13:28 ..
-rwxrwxr-x    1 plexdrive plexdrive 5242881 May 22 13:15 0
-rwxrwxr-x    1 plexdrive plexdrive 4685724 May 22 13:15 445644800
-rwxrwxr-x    1 plexdrive plexdrive 5242881 May 22 13:15 5242880
./GoogleG1/chunks/0BxHUEIQkvBkXZURIYk5OQmtIaXc:
total 13840
drwxrwxr-x    2 plexdrive plexdrive    4096 May 22 11:56 .
drwxrwxr-x 4985 plexdrive plexdrive  253952 May 22 13:28 ..
-rwxrwxr-x    1 plexdrive plexdrive 5242881 May 22 11:56 0
-rwxrwxr-x    1 plexdrive plexdrive 3414960 May 22 11:56 408944640
-rwxrwxr-x    1 plexdrive plexdrive 5242881 May 22 11:56 5242880

clear-chunk-max-size (2G) does drifts of target over time:
Quickly goes up and stays at:
2.1G    ./GoogleG1
But after 30 minutes:
2.9G    ./GoogleG1

And it crashed about an hour later:
9.5G    /tmp/plexdrive/GoogleG1
Filesystem      Size  Used Avail Use% Mounted on
udev            1.9G     0  1.9G   0% /dev
/dev/sda3       153G   40G  106G  28% /
ls: cannot access '/tmp/plexdrive/GoogleG1/chunks/0BxHUEIQkvBkXM2FkNG9yc0hrTVE': No such file or directory
[PLEXDRIVE] [2017-05-22 15:02] DEBUG  : Creating buffer for object 0BxHUEIQkvBkXbVFMcVE1ck9nclk
[PLEXDRIVE] [2017-05-22 15:02] DEBUG  : Requesting object 0BxHUEIQkvBkXbVFMcVE1ck9nclk bytes 0 - 5242880 from API
[PLEXDRIVE] [2017-05-22 15:02] DEBUG  : Deleting oldest chunk file /tmp/plexdrive/GoogleG1/chunks/0BxHUEIQkvBkXMkhnSEJMQ29Lc2M/0
[PLEXDRIVE] [2017-05-22 15:02] DEBUG  : Requesting object 0BxHUEIQkvBkXbVFMcVE1ck9nclk bytes 5242880 - 10485760 from API
[PLEXDRIVE] [2017-05-22 15:02] DEBUG  : Requesting object 0BxHUEIQkvBkXbVFMcVE1ck9nclk bytes 178257920 - 183500800 from API
[PLEXDRIVE] [2017-05-22 15:02] DEBUG  : Deleting oldest chunk file /tmp/plexdrive/GoogleG1/chunks/0BxHUEIQkvBkXMkhnSEJMQ29Lc2M/1263534080
[PLEXDRIVE] [2017-05-22 15:02] DEBUG  : Deleting oldest chunk file /tmp/plexdrive/GoogleG1/chunks/0BxHUEIQkvBkXMkhnSEJMQ29Lc2M/1263534080
[PLEXDRIVE] [2017-05-22 15:02] INFO   : Stopping playback of The Big Bang Theory - S10E02 - The Military Miniaturization [HDTV-360p-XviD-2ch-MP3].avi
[PLEXDRIVE] [2017-05-22 15:02] DEBUG  : Stop buffering for object 0BxHUEIQkvBkXbVFMcVE1ck9nclk
[PLEXDRIVE] [2017-05-22 15:02] INFO   : Starting playback of The Big Bang Theory - S10E02 - The Military Miniaturization [HDTV-480p-x264-2ch-AAC-LOL-RARBG].mkv
[PLEXDRIVE] [2017-05-22 15:02] DEBUG  : Creating buffer for object 0BxHUEIQkvBkXRHpDS0JZY1hPMHc
[PLEXDRIVE] [2017-05-22 15:02] DEBUG  : Requesting object 0BxHUEIQkvBkXRHpDS0JZY1hPMHc bytes 0 - 5242880 from API
[PLEXDRIVE] [2017-05-22 15:02] DEBUG  : Cleaning empty directory /tmp/plexdrive/GoogleG1/chunks/0BxHUEIQkvBkXM2FkNG9yc0hrTVE
panic: runtime error: invalid memory address or nil pointer dereference
[signal SIGSEGV: segmentation violation code=0x1 addr=0x20 pc=0x7c0b08]
goroutine 394918 [running]:
main.deleteOldestFile.func1(0xc420e6d340, 0x3b, 0x0, 0x0, 0xd646e0, 0xc420add2f0, 0x0, 0x0)
/go/src/github.com/dweidenfeld/plexdrive/buffer.go:271 +0x38
path/filepath.walk(0xc4201d0e40, 0x1e, 0xd6b2a0, 0xc420b38000, 0xc421202a60, 0x0, 0x20)
/usr/local/go/src/path/filepath/path.go:372 +0x2fe
path/filepath.Walk(0xc4201d0e40, 0x1e, 0xc421202a60, 0x8ed800, 0x0)
/usr/local/go/src/path/filepath/path.go:398 +0x14c
main.deleteOldestFile(0xc4201d0e40, 0x1e, 0x25bc5967e, 0x0)
/go/src/github.com/dweidenfeld/plexdrive/buffer.go:279 +0x119
main.cleanChunkDir(0xc4201d0e40, 0x1e, 0xc420120000, 0xd68a20)
/go/src/github.com/dweidenfeld/plexdrive/buffer.go:257 +0x98
main.(*Buffer).ReadBytes.func2()
/go/src/github.com/dweidenfeld/plexdrive/buffer.go:170 +0x3d
created by main.(*Buffer).ReadBytes
/go/src/github.com/dweidenfeld/plexdrive/buffer.go:174 +0x1393
Line 64092: [PLEXDRIVE] [2017-05-22 14:42] DEBUG  : Creating buffer for object 0BxHUEIQkvBkXM2FkNG9yc0hrTVE
Line 64093: [PLEXDRIVE] [2017-05-22 14:42] DEBUG  : Requesting object 0BxHUEIQkvBkXM2FkNG9yc0hrTVE bytes 0 - 5242880 from API
Line 64095: [PLEXDRIVE] [2017-05-22 14:42] DEBUG  : Requesting object 0BxHUEIQkvBkXM2FkNG9yc0hrTVE bytes 5242880 - 10485760 from API
Line 64096: [PLEXDRIVE] [2017-05-22 14:42] DEBUG  : Requesting object 0BxHUEIQkvBkXM2FkNG9yc0hrTVE bytes 319815680 - 325058560 from API
Line 64100: [PLEXDRIVE] [2017-05-22 14:42] DEBUG  : Stop buffering for object 0BxHUEIQkvBkXM2FkNG9yc0hrTVE
Line 72245: [PLEXDRIVE] [2017-05-22 15:01] DEBUG  : Deleting oldest chunk file /tmp/plexdrive/GoogleG1/chunks/0BxHUEIQkvBkXM2FkNG9yc0hrTVE/0
Line 72249: [PLEXDRIVE] [2017-05-22 15:01] DEBUG  : Deleting oldest chunk file /tmp/plexdrive/GoogleG1/chunks/0BxHUEIQkvBkXM2FkNG9yc0hrTVE/319815680
Line 72253: [PLEXDRIVE] [2017-05-22 15:01] DEBUG  : Deleting oldest chunk file /tmp/plexdrive/GoogleG1/chunks/0BxHUEIQkvBkXM2FkNG9yc0hrTVE/5242880
Line 72647: [PLEXDRIVE] [2017-05-22 15:02] DEBUG  : Cleaning empty directory /tmp/plexdrive/GoogleG1/chunks/0BxHUEIQkvBkXM2FkNG9yc0hrTVE

Fixed in next release.


Update docfx.json

Update to correct EdgeEnterprise to Edge-Enterprise for the GitHub Feedback.
This should resolve #57

Thank you for catching this. I've updated the configuration so I'm closing this PR.


FAM Centro Universitário das Américas

@matheuspdf First stage of verification passed, official domain is vemprafam.com.br as far as I verified. This is just an informational note. Pull request is still in the review. I appreciate your patience while waiting for the final decision.

@matheuspdf Thank you for your patience while waiting for a review and processing your request. Pull request merged.


fix: clear selection in FluentCombobox

🐛 Bug Report
when code clears the selection of a combobox, the combobox reverts back to the value before it was cleared.
this is something that was fixed in issue #1485 and PR #1506 but was introduced in the refactor of #2118 for issue #2077
A possible solution was found, but before making a PR i wanted to check if the change was accepted or why the null coalesce was put in a comment.
i will also be doing some testing to check if all the cases from the issues mentioned above still work
💻 Repro or Code Sample
I Added the following to the ComboboxDefault.razor from the demo site :
<FluentButton OnClick="@(() => Person =null)">Select first person</FluentButton>
<FluentCombobox<EMAIL_ADDRESS>                OptionValue="@(i => i?.PersonId.ToString())"
                @bind-SelectedOption=@Person>
    <OptionTemplate>
        <FluentIcon Value="@(new Icons.Regular.Size16.Person())" Slot="end" OnClick="@(() => DemoLogger.WriteLine($"Icon for {@context?.LastName} selected"))" />
        @context?.FirstName (@context?.LastName)
    </OptionTemplate>
</FluentCombobox>
<p>
    Selected: @Person?.FirstName (@Person?.LastName)
</p>

<FluentCombobox Items="_items"
                TOption="string"
                @bind-SelectedOption=@Filter />

<FluentButton IconEnd="@(new Icons.Regular.Size12.Dismiss())" OnClick="@(() =>DeleteFilter())" />

<FluentCombobox Items="_items"
                TOption="string"
                SelectedOptionChanged="x => HandleOriginProductChanged(x)" />

and this code :
    public Person? Person { get; set; } = default!;

    private List<string> _items = ["Item 1", "Item 2", "Item 3"];
    private string _filter = string.Empty;
    public string Filter
    {
        get => _filter;
        set
        {
            _filter = value;
            Console.WriteLine($"Selected product: {value}");
        }
    }

    private void HandleOriginProductChanged(string? value)
    {
        Console.WriteLine($"Selected product: {value}");
    }

    private void DeleteFilter()
    {
        Filter = string.Empty;
    }

🤔 Expected Behavior
Selection to clear in the combobox
😯 Current Behavior
selection is cleared, and reverted back
💁 Possible Solution
during the refactor, the SetParameterAsync was changed to only set Value if the value is not null. this used to have a null coalesce to set it to an empty string. why was this changed?
by the looks of it, this makes it so that upon clearing the SelectedOption it never sets the Value correct because value is null
🔦 Context
we were adding a clear button to our combobox' that are used in our grid filters. something i reported to the webcomponents too, but until they respond, we wanted to implement something ourselves.
(https://github.com/microsoft/fluentui/issues/31838)
🌍 Your Environment

OS & Device: Windows 10, PC
Browser: Chromium & Firefox
.NET and Fluent UI Blazor library Version: 8.0.2 and 4.8.1

So your PR puts back the string.Empty? Maybe it is easier to just create the PR and then we can asses and test if everything still works from our side. If you've found the null coalese is not an issue, then great!

@joriverm could you try to get the PR in asap, please.
We are preparing a new release at the moment and it would be great if we can get this in. Otherwise it will need to wait till next patch release.

@joriverm could you try to get the PR in asap, please.
We are preparing a new release at the moment and it would be great if we can get this in. Otherwise it will need to wait till next patch release.

im currently out of the office for the day. i will be making a PR tomorrow, which puts the null coalesce back & removes the check if value is not null (because the null coalesce makes it useless).
I will be in sprint review meeting too, but will keep an eye open for this one so a version can be made!


:sparkles: Adds Jira creds

Resolves https://github.com/konveyor/tackle2-ui/issues/589

Looks like something is up with the validation.


vinagre: pull fix pending upstream inclusiong for -fno-common toolcha…

…in support
Without the change build fails on upstream gcc-10 as:
ld: plugins/vnc/vinagre_vinagre-vinagre-vnc-tab.o:plugins/vnc/vinagre-vnc-connection.h:29:
  multiple definition of `scaling_command_line';
    vinagre/vinagre_vinagre-vinagre-reverse-vnc-listener.o:plugins/vnc/vinagre-vnc-connection.h:29: first defined here

Description of changes

Things done

Built on platform(s)

[ ] x86_64-linux
[ ] aarch64-linux
[ ] x86_64-darwin
[ ] aarch64-darwin

[ ] For non-Linux: Is sandbox = true set in nix.conf? (See Nix manual)
[ ] Tested, as applicable:

NixOS test(s) (look inside nixos/tests)
and/or package tests
or, for functions and "core" functionality, tests in lib/tests or pkgs/test
made sure NixOS tests are linked to the relevant packages

[ ] Tested compilation of all packages that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review rev HEAD". Note: all changes have to be committed, also see nixpkgs-review usage
[ ] Tested basic functionality of all binary files (usually in ./result/bin/)
22.11 Release Notes (or backporting 22.05 Release notes)

[ ] (Package updates) Added a release notes entry if the change is major or breaking
[ ] (Module updates) Added a release notes entry if the change is significant
[ ] (Module addition) Added a release notes entry if adding a new NixOS module
[ ] (Release notes changes) Ran nixos/doc/manual/md-to-db.sh to update generated release notes

[ ] Fits CONTRIBUTING.md.

Result of nixpkgs-review pr 177005 run on x86_64-linux 1

1 package built:

gnome.vinagre


"Mark Completed" Button

1.) Update main page UI to show that the problem has been completed.  Possibly use a check mark icon or some other visual way to show completion.

Functionality Changed per conversation with Sue-Ann.


An error!!!! error TS1086: An accessor cannot be declared in an ambient context.

I have this error:
error TS1086: An accessor cannot be declared in an ambient context.
ERROR in node_modules/ngx-swiper-wrapper/lib/swiper.component.d.ts(21,9): error TS1086: An accessor cannot be declared in an ambient context.
node_modules/ngx-swiper-wrapper/lib/swiper.component.d.ts(22,9): error TS1086: An accessor cannot be declared in an ambient context.
node_modules/ngx-swiper-wrapper/lib/swiper.directive.d.ts(12,9): error TS1086: An accessor cannot be declared in an ambient context.
I could solve it with
tsconfig.ts:
{
....
"compilerOptions": {
    .....
    "skipLibCheck": true, /// Needs to be true to fix wrong alias types being used
  }
......
}

but I think it was like solving with a shotgun o.O

I am also facing the same issue.
https://github.com/zefoy/ngx-swiper-wrapper/issues/260
Kindly mention the fix or right way to fix this.

Same here :(
@ joneldiablo solution works temporarly.

same problem :(


Added workflow diagram

Added workflow diagram to tutorial

It looks like the image might be missing here?

It looks like the image might be missing here?

I put it in the images page in the topic: training-materials/topics/galaxy-interface/images/ SARF_Workflow_Overview.png
Did I do this incorrectly in the tutorial.md?

I'm sorry, I misread! I thought it was a new image you were adding, not referring to a previous one.

I'm sorry, I misread! I thought it was a new image you were adding, not referring to a previous one.

Yes, I added the image in the last pull request, but wanted to make sure I had the path right before adding the link.  I have just added the link in this pull request.  I hope that works.

I modified the link a bit, we use relative paths usually, so ../../images/<your image>. and merged it. Looks good! :)

it'll be deployed in ~20 minutes or so.

The hazards of copy-paste from my notes, sorry about that!


Call packaged cadvisor

ping @cjellick

On my system, this does stop the logs from spewing
nsenter: failed to execute /var/lib/cattle/pyagent/cattle/plugins/cadvisor/cadvisor: No such file or directory

but stats do not show up.

Update:
Added:  -e CATTLE_AGENT_IP=<IP_ADDRESS> to my docker run ... rancher/agent command and then I was able to get stats and console.
So, LGTM. Merging.


extract_gpu:undefined symbol: _ZN2cv17CommandLineParserC1EiPKPKcRKSs

Thanks for your help.
I have compiled denseflow step by step without any error messages. But it appears when calculating optical flow is called：
extract_gpu:undefined symbol: _ZN2cv17CommandLineParserC1EiPKPKcRKSs

sorry，I have recompiled it and solved the problem.


add script to populate with backfill

@jlmadurga pinging you for awareness

I'm adding jobs for the release lifecycle, so they can be run manually from GH - GL
There's a new script to do a simple populate with backfill so it can be reused when it makes sense: For now the script needs to exist in the target repository so we need to think on a strategy to maybe create them on tb init or use them remotely.


tour: [REPLACE WITH SHORT DESCRIPTION]

Context: https://tour.golang.org/welcome/1
Change the title above to describe your issue and add your feedback here, including code if necessary

#hogus

Empty issue, closing.


[BUG] Invisible sections in logline with --debug

Pyprland version
Which version did you use?

python3.11-pyprland-2.0.8/

Describe the bug

When running pypr --debug /tmp/pypr.log sections of the each logline are invisible when displayed in less, cat and tail (these ones I tested) using kitty (custom config) and alacritty (default config) as terminal emulator.

The text is not missing from the logfile and becomes visible when marking the lines

Expected behavior

All lines in the log are visible all the time, irregardless of terminal emulator used.

Additional context

IMO this is ideally achieved by logging plain text that contains no ANSI control characters.

Looks like you have some bug in your terminal theme ? grey shouldn't be black or at least not the same as the background color...
I can use another color but the goal was to make it not very visible because those logs are usually not very important....
I can revert to the old versions with no color but colors are quite useful to read faster IMO...

I can revert to the old versions with no color but colors are quite useful to read faster IMO...

Since our preferences are different, what about a CLI option to disable coloring in logs?

In this case, I don't think it's preferences, in your case this is not visible at all, which is a color scheme issue in my opinion that could affect other applications.
The escape sequences are very easily stripped out with a sed expression for instance, allowing to work around your problem.
Lastly, those logs are just informative about the events emitted by Hyprland, so they are less important.
I'll keep it open but this is quite low priority on my list given the context...


cucumber-expressions-ruby:parenthesis character class (ruby)

Summary
Ruby implemention for bugfix. See: #461
Types of changes

[x] Bug fix (non-breaking change which fixes an issue).
[ ] New feature (non-breaking change which adds functionality).
[ ] Breaking change (fix or feature that would cause existing functionality to not work as expected).

Checklist:

[x] I've added tests for my code.
[ ] My change requires a change to the documentation.
[ ] I have updated the documentation accordingly.

Hi @aidamanna,
Thanks for your making your first contribution to Cucumber, and welcome to the Cucumber committers team! You can now push directly to this repo and all other repos under the cucumber organization! 🍾
In return for this generous offer we hope you will:

✅ Continue to use branches and pull requests. When someone on the core team approves a pull request (yours or someone else's), you're welcome to merge it yourself.
💚 Commit to setting a good example by following and upholding our code of conduct in your interactions with other collaborators and users.
💬 Join the community Slack channel to meet the rest of the team and make yourself at home.
ℹ Don't feel obliged to help, just do what you can if you have the time and the energy.
🙋 Ask if you need anything. We're looking for feedback about how to make the project more welcoming, so please tell us!

On behalf of the Cucumber core team,
Aslak Hellesøy
Creator of Cucumber


[20.09] python{2,3}Packages.galario: 1.2.1 -> 1.2.2

Upgrading fixes the tests
(cherry picked from commit cbd37d0128e2647893705708a514d03cbe1873ff)
Backport https://github.com/NixOS/nixpkgs/pull/100767
ZHF: #97479
cc @NixOS/nixos-release-managers
fix https://hydra.nixos.org/build/127623662
Things done

[X] Tested using sandboxing (nix.useSandbox on NixOS, or option sandbox in nix.conf on non-NixOS linux)
Built on platform(s)

[X] NixOS
[ ] macOS
[ ] other Linux distributions

[ ] Tested via one or more NixOS test(s) if existing and applicable for the change (look inside nixos/tests)
[X] Tested compilation of all pkgs that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review wip"
[ ] Tested execution of all binary files (usually in ./result/bin/)
[ ] Determined the impact on package closure size (by running nix path-info -S before and after)
[ ] Ensured that relevant documentation is up to date
[X] Fits CONTRIBUTING.md.

Result of nixpkgs-review pr 101035 1

4 packages built:

galario
python27Packages.galario
python37Packages.galario
python38Packages.galario

Please use git cherry-pick -x  to backport commits.

@mweinelt Can you double check ? I already used cherry pick with -x with commit on master. Same for the other PR

Oh yeah, this is odd. In some views GitHub only shows the shortened hash, while in others it shows the full one.


環境を読み込むのにキューしてしまう場合がある

Found online and idle hosted runner in the current repository's organization account that matches the required labels: 'ubuntu-latest'
Waiting for a Hosted runner in the 'organization' to pick this job...
Job is waiting for a hosted runner to come online.

https://github.com/yasslab/idobata_notify/runs/3871895550?check_suite_focus=true

通知までに25分かかった notify もある…


[Bug] Admin User Not Working On New Laravel 10 Install

Bug report
I created a new Laravel 10 install using the command:
curl -s "https://laravel.build/example-app?with=mysql,redis" | bash
After the install finished, I ran sail up command so the container could be created. Afterwards I ran: sail composer require backpack/crud -W during the setup, I created an admin user. I also created another admin user by running sail artisan backpack:user
All the steps worked and I verified that the User table had entries for both users.
When I go to http://localhost/admin/ and try to login, I get  "These credentials do not match our records." Same thing happens for everyone of the admin users that I create via the command line.
When I run php artisan backpack:version the output is:
PHP 8.2.13 (cli) (built: Nov 24 2023 08:47:18) (NTS)
LARAVEL VERSION:
<IP_ADDRESS>
BACKPACK PACKAGE VERSIONS:
backpack/basset: 1.2.2
backpack/crud: 6.4.0
backpack/generators: v4.0.2
backpack/theme-tabler: 1.1.2

Hey @ocbrianh sorry it took me a little longer to get back here.
I've identified the issue and fixed it in backpack/crud 6.5.5. A composer update should get you the fix.
Cheers


How to configure org-download-dir

When using org-download, by default the images are stored in a nested folder structure with the current date (for instance, 12/8/20/scr.png). When I set the org-download-image-dir variable in config.el, the entire nested directory structure is moved into the folder I set (for instance, images/12/8/20/scr.png). How do I prevent the nested structure from forming and store images in a flat structure in the directory I specify? (i.e, images/scr.png)
P.S. Sorry for not using Discord for this, I don't have access to it right now coz I lost the phone I use for 2FA

I believe org-download-method controls this. Try
;; file/directory variables should be set outside of `after!` blocks.
(setq org-download-image-dir "path/to/download/dir")  ; `org-download-image-dir` defaults to `org-directory'/.attach/

(after! org-download
  (setq org-download-method 'directory))

Ah that works! I was over-complicating things with use-package. Thank you!


Exec tachikoma update<PHONE_NUMBER>1941

:hamster::hamster::hamster:   Strategy none
Powered by Interval Pull Request as a Service - Tachikoma.io

Coverage remained the same when pulling 6799d9d9e6fdbd768a95d1f6454115c066ea70b8 on tachikomapocket:tachikoma/update-20150101151941 into 77a776d257a2436999eb722afb99b372b7aa9f95 on hoshinotsuyoshi:master.

Coverage remained the same when pulling 6799d9d9e6fdbd768a95d1f6454115c066ea70b8 on tachikomapocket:tachikoma/update-20150101151941 into 77a776d257a2436999eb722afb99b372b7aa9f95 on hoshinotsuyoshi:master.


Using SqlServer PS module to load the Smo libraries

Solve #1800

Very nice, have been thinking about this.
It does however break the code for those who has SQL installed and not SqlServer (like me)
If you could modify the code to do:
Import-Module sqlps -ErrorAction SilentlyContinue
$sqlModule = get-module sqlps
if ($sqlModule) {
    $smoServer = New-Object Microsoft.SqlServer.Management.Smo.Server $databaseServerInstance

    #load libraries the old way

}
else {
    Import-Module SqlServer -ErrorAction SilentlyContinue
    $sqlModule = get-module SqlServer
    if ($sqlModule) {

        # load libraries the new way

    }
    else {
        throw "You need to have a local installation of SQL or you need the SqlServer PowerShell module installed"
    }
}

Have added line to remve the resolver else the job ends with error.

It looks like smoServer is used in the codepath still and never set

smoserver is used in line 90
New-NAVDatabase -DatabaseServer $databaseServer -DatabaseInstance $databaseInstance -DatabaseName $dbName -FilePath $bakFile -DestinationPath (Join-Path $smoServer.RootDirectory "DATA$($databaseprefix -replace '[^a-zA-Z0-9]', '')") | Out-Null

Ok, will check that, I have overlooked that. We can get the path in other way I think...

Which path it should be? Path where the database should be restored? It means default path for databases on the server?

If not specified (and restoring on own server) - it tries to use the path in the .bak file:-(
That is the reason for the construct.
Maybe it works with a relative path - I can test that, stay tuned

I have used t-sql to get the default data path from the SQL. Can you try with that?

I have stopped to use the New-NAVDatabase because it is not renaming the db files to new database names thus possible overwrite on the server when multiple databases are restored and the target will be same folder. Now I am using Restore-SqlDatabase with RelocateFile parameter.

should be this:
-DestinationPath (Join-Path $DefaultDataPath ($databaseprefix -replace '[^a-zA-Z0-9]', ''))
but you need the import-modules before you use invoke-sqlcmd (on my machine it fails otherwise)

hmmm, no need for import-module on my. What it is missing on yours?
I have different problem - it wants to restore to path where the prefix is subfolder but this doesn't exists on the server, thus restore fails (it needs to have this folder already existing).

Ok, fixed the import-module issue, now I am importing the modules before getting the default path.
Still there is problem when the target path doesn't exists, but I think it was same even in original version.

could  you remove the second
if ($sqlmodule) {

and
                else {
                    throw "You need to have a local installation of SQL or you need the SqlServer PowerShell module installed"
                }

The reason is that sqlps is not in the modules folder and is not automatically imported upon usage.
The other modules gets automatically loaded when you use them the first time.

Thanks Kamil - great addition to the function.


Remove datasource type "Spring Boot"

After discussion with @rareddy this datasource type will in future be represented as simple set of ENV properties. The datasource type will be removed fully.

please create related JIRA isseu in FUSETOOLS2 project as we agreed durign team meeting. it allows to give more visibility to everyone, especially for QE team.


supporting youtube as an input type

@fofr what do you think about adding support for YouTube videos as an input type?
They could be converted to video, audio, or frames.

I expect YouTube would end up blocking it.

Gotcha. Closing.


segement configuration - hostname colorize

Got following stacktrace on an alternative workstation when I enabled hostname colorize:
Traceback (most recent call last):
  File "/usr/local/bin/powerline-shell", line 11, in <module>
    sys.exit(main())
  File "/usr/local/lib/python2.7/site-packages/powerline_shell/__init__.py", line 205, in main
    segment.add_to_powerline()
  File "/usr/local/lib/python2.7/site-packages/powerline_shell/segments/hostname.py", line 13, in add_to_powerline
    FG, BG = (rgb2short(*color) for color in [FG, BG])
  File "/usr/local/lib/python2.7/site-packages/powerline_shell/segments/hostname.py", line 13, in <genexpr>
    FG, BG = (rgb2short(*color) for color in [FG, BG])
  File "/usr/local/lib/python2.7/site-packages/powerline_shell/colortrans.py", line 312, in rgb2short
    return RGB2SHORT_DICT[tuple(res)]
KeyError: (95, 255)

Did some debugging and narrowed it down to color_complement.getOppositeColor().  I see there are checks for max numbers but nothing for minimum numbers.   It is the negative number that is causing the stacktrace when hostname.add_to_powerline, line 13 tries to process the first set of FG/BG that the stacktrace occurs.  Below is ptpython output of my debug of getOppositeColor.  You can see the return is (49, -1, 254).
>>> def getOppositeColor(r,g,b):
...     print "r:", r, "g:", g, "b:", b
...     hls = rgb_to_hls(r,g,b)
...     print "hls:", hls
...     opp = list(hls[:])
...     opp[0] = (opp[0]+0.2)%1 # shift hue (a.k.a. color)
...     print "r:", r, "opp of r:", opp[0]
...     if opp[1] > 255/2:   # for level you want to make sure they
...         opp[1] -= 255/2  # are quite different so easily readable
...     else:
...         opp[1] += 255/2
...     print "g:", g, "opp of g:", opp[1]
...     if opp[2] > -0.5: # if saturation is low on first color increase second's
...         opp[2] -= 0.5
...     print "b:", b, "opp of b:", opp[2]
...     print "opp:", opp
...     opp = hls_to_rgb(*opp)
...     print "hls_to_rgb:", opp
...     mx = max(opp)
...     mn = min(opp)
...     print "max:", mx, "min:", mn
...     if mx > 255: #colorsys module doesn't give caps to their conversions
...         opp = [ x*254/mx for x in opp]
...     return tuple([ int(x) for x in opp])

>>> getOppositeColor(*color1)
r: 0 g: 10 b: 131
hls: (0.5, 65.5, -1.0155038759689923)
r: 0 opp of r: 0.7
g: 10 opp of g: 192.5
b: 131 opp of b: -1.01550387597
opp: [0.7, 192.5, -1.0155038759689923]
hls_to_rgb: (75.8186046511625, -1.9689922480620226,<PHONE_NUMBER>48062)
max:<PHONE_NUMBER>48 min: -1.96899224806
(49, -1, 254)

I am not a rgb/hls expert and not certain of what the proper range of returns when going between rgb and hls.  However, in this case the b value of 131 appears to not return a value outside scope of formatting rules on opp[2].
Just my $.02....
Not sure if colorize could be improved by allowing user to provides rgb value for colorize of hostname, or hard code it into themes.  This could simplify the handling of colorize and make customization obtainable by the user.  Added bonus, the hostname color is predictable and not random....I really like the colorize feature but don't want to see this for a hostname color:

More investigation into this problem and it appears fix is to convert the rgb values to float before passing to rgb_to_hls.  See stackoverflow answer here:
https://stackoverflow.com/questions/15442285/converting-rgb-to-hls-and-back
Below is a getOppositeColor without and with conversion to float.  The results look good.
#
# Without conversion to float
#
>>> def getOppositeColor(r,g,b):
...         print "original - r:", r, "g:", g, "b:", b
...         #r, g, b = [x/255.0 for x in r, g, b]
...         #print "rgb into float - r:", r, "g:", g, "b:", b
...
...         hls = rgb_to_hls(r,g,b)
...         print "rgb_to_hls:", hls
...         opp = list(hls[:])
...         opp[0] = (opp[0]+0.2)%1 # shift hue (a.k.a. color)
...         if opp[1] > 255/2:   # for level you want to make sure they
...             opp[1] -= 255/2  # are quite different so easily readable
...         else:
...             opp[1] += 255/2
...         if opp[2] > -0.5: # if saturation is low on first color increase second's
...             opp[2] -= 0.5
...         opp = hls_to_rgb(*opp)
...         print "opp:", opp
...         mx = max(opp)
...         if mx > 255: #colorsys module doesn't give caps to their conversions
...             opp = [ x*255/mx for x in opp]
...         return tuple([ int(x) for x in opp])

# Out of bounds RGB values....who knew?
>>> color1 = (0, 10, 131)

# Negative value returned
>>> getOppositeColor(*color1)
original - r: 0 g: 10 b: 131
rgb_to_hls: (0.5, 65.5, -1.0155038759689923)
opp: (75.8186046511625, -1.9689922480620226,<PHONE_NUMBER>48062)
(49, -1, 255)

#
# With conversion to float
#
>>> def getOppositeColor(r,g,b):
...         print "original - r:", r, "g:", g, "b:", b
...         r, g, b = [x/255.0 for x in r, g, b]
...         print "rgb into float - r:", r, "g:", g, "b:", b
...
...         hls = rgb_to_hls(r,g,b)
...         print "rgb_to_hls:", hls
...         opp = list(hls[:])
...         opp[0] = (opp[0]+0.2)%1 # shift hue (a.k.a. color)
...         if opp[1] > 255/2:   # for level you want to make sure they
...             opp[1] -= 255/2  # are quite different so easily readable
...         else:
...             opp[1] += 255/2
...         if opp[2] > -0.5: # if saturation is low on first color increase second's
...             opp[2] -= 0.5
...         opp = hls_to_rgb(*opp)
...         print "opp:", opp
...         mx = max(opp)
...         if mx > 255: #colorsys module doesn't give caps to their conversions
...             opp = [ x*255/mx for x in opp]
...         return tuple([ int(x) for x in opp])

# Happy results without negative numbers.
>>> getOppositeColor(*color1)
original - r: 0 g: 10 b: 131
rgb into float - r: 0.0 g: 0.0392156862745 b: 0.513725490196
rgb_to_hls: (0.6539440203562341, 0.2568627450980392, 1.0)
opp: (64.12843137254902,<PHONE_NUMBER>1764705, 79.74187546774439)
(64, 190, 79)

Probably would be good to have unittest which iterates through six digit hex string range 0x000000 through 0xffffff and asserting error if negative number is found in the tuple.


Drag&Drop Ability to reorder scripts in script view

Operating system or device - Godot version:
2.1 alpha
Issue description (what happened, and what was expected):
There is no way to reorder scripts on a script list dock currently:

Link to minimal example project (optional but very welcome):

The scripts are alphabetically listed too, which is nice. So maybe after we drag them around, we can sort them back:

@Dillybob92  You can move them around or go back to default sorting.  Very nice both ideas I support.

I haven't seen any IDE that lets you sort the list of open files, it's
generally alphabetical..
On Wed, May 25, 2016 at 3:39 PM, trollworkout<EMAIL_ADDRESS>wrote:

@Dillybob92 https://github.com/Dillybob92 You can move them around or
go back to default sorting. Very nice both ideas I support.
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub
https://github.com/godotengine/godot/issues/4775#issuecomment-221666935

@reduz ~ Even if we don't allow it, it would be nice to be able to list open files in a tree-like fashion, especially when there are scripts with the same name in different folders.
Allowing for drag and drop reordering would mean less trouble for users that want it another way.

I was thinking you could probably remove the side bar altogether and use the tabs up top instead which could also be freely re-organized

I personally like the way Visual Studio Code handles this. It shows a list of working files in order of opening (those can be dragged and reordered) and also a tree of files below.

@reduz About that editor sorting opened files list: I would request code tabs reordering (which every code editor have), but we don't have tabs so I'm requesting ability to reorder the thing that we have...

@reduz But in the end I'm able to understand the reason why we might not have this functionality and I would love to just hide this panel and depend on Open dominant script on scene change option but unfortunately it's not working very well and it's hard to use it without script panel (which for me is almost always bloated by very high amount of opened scripts).

there used to be tabs, but the horizontal space would be cluttered really
quickly
regarding high amount of scripts, i'm not sure if having them ordered by
date opened would be a good idea, it's really easy to add this back,
including drag&drop rearranging, but would it really be an improvement?
If it helps, you can always use alt-ctrl-o and type the name of the script,
this generally works best when you have that many..
On Wed, May 25, 2016 at 4:30 PM, kubecz3k<EMAIL_ADDRESS>wrote:

@reduz https://github.com/reduz But in the end I'm able to understand
the reason why we might not have this functionality and I would love to
just hide this panel and depend on Open dominant script on scene change
option but unfortunately it's not working very well and it's hard to use it
without script panel (which for me is almost always bloated by very high
amount of opened scripts).
—
You are receiving this because you were mentioned.
Reply to this email directly or view it on GitHub
https://github.com/godotengine/godot/issues/4775#issuecomment-221681418

regarding opening the dominant script, if you find a bug, please let me
know.. would not be nice if this fails
On Wed, May 25, 2016 at 4:36 PM, Juan Linietsky<EMAIL_ADDRESS>wrote:

there used to be tabs, but the horizontal space would be cluttered really
quickly
regarding high amount of scripts, i'm not sure if having them ordered by
date opened would be a good idea, it's really easy to add this back,
including drag&drop rearranging, but would it really be an improvement?
If it helps, you can always use alt-ctrl-o and type the name of the
script, this generally works best when you have that many..
On Wed, May 25, 2016 at 4:30 PM, kubecz3k<EMAIL_ADDRESS>wrote:

@reduz https://github.com/reduz But in the end I'm able to understand
the reason why we might not have this functionality and I would love to
just hide this panel and depend on Open dominant script on scene change
option but unfortunately it's not working very well and it's hard to use it
without script panel (which for me is almost always bloated by very high
amount of opened scripts).
—
You are receiving this because you were mentioned.
Reply to this email directly or view it on GitHub
https://github.com/godotengine/godot/issues/4775#issuecomment-221681418

@reduz I'm also not so sure if reordering by opening time is the best option, in general I would like to describe my user case because there are reasons why script panel is not usable for me (why I'm ending with so many scripts opened):

first: I'm using Open dominant script on scene change (not blaming the option just explaining use case, the current main problem of this option is described here: https://github.com/godotengine/godot/issues/3638)
second: I don't remember how my scripts are named :) There are couple hundred of scripts in project like Steam Quest, and usually I'm navigating to them by opening some main scene in which I have smaller ones and so on until I find the scene in which there is script that is interesting for me.

So opening each of those scenes in the process is giving me new script in script tabs.

I thought that this list of opened files is actually vertical tabs :). Even in browsers I use options to display tabs vertically(because in this case I can handle more tabs). If this list doesn't display all tree, this is tabs, right? :) And I also missing a feature to arrange this vertical tabs like I want. Especially if opened scripts is messed with opened class docs. Actually it would be nice to have it like in Visual Studio Code or QTCreator(usually configured in the same way). They have filesystem tree and vertical tabs in one vertical panel.

I left the code open to implement rearranging of scripts, we can try it
easily, but I seriously doubt it's going to help organization if you have a
lot of open ones..
Aren't better ways to do this?
kubecz3k: How about using a tree? could add an option so files are shown
together with a Tree of the filesystem..
On Thu, May 26, 2016 at 2:48 PM, Biliogadafr<EMAIL_ADDRESS>wrote:

I thought that this list of opened files is actually vertical tabs :).
Even in browsers I use options to display tabs vertically(because in this
case I can handle more tabs). If this list doesn't display all tree, this
is tabs, right? :) And I also missing a feature to arrange this vertical
tabs like I want. Especially if opened scripts is messed with opened class
docs. Actually it would be nice to have it like in Visual Studio Code or
QTCreator(usually configured in the same way). They have filesystem tree
and vertical tabs in one vertical panel.
—
You are receiving this because you were mentioned.
Reply to this email directly or view it on GitHub
https://github.com/godotengine/godot/issues/4775#issuecomment-221944019

Not critical for the upcoming 2.1, so moving to the next milestone.

I think we might do it better if we allow assigning categories to scripts, and then sorting them by said categories.
That would be useful for me since sometimes, when I do a big refactor, I have two groups of open scripts, new and old. Also, it would be pretty useful to be able to divide them into "objects", "skills", etc., without having to prefix them for a nicer alphabetical sort.

I really like @bojidar-bg's idea of the categorical approach.
Real world example:

@Dillybob92 I disagree a bit though, using the parent folder of a script is not the best idea in some cases. Example (real-world):
res://
- creatures
  creature.gd
  - heroes
    - <name>
      <name>.gd
      <name>_skill1.gd # Or whatever
- ...

In this case it would categorise all heroes under their respective name, which won't be better than before, and would be certainly worse than a simple tree of folders with scripts...

Yah, maybe a checkmark for recursive directory? I was just thinking of something like this:

But yeah, you're right. it will most likely be messy


Feature request: Track multiple addresses

Hi,
I want to request the feature of tracking multiple addresses, with different fraction id's.

Following up on this, as there hasn't been any activity for about 2 years @Danielhiversen Do you know if this is possible?


[AIRFLOW-1577] Add token support to DatabricksHook.

Dear Airflow maintainers,
Please accept this PR. I understand that it will not be reviewed until I have checked off all the steps below!
JIRA

[x] My PR addresses the following Airflow JIRA issues and references them in the PR title. For example, "[AIRFLOW-XXX] My Airflow PR"

https://issues.apache.org/jira/browse/AIRFLOW-XXX

Description
We want to add token authentication support to the Databricks integration in Airflow
Tests

[x] My PR adds the following unit tests OR does not need testing for this extremely good reason:
[x] Manual testing with token based auth.

Commits

[x] My commits all reference JIRA issues in their subject lines, and I have squashed multiple commits if they address the same issue. In addition, my commits follow the guidelines from "How to write a good git commit message":

Subject is separated from body by a blank line
Subject is limited to 50 characters
Subject does not end with a period
Subject uses the imperative mood ("add", not "adding")
Body wraps at 72 characters
Body explains "what" and "why", not "how"

Codecov Report

Merging #2579 into master will decrease coverage by 0.09%.
The diff coverage is n/a.

@@            Coverage Diff            @@
##           master    #2579     +/-   ##
=========================================
- Coverage   70.95%   70.86%   -0.1%
=========================================
  Files         150      150
  Lines       11617    11617
=========================================
- Hits         8243     8232     -11
- Misses       3374     3385     +11

Impacted Files
Coverage Δ

airflow/task_runner/bash_task_runner.py
93.33% <0%> (-6.67%)
:arrow_down:

airflow/utils/helpers.py
53.17% <0%> (-2.9%)
:arrow_down:

airflow/jobs.py
77.65% <0%> (-0.46%)
:arrow_down:

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 f3258bb...6a5bf25. Read the comment docs.

LGTM pending tests.

@criccomini could we get this merged before the 1.9 branch gets cut?


Improved WASM Module with Multi Client Support and Connection Detection

[x] Update the WASM Module to the latest multi-client module. Now multiple clients can simultaneously use the module, see https://github.com/MobiFlight/MobiFlight-WASM-Module/pull/3
[x] Added a ping/pong logic to detect from the Connector side whether WASM Module is responding.
[x] Only if "pong" response comes back from WASM Module then MF Connector shows connection as active
[x] Renamed WASM module to use a "MobiFlightWasmModule" name which is unique and will not cause conflicts with other WASM modules
[x] Remove old StandaloneModule.wasm file in MobiFlight module folder, just to make sure that this is really not loaded.

Nice!!!!!!!


ability to show warnings

is it possible not only errors but warnings too in overlay ?

Can you explain more?

if ia have mistake in JS code ESlint error will appear at overlay in browser,
but if i have warning (from postcss for example) it will be only in console, is there a way to display warnings in browser too ?

@Ellomend This is a feature of webpack-hot-middleware And unfortunately seems their support for current overlay customization is much limited so we can't do anything here.


Support for more advanced features if supported by the platform/controller

Potentially add some more advanced features if the controller/platform permits (the xbox player number, colors, rumble, etc)

Is this at odds with the goal stated in #12 of the smallest, thinnest native bridge?
E.g. For gamepad support on Android, the typical KeyEvent API appears to support specific gamepad button inputs and there are examples of how you might do things like support multiple controllers and handle input actions.
On the other hand, it's recommended that if you are making a game you instead use the Game Controller Library, which is distributed as *.aar files and C headers. The main API for that is here. Output from ffigen was about 4k lines, which for ffi is pretty good.


Missing interaction between Ascetic Style and Crusarder's Flurry

Hey there =)
I was doing some build testing and i think the Ascetic Style feat does not take into account the Crusader's Flurry feat (CotW), that can make favored weapons as monk weapons.
At least some abilities such as Stunning fist do not work with glaives (Shelyn favored weapon), but it works perfectly with a staff.
On the same topic a little question : what should be used with Ascetic Style? The monk ki strike against DR ? Some other Style feats (with dual style)?
Thank you so much y the way, some great additions 'o'

You change a weapon from polearm to monk type, then to unarmed type. Well, that takes it to the extreme :D
I looked my code up and unfortunately it would be quite difficult to weave in another check (for Crusader's Flurry). That is because I extent Holic's weapon mapping and it only allows for a single check (which I already used up for Ascetic Style).
Sorry, I won't include it.

Well, I tried ! ^^
Thanks, I should be happy to flurry with it already =)


In micro data , error in position field

in everry  microdata field "position" the same error :
position | A value for the position field is required.
here is the bad code :   <meta property="position" content="2" />
here is the goog code : <meta itemprop="position" content="2" />
To fix that , i change the file /renderer/BaseBreadcrumbsRenderer.php
Line 80 bad code : $tag = '<meta property="position" content="' . $index . '"';
Line 80 code fixed : $tag = '<meta itemprop="position" content="' . $index . '"';

Thanks for reporting this @charlynancy54.
This is fixed in 1.1.1, let me know if it does not fix it for you.


Update VMA submodule

Fixes #130

I can confirm that this fixes the compilation error with VS2019. Also checked several samples, and they worked as expected with the updated VMA version.


spawn arg --o=- prevents start() from resolving.

Bug Description
I'm trying to output to a file or a pipe using --o=- and it doesn't work.
mpv.start() never resolves, as a result any method results in 'MPV is not running' errors.
I had a look at the source code and quickly realised it's due to the way node-mpv checks for the 'Listening to IPC socket'.
When --o is piping to stdout, mpv uses stderr for messages.
This is quite easily fixed by checking both stderr and stdout for the IPC Socket messages.
Software Versions

Node-Mpv: Version 2
MPV: mpv 0.31.0-67-g63bf362d11

--out is not a supported option by mpv. It crashes but does not yield any error message, which is something I should work on.

Apologies, I meant --o
Updated the issue.

No problem at all, could've happened to me too :)
I added the option --o=foo.mp3 and it actually worked in my case without changing anything in the code. The only difference I see, is that I'm using mpv 0.32.0 which is one (let's call it major) version ahead of the one you're using. Is there any reason that you cannot use the latest version?
I will see if I can build or get a compiled version 31 and I will check if it does or does work in my case

It's specifically when you pipe to stdout with the arg --o=- (that's what the dash means)
Then you will find it doesn't start.
I fixed this by simply listening on both stdout and stderr in _startStop.js:
`var stdCallback = (data) => {
// stdout output
const output = data.toString();
				// "Listening to IPC socket" - message
				if(output.match(/Listening/)){
					// remove the event listener on stdout
					this.mpvPlayer.stderr.removeAllListeners('data');
					this.mpvPlayer.stdout.removeAllListeners('data');
					resolve();
				}
				// "Could not bind IPC Socket" - message
				else if(output.match(/bind/)){
					// remove the event listener on stdout
					this.mpvPlayer.stderr.removeAllListeners('data');
					this.mpvPlayer.stdout.removeAllListeners('data');
					reject(this.errorHandler.errorMessage(4, 'startStop()', [this.options.socket]));
				}
			};
			this.mpvPlayer.stdout.on('data', stdCallback);
			this.mpvPlayer.stderr.on('data', stdCallback);

`

My code to fix this looked pretty much the same as your's, but it also crashed. So I tried to just start mpv from the command line using mpv somefile --o=-. However, it crashes because it doesn't find the encode format. Am I missing some encoding library?

This is what I use:
mpv "path/to/video" -keep-open=yes --merge-files --of=mpegts --ovc=libx264 --ovcopts=profile=main,preset=veryfast,level=4,crf=20,maxrate=5000k --oac=aac --oacopts=ac=2,b=160k --o=- | ffmpeg -i - -c copy out.mkv
Notice I pipe the output into ffmpeg (which I use to stream it to an RTMP server), but outputting to a file works as well.

start() does resolve in my case, however the file is not encoded into out.mkv, but I receive some file called - | ffmpeg -i - -c copy out.mkv. How do you pass the pipe option to Node-MPV?

I should have put it in node js terms. Apologies for the constant back and forth.
This code should run as expected:
var mpv_args = ["--keep-open=yes", "--merge-files", "--of=mpegts", "--ovc=libx264", `--ovcopts=profile=main,preset=veryfast,level=4,crf=20,maxrate=5000k`, `--oac=aac`, `--oacopts=ac=2,b=160k`, "--o=-"];

var mpv = new mpvAPI({"debug":true, "verbose": true}, mpv_args);

var ffmpegArgs = ["-i", "-", "-c", "copy", "-f", "flv"];
ffmpeg = child_process.spawn("ffmpeg", ffmpegArgs);

mpv.mpvPlayer.stdout.pipe(ffmpeg.stdin);

await self.mpv.start();
// etc.

It worked in case if I switched the line mpv.mpvPlayer.stdout.pipe(ffmpeg.stdin) with await mpv.start(), because before you call start(), mpv.mpvPlayer is undefined.
If I use the following code, it works without changing anything in the Node-MPV code.
const mpvArgs = ["--keep-open=yes", "--merge-files", "--of=mpegts", "--ovc=libx264", `--ovcopts=profile=main,preset=veryfast,level=4,crf=20,maxrate=5000k`, `--oac=aac`, `--oacopts=ac=2,b=160k`, "--o=-"];

const mpv = new mpvLib({"debug":true, "verbose": true}, mpvArgs);

const ffmpegArgs = ["-i", "-", "-c", "copy", "-f", "flv", "out.mkv"];
const ffmpeg = child_process.spawn("ffmpeg", ffmpegArgs);

await mpv.start();

mpv.mpvPlayer.stdout.pipe(ffmpeg.stdin);

mpv.load('DJI_0116.mov')

Apologies again, the code I posted was an ersatz version of my actual code, and I managed to screw it up (again!)
mpv.mpvPlayer.stdout.pipe(ffmpeg.stdin) does come after await mpv.start() in my original code, otherwise I would just get a simple null reference error.
If I run my code or your nearly identical code without the fix, mpv.start() never resolves.
Judging by the screenshot, it looks like you're running Linux. I'm on Windows. I wouldn't be surprised if we're seeing slightly different behaviour because of this.

Really no worries man, stuff like that happens :)
I'm on MacOS, but that's really close to Linux for the most part. Unfortunately I don't have access to a Windowsmachine and to be honest, it's a problem that I never really tested this lib on Windows.
Ususually I'd say it's no big deal to include the stderr line, it wouldn't have any affect on Linux or MacOS and it would make it run on Windows. I'll have to see if I'll need the stderr for real error messages. Because when I tested your code with --out=-, Node-MPV crashed without any error message, which is not good obviously.

I'd still recommend implementing this code, with the more specific string matching in the latest version.
I can't see it causing any problems on other systems.

Hmm, with the new then block in _startStop checking for the 'idle' event a few times it wasn't resolving...
However, I tested it a bunch more times and I haven't had that problem again. Bit concerning though.

Yeah I talked a little bit more to the guy maintaining mpv and it seems waiting for the idle event might still cause race conditions, so there will be a small change probably today.
As for the code, it could cause problems. Because I want to listen to stderr to check for errors why mpv could not be started. If I listen to stderr to see if it has started, because it some scenario on windows stdout is output on stderr I cannot do that anymore. That's why I first want to investigate if there is a need to listen to stderr for actual errors.

I think you're possibly confused, there's nothing that prevents you from listening to stderr more than once.
stderr is an event dispatcher and can have many listeners.

btw I figured out why listening for the 'idle' event wasn't firing sometimes. When I was testing I was placing breakpoints after spawn but before the socket listener was set up, between which the idle event was sent but there was no socket to listen.

Also, I've just discovered if you try to pass input files in the mpv startup args, the 'idle' event will never fire... so start() never resolves.
I've changed the code so instead of just checking for 'idle' events, it now also checks for 'file-loaded' events.
Let me know if this is good and I'll update my hodge-podge pull-request to include this improvement as well.

I‘ll have a look into it. Checken for file-loaded seems weird because you‘re not loading any file when you‘re starting mpv. Is that event fired even if no file is being loaded?
It’s weird that the further input arguments would overwrite the —idle options. Could you give me a list of your input arguments that cause the error? Or are they the same as above?

Just to clarify, idle is not being overridden, this is the correct behaviour. In the documentation on --idle:

Makes mpv wait idly instead of quitting when there is no file to play

So when there is a file to play (ie, a file that has been given as a command line argument), it immediately loads the file and never fires an 'idle' event.
This is a problem with the new code you comitted as start() never resolves in this scenario.
It will however fire a bunch of events when the first file is loaded, and the first of these is 'file-loaded', so it made sense to use this to detect when to 'start' mpv.
But if no files are passed, we can resolve the promise when we detect an 'idle' event )and much quicker I might add).
PS - If you want to load a file via the commandline and prevent it from playing, you can add the --pause argument.

Well, the library was never intended to be used in that way so I don't really see it as a big problem. The fix to this doesn't really interfere and I don't see it causing any debugging problems in the future, so I might as well add it. Better safe than sorry.
Still, I never thought of this scenario because it was more intended to be used like this
    mpv.start({
        "debug": true,
        "verbose": true
    })
    .then(() => {
        mpv.load("file1.mkv");
        mpv.load("file2.mkv", mode="append");
    });

Anyway, doesn't cause problems to add the fix I guess :)


A few too many non-error errors?

When testing on iOS with Developer -> Network Link Conditioner set to Very Bad Network, I see lots of these:
ERROR: Engine tried opening while connected. Assuming this was a reconnect
Maybe the server should know and not assume when it is a reconnect?  In any case should it really be type ERROR?
Also lots of these:
SocketEngine ERROR: The operation couldn’t be completed. (JFRWebSocket error 1000.)
Which also don't look like errors.
Here is my config:
[[self alloc] initWithURL:[NSURL URLWithString:@"https://ws.blah.me"] options:@{@"secure": @YES, @"forceNew": @NO, @"forceWebsockets": @NO, @"forcePolling": @NO, @"reconnectWait": @30, @"logger":logger, @"log": @NO}];
We're connecting with:
self.defaultTimeout = 30;
[self.socket connectWithTimeoutAfter:self.defaultTimeout withHandler:^{
}];

@emes Hi Michael, thank you for pointing it out. Looks like it's because of race condition, I will check it.

Many thanks! Looks good.


Update cookie doc comments

Fixes https://github.com/aspnet/Security/issues/1483
@Tratcher

@HaoK,
Thanks for having already signed the Contribution License Agreement. Your agreement was validated by .NET Foundation. We will now review your pull request.
Thanks,
.NET Foundation Pull Request Bot


New specification compiler

This pr introduces a new specification compiler, it's a complete rewrite of the previous one and has some nice benefits.

Directly outputs the metamodel without using the intermediate Domain
Uses ts-morph instead of byots for navigating the AST. ts-morph is a wrapper of the TypeScript compiler API, which makes it nicer to use.
The code now is no longer a series of classes with a state, but it is a series of composable stateless functions. This means that we lose some context at the benefit of reusability and readability.
ts-morph offers a set of nice utilities that could help us adding new features to the compiler in the future. An example that is already here is a check to verify if a declaration is defined but never used.

TODO:

[x] verify that the output schema is the same (this is a little annoying because the two compilers are traversing the specification differently. which causes a slightly different json output. A stable serializer might solve the problem).
[x] remove the old compiler and unused dependencies
[x] remove the currently generated dump.json and output the schema in the output folder

on doing this in a follow up PR(s) so this rewrite ends up clean in the main line.

I prefer to do the swap all in a single pr, so we can detect quickly if something did break and rollback. Furthermore, it should be easier for our users to fetch the updates :)

From sync earlier today:

description will be added back in a follow up PR
@alternate_name will be added back in in a follow up PR as well.


PPL to Spark translation

Description
This is the initial work on spark capability to execute PPL Queries natively
Implementation Details
1. Using Spark Connect (PPL Grammar To dataframe API Translation)
In Apache Spark 3.4, Spark Connect introduced a decoupled client-server architecture that allows remote connectivity to Spark clusters using the DataFrame API and unresolved logical plans as the protocol.
How Spark Connect works:
The Spark Connect client library is designed to simplify Spark application development. It is a thin API that can be embedded everywhere: in application servers, IDEs, notebooks, and programming languages. The Spark Connect API builds on Spark’s DataFrame API using unresolved logical plans as a language-agnostic protocol between the client and the Spark driver.
The Spark Connect client translates DataFrame operations into unresolved logical query plans which are encoded using protocol buffers. These are sent to the server using the gRPC framework.
The Spark Connect endpoint embedded on the Spark Server receives and translates unresolved logical plans into Spark’s logical plan operators. This is similar to parsing a SQL query, where attributes and relations are parsed and an initial parse plan is built. From there, the standard Spark execution process kicks in, ensuring that Spark Connect leverages all of Spark’s optimizations and enhancements. Results are streamed back to the client through gRPC as Apache Arrow-encoded row batches.
Advantages :
Stability: Applications that use too much memory will now only impact their own environment as they can run in their own processes. Users can define their own dependencies on the client and don’t need to worry about potential conflicts with the Spark driver.
Upgradability: The Spark driver can now seamlessly be upgraded independently of applications, for example to benefit from performance improvements and security fixes. This means applications can be forward-compatible, as long as the server-side RPC definitions are designed to be backwards compatible.
Debuggability and observability: Spark Connect enables interactive debugging during development directly from your favorite IDE. Similarly, applications can be monitored using the application’s framework native metrics and logging libraries.
Not need separating PPL into a dedicated library - all can be done from the existing SQL repository.
Disadvantages :
Not all managed Spark solution support this "new" feature so as part of using this capability we will need to manually deploy the corresponding spark-connect plugins as part of flint’s deployment.
All the context creation would have to be done from the spark client - this creates some additional complexity since the Flint spark plugin has some contextual requirements that have to be somehow propagated from the client’s side .

Selected solution
As presented here and detailed in the issue, there are several options to allow spark to be able to understand and run ppl queries.
The selected option is to us the PPL AST logical plan API and traversals to transform the PPL logical plan into Catalyst logical plan an thus enabling :

reuse of existing PPL code that is tested and in production
simplify development while relying on well known and structured codebase
long term support in case the spark-connect will become user chosen strategy - existing code can be used without any changes
single place of maintenance  by reusing the PPL logical model which relies on ppl antlr parser, we can use a single repository to maintain and develop the PPL language without the need to constantly merge changes upstream .

The following diagram shows the high level architecture of the selected implementation solution :

The logical Architecture  show the next artifacts:

Libraries:

PPL ( the ppl core , protocol, parser & logical plan utils)
SQL ( the SQL core , protocol, parser - depends on PPL for using the logical plan utils)

Drivers:

PPL OpenSearch Driver (depends on OpenSearch core)
PPL Spark Driver (depends on Spark core)
PPL Prometheus Driver (directly translates PPL to PromQL )
SQL OpenSearch Driver (depends on OpenSearch core)

Physical Architecture :
Currently the drivers reside inside the PPL client repository within the OpenSearch Plugins.
Next tasks ahead will resolve this:

Extract PPL logical component outside the SQL plugin into a (none-plugin) library - publish library to maven
Separate the PPL / SQL drivers inside the OpenSearch PPL client to better distinguish
Create a thin PPL client capable of interaction with the PPL Driver regardless of which driver (Spark , OpenSearch , Prometheus )

Issues Resolved
#30
By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.
For more information on following Developer Certificate of Origin and signing off your commits, please check here.

Review instructions:
The commit codebase is composed of the next 3 sections:

ppl-spark-integration module which contains the next code folders:

Java folder with a copy of the PPL / SQL logical plan and antlr files - this is matching the SQL repo codebase
Scala folder containing the ppl parser & ppl parser extension

added ppl-flint integration test file

The first part java's folder is essential copied from the SQL repo and will eventually be removed once that repo exports these jars into maven (see plan above)
The new part that is the core of this feature is the next  ppl package containing the AST ppl logical plan visitor that translates the ppl plan into the spark catalyst plan

So the current implementation copy PPL AST? Could you elaborate a little the benefits of CST -> PPL AST -> Catalyst Plan vs CST -> Catalyst Plan directly?

@dai-chen
I've created a README describing and reviewing  the different details and consideration of the implementation and why this solution IMO if the best for now - please review and see if anything else is missing from that doc - thanks

@dai-chen I've created a README describing and reviewing the different details and consideration of the implementation and why this solution IMO if the best for now - please review and see if anything else is missing from that doc - thanks

Thanks! Just to confirm, there is no design option for Source Grammar Tree To destination Logical Plan (Catalyst) ? Specifically, I'm thinking about from PPL CST to Catalyst AST directly.

@dai-chen - as you correctly stated the general idea is that the next phase will remove the PPL antlr / Ast / logical parts outside and be dependent directly on the PPL library (which will be detached from the SQL plugin) as shown here.
This (existing) concepts also holds true for planning ahead to the spark-connect enablement using this exact approach and thus allowing reuse of this code.
The intermediate stage which involves the copy of the PPL antlr / Ast / logical parts from the sql repo will be eventually deprecated and removed in favour of the direct library dependency .


[DEVX-21] docs: Added missing description to Asset.rootId

:tada: This PR is included in version 2.0.3 :tada:
The release is available on:

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


[Question] Can I use langflow to expose an application as a service and share with others

After the app was created, I can test and debug it. If the app become mature, can I publish it as a service and share with others via langflow? Thanks!

Yes you can, just need to share your own hosted version

Thanks @anovazzi1 , do you have some document that I can refer or any examples for this for how to share?

Absolutely, feel free to delve into our documentation for more information. To make things even clearer, we have a simple option called the embedded chat that you can explore. Give it a look to see if it matches what you're looking for. And don't forget, there's also a live demonstration provided in the documentation. If you have any questions, don't hesitate to ask!

@anovazzi1 thanks! Let me check and ping you if I have more comments.

I can publish an app via huggingface.


Split up UI components

We need to make full use of AngularJS in the UI. Currently a lot of code is duplicated and could be split up into injectable services and components. This will allow for UI testing and make the UI more supportable.

Migration Steps
Previously you could overwrite the settings.js and make changes to things like available operations, rest endpoint, operations blacklist and whitelist. Now that config must be put in the config/config.json file.


Collaborative Text Editor - Cannot define Widget using API  Javascript Web

I am using API for web client throught including  into my website.
but I can not find any method support to define Widget in swellrt.editor object.
Is that function available?
Thanks.

widgets were available in the beta version of swellrt. We haven't migrated them yet to the master branch (alpha). Sorry for the inconvenience


Add SQL solutions

Overview/Summary
This PR adds the SQLVulnerabilityAssessment and SQLAdvancedThreatProtection solutions to the module.
It additionally includes the changes necessary to cut the next release of the module, v2.1.0.
This PR fixes/adds/changes/removes

Fixes #387
Adds guidance to the Wiki for #387
Updates the Wiki pages to use a consistent formatting standard for NOTE blocks
Prepares the code for release v2.1.0

Breaking Changes

To address #387 whilst putting the customer in control of whether these are deployed, we have added two new inputs to the configure_management_resources input variable. Customers using this input must update their code to reflect these changes. For more information, please refer to the following:

settings.log_analytics.config.enable_solution_for_sql_vulnerability_assessment
settings.log_analytics.config.enable_solution_for_sql_advanced_threat_detection

Testing Evidence
Evidence visible within the updated baseline_values.json files, and successful completion of Unit and E2E tests.
As part of this Pull Request I have

[x] Checked for duplicate Pull Requests
[x] Associated it with relevant issues, for tracking and closure.
[x] Ensured my code/branch is up-to-date with the latest changes in the main branch
[x] Performed testing and provided evidence.
[x] Updated relevant and associated documentation.
[ ] Updated the "What's New?" wiki page (located in the Enterprise-Scale repo in the directory: /docs/wiki/whats-new.md)

/azp run update

/azp run e2e


xp gains - total/all

add an all or total option to xp_gains to show total xp gained in any skill during that period

nevermind, if u dont select a skill it does this already


Eliminate extraneous code

Fix bug-extraneous code eliminated in server.js.

Fix bug-extraneous code eliminated in server.js.


Client session caching support is minimal

At the moment client-side session caching only respects SSL_CTX_sess_set_cache_size, but not the cache mode, callbacks, SSL_get_session etc.
Meaningfully implementing SSL_get_session would mean rustls client sessions would need to become serialisable -- they currently are not.

I was looking at adding Ubuntu 24.04 to the CI matrix now that runner images are available (see https://github.com/rustls/rustls-openssl-compat/pull/20 for some discussion) and noticed the runner.rs nginx test fails on 24.40 with Nginx 1.24.0 because the /ssl-was-reused endpoint always returns ..
Here are some notes on the root cause - the TL;DR (and why I'm commenting here) is that I believe we need to implement the session ticket callback functionality to make 1.24.0 have working session resumption.
Reproducing locally it's pretty obvious why the resumption test is failing as nginx 1.24.0 logs this at startup:

2024/06/11 14:24:46 [warn] 2922744#2922744: nginx was built with Session Tickets support, however, now it is linked dynamically to an OpenSSL library which has no tlsext support, therefore Session Tickets are not available

That in turn seems to be emitted in ngx_event_openssl.c when SSL_CTX_set_tlsext_ticket_key_cb fails. Both that function (deprecated) and the replacement SSL_CTX_set_tlsext_ticket_key_evp_cb are #define's that expand to calls to SSL_CTX_callback_ctrl with cmd == SSL_CTRL_SET_TLSEXT_TICKET_KEY_CB.
In both cases the callback has the signature:
    int (*cb)(SSL *s, unsigned char key_name[16],
              unsigned char iv[EVP_MAX_IV_LENGTH],
              EVP_CIPHER_CTX *ctx, EVP_MAC_CTX *hctx, int enc))

We have some experience implementing cmd's off of the SSL_CTX_callback_ctrl entry point (presently just SslCtrl::SetTlsExtServerNameCallback) but this callback also needs initialized EVP_CIPHER_CTX and EVP_MAC_CTX arguments. Should these be modeled similar to EVP_PKEY?

I think this issue is mostly about client-side session caching, so probably shouldn't have much bearing on nginx.
I wonder what happens if we accept the SSL_CTX_set_tlsext_ticket_key_cb but never call the callback?
To get this fully working we'd need to implement the rustls ProducesTickets trait in terms of calling the callback, then using the returned cipher and mac keys to implement the RFC5077 "recommended" construction which AIUI the openssl API is tightly coupled to.

I think this issue is mostly about client-side session caching, so probably shouldn't have much bearing on nginx.

Oops yes, you're right :-) I will pull the relevant comments into a new issue.

I wonder what happens if we accept the SSL_CTX_set_tlsext_ticket_key_cb but never call the callback?

I actually went down this rabbit hole a bit yesterday. I think it's workable after re-reading the SSL_CTX_set_tlsext_ticket_key_cb man page (and fixing some broken english in it...) and the nginx callback. It feels like the correct route is to use our own fully-fledged ticketer instead of trying to do it the OpenSSL way.
I tried this and I expected this to Just Work but found that for some reason the ticketer I constructed with the provider and stuck in the server config was always failing to decrypt the ticket curl was giving back. I took a pcap and also added some logging and the issued ticket ciphertext exactly matched the to-be-decrypted ciphertext read back from the client. It looked like the unseal-in-place operation was producing an opaque Unspecified error. I'm not sure what the root issue is.
I'm going to finish up the config surface and then I will return to this rabbit hole. Theories+advice welcome!

I will pull the relevant comments into a new issue.

https://github.com/rustls/rustls-openssl-compat/issues/30


Add monster parts database and proxy record

Thanks @ianknowles, who seeded this list from a combination of the wiki and excavator results and then validated and expanded it with his own dedicated research.
There are a number of gaps in the data, some for missing data and some for data which are currently impossible to determine. But this is a great start, and further spading can hopefully slowly fill the gaps.

General comment: the database contains monster id. That is unambiguous, but makes the file unreadable by humans. Monster 24 has only a "pseudopod". What is it? Searching monster.txt, I see it is "Lumpy, the Sinister Sauceblob (Inner Sanctum)".
Maybe it's just me, but I find it unsatisfying that I cannot see this in the file, even though, given monster ID, it is redundant.
For comparison, look at standard-rewards.txt, which is indexed by itemID, but includes item name, for human readability.
Perhaps a column between monsterId and the first part could be the monster name - which would also make it easy for a human to look at the monsterIds which currently have no parts and see the names of the ones which require spading.

I considered it but figured this file was unlikely to be perused by a human. I can definitely add that column, will get @ianknowles to regenerate from his dataset.


bugfix: picamera buffer access

:tada: This PR is included in version 1.8.1 :tada:
The release is available on GitHub release
Your semantic-release bot :package::rocket:


integrate with Mathigon's authentication flow

Enable login using Mathigon's authtentication flow

[x] Connect with Mathigon on IBM login implementation
[x] Upgrade to latest Mathigon Studio version
[x] Create IBMid (already have a shared id)
[x] Register SSO application
[x] Configure oAuth credentials
[x] Update & test login page

Issue working on #174


Flickering (zoom / dismiss conflict) + make fick to dismiss an option

On a real device, when I want to zoom the image, it flickers (actually really fast resizes/moves), whenever my zoom gesture is fast. I have to zoom very gently to prevent this. Once I manage to zoom it's ok, this issue appears for zoomLevel == 1 and fast gesture.
On simulator it happens if I firstly drag it with mouse, then press option, to begin zooming, when I firstly click option, than mouse, it's ok. So probably it recognizes the beginning of zooming as dragging.
Here's a gif:

(this is iOS 7.1 with JTS 1.3, although I did notice this issue a month ago, when I firstly tried to use it)
The example works fine, the problem is with presenting it from my tableViewCell.
I tried with different combinations of referenceRect/View and modifying code in library (messing with _flags and zoomLevel), but with no luck.
What I do is add a UITapGestureRecognizer to my UIImageView in a UITableViewCell. In tap handler I present JTS:

//Note: This happens in UITableViewCell subclass

-(void)awakeFromNib
{
self.photoImageView.userInteractionEnabled = YES;
    UITapGestureRecognizer *imageTapGesture = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(handleTap:)];
    [self.photoImageView addGestureRecognizer:imageTapGesture];
}

-(void)handleTap:(UITapGestureRecognizer *)gesture
{
    CGPoint location = [gesture locationInView:[gesture.view superview]];
    if(!CGRectContainsPoint(self.photoImageView.frame, location))
        return;

    JTSImageInfo *imageInfo = [JTSImageInfo new];
    imageInfo.image = self.photoImageView.image;
    imageInfo.referenceRect = self.photoImageView.frame;
    imageInfo.referenceView = self.parentVC.view;

    JTSImageViewController *imageViewer = [[JTSImageViewController alloc] initWithImageInfo:imageInfo mode:JTSImageViewControllerMode_Image backgroundStyle:JTSImageViewControllerBackgroundStyle_ScaledDimmedBlurred];

    imageViewer.interactionsDelegate = self; //thought I could block flickering this way, but tapping also has been disabled
    imageViewer.dismissalDelegate = self;

    [imageViewer showFromViewController:self.parentVC transition:JTSImageViewControllerTransition_FromOffscreen]; //transition has no impact on this issue
}

Hey @frandrzej looks like you were doing something similar to what I've got going on. If you have a second I'd love to ask you a quick question about how you implemented this library with UIImageView inside of Tableview cell.
Thanks!

Hi @bigbadleroybrown. I had no luck here (as of version 1.3), so I ended up using https://github.com/ideaismobile/IDMPhotoBrowser


Removing entire navigation bar of a database to make it look clean

Can you help with a line of code to sort this out in a worker's js file?

Nope not yet

Lots of sample code snippets here. You may want to check it out:
https://fruitionplus.com/3ed984b125224fceb1ff94dc7dce7ce4

Yes, try adding the following under your worker.js in the "class HeadRewriter" section:
/* Remove filter right bar icons */
      div:nth-of-type(2) > .notion-collection_view-block.notion-selectable > div > div:nth-of-type(2){
        display: none !important;
       }

    /* Remove filter dropdown menu */
      div > div:nth-child(1) > div > div:nth-child(1) > main > div > div > div.whenContentEditable > div > div:nth-child(4) > div > div.notion-selectable.notion-collection_view-block > div:nth-child(2) > div:nth-child(2){
        display: none !important;
       }


WithNetNS restores original namespace when callback errors

Without this, an error in the callback function would leave the caller of WithNetNS in the wrong namespace.

Very nice, thanks! Would you mind adding a line to the docstring of the WithNetNS function?

With the tests passing and the docstring updated - this lgtm


doc(cloneElement): fix example log

bug
https://react.dev/reference/react/cloneElement#cloneelement

missing override props from { isHighlighted: true }

This looks like it's been fixed, thanks for raising!


[EAGLE-934] eagle 0.5 assembly update

@haoch, can u please help reviewing this ?

@jhsenjaliya The shell scripts seems no correct

LGTM


Update syntax highlighting docs with an example

Couldn't get this to work until I saw the example in #303 which finally made this work.

Are they meant to be doing the same thing? If so then that wasn’t clear to
me.
This was a while ago now, but I absolutely tried the composition with
arrays first and that did not work - I got no syntax highlighting. Hence my
confusion.
I can attempt again as it’s possible it didn’t work for some other reason.
On Mon, 15 Apr 2019 at 11:54 pm, Brent Jackson<EMAIL_ADDRESS>wrote:

@jxnblk commented on this pull request.
In docs/theming.md
https://github.com/jxnblk/mdx-deck/pull/308#discussion_r275371565:

@@ -71,6 +71,15 @@ Themes can provide a set of custom MDX components, including a replacement for t

MDX Deck includes two themes for adding syntax highlighting with [react-syntax-highlighter][]: syntaxHighlighter and syntaxHighlighterPrism.
+```js
+import { future } from "mdx-deck/themes";
+import { syntaxHighlighterPrism } from "mdx-deck/themes";

+export default syntaxHighlighterPrism({

...future

+});
If that’s the case, it’d be helpful to know what doesn’t make sense in
this section (if you have time)
https://github.com/jxnblk/mdx-deck/blob/master/docs/theming.md#composing-themes
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/jxnblk/mdx-deck/pull/308#discussion_r275371565, or mute
the thread
https://github.com/notifications/unsubscribe-auth/AAAkW4EmPApy9QTXL6R4SLG8gtv9zdSNks5vhISngaJpZM4cXw51
.

This was a while ago now, but I absolutely tried the composition with
arrays first and that did not work - I got no syntax highlighting.

^^ yeah so this sounds like a bug – could be related to #284

Going to close this for now since the example added here is not intended to be part of the public API


Can select with repository to create a PR when on workspace with multiple repositories

Issue Type: Bug
When I click on create pull request, i see it detects the repository. But I want to create the pull request for the other repository in the workspace I`m working on
Extension version: 0.5.1
VS Code version: Code - Insiders 1.33.0-insider (b5f5db349f211f5045e7dad6fd1672010d2d00de, 2019-03-28T10:44:04.956Z)
OS version: Linux x64 5.0.3-200.fc29.x86_64

System Info

Item
Value

CPUs
Intel(R) Core(TM) i7-7700HQ CPU @ 2.80GHz (8 x 3449)

GPU Status
2d_canvas: enabledchecker_imaging: disabled_offflash_3d: enabledflash_stage3d: enabledflash_stage3d_baseline: enabledgpu_compositing: enabledmultiple_raster_threads: enabled_onnative_gpu_memory_buffers: disabled_softwarerasterization: disabled_softwaresurface_synchronization: enabled_onvideo_decode: unavailable_offwebgl: enabledwebgl2: enabled

Load (avg)
1, 1, 1

Memory (System)
15.44GB (8.38GB free)

Process Argv
-r project.code-workspace

Screen Reader
no

VM
0%

related to #493 (possible duplication)

Just to add some info, It always take the first open repository to create a PR

I'm having the same issue - multi source workspace always defaults, and I cannot switch, even if I remove the other sources.
I have attempted on both the insiders and GA versions of VS Code.
Related issues:

https://github.com/microsoft/vscode-pull-request-github/issues/1179
https://github.com/microsoft/vscode-pull-request-github/issues/1090
https://github.com/microsoft/vscode-pull-request-github/issues/1069
https://github.com/microsoft/vscode-pull-request-github/issues/1033

Extension version: 0.7.0
VS Code version: Code 1.34.0 (a622c65b2c713c890fcf4fbf07cf34049d5fe758, 2019-05-15T21:59:22.738Z)
OS version: Darwin x64 18.6.0

Extension version: 0.7.0
VS Code version: Code - Insiders 1.35.0-insider (4ca38ce5584d7cd67b435b3c32ef1240c6a29628, 2019-05-21T05:17:12.031Z)
OS version: Darwin x64 18.6.0

System Info

Item
Value

CPUs
Intel(R) Core(TM) i7-7567U CPU @ 3.50GHz (4 x 3500)

GPU Status
2d_canvas: enabledchecker_imaging: disabled_offflash_3d: enabledflash_stage3d: enabledflash_stage3d_baseline: enabledgpu_compositing: enabledmultiple_raster_threads: enabled_onnative_gpu_memory_buffers: enabledrasterization: enabledsurface_synchronization: enabled_onvideo_decode: enabledwebgl: enabledwebgl2: enabled

Load (avg)
2, 2, 2

Memory (System)
16.00GB (1.20GB free)

Process Argv

Screen Reader
no

VM
0%

Is there a reason this bug, and the many other ones @forstermatth mentions that are the same bug, have not been addressed? I am encountering it now and find myself needing to manually open my sub-folders in separate windows to use the extension effectively. It is not ideal.

@DavidGriswoldTeacher Sorry for the inconvenience, using this extension in a multi-repository workspace still needs some more.
You should be able to change which repository the extension is using by changing the selection in the Source Control viewlet:

@RMacfarlane this workaround does not seem to be working for me. Regardless of which repository I select in the "Source Control" list, the Create Pull Request dialog always selects the same repository.

@RMacfarlane I am experiencing the same. Using version 0.12 of the extension (had to downgrade because of another open PR)
When I try to create a pull request from a multi root workspace, it always selects the first repo. I can never create a PR for another repo in the workspace.

Same here. In multi-repo workspace only one repository's pull requests are shown, no matter what is selected in SCM viewlet

Thanks all, I'm able to reproduce and have created this upstream issue: https://github.com/microsoft/vscode/issues/85975
However, I'm still able to get this to work currently if I change the selection more than once.

Closing, as this has now been fixed. A quick pick should be shown at the start of the create process to choose which folder to use


Why save the last image, not save the image right now?

Thanks your unity-native-sharing,  It's so  good.
But I have  a problem, on iphone, when I take a shot on first time, it will tell me " no image to find",
But if take a shot again,  it will show me the last image...

README.md
Note that Unity screenshots are run asynchronously and as such you will need to check that the file has been written, or put a delay between capturing the screenshot and sharing it using a coroutine. Otherwise you will likely end up trying to access a file that does not yet exist or will access a previous version of the screenshot.

I got it,  Thanks so much

Morning, I try it all day long, but can't make it......
have some error :CS0103  does not exist in the current context......
Can you help me ?Please

Yeah...I should really update the sample code to make a note of that. Anyway, seems like this is resolved.