OME Zarr Converter Plugin: issues with fileExtension and filePattern parameters

Summary
Hi @Nicholas-Schaub, I identified multiple issues with OME Zarr Converter Plugin.
What is the current bug behavior?

Using --fileExtension .abcdef just produces output files with .abcdef extension

Using --filePattern leads to division by zero run-time error. Logs:

29-Aug-22 17:08:04 - main     - INFO     - Parsing arguments...
29-Aug-22 17:08:04 - main     - INFO     - inpDir = /data/intensity
29-Aug-22 17:08:04 - main     - INFO     - filePattern = S1_R1_C1-C11_A1_c0{c}0.ome.tif
29-Aug-22 17:08:04 - main     - INFO     - fileExtension = .zarr
29-Aug-22 17:08:04 - main     - INFO     - outDir = /data/zarr
Traceback (most recent call last):
  File "/opt/executables/main.py", line 168, in <module>
    main(inpDir=inpDir, filePattern=filePattern, fileExtension=fileExtension, outDir=outDir)
  File "/opt/executables/main.py", line 111, in main
    ProcessManager.join_processes()
  File "/usr/local/lib/python3.9/dist-packages/preadator/preadator.py", line 362, in join_processes
    ProcessManager.main_logger.info(f'Processes {100*len(done)/len(ProcessManager._processes):6.2f}% complete')
ZeroDivisionError: division by zero

What is the expected correct behavior?

--fileExtension input parameter shouldn't exist and should be removed
Division by zero bug when using --filePattern should be fixed

Steps to reproduce
For both cases, I downloaded a subset of Brain Hyperplex dataset from Polus-Data

docker run -v <path to polus-data>/polus/images/MaricRatBrain2019/subset:/data labshare/polus-ome-zarr-converter-plugin:0.5.0 --inpDir /data/intensity --outDir /data/zarr --fileExtension .abcdef
docker run -v <path to polus-data>/polus/images/MaricRatBrain2019/subset:/data labshare/polus-ome-zarr-converter-plugin:0.5.0 --inpDir /data/intensity --outDir /data/zarr --filePattern S1_R1_C1-C11_A1_c0{c}0.ome.tif --fileExtension .zarr

@ktaletsk I have fixed the issue and you can use following docker image polusai/ome-zarr-converter:0.2.1
I removed fileExtension as input argument and defined as environmental variable
it requires two input arguments
--inpDir
--filePattern
--outDir
The main reason you had the problem as filePattern was incorrect for MaricRatBrain2019 subset dataset. You have to use following filePattern ='S1_R{r}_C1-C11_A1_y0{yy}_x0{xx}_c0{cc}.ome.tif'
Let me know if this works for you

@hamshkhawar I can confirm that it runs, however I have a different problem in the Notebooks environment -- I cannot delete the output files with error 'Permission denied'. In case of the old version (labshare/polus-ome-zarr-converter-plugin:0.5.0), I could delete the output files without any issues. Also, I can delete the outputs if I run the container on my local machine using Docker.

@Nicholas-Schaub Do you have any insight into it?

I have run into this issue on my Linux machine in the past. @ktaletsk This is usually associated with how the container is run. The standard docker run command usually runs the container using the container default user which is root. This can lock out users who run the container from accessing the files it's generated since the files require root or sudo access to modify. Can we try running the container as a user and see if this resolves the issue?

@Nicholas-Schaub I tried running as a user and it solved the issue:

FROM labshare/polus-bfio-util:2.1.9

# environment variables defined in labshare/polus-bfio-util
# ENV EXEC_DIR="/opt/executables"
# ENV DATA_DIR="/data"
# ENV POLUS_LOG="INFO" # Change to WARNING for fewer logs, and DEBUG for debugging

# Work directory defined in the base container
# WORKDIR ${EXEC_DIR}
ENV POLUS_EXT=".ome.zarr"
COPY VERSION ${EXEC_DIR}
COPY src ${EXEC_DIR}/

RUN pip3 install -r ${EXEC_DIR}/requirements.txt --no-cache-dir

+ USER 1000

ENTRYPOINT ["python3", "main.py"]


Docs Onboarding 2021-07-14

Docs Build status updates of commit 1398c68:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

package.json
:white_check_mark:Succeeded

For more details, please refer to the build report.
Note: Broken links written as relative paths are included in the above build report. For broken links written as absolute paths or external URLs, see the broken link report.
For any questions, please:Try searching the docs.microsoft.com contributor guidesPost your question in the Docs support channel


ngram= natural.NGrams.ngrams not getting the variables

Bug Report: Issue with Dynamic N-Gram Generation in Express.js
Description
In the generateNGrams function, when passing a variable n to natural.NGrams.ngrams(words, n), the output differs from the expected results when using a literal value for n. The function works correctly when n is directly set (e.g., ngram = natural.NGrams.ngrams(words, 4);), but fails to provide the correct result when n is passed as a parameter.
My function call
function generateNGrams(sentence, n) {
  let words = sentence.match(/\w+(['-]?\w+)?/g);  // Extract words
  let ngram = natural.NGrams.ngrams(words, n);   // Generate n-grams
  return ngram;
}

Steps to Reproduce

Create an Express.js API to generate n-grams from a sentence.
Pass the sentence and n as parameters to the generateNGrams function.
Compare the results when n is passed dynamically versus when n is hardcoded.

API example
app.post('/generate-ngram', (req, res) => {
  const { sentence, n } = req.body;
  const ngramResult = generateNGrams(sentence, n);
  res.json(ngramResult);
});

Issue
For the sentence:
"some other words here for you"
When n is hardcoded as 4:
ngram = natural.NGrams.ngrams(words, 4);

The output is as expected:
[
  [ 'some', 'other', 'words' ],
  [ 'other', 'words', 'here' ],
  [ 'words', 'here', 'for' ],
  [ 'here', 'for', 'you' ]
]

However, when n is passed as a parameter:
ngram = natural.NGrams.ngrams(words, n);

The output is incorrect: even when that is pass in is 4, it gives
[
  [ 'some', 'other', 'words', 'here' ],
  [ 'other', 'words', 'here', 'for', 'you' ],
  [ 'words', 'here', 'for', 'you' ]
]

Expected Behavior
The function should produce the same n-gram results whether n is hardcoded or passed dynamically as a parameter.
Desktop Information
OS: macOS Sonoma 14.6.1
Node.js version: v22.6.0
Natural.js version<EMAIL_ADDRESS>

It was a string passed into the function, I have to recast it to an int. It works okay, it was my bad


Rotating the file if exif data has rotation metadata

References

Task

Motivation (required)
Some images having exif rotation data are displaying upside down or sideways. Lot of other people have complained about this but there is no fix in the the original library.
Before making changes:
https://github.com/TeamGuilded/react-native-image-picker/assets/10223307/a9a90390-933d-40d9-8990-6742eb7d60fc
After making these changes:
https://github.com/TeamGuilded/react-native-image-picker/assets/10223307/187ddbcb-99c8-4200-a298-468d839a8350
Test Plan (required)
Will be testing on multiple devices/ios versions using simulator as well as actual devices including asking team to test it for various ios versions/devices

Currently we're using the react-native-image-picker5.1.0gg branch of this package, can you rebase against that?


What are unity builds (and how they help)

Original mold build (Release)
[658/658] Creating executable symlink Products/energyplus
8283.41user 283.24system 14:48.95elapsed 963%CPU (avgtext+avgdata 2933712maxresident)k
1424inputs+1589072outputs (17major+67988849minor)pagefaults 0swaps

perf
40.24user 0.17system 0:40.61elapsed 99%CPU (avgtext+avgdata 268032maxresident)k
0inputs+43120outputs (0major+64250minor)pagefaults 0swaps

69967000 Jan  8 14:27 libenergyplusapi.so.22.1.0

original mold lto build
[658/658] Creating executable symlink Products/energyplus
3936.56user 256.16system 11:51.28elapsed 589%CPU (avgtext+avgdata 2426960maxresident)k
0inputs+3914232outputs (17major+59543380minor)pagefaults 0swaps

mold unity build
Note that there are fewer targets because the unity build merged targets together
[219/219] Creating executable symlink Products/energyplus
4916.14user 125.28system 9:37.50elapsed 872%CPU (avgtext+avgdata 3074240maxresident)k
511488inputs+1263136outputs (97744major+23875086minor)pagefaults 0swaps

perf run for unity mold build
EnergyPlus Run Time=00hr 00min 40.00sec
EnergyPlus Completed Successfully.
39.90user 0.14system 0:40.20elapsed 99%CPU (avgtext+avgdata 270004maxresident)k
0inputs+43120outputs (0major+64415minor)pagefaults 0swaps

File size:
68976032 Jan  8 13:39 libenergyplusapi.so.22.1.0

mold unity lto build
[219/219] Creating executable symlink Products/energyplus
1503.43user 77.32system 7:26.81elapsed 353%CPU (avgtext+avgdata 2491416maxresident)k
143904inputs+24238000outputs (195major+18620542minor)pagefaults 0swaps

Perf run for unity lto build, with mold
EnergyPlus Run Time=00hr 00min 40.26sec
EnergyPlus Completed Successfully.
40.09user 0.17system 0:40.46elapsed 99%CPU (avgtext+avgdata 265884maxresident)k
3280inputs+43200outputs (0major+64171minor)pagefaults 0swaps

62300800 Jan  8 13:58 Products/libenergyplusapi.so.22.1.0

Best Practice:

Test your project regularly with Unity Builds to know if it has sneaky UB because of ODR violations and decide as a team if you want Unity Builds to be the default on your CI

Coming in Ep413

Hi, I've juste seen this episode and played with that. One of the downside I felt upon is the undesired "merging" of unnamed namespace.
A practical use-case: I've got a bunch of unit-tests separated in different source files. In each source file, I declare a global std::mt19937 variable, within an unnamed namespace, in order to have a single random generator in the translation unit. I gave the same name for the generator in each TU.
But now the unity build decided to merge all my unit tests within a single TU and I've got now a redefinition issue...
Of course I can give a different name to my generator in each file but it's a bit of an overhead for the developer...
I can't recall you mentioned that in the video (may be, in this case I apologize) and I felt it was worth mentioning.


RuntimeError: Cannot terminate an exclusive task

Every once in a while, I see this error in 3 different places, always in quick succession:
CLEANUP CRASHED!
RuntimeError: Cannot terminate an exclusive task
	/var/lib/gems/2.1.0/gems/celluloid-0.16.0/lib/celluloid/tasks.rb:116:in `terminate'
	/var/lib/gems/2.1.0/gems/celluloid-0.16.0/lib/celluloid/tasks/task_fiber.rb:34:in `terminate'
	/var/lib/gems/2.1.0/gems/celluloid-0.16.0/lib/celluloid/actor.rb:345:in `each'
	/var/lib/gems/2.1.0/gems/celluloid-0.16.0/lib/celluloid/actor.rb:345:in `cleanup'
	/var/lib/gems/2.1.0/gems/celluloid-0.16.0/lib/celluloid/actor.rb:329:in `shutdown'
	/var/lib/gems/2.1.0/gems/celluloid-0.16.0/lib/celluloid/actor.rb:321:in `handle_crash'
	/var/lib/gems/2.1.0/gems/celluloid-0.16.0/lib/celluloid/actor.rb:166:in `rescue in run'
	/var/lib/gems/2.1.0/gems/celluloid-0.16.0/lib/celluloid/actor.rb:148:in `run'
	/var/lib/gems/2.1.0/gems/celluloid-0.16.0/lib/celluloid/actor.rb:130:in `block in start'
	/var/lib/gems/2.1.0/gems/celluloid-0.16.0/lib/celluloid/thread_handle.rb:13:in `block in initialize'
	/var/lib/gems/2.1.0/gems/celluloid-0.16.0/lib/celluloid/actor_system.rb:32:in `block in get_thread'
	/var/lib/gems/2.1.0/gems/celluloid-0.16.0/lib/celluloid/internal_pool.rb:130:in `call'
	/var/lib/gems/2.1.0/gems/celluloid-0.16.0/lib/celluloid/internal_pool.rb:130:in `block in create'

SystemStackError: stack level too deep
File "/var/lib/gems/2.1.0/gems/celluloid-0.16.0/lib/celluloid/tasks/task_fiber.rb" line 25
Celluloid::FiberStackError: stack level too deep (please see https://github.com/celluloid/celluloid/wiki/Fiber-stack-errors)
File "/var/lib/gems/2.1.0/gems/celluloid-0.16.0/lib/celluloid/tasks/task_fiber.rb" line 27 in rescue in deliver
File "/var/lib/gems/2.1.0/gems/celluloid-0.16.0/lib/celluloid/tasks/task_fiber.rb" line 25 in deliver
File "/var/lib/gems/2.1.0/gems/celluloid-0.16.0/lib/celluloid/tasks.rb" line 96 in resume
File "/var/lib/gems/2.1.0/gems/celluloid-0.16.0/lib/celluloid/actor.rb" line 359 in task
File "/var/lib/gems/2.1.0/gems/celluloid-0.16.0/lib/celluloid/cell.rb" line 67 in task
File "/var/lib/gems/2.1.0/gems/celluloid-0.16.0/lib/celluloid/cell.rb" line 59 in invoke
File "/var/lib/gems/2.1.0/gems/celluloid-0.16.0/lib/celluloid/cell.rb" line 34 in block in initialize
File "/var/lib/gems/2.1.0/gems/celluloid-0.16.0/lib/celluloid/handlers.rb" line 38 in call
File "/var/lib/gems/2.1.0/gems/celluloid-0.16.0/lib/celluloid/handlers.rb" line 38 in call
File "/var/lib/gems/2.1.0/gems/celluloid-0.16.0/lib/celluloid/handlers.rb" line 19 in handle_message
File "/var/lib/gems/2.1.0/gems/celluloid-0.16.0/lib/celluloid/actor.rb" line 280 in handle_message
File "/var/lib/gems/2.1.0/gems/celluloid-0.16.0/lib/celluloid/actor.rb" line 154 in block in run
File "/var/lib/gems/2.1.0/gems/timers-4.0.1/lib/timers/group.rb" line 52 in wait
File "/var/lib/gems/2.1.0/gems/celluloid-0.16.0/lib/celluloid/actor.rb" line 150 in run
File "/var/lib/gems/2.1.0/gems/celluloid-0.16.0/lib/celluloid/actor.rb" line 130 in block in start
File "/var/lib/gems/2.1.0/gems/celluloid-0.16.0/lib/celluloid/thread_handle.rb" line 13 in block in initialize
File "/var/lib/gems/2.1.0/gems/celluloid-0.16.0/lib/celluloid/actor_system.rb" line 32 in block in get_thread
File "/var/lib/gems/2.1.0/gems/celluloid-0.16.0/lib/celluloid/internal_pool.rb" line 130 in call
File "/var/lib/gems/2.1.0/gems/celluloid-0.16.0/lib/celluloid/internal_pool.rb" line 130 in block in create
RuntimeError: Cannot terminate an exclusive task
File "/var/lib/gems/2.1.0/gems/celluloid-0.16.0/lib/celluloid/tasks.rb" line 116 in terminate
File "/var/lib/gems/2.1.0/gems/celluloid-0.16.0/lib/celluloid/tasks/task_fiber.rb" line 34 in terminate
File "/var/lib/gems/2.1.0/gems/celluloid-0.16.0/lib/celluloid/actor.rb" line 345 in each
File "/var/lib/gems/2.1.0/gems/celluloid-0.16.0/lib/celluloid/actor.rb" line 345 in cleanup
File "/var/lib/gems/2.1.0/gems/celluloid-0.16.0/lib/celluloid/actor.rb" line 329 in shutdown
File "/var/lib/gems/2.1.0/gems/celluloid-0.16.0/lib/celluloid/actor.rb" line 321 in handle_crash
File "/var/lib/gems/2.1.0/gems/celluloid-0.16.0/lib/celluloid/actor.rb" line 166 in rescue in run
File "/var/lib/gems/2.1.0/gems/celluloid-0.16.0/lib/celluloid/actor.rb" line 148 in run
File "/var/lib/gems/2.1.0/gems/celluloid-0.16.0/lib/celluloid/actor.rb" line 130 in block in start
File "/var/lib/gems/2.1.0/gems/celluloid-0.16.0/lib/celluloid/thread_handle.rb" line 13 in block in initialize
File "/var/lib/gems/2.1.0/gems/celluloid-0.16.0/lib/celluloid/actor_system.rb" line 32 in block in get_thread
File "/var/lib/gems/2.1.0/gems/celluloid-0.16.0/lib/celluloid/internal_pool.rb" line 130 in call
File "/var/lib/gems/2.1.0/gems/celluloid-0.16.0/lib/celluloid/internal_pool.rb" line 130 in block in create

Actor crashed!
Celluloid::FiberStackError: stack level too deep (please see https://github.com/celluloid/celluloid/wiki/Fiber-stack-errors)
	/var/lib/gems/2.1.0/gems/celluloid-0.16.0/lib/celluloid/tasks/task_fiber.rb:27:in `rescue in deliver'
	/var/lib/gems/2.1.0/gems/celluloid-0.16.0/lib/celluloid/tasks/task_fiber.rb:25:in `deliver'
	/var/lib/gems/2.1.0/gems/celluloid-0.16.0/lib/celluloid/tasks.rb:96:in `resume'
	/var/lib/gems/2.1.0/gems/celluloid-0.16.0/lib/celluloid/actor.rb:359:in `task'
	/var/lib/gems/2.1.0/gems/celluloid-0.16.0/lib/celluloid/cell.rb:67:in `task'
	/var/lib/gems/2.1.0/gems/celluloid-0.16.0/lib/celluloid/cell.rb:59:in `invoke'
	/var/lib/gems/2.1.0/gems/celluloid-0.16.0/lib/celluloid/cell.rb:34:in `block in initialize'
	/var/lib/gems/2.1.0/gems/celluloid-0.16.0/lib/celluloid/handlers.rb:38:in `call'
	/var/lib/gems/2.1.0/gems/celluloid-0.16.0/lib/celluloid/handlers.rb:38:in `call'
	/var/lib/gems/2.1.0/gems/celluloid-0.16.0/lib/celluloid/handlers.rb:19:in `handle_message'
	/var/lib/gems/2.1.0/gems/celluloid-0.16.0/lib/celluloid/actor.rb:280:in `handle_message'
	/var/lib/gems/2.1.0/gems/celluloid-0.16.0/lib/celluloid/actor.rb:154:in `block in run'
	/var/lib/gems/2.1.0/gems/timers-4.0.1/lib/timers/group.rb:52:in `wait'
	/var/lib/gems/2.1.0/gems/celluloid-0.16.0/lib/celluloid/actor.rb:150:in `run'
	/var/lib/gems/2.1.0/gems/celluloid-0.16.0/lib/celluloid/actor.rb:130:in `block in start'
	/var/lib/gems/2.1.0/gems/celluloid-0.16.0/lib/celluloid/thread_handle.rb:13:in `block in initialize'
	/var/lib/gems/2.1.0/gems/celluloid-0.16.0/lib/celluloid/actor_system.rb:32:in `block in get_thread'
	/var/lib/gems/2.1.0/gems/celluloid-0.16.0/lib/celluloid/internal_pool.rb:130:in `call'
	/var/lib/gems/2.1.0/gems/celluloid-0.16.0/lib/celluloid/internal_pool.rb:130:in `block in create'

Running RubyVM::DEFAULT_PARAMS in IRB returns the following:
=> {:thread_vm_stack_size=>1048576, :thread_machine_stack_size=>1048576, :fiber_vm_stack_size=>131072, :fiber_machine_stack_size=>524288}

...so I'm pretty sure this isn't your typical FiberStackError. Any idea what may be going on?
I should add that I grep'd my codebase for any mentions of terminate. All terminate calls to exclusive actors are made asynchronously.

I should add that I grep'd my codebase for all mentions of terminate. All terminate calls to exclusive actors are made asynchronously.

@fedenusy do you have a repro I can use to help fix this?

@digitalextremist as far as I can tell the error is non-deterministic, but I'm happy to spend some time trying to repro. Any idea what celluloid features I should focus on?
I see mentions of "timers" in the stack traces, and there's also mentions of "terminat[ing] an exclusive task". Do you think it make sense for me to focus on exclusive actors in my app that use timers? Or is that not the right place to start?

Hmm. Time invested in a repro would be much appreciated. I would start as close to how you originally stumbled upon the error as possible and see how it goes. May the f0rc3 be with you.

Any chance it would be possible to modify the errors above so they include the actor class that triggered the error? For example, "Actor crashed!" would be way more helpful if it said "MyActorClass actor crashed!"
As it stands, I have to look through my entire app to try and repro, which feels a bit daunting.
Either way I'll try repro early next week.

Have you tried Task::Threaded and/or using the 0.17.0-prerelease branch?

Tried finding repro a couple days ago but no luck. I'm guessing some change in my app inadvertently "fixed" this, since I'm not seeing it anymore. I'll upgrade to 0.17 and let you know if it happens again.
I should also mention I saw a similar error about a week ago. This one was much more frequent, and thus easier to find. After some digging it turned out to be a bug in my app that resulted in infinite recursion. But since it looked like the errors above, there was absolutely no hint of where to start debugging.
Would be really nice if celluloid mentioned the actor class / method name / line number that triggered a FiberStackError (maybe this is already in on 0.17)?

Be advised @fedenusy, 0.17.0 might singe your eyebrows off. Task::Threaded has backtraces, but if you want to post an issue requesting this feature just in case, go ahead. I don't see it happening until 0.18.0 though, but you can file it. For now I'm going to close this unless you can reproduce it solidly.

Sounds good, thanks for all the help.


Add button on the Minting success screen to navigate user to Airlyft

Describe the task
Add button on the Minting success screen to navigate user to Airlyft

Link design: https://www.figma.com/file/2nYhrm0rlJtfJoMwrT51Ep/SubWallet-Apps?type=design&node-id=12725-122141&mode=design&t=rtxbfgIfOfB2BeT7-4

Version test: https://29c9c0fd.subwallet-webapp.pages.dev/
Validation passed


chore(master): release 6.7.3

:robot: I have created a release beep boop
6.7.3 (2024-02-08)
Bug Fixes

increase wait for usable time (#902) (b98b97a)

This PR was generated with Release Please. See documentation.

:robot: Release is at https://github.com/ethersphere/bee-js/releases/tag/v6.7.3 :sunflower:

Release v6.7.3 addresses this.


fix/Reintroduce WHERE filter to the Sparse Query for PgVectorStore

Description
Reintroduce WHERE filter to the Sparse query for PgVector (reverting #9400)
The considerations are:

The ts_rank function works by ranking all rows, by not filtering the result we will essentially rank all rows in the table most of which will probably have a ranking of 0. So that's expensive and unnecessary.
The ts_query variable we put on the SELECT clause will only compiled to plainto_tsquery($1, $2::VARCHAR), which does not do anything other than convert the query to tsquery type. So we still need to put the WHERE clause to actually filter the result.

Performance comparison (you can see the execution time is almost 2x faster):
Without WHERE clause:
QUERY PLAN                                                                                |
--------------------------------------------------------------------------------------------------------------------------------------------------------------+
Limit  (cost=61005.45..61017.12 rows=100 width=1191) (actual time=627.584..629.058 rows=100 loops=1)                                                          |
  ->  Gather Merge  (cost=61005.45..88736.49 rows=237678 width=1191) (actual time=627.582..629.048 rows=100 loops=1)                                          |
        Workers Planned: 2                                                                                |
        Workers Launched: 2                                                                                |
        ->  Sort  (cost=60005.43..60302.53 rows=118839 width=1191) (actual time=624.766..624.770 rows=64 loops=3)                                             |
              Sort Key: (ts_rank(text_search_tsv, '''china'''::tsquery)) DESC                                                                                |
              Sort Method: top-N heapsort  Memory: 252kB                                                                                |
              Worker 0:  Sort Method: top-N heapsort  Memory: 244kB                                                                                |
              Worker 1:  Sort Method: top-N heapsort  Memory: 270kB                                                                                |
              ->  Parallel Seq Scan on my_table                   (cost=0.00..55463.49 rows=118839 width=1191) (actual time=0.072..578.646 rows=95071 loops=3)|
Planning Time: 0.094 ms                                                                                |
Execution Time: 629.090 ms                                                                                |

With WHERE clause:
QUERY PLAN                                                                                |
---------------------------------------------------------------------------------------------------------------------------------------------------------+
Limit  (cost=55709.26..55709.51 rows=100 width=1191) (actual time=306.273..306.289 rows=100 loops=1)                                                     |
  ->  Sort  (cost=55709.26..55803.64 rows=37753 width=1191) (actual time=306.272..306.278 rows=100 loops=1)                                              |
        Sort Key: (ts_rank(text_search_tsv, '''china'''::tsquery)) DESC                                                                                |
        Sort Method: top-N heapsort  Memory: 334kB                                                                                |
        ->  Bitmap Heap Scan on my_table  (cost=2220.58..54266.37 rows=37753 width=1191) (actual time=9.637..287.518 rows=36933 loops=1)                 |
              Recheck Cond: (text_search_tsv @@ '''china'''::tsquery)                                                                                |
              Heap Blocks: exact=21136                                                                                |
              ->  Bitmap Index Scan on text_search_tsv_idx  (cost=0.00..2211.15 rows=37753 width=0) (actual time=6.226..6.226 rows=40473 loops=1)        |
                    Index Cond: (text_search_tsv @@ '''china'''::tsquery)                                                                                |
Planning Time: 0.134 ms                                                                                |
Execution Time: 306.325 ms                                                                                |

Fixes # (issue)
Type of Change
Please delete options that are not relevant.

[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)
[ ] This change requires a documentation update

How Has This Been Tested?
Please describe the tests that you ran to verify your changes. Provide instructions so we can reproduce. Please also list any relevant details for your test configuration

[ ] Added new unit/integration tests
[ ] Added new notebook (that tests end-to-end)
[X] I stared at the code and made sure it makes sense

Suggested Checklist:

[X] I have performed a self-review of my own code
[ ] I have commented my code, particularly in hard-to-understand areas
[ ] I have made corresponding changes to the documentation
[ ] I have added Google Colab support for the newly added notebooks.
[ ] My changes generate no new warnings
[ ] I have added tests that prove my fix is effective or that my feature works
[ ] New and existing unit tests pass locally with my changes
[ ] I ran make format; make lint to appease the lint gods

@rendyfebry can you ensure this revert does not reintroduce the issue mentioned
I think the hybrid search postgres query does not need the additional where clause, as it massively restricts the volume of returned rows. Mostly for my case, the number of returned rows is 0.

Ranking and limiting is already performed in the circumference of the query generation, which should be sufficient enough to get good results.
If the query stays as is, that basically means that every (normalised) word needs to be existent in the node/db row that is currently evaluated.

Even the current example (https://colab.research.google.com/github/run-llama/llama_index/blob/main/docs/examples/vector_stores/postgres.ipynb) fails for me when setting similarity_top_k to 0.

@hatianzhang The first part already explained in the PR description.
As for this one, I don't even think that's an issue. This is rather an expectation.

If the query stays as is, that basically means that every (normalised) word needs to be existent in the node/db row that is currently evaluated.

For example, if your raw query is russo ukraine war the plainto_tsquery() to russia & ukraine & war, which means we will only search for nodes that mention all three of them, as mentioned by the previous PR. But I see that as an expectation, we definitely don't want to return the node about vietnam war just because it matches one of the words only right?

@hatianzhang The first part already explained in the PR description.
As for this one, I don't even think that's an issue. This is rather an expectation.

If the query stays as is, that basically means that every (normalised) word needs to be existent in the node/db row that is currently evaluated.

For example, if your raw query is russo ukraine war the plainto_tsquery() to russia & ukraine & war, which means we will only search for nodes that mention all three of them, as mentioned by the previous PR. But I see that as an expectation, we definitely don't want to return the node about vietnam war just because it matches one of the words only right?

@hatianzhang To be fair, there's a way to make that more flexible, instead of assuming the user wants to match all words or not, we should give them more flexibility. Instead of plainto_tsquery() we shouls use to_tsquery()

plainto_tsquery takes every word in the search string and assumes that they should all be connected by an "and" operator ('&').

to_tsquery() provides boolean abilities, but each word in the search string must be separated by a boolean operator. ('&' '|' or '!') (and, or, not).

But that would be out of this PR scoope, I'll leave that for future improvement.

we definitely don't want to return the node about vietnam war just because it matches one of the words only right? -- I would argue we do, and this is what rerankers are for
Normal user queries are more like natural questions, I don't 100% understand how the text search works here, but does that mean every word in the question will have to match the retrieved nodes?
Fine with merging this for now I think? but this is probably be addressed in another PR :)

@logan-markewich That's fair
But AFAIK for RAG in general, using the whole user prompt for retrieval query is too naive, and that applies to all retrievers, not only hybrid keyword searches. And that's the purpose of query transformation.
For example, if the prompt is "What do you know about the Russo-Ukraine War?", we should use query transformation so our retrieval only queries with "Russo-Ukraine War" instead of the whole prompt.

BTW @logan-markewich @hatianzhang to be clear, my main concern for this PR is on the performance impact of not using the filter. As we can see the difference is 2x on query execution time.
For other improvements, I'll leave that to the others.

@logan-markewich @rendyfebry @hatianzhang well ok, now we´re back at square one. 🙂
For my specific use case (and possibly for thousands of others) I would argue that db performance is much less of a problem than being forced to send a query transformation to an LLM, which might take several seconds instead of an increase of 300ms which was shown by @rendyfebry above.
DB performance optimization is a well-known problem and can be tackled from all sorts of angles.
And mentioning again: please everybody try to run your project notebook that´s also used in the docs: https://colab.research.google.com/github/run-llama/llama_index/blob/main/docs/examples/vector_stores/postgres.ipynb
It will not work after this change.
Maybe it would be better to keep the examples functional to not mislead users and, if there´s a specific use case, to let the users design the query by themselves. Of course there´s always the option to create your own VectorStores. Which quite frankly, I will do now as I cannot trust the constantly changing functionality anymore.

@mroedder-d7 my apologies. Let me figure out a fix that works for both issues here. Probably I can add a strict hybrid option or something like that

@logan-markewich no need to apologise, it´s all good 😄
I would always recommend to keep things open for extension, because there will never be enough option toggles for all use cases. I built a subclass and overrode one function, now I have my perfect tailor-made solution :)

Hi2 @mroedder-d7
Sorry to cause trouble, but to be honest the previous change also broke my use case (and possibly for thousands of others) as well, so I think it's fair to revert it to the initial state.
Also, I would argue that this is not only 300ms optimization. That's true for small db sizes, but once you have multiple GB of data, you can easily reduce seconds of query time. The main source of this is without the where @@ clause we simply for filter anything and the TSV index we built in the first place will go to waste and the overall system won't be scalable.
https://github.com/run-llama/llama_index/blob/main/llama_index/vector_stores/postgres.py#L78...L82
I just checked, the reason why the example failed and possibly the same reason why @mroedder-d7 is because of the reason mentioned here.
https://github.com/run-llama/llama_index/pull/9529#issuecomment-1856346206
The query we use right is wrapped inside plainto_tsquery('english', QUERY) which will be converted to tsquery with & operator, in other words, every word in the query will need to exist in the document. If one of the words is not in the document, the document will be filtered out. That's why you found far fewer results than without the where @@ clause.
The example failed because there is no single node that contains all the words in the query, if we change it to the | parameter, then it should work.
select plainto_tsquery('english', 'Who does Paul Graham think of with the word schtick'), to_tsquery('paul|graham|think|word|schtick');

plainto_tsquery                                 |to_tsquery                                      |
------------------------------------------------+------------------------------------------------+
'paul' & 'graham' & 'think' & 'word' & 'schtick'|'paul' | 'graham' | 'think' | 'word' | 'schtick'|

But that's tricky also, because the plainto_tsquery() has another functionality, it will automatically remove unnecessary stop words like does, of, with, and the and also convert the word to the root word. Unfortunately, it doesn't support the option to select between & and | operators, we can use the basic to_tsquery as shown above, but we need to remove the stop world manually.

plainto_tsquery transforms the unformatted text querytext to a tsquery value. The text is parsed and normalized much as for to_tsvector, then the & (AND) tsquery operator is inserted between surviving words.

https://www.postgresql.org/docs/current/textsearch-controls.html#-PARSING-QUERIESTEXTSEARCH
I think the best solution is to keep the where @@ clause so we have performance improvement, but give the user flexibility to match all or match any keyword. WDYT @logan-markewich ?

Actually I have solution to get plainto_tsquery functionality with | operator, but it is an abomination. :D
select to_tsquery(REPLACE(text(plainto_tsquery('english', 'Who does Paul Graham think of with the word schtick')), '&', '|'));

to_tsquery                                      |
------------------------------------------------+
'paul' | 'graham' | 'think' | 'word' | 'schtick'|


Add Woodrush High School

Added Woodrush High School to the repository.
School website: woodrushhigh.worcs.sch.uk (however the student email pattern follows<EMAIL_ADDRESS>Course list: http://woodrushhigh.worcs.sch.uk/index.phtml?d=554632 (here you can see the BTECT ICT course listed.
Thanks!

@aws281 Could you please give us an URL at the school website where @woodrushhigh.email is mentioned as a school email? The official website contacts page gives another pattern: "Email<EMAIL_ADDRESS>thus we need some proof. Thank you for the understanding!

Hi, thanks for your response.
The email patterns differ because the "real" domain is reserved for school staff and administration/contact addresses, whereas students use the @woodrushhigh.email domain.
Unfortunately I do not believe there is a page on the official website referencing the student email pattern, however I can provide an image of myself logged into my personal account. As you can see, the image shows the school's logo in the top-left hand corner, and you can see that I am logged in to an email being managed by woodrushhigh.email.
Image: http://m.imgur.com/YslHj4w
Thank you for understanding, if more proof is still needed before this can be merged, just say and I will happily find more evidence.
Thanks once again.

@aws281 Thank you for the clarification! This proof is enough. Pull request merged. Thank you!

Thanks, I really appreciate it!


amplify mock does not use the sourceDir to generate the TypeScript files

Describe the bug
In the project-config.json I have set the SourceDir value to "projects/amplify/src". However amplify mock still generates the mutations.ts and queries.ts in the src/graphql folder. The API.ts file and the aws-export.js file is created in the correct location (projects/amplify/src)
To Reproduce
Change the SourceDir to "projects/amplify/src" and run amplify mock.
Expected behavior
All generated TypeScript files should be located in "projects/amplify/src"
Desktop (please complete the following information):

OS: Windows 10 Pro
Version 1903

Additional context
Complete content of amplify/.config/project-config.json:
{
    "projectName": "MyProject",
    "version": "2.0",
    "frontend": "javascript",
    "javascript": {
        "framework": "react",
        "config": {
            "SourceDir": "projects/amplify/src",
            "DistributionDir": "projects/amplify/dist",
            "BuildCommand": "npm.cmd run-script build",
            "StartCommand": "npm.cmd run-script start"
        }
    },
    "providers": [
        "awscloudformation"
    ]
}

@ThijsTyZ It looks at the src location mentioned in <project-root>/.graphqlconfig.yml file. Can you check that file?

Thanks, that solved it. That was pointing to the wrong folder.
That was not clear that this is using a different settings file. Also during the amplify init it didn't ask me for this.

By the way, now I changed this docsFilePath prop in the .graphqlconfig.yml file, there is actually code generated in the API.ts file. Before that, the API.ts stayed empty.

So maybe there is a bug here. I will re-open this issue. If you think this is not a bug, feel free to close it.

@ThijsTyZ It was a bug in a previous version of the CLI, but we fixed it and is part of the current latest version of the CLI.
Also, the path for codegen is asked not during init step but during your first push of an AppSync API.


Playlist sync and Lyrics

Requested Feature
When some songs are deleted from the original playlist, those songs get deleted in my folder while syncing as it should but .lrc files of the deleted songs are still present in the folder. Please also delete .lrc files when songs are deleted while syncing.
Also if the song is present in the folder and .lrc files isn't, please download .lrc files. As of now if the song is already present the song downloading is skipped but .lrc downloading is also skipped even if the .lrc of that skipped song is not present.
Possible implementation
No response

added in v4.2.6 --sync-remove-lrc


#234 Resolution.

@saptarsi96 can you explain your contribution here ?

@hetunandu I have tried to resolve the issue with extended Markdown #234.

The hints have been changed to markdown quotes.
The youtube videos are now embedded to display the YouTube Thumbnail which links to the video on YouTube.

The format is such because we need to support gitbook
Please update the PR according to the contribution guidelines

Sure

@saptarsi96 sorry for your time but this is not a valid issue. I request you to please discuss the issue with a maintainer before raising a PR in the future :)


file README - don't work link for an plugin installation

Description
Expected - download plugin
Result - error 404

Hello,
Here is a link with the binaries for the latest release
https://github.com/cloudfoundry-incubator/multiapps-cli-plugin/releases/latest
The links for the windows binaries has been fixed with dcbf6ca


Add circle ci build system

Motivation
Add build system in order to make sure that changes that are merged are compiling properly.
This is really important as sometimes users might have packages installed locally that may not be reflected in package.json. Build could include:

Compilation
Running tests (no tests so far but best to run even empty one to encourage writing them)

How
Really good example here:
https://github.com/prisma/prisma/blob/master/.circleci/config.yml

I already have done config, but repository needs to be enabled on organization level

I can help with this. At Dialogue where I work we use orbs and CCI 2.1 extensively.
Monorepo's are not specially well supported by CCI unfortunately. But it shouldn't be a blocker.

I have that done and configured on my fork. Looking for approval from team.

Fixed by #39 and #80. Thanks @wtrocki


virtualbox-with-extension-pack-np: Update to version 6.1.16

Fix version/hash for extension pack

Thank you!


Implement a simplified version of from_json

This PR tries to implement a simple but efficient version of from_json SQL function. In particular, it simply extracts the key-value pairs from the input json strings. These pairs are extracted by copying the substrings of the input without any data conversion or validation.
Previously, there were similar work for from_json in https://github.com/NVIDIA/spark-rapids/pull/6211 but that was rolled back due to both memory and performance issue.

Some performance tests with a dataset of 670k rows, each row has >100 fields, running on a standalone node:
CPU only:
Run time: 0:00:16.046214

Old GPU implementation (https://github.com/NVIDIA/spark-rapids/pull/6211):
Run time: 0:03:52.373678

This GPU implementation:
Run time:  0:00:10.635299

So we may gain around 1/3 performance improvement (standalone node).

build

build

build


Read the road plane from file

[ ] Ground plane dataset for KiTTI: https://drive.google.com/open?id=1yjCwlSOfAZoPNNqoMtWfEjPCfhRfJB-Z

# Plane
Width 4
Height 1
-3.335541e-03 -9.999398e-01 1.045457e-02 1.655293e+00

./wavedata/wavedata/tools/obj_detection/obj_utils.py

def get_road_plane(img_idx, planes_dir):
    """Reads the road plane from file

    :param int img_idx : Index of image
    :param str planes_dir : directory containing plane text files

    :return plane : List containing plane equation coefficients
    """

    plane_file = planes_dir + '/%06d.txt' % img_idx

    with open(plane_file, 'r') as input_file:
        lines = input_file.readlines()
        input_file.close()

    # Plane coefficients stored in 4th row
    lines = lines[3].split()

    # Convert str to float
    lines = [float(i) for i in lines]

    plane = np.asarray(lines)

    # Ensure normal is always facing up.
    # In Kitti's frame of reference, +y is down
    if plane[1] > 0:
        plane = -plane

    # Normalize the plane coefficients
    norm = np.linalg.norm(plane[0:3])
    plane = plane / norm

    return plane

Width和Height似乎没有使用到，只用到了路面参数：(a, b, c, d)


emoji and other characters support

⌥ + ⌦
and emojis don't work
MacOS probably needs to support the emoji picker as well.

requested by @mahakanakala

also requested by @KrishmaBawa

From egui's docs:

NOTE: In egui all emojis are monochrome!

egui has an issue open since Jan 2023 for color emoji support. Some discussion participants have tried and failed to get it working. Others are indicating they're willing to fund the effort.
In either case I don't see this being a quick win


Fix inconsistency in SL measures

Contributions

[X] I have read the contribution docs, and understand what's expected of me.

Link to the page on docs.getdbt.com requiring updates
https://docs.getdbt.com/docs/build/measures
What part(s) of the page would you like to see updated?
Update description for the agg in the top table by adding percentile option there:
Currently it's "dbt supports the following aggregations: sum, max, min, avg, median, count_distinct, and sum_boolean.", however in the page below it has the percentile option as well
Additional information
No response

hey @SOVALINUX, thanks for opening this up! really appreciate it and I've flagged this internally and we'll work to clarify! ✨


Module: Align all modules regarding their deployment names

Module: Align all modules regarding their deployment names. Right now a lot of modules diverge from what was agreed upon in the wiki. This should be accounted for.

@MrMCake isn't this a duplicate of #472?


Example for animation?

Hi,
The provided samples are very limited .
is there a serialization example for exporting animated meshes in glb? Rough directions?
Thanks,
Dimitrios

Maybe try looking here: https://github.com/BabylonJS/BabylonPolymorph/tree/master/Morphs/Importers/Transcoders/Transcoders/Source

Hi,
the BabylonPolymorph was really a help.
I have achieved animation for the morph targets by replacing the VerticesArray per each step:
accessorIdPositionsTargets[stepidx] = bufferBuilder.AddAccessor(VerticesArray, accessorDescMorphingCoordinates).id;
meshPrimitive.targets[stepidx].positionsAccessorId = accessorIdPositionsTargets[stepidx];

Can I animate also Vertex colors ? From I what I see I can not put them in the TargetPath of the morph.

Best,
Dimitrios

Not with the core spec. There is this extension that animates other properties, but I still don't think you can animate vertex colors. That will be difficult to implement since vertex attributes will have to be updated every frame.


AFLnwe seeds timestamps are non-sequential

While doing some testing I noticed that the timestamps of the seeds stored in the queue folder of AFLnwe runs are non-sequential:
$ ll bftpd/out-bftpd-aflnwe-3/queue | head -n50
-rw-rw-r-- 1 acidghost acidghost   86 Mar  3 17:26 id:000000,orig:seed_1.raw
-rw------- 1 acidghost acidghost  108 Mar  5 13:05 id:000001,orig:seed_10.raw
-rw-rw-r-- 1 acidghost acidghost  109 Mar  3 17:26 id:000002,orig:seed_11.raw
-rw------- 1 acidghost acidghost  108 Mar  5 13:17 id:000003,orig:seed_12.raw
-rw------- 1 acidghost acidghost   56 Mar  5 13:07 id:000004,orig:seed_13.raw
-rw-rw-r-- 1 acidghost acidghost  102 Mar  3 17:26 id:000005,orig:seed_2.raw
-rw------- 1 acidghost acidghost  107 Mar  5 13:08 id:000006,orig:seed_3.raw
-rw-rw-r-- 1 acidghost acidghost  120 Mar  3 17:26 id:000007,orig:seed_4.raw
-rw------- 1 acidghost acidghost  139 Mar  5 13:10 id:000008,orig:seed_5.raw
-rw------- 1 acidghost acidghost   44 Mar  5 13:10 id:000009,orig:seed_6.raw
-rw------- 1 acidghost acidghost   44 Mar  5 13:10 id:000010,orig:seed_7.raw
-rw------- 1 acidghost acidghost   40 Mar  5 13:11 id:000011,orig:seed_8.raw
-rw------- 1 acidghost acidghost   40 Mar  5 13:11 id:000012,orig:seed_9.raw
-rw------- 1 acidghost acidghost    1 Mar  5 13:04 id:000013,src:000000,op:havoc,rep:64,+cov
-rw------- 1 acidghost acidghost   67 Mar  5 13:04 id:000014,src:000000,op:havoc,rep:8,+cov
-rw------- 1 acidghost acidghost   90 Mar  5 13:04 id:000015,src:000000,op:havoc,rep:8
-rw------- 1 acidghost acidghost  108 Mar  5 13:04 id:000016,src:000000,op:havoc,rep:4,+cov
-rw------- 1 acidghost acidghost   78 Mar  5 13:23 id:000017,src:000000,op:havoc,rep:4
-rw------- 1 acidghost acidghost   65 Mar  5 13:04 id:000018,src:000000,op:havoc,rep:2
-rw------- 1 acidghost acidghost   57 Mar  5 13:04 id:000019,src:000000,op:havoc,rep:32
-rw------- 1 acidghost acidghost   86 Mar  5 13:04 id:000020,src:000000,op:havoc,rep:2
-rw------- 1 acidghost acidghost   73 Mar  5 13:04 id:000021,src:000000,op:havoc,rep:4,+cov
-rw------- 1 acidghost acidghost   86 Mar  5 13:04 id:000022,src:000000,op:havoc,rep:8
-rw------- 1 acidghost acidghost  125 Mar  5 13:04 id:000023,src:000000,op:havoc,rep:16
-rw------- 1 acidghost acidghost   58 Mar  5 13:11 id:000024,src:000000,op:havoc,rep:4,+cov
-rw------- 1 acidghost acidghost   85 Mar  5 13:04 id:000025,src:000000,op:havoc,rep:16
-rw------- 1 acidghost acidghost   86 Mar  5 13:04 id:000026,src:000000,op:havoc,rep:2
-rw------- 1 acidghost acidghost  113 Mar  5 13:04 id:000027,src:000000,op:havoc,rep:8
-rw------- 1 acidghost acidghost  122 Mar  5 13:04 id:000028,src:000000,op:havoc,rep:32
-rw------- 1 acidghost acidghost   62 Mar  5 13:04 id:000029,src:000000,op:havoc,rep:32
-rw------- 1 acidghost acidghost   90 Mar  5 13:04 id:000030,src:000000,op:havoc,rep:8
-rw------- 1 acidghost acidghost   86 Mar  5 13:04 id:000031,src:000000,op:havoc,rep:2
-rw------- 1 acidghost acidghost  104 Mar  5 13:04 id:000032,src:000000,op:havoc,rep:16
-rw------- 1 acidghost acidghost   76 Mar  5 13:04 id:000033,src:000000,op:havoc,rep:32
-rw------- 1 acidghost acidghost   77 Mar  5 13:04 id:000034,src:000000,op:havoc,rep:8
-rw------- 1 acidghost acidghost   91 Mar  5 13:04 id:000035,src:000000,op:havoc,rep:64
-rw------- 1 acidghost acidghost   97 Mar  5 13:04 id:000036,src:000000,op:havoc,rep:16
-rw------- 1 acidghost acidghost   86 Mar  5 13:04 id:000037,src:000000,op:havoc,rep:2
-rw------- 1 acidghost acidghost   14 Mar  5 13:04 id:000038,src:000000,op:havoc,rep:128
-rw------- 1 acidghost acidghost   80 Mar  5 13:11 id:000039,src:000000,op:havoc,rep:16,+cov
-rw------- 1 acidghost acidghost   76 Mar  5 13:04 id:000040,src:000000,op:havoc,rep:4
-rw------- 1 acidghost acidghost   63 Mar  5 13:04 id:000041,src:000000,op:havoc,rep:8
-rw------- 1 acidghost acidghost   16 Mar  5 13:04 id:000042,src:000000,op:havoc,rep:32
-rw------- 1 acidghost acidghost    7 Mar  5 13:04 id:000043,src:000000,op:havoc,rep:32
-rw------- 1 acidghost acidghost   36 Mar  5 13:04 id:000044,src:000000,op:havoc,rep:64
-rw------- 1 acidghost acidghost  100 Mar  5 13:04 id:000045,src:000000,op:havoc,rep:8
-rw------- 1 acidghost acidghost   78 Mar  5 13:12 id:000046,src:000000,op:havoc,rep:4,+cov
-rw------- 1 acidghost acidghost   89 Mar  5 13:04 id:000047,src:000000,op:havoc,rep:8
-rw------- 1 acidghost acidghost   86 Mar  5 13:04 id:000048,src:000000,op:havoc,rep:2

The timestamps for the initials seeds (i.e. ending in .raw) are also not updated while pivoting them from the input seeds folder (see above as the dates are 3 and 5 Mar):
https://github.com/aflnet/aflnwe/blob/113102a3ba552028e6fb0193cc2039503def7ef4/afl-fuzz.c#L3303
When generating plots the cut-off time may turn out wrong because it's based on the timestamp of the first initial (linked) seed:
https://github.com/profuzzbench/profuzzbench/blob/9962025db43cf93a261c22aee70c29f867ea2058/scripts/analysis/profuzzbench_plot.py#L37-L40
https://github.com/profuzzbench/profuzzbench/blob/9962025db43cf93a261c22aee70c29f867ea2058/subjects/FTP/BFTPD/cov_script.sh#L33-L34
https://github.com/profuzzbench/profuzzbench/blob/9962025db43cf93a261c22aee70c29f867ea2058/subjects/RTSP/Live555/cov_script.sh#L33-L34
https://github.com/profuzzbench/profuzzbench/blob/9962025db43cf93a261c22aee70c29f867ea2058/subjects/FTP/LightFTP/cov_script.sh#L40-L41
(this is the same for all targets/subjects)
This bug can cause the plots for AFLnwe to be totally wrong as they're cut too short. In the example above the difference in timestamps from the first seed and the others is in days (the run was 1 hour long), causing the plot for AFLnwe to only pick up some of the initial seeds.
This does not seem to be the case for AFLnet as it uses the replayable-queue where files are created from scratch.

Hi @acidghost,
Thank you for reporting these issues! As you pointed out, the timestamp issue is caused by the link_or_copy functions -- if a seed is linked to the queue folder, its timestamp is not updated. I have tried to modify the function so that it always copies seeds and the issue seems to be fixed. Regarding the non-sequential timestamps issue, I could not reproduce it in my experimental environment.
Thuan

I have completed an experiment for LightFTP, using the same commands written in README, and the graph shows a bit better result for AFLNwe. See the attached figure.

I can confirm that the timestamps from the ls above was from an extracted archive and not from the container (cannot verify the contents of the container as I have deleted them).
If I try to check the timestamps in the generated CSV, I still see incoherent values (at least in the beginning):

Can you please rebuild the Docker image and run the experiments again? And please let me know if you still observe the issues. Thanks.

@thuanpv It seems like the issue is still there.

Thanks @acidghost. Interesting! In AFLnwe, we did not make any changes to AFL regarding its code to save test cases. Let us look into it more deeply.

After more debugging, it turns out that there is no weird problem with mmap() and timestamps (fortunately!).
When a new interesting input is found, it is immediately enqueued, but it is trimmed only when it is dequeued for further fuzzing. The trimmed test case is saved back on the disk, thus updating the timestamp.
I wrote a patch for AFLnwe to add a new option to take control of this. If you pass -z '-trimmed', it will save the trimmed test case in a separate file, with the same name of the original file suffixed with '-trimmed'. If you pass -z '', the trimmed test case is not saved. We may want to pass -z '' in run.sh when calling afl-fuzz.
@thuanpv can you kindly check the attached patch, and commit it on AFLnwe? I don't have permissions on the repo for a pull request.
save-trimmed-test-cases.patch.zip

Uh this made me spend hours today on investigating. Sadly I only found this now.
Here is the patch for better visibility: https://github.com/trail-of-forks/aflnwe/commit/69cd1eb3b2fac7eeda2d248ffdf2b08e54cf1750
So as I can see by setting -z to an empty string no more trimmed test cases are written. That should work! I'll test this!


not working

Hello,
some function of VeSync didnt work on device Dual 200S.
Fan change,ON/OFF function. mode selection. Just ON/OFF display is working.
Patrik

Could you try these functions again and then send a diagnostics report

where I find the diagnostic report? please semd me some instruction. Thank you

In your Homey App under More-> Apps-> VeSync ->Icon top right-> Send diagnostic report.
NVM: You got it.

Thank you,I found it :-)

So, please try this.

Remove your Dual200s
Install the test version https://homey.app/a/com.spkes.vesync/test/
Readd the device
Try to control the device

Still not working
In mode selection you have: off, manual,auto
O ml in humidifier is auto, low, high
ebfc7bc1-7bb8-498b-942f-2cc6a7513bc1

I just checked the diagnostics report.
Settings display on and off is working. This is the only thing that you did?
I don't see anything that you changed the mode via the homey app?

this is a Classic 300s but a Dual200s also should have this capability.

Oh, my bad. Found this issue.
install this version and it should work.
https://homey.app/a/com.spkes.vesync/test/

Ok i try it, last one was the same problem. I sending report, i try next verison of app

Now everything works, thanks a lot. Great work

Thank you for your help! Please feel free to update your review :)


Apply column search when overriding applySearchToTableQuery

In the documentation for Laravel Scout one needs to apply individual column searches to the Table query like in the parent version of the method.

Hi @tanthammar and @danharrin, I was having trouble with this and found an edge case in this implementation.
If using global table search instead of individual column search the code added to the docs will not work.
I had to add the following code for it to work.
 $this->applyGlobalSearchToTableQuery($query);
Could you confirm that I'm not wrong and I'll create a PR, or should I create a PR.
Thanks

The whole point of the whereIn() bit with Scout that it replaces the global search, so it sounds like your Scout index isnt working? The default implementation of this method is
protected function applySearchToTableQuery(Builder $query): Builder
{
    $this->applyColumnSearchesToTableQuery($query);
    $this->applyGlobalSearchToTableQuery($query);

    return $query;
}

@nessimabadi
Don't know if this helps, but here is an example from my codebase;

use App\Models\Booking;

protected function applySearchToTableQuery(Builder $query): Builder
{
    if (filled($searchQuery = $this->getTableSearch())) {
        $query->whereIn('id', Booking::search($searchQuery)->select('id'));
    }

    return $query;
}


Add example application

Add a basic example application that uses this library and demonstrates how to use it. This can also be used in addition to Storybook for developing/testing new components. It can also be used if we want to set up end-to-end integration & a11y testing.

The example application would specifically highlight how react-uswds can integrate with other widely used react dependencies - perhaps libraries for building tables, forms, etc.

Ok here's my initial proposal:

create a directory in the project root called example, kitchensink, something of that sort
set up the directory with a basic react application, maybe using create react app?
throw in with some libs commonly used with react, such as react router, redux, formik, and react hook form
using USWDS components, create a basic page / navigation layout so that individual pages can be created easily
add some initial pages with content that shows how to use some of the more complex components (modal, forms with different libraries, etc.)

All of the above is probably too much for one issue 🙃 SO if that sounds like a good plan, I would suggest let this issue represent the first TWO steps above, and then create follow-up issues for the others. how does that sound?

Here are my thoughts on the proposal:

I agree with having the project in an example directory. I believe this is fairly common.
It seems smart to use create-react-app. This also seems like a jumping off point for a lot of react projects.
I think throwing in some common libraries would be good as long as it doesn't make it overly complicated and distract from the actual implementation of react-uswds.
Sounds good!
Also sounds good :) I don't think we need to show every component

I think we should make it clear you don't have to use any other specific library to use react-uswds and we aren't prescribing the example libraries we use. It would also be neat if we were able to use the example project as some form of documentation. I am not sure how to achieve this though :)
I definitely think this should be broken into different issues. There are a lot of steps to create this.

This sounds good to me.
Additional libs to consider:

moment (maybe worth showing how you could take a db time and translate for use in the various data/time components)
react-table  or other table libraries
an i18n library - maybe react-i18next or react-intl

Also wondering why bother with redux? I'm less clear this is needed because I don't see how redux relates to component UI. Maybe I'm thinking about this wrong though.
Other things to maybe implement:

A form with strict validation and warnings (maybe a payment form or somethign that needs text, phone numbers, emails, credit cards in a certain format)
something simple that shows off loading states - components that load async

Seeing this list I think that would make it easier to develop is if we had a simple plan documented somewhere (so once new Trussels are working on the repo there's a clear single place that collects ideas for what to implement next- in case we don't get to some things now). This is where an epic would be helpful haha.

👍 thanks, all good feedback and suggestions! I'll update this issue with the new AC and create some followup issues. agreed this is where it would be helpful to have epics.. but for now I'll use the example label on this work.
@haworku my thinking behind including Redux was to show an example of how you might want to control UI such as a Modal being open/closed.


do u have the code to realize this CNN model？

DO U HAVE THE CODE TO REALIZE THIS NN MODEL? THANK U!

Hi there, the source code has been added to the repo.


Use Jackson for address book storage

Fixes #817
JAXB was deprecated and has already been removed from the JDK since JDK
11. Migrate our storage layer to use Jackson for storing address books
on disk, and remove our dependency on JAXB from the codebase.

@yamgent

(side note: URL seems to be broken as well :thinking: )

I guess they used to have a homepage there, but it's dead now. http://jackson.codehaus.org/Home is dead as well. I guess they just use https://github.com/FasterXML/jackson now


fix(iam-group-with-policies): Correct AllowManageOwnAccessKeys statement

Description
The "AWS: Self-manage credentials with MFA (My security credentials)" reference policy got updated by AWS in the docs[1] and this implements the following correction:
The AllowManageOwnAccessKeys statement allows the user to create, update, and delete their own access keys.
The user can also retrieve information about when the specified access key was last used.

https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_examples_aws_my-sec-creds-self-manage.html

Motivation and Context
Having the self-management policy up to date with AWS recommendations.
Breaking Changes
None.
How Has This Been Tested?

[ ] I have updated at least one of the examples/* to demonstrate and validate my change(s)
[x] I have tested and validated these changes using one or more of the provided examples/* projects
[ ] I have executed pre-commit run -a on my pull request

@antonbabenko , please review. Thanks in advance!

This PR is included in version 5.30.2 :tada:


skuID on the request description should be skuId

Looks like there's a typo here.

Document Details
⚠ Do not edit this section. It is required for docs.microsoft.com ➟ GitHub issue linking.

ID: ea910a17-224b-95a9-5baa-b119a9362764
Version Independent ID: 407c87b4-7506-8b83-e646-012cc13948a6
Content: Query for products - UWP applications
Content Source: windows-apps-src/monetize/query-for-products.md
Product: uwp
Technology: publish
GitHub Login: @hickeys
Microsoft Alias: hickeys

Thank you for reporting this error. The capitalization has been fixed.


Should we update theme for Google Analytics?

Hi @MattReimer
I want to get Google Analytics going on all of our sites, but want (I think) each site to have its own Analytics ID.  So a series of questions...
Q1 - Is what I'm doing here kosher?
I tested on the LTPBR site and on the Capstone class (shown below in video) adding Google Analytics in. I followed these instructions. Here are my code changes:

On LTPBR: https://github.com/Riverscapes/PBR/commit/da0ae9e60c13704d9409bb38485118c5fce448ed,  https://github.com/Riverscapes/PBR/commit/0cdff1cbf0d4e1464d0b508fd2393cc7c363de37, and https://github.com/Riverscapes/PBR/commit/182747c189a47d6bc4d0c708a8f24a23645799f3
On Capstone site: https://github.com/Restoration-USU/WATS-5340-5350/commit/a22ef88c005979263cbad9a17c204f929cbeb5ae,  https://github.com/Restoration-USU/WATS-5340-5350/commit/1bb6f8b121599a47e2bce8b38e1fb6ad93eadeb6, https://github.com/Restoration-USU/WATS-5340-5350/commit/b5c2179eb7919fb3a894c7c09b016209b81c312f

Q2 - Make a Tutorial?
Can we add  these instructions and above video  to Tool Documentation?
Q3 - Should we add anything to template site?
Should we just update this repository with the template website so that _config.yml file has spot for Google Analytics code and header.html has <head> code in it, and analytics.html is in includes folder?

I was also looking at analytics recently. I want to put an id on the buttons where users download our software, but requires some JavaScript in the head and body tags. Ie requires theme changes. Let's discuss.

OK, so let's start off with the simple stuff.
Joe, roll back all those changes. Google analytics was built into our themes from the start. In your config.yml file there's a line called google_analytics: UA-XXXXXXXXXXX-X
Just uncomment that and fill in the UA code and you're good. No Javascript needed.
For Philip's request to log specific actions we will need some javascript but it should be simple and minimal. I can maybe draw up an example of what that looks like and put it in the template theme so you can see how that goes.

Looks like this is fixed so I'll close it.


Support marker-size and marker-symbol simplestyle properties

Before the latest release, there was the ability to edit marker properties — marker-color, marker-size, marker-symbol, or add a custom attribute.  Now it is broken. The Edit tool which appears upon clicking on a marker is read-only now.

marker-color is working.   marker-size is achievable quickly, but marker-symbol will need some more thought/debate.

This is a duplicate of #725, let's continue the conversation there.

There is a writable boolean that gets passed into the popup, it's probably not being set to true for some reason.  Shouldn't be too hard to troubleshoot.


Use memory mapping and zero-copy parsing

Please see individual commits for descriptions.
With these changes, performance as measured with https://github.com/danielocfb/blazesym-benchmarks/tree/main improved as follows:
dwarf/lookup_end_to_end time:   [76.340 ms 76.791 ms 77.263 ms]
                        change: [-29.818% -29.285% -28.736%] (p = 0.00 < 0.02)
                        Performance has improved.
dwarf/symbolize_end_to_end
                        time:   [15.305 ms 15.397 ms 15.488 ms]
                        change: [-13.251% -12.452% -11.686%] (p = 0.00 < 0.02)
                        Performance has improved.

(~29% improvement for symbolization and ~12% improvement for reverse symbolization [lookup]; note that these numbers include the necessary setup, which includes IO and cache population etc., which is really what is modified here)
These results are for a ~700 MiB kernel image with debug information.
On top of that it reduces the number of unsafe blocks from 184 to 177 (that new count includes trivial unsafe impl, so in reality the decrease is larger than that), eliminating various in the process.

Rebased, addressed issues we discussed, and added one more mechanical commit. Going to merge once CI passes.


Vehicle Workflow

We need to find a way to optimize the vehicle creation process.

Research new processes and techniques to reuse parts that we have already modeled. Ensure that one modeled piece can be used to create several variations.

Identify methods to speed up the modeling creation process.

At this moment, 3d generatives models  work in a similar way to StableDiffusion:
Stable diffusion:
There are models as Stable123, StableVideo3d, AnimDiff. These models can generate different images from different angles, generated from an image input.
Then these images can be used in photogrammetry software to build a mesh. This mesh is similar to a scanned mesh. We don’t know the maximum definition we could achieve.
Pros:This mesh could be used as a reference for speeding up the modeling phase. We don’t think there will be enough definition for a final mesh.
Cons: It generates from an image, we don’t know if we can use a trained model. If we can’t, there would not be a consistent/realistic model.
The photogrammetry process can generate artifacts.
We don’t know:  Finding images to train the model might be a problem  OR we can train with different images from the internet.
How long it would take to train a model.
—-------
Other public sites for 3d generation:
https://lumalabs.ai/genie?view=preview
https://www.meshy.ai/
https://www.tripo3d.ai/app


make GLnexus memory limit slightly less than glnexus_memGB

It seems that GLnexus memory usage is sometimes higher than the limit specified

fixed in https://github.com/NCI-CGR/GEMSCAN/pull/21


Changes to migrations do not show in local tests while developement

Once a migration is written and ran for the first time any subsequent changes will not be applied by the SchemaMigrator. While this is done by design, it can propagate errors or require developers to manually cleanup tables to force SchemaMigrator to run the expected migrations. It would be beneficial to find a balance between making appropriate changes and re-running migrations each time.

We should build a checksum of schema migrations and store it in the DB. Then if the schema changes we can automatically fix.


Grammatical fixes

Fixed a few grammatical errors.

[x] I have read freeCodeCamp's contribution guidelines.
[x] My pull request has a descriptive title (not a vague title like Update index.md)
[x] My pull request targets the master branch of freeCodeCamp.
[x] None of my changes are plagiarized from another source without proper attribution.
[x] My article does not contain shortened URLs or affiliate links.

If your pull request closes a GitHub issue, replace the XXXXX below with the issue number.
Closes #XXXXX

Keep up the great work!

@SerMock Please clear the merge conflict

@thecodingaviator This one has gone stale.


Bug: Select doesn't have initial value when change detection set to onPush

Bug, feature request, or proposal:
Bug
What is the expected behavior?
should show the initial value set by form builder.
e.g.
this.form = this.fb.group({
      name: 'angular',
      sex: 'F'
    });

What is the current behavior?
when change detection set to onPush, Select shows empty value.
What are the steps to reproduce?
Providing a Plunker (or similar) is the best way to get the team to see your issue.
Plunker template: https://plnkr.co/edit/G8ueOSwYMCZTigydRHbs
What is the use-case or motivation for changing an existing behavior?
Which versions of Angular, Material, OS, browsers are affected?
Is there anything else we should know?

Have the same issue also with ngModel and template driven form

I believe this came back.
Here is plunker showing it
Should I open a new issue?


[BUG] Mix-up between inter and intra subject weights

In FUGWBarycenter, the weights_list arguments is passed to update_barycenter_features. weights_list describes the probability weights in each subject and not the weight of the subject in the variational formulation of the barycenter. I propose to add subject_weights as an argument passed to the fit() method in order to further avoid this confusion.

I'm unsure why this parameter is important ?

I'm unsure why this parameter is important ?
These are the lambdas in the variational formulation:

\min _\mu \sum_k \lambda_k d_{F G W, \alpha, 1, q}^{\mathbb{R}^d}\left(\mu, \mu_k\right)

In practice everyone gets assigned the same weight, it's essentially for the consistency with POT.

But if we're sure that we never change the weights, why not hard-coding the default (to unclutter the API) ?


Documentation site down

Describe the bug
Documentation site is down
To Reproduce
Steps to reproduce the behavior:

open https://doxdox.org/jmperez/spotify-web-api-js
See error

Screenshots

Desktop (please complete the following information):

Mac / Firefox 81.0.2 (64 bit)

For temporary use, I archived the Google Cache if anyone needs the documentation in the meantime:
https://web.archive.org/web/20201208164648/http://webcache.googleusercontent.com/search?q=cache%3Ahttps%3A%2F%2Fdoxdox.org%2Fjmperez%2Fspotify-web-api-js

Thank you @ryqndev and @TomasCarlson. Not sure what happened with doxdox but it looks like the service is down.
I'll try to bring up some GH Pages to host the docs. The content for the docs still leaves in the code. Since I'm using JSDoc it's easy to see in the code the comments explaining what each function does.
It's not the best experience but at least it's something while I fixed the pubic docs.

This should be fixed now. Docs are deployed on https://jmperezperez.com/spotify-web-api-js/


how can I check if a store exists before calling storeOf function

how can I check if a store exists before calling storeOf function?  in my application, I want to check whether a store with the given path/key was created before. I don't want to create it if it does not exist.

KStore is just a delegate to the underlying file of a given path/storage of a given key.
You can use the platform APIs to see if the file exists already / key exists already.
val path =  Path("path/to/myFile")
SystemFileSystem.exists(file) // true if the file exists

Typically we always create the stores and observe it's values to determine if a previously written file/key exists or not
val store = storeOf(file = path)
val cat: Cat? = store.get()
if(cat != null) // previously written value exists

Feel free to comment further if you have any more issues.


cargo install cargo-tree fails without cmake installed

Even though Compiling cmake v0.1.26 is in cargo-tree's dependency list and compiled successfully during the install, another dependency,  flate2 v0.2.20 later failed with:
error: failed to run custom build command for `libssh2-sys v0.2.6`
process didn't exit successfully: `/tmp/cargo-install.bLOWRTFgeCJ3/release/build/libssh2-sys-ff367fac3f63f989/build-script-build` (exit code: 101)
--- stdout
running: "cmake" "/home/brad/.cargo/registry/src/github.com-1ecc6299db9ec823/libssh2-sys-0.2.6/libssh2" "-DCRYPTO_BACKEND=OpenSSL" "-DBUILD_SHARED_LIBS=OFF" "-DENABLE_ZLIB_COMPRESSION=ON" "-DCMAKE_INSTALL_LIBDIR=lib" "-DBUILD_EXAMPLES=OFF" "-DBUILD_TESTING=OFF" "-DCMAKE_INSTALL_PREFIX=/tmp/cargo-install.bLOWRTFgeCJ3/release/build/libssh2-sys-e9547953ed5244f2/out" "-DCMAKE_C_FLAGS= -ffunction-sections -fdata-sections -fPIC -m64" "-DCMAKE_C_COMPILER=/usr/bin/cc" "-DCMAKE_CXX_FLAGS= -ffunction-sections -fdata-sections -fPIC -m64" "-DCMAKE_CXX_COMPILER=/usr/bin/c++" "-DCMAKE_BUILD_TYPE=Release"

--- stderr
fatal: Not a git repository (or any of the parent directories): .git
thread 'main' panicked at '
failed to execute command: No such file or directory (os error 2)
is `cmake` not installed?

Not sure if the cargo-tree install's listed cmake dependency should have prevented this, or if this is a flate2 problem or a libssh2-sys problem, but I thought I'd at least document the issue.
sudo apt-get install cmake resolved the issue, but I expected cargo to build without "external" dependencies.
(I am on nightly-x86_64-unknown-linux-gnu updated - rustc 1.23.0-nightly (a35a3abcd 2017-11-10))

As noted in the readme, cmake is required to build this crate.

oops, I missed that--sorry for the spam!


[Runtime Bug]: Max Payne 1 Lighting Flicker Bug

Describe the bug
When standing in certain spots and moving your mouse cursor, the lights will flicker and sometimes turn off completely, resulting in a dark room.
How do you reproduce the bug?
Stand in a sweet spot and move your mouse around.
Using setting "Other Textures: High" will cause this to happen more frequently, completely disabling RTX rendering when standing and looking in certain spots as well. This does not occur using Medium.
Using in combination with "Detail Textures: High" causes light to completely disable and the room becomes pitch black.
What is the expected behavior?
The lights to remain on and not flicker and glitch out.
Version
0.5.4
Logs
[00:51:56.589] info:  No default config found for: C:\Program Files (x86)\Steam\steamapps\common\Max Payne\maxpayne.exe
[00:51:56.589] info:  Trying to open config file: C:\Program Files (x86)\Steam\steamapps\common\Max Payne.trex\bridge.conf
[00:51:56.589] info:  ==================
[00:51:56.589] info:  NVIDIA RTX Remix Bridge Client
[00:51:56.589] info:  ==================
[00:51:56.589] info:  Version: remix-0.5.4+2d8aa921
[00:51:56.589] info:  Loaded d3d9.dll from C:\Program Files (x86)\Steam\steamapps\common\Max Payne\maxpayne.exe
[00:51:56.591] warn:  Injected DirectInput8Create proc detected!
[00:51:56.745] info:  DirectInput8 hook attached.
[00:51:56.745] warn:  Injected DirectInputCreate proc detected!
[00:51:56.751] info:  DirectInput hook attached.
[00:51:56.751] info:  Initializing new shared memory object.
[00:51:56.753] info:  Initializing new shared memory object.
[00:51:56.753] info:  Initializing new shared memory object.
[00:51:56.787] info:  Initializing new shared memory object.
[00:51:56.816] info:  Launching server with GUID 5d5b6344-17b9-4974-b8ec-0482a2a1d2a0
[00:51:56.822] info:  Process set as DPI aware
[00:51:56.822] info:  Sending SYN command, waiting for ACK from server...
[00:51:57.103] info:  Ack received! Handshake completed! Telling server to continue waiting for commands...
[00:52:33.056] warn:  Window extent != backbuffer extent in fullscreen mode. Forcing window extent to backbuffer size (3840x2160).
[00:52:33.056] info:  Creating a NON thread-safe D3D9 device.
[00:52:35.239] info:  Message channel UWM_REMIX_BRIDGE_REGISTER_THREADPROC_MSG handshake complete.
[00:52:36.135] info:  DirectInput keyboard acquired
[00:52:36.135] info:  DirectInput mouse acquired
[00:52:36.656] info:  Remix UI deactivated.
[00:52:36.656] info:  Remix UI deactivated.
[00:52:39.844] info:  DirectInput keyboard unacquired
[00:52:39.844] info:  DirectInput keyboard acquired
[00:52:41.954] warn:  Non-exclusive DirectInput keyboard message skipped.
[01:08:07.581] info:  DirectInput keyboard unacquired
[01:08:07.581] info:  DirectInput mouse unacquired
[01:08:07.607] info:  Client window became inactive, disabling timeouts for bridge client...
[01:08:07.623] info:  About to unload bridge client.
[01:08:07.623] info:  Sending Terminate command to server...
[01:08:09.436] info:  Server notified that it has cleanly terminated. Cleaning up.
[01:08:09.583] info:  Most recent Device Queue commands sent from Client
[01:08:09.583] info:  Command sent: Terminate
[01:08:09.583] info:  Command sent: IDirect3DDevice9Ex_Destroy
[01:08:09.583] info:  Command sent: IDirect3DSurface9_Destroy
[01:08:09.583] info:  Command sent: IDirect3DIndexBuffer9_Destroy
[01:08:09.583] info:  Command sent: IDirect3DVertexBuffer9_Destroy
[01:08:09.583] info:  Command sent: IDirect3DSurface9_Destroy
[01:08:09.583] info:  Command sent: Bridge_UnlinkResource
[01:08:09.583] info:  Command sent: IDirect3DSwapChain9_Destroy
[01:08:09.583] info:  Command sent: IDirect3DDevice9Ex_SetTexture
[01:08:09.583] info:  Command sent: IDirect3DDevice9Ex_SetTexture
[01:08:09.583] info:  Most recent Device Queue commands received by Server
[01:08:09.583] info:  Command received: Terminate
[01:08:09.583] info:  Command received: IDirect3DDevice9Ex_Destroy
[01:08:09.583] info:  Command received: IDirect3DSurface9_Destroy
[01:08:09.583] info:  Command received: IDirect3DIndexBuffer9_Destroy
[01:08:09.583] info:  Command received: IDirect3DVertexBuffer9_Destroy
[01:08:09.583] info:  Command received: IDirect3DSurface9_Destroy
[01:08:09.583] info:  Command received: Bridge_UnlinkResource
[01:08:09.583] info:  Command received: IDirect3DSwapChain9_Destroy
[01:08:09.583] info:  Command received: IDirect3DDevice9Ex_SetTexture
[01:08:09.583] info:  Command received: IDirect3DDevice9Ex_SetTexture
[01:08:09.583] info:  Most recent Module Queue commands sent from Client
[01:08:09.583] info:  Command sent: IDirect3D9Ex_Destroy
[01:08:09.583] info:  Command sent: IDirect3D9Ex_CreateDevice
[01:08:09.583] info:  Command sent: IDirect3D9Ex_CheckDeviceMultiSampleType
[01:08:09.583] info:  Command sent: IDirect3D9Ex_CheckDeviceMultiSampleType
[01:08:09.583] info:  Command sent: IDirect3D9Ex_Destroy
[01:08:09.583] info:  Most recent Module Queue commands received by Server
[01:08:09.583] info:  Command received: IDirect3D9Ex_Destroy
[01:08:09.583] info:  Command received: IDirect3D9Ex_CreateDevice
[01:08:09.583] info:  Command received: IDirect3D9Ex_CheckDeviceMultiSampleType
[01:08:09.583] info:  Command received: IDirect3D9Ex_CheckDeviceMultiSampleType
[01:08:09.583] info:  Command received: IDirect3D9Ex_Destroy
[01:08:09.583] info:  Shutdown cleanup successful, exiting now!
[01:08:09.583] info:  DirectInput8 hook detached.
[01:08:09.583] info:  DirectInput hook detached.
[01:08:09.586] info:  [Uptime]: 972s
Crash dumps
No response
Media
https://youtu.be/bmUDPez_-iI?si=8f_sl0CRWA3DiE-U

@shoober420 Hi shoober. You're using the Max Payne Remixed demo from Moddb aren't you? I'm the creator of that mod, and currently it's not compatible with the most recent updates of Remix, because I made that demo a long time ago, on a much earlier build of Remix, dxvk and bridge. And frankly, I don't have time to look into it and fix it, since I'm too busy with the full version of that mod. That, and real life stuff.
That being said, I believe I know what's causing the issue: Incompatible Remix config file, OR, improperly tagged textures... You're using a very old remix config file taken from the demo mentioned earlier, the demo in its current state isn't perfect, and I lacked sufficient knowledge when I made it, some textures might possible have the wrong tag, most likely tagged as UI when it shouldn't be. Your have 3 options here:

1: Uninstall the mod, or reinstall your game and Remix if you don't know how to properly remove the mod.
2: Reset the Remix settings to default, however that will make the game look like cheeks unless you know what you're doing.
3: Attempt fixing the problem yourself by removing all textures tagged as UI, then slowly work your way back by re-tagging them one by one until you find the faulty one. If you don't know how to do this, read the documentation for Remix and/or ask the Remix community for help.


Allow eframe apps to be detached

Closes https://github.com/emilk/egui/issues/2875.

One choice that I'm not really sure which I prefer is whether we should check for window.id() == window_id on WindowEvent events inside the on_event method or not. Since we're already exposing the window, the user could easily check that outside. However, when writing some example code, it ended up looking really bad and confusing. At the same time, people who will use this are probably people who have a good understanding of winit and GUI development in general, so maybe that's not an issue.
This gist shows how the 2 approaches would look like:
https://gist.github.com/rockisch/c672345661dd5411f5611b7ab14faea0
This initial version of the PR has the check inside, but I could remove it if wanted.

This looks very promising! Can you please add a working example too? 🙏

Added a working example and fixed the CI issues (was on a Windows machine before, so I couldn't run the check.sh script)

Btw, I went and changed one of my projects to this approach, and I noticed that although it does work, communication between the 'outer' code and the 'detached eframe app' is kinda clunky, since there's no way to access or modify the app data from the returned reference.
The way I'm doing this at the moment is by leaking a RefCell, more or less like this:
struct SharedState {
    flag: bool
}

struct MyApp {
    shared: &'static RefCell<SharedState>
}

let shared_state = Box::leak(Box::new(RefCell::new(SharedState { flag: true }))) as &_;
let detached_app = eframe::run_detached_native(
    ...,
    Box::new(|_cc| Box::new(MyApp { shared: shared_state }))
)
// 'shared_state' can be accessed and modified

How would you feel about exposing a get_app(&self) -> MyApp and get_app_mut(&mut self) -> MyApp on Detached? I took a look at the source code and I feel like I could add those with minimal changes.

not sure I follow entirely but would this pr allow you to open a completely detached eframe, meaning you would have two separate event loops?

What's the status of this PR? This would be very useful for Ruffle

Btw, I went and changed one of my projects to this approach, and I noticed that although it does work, communication between the 'outer' code and the 'detached eframe app' is kinda clunky, since there's no way to access or modify the app data from the returned reference.
The way I'm doing this at the moment is by leaking a RefCell, more or less like this:
struct SharedState {
    flag: bool
}

struct MyApp {
    shared: &'static RefCell<SharedState>
}

let shared_state = Box::leak(Box::new(RefCell::new(SharedState { flag: true }))) as &_;
let detached_app = eframe::run_detached_native(
    ...,
    Box::new(|_cc| Box::new(MyApp { shared: shared_state }))
)
// 'shared_state' can be accessed and modified

How would you feel about exposing a get_app(&self) -> MyApp and get_app_mut(&mut self) -> MyApp on Detached? I took a look at the source code and I feel like I could add those with minimal changes.

Is the problem that we need to give away ownership of the MyApp instance? Shouldn't the shared state be accessible when you are implementing the update method on MyApp?
Btw, if there's anyway I can contribute, I would be happy to help.
Thanks for taking your time to implement this!


Suggestion: check narrowed type in user-defined type guards

Search Terms
validate type check user defined guard return narrow

Suggestion
const checkIsNumber = (value: unknown): value is number => typeof value === "string";

This function is invalid because the type specified in the return type (number) does not match the reality at runtime (string). However, TS does not currently throw a type error.
Could TypeScript type check user-defined type guards? Specifically it should check the narrowed type of value in the function body (after all guards) matches the explicit return type.
const checkIsNumber = (value: unknown): value is number =>
  typeof value === "string" &&
  (() => {
    // TS knows here that the type is narrowed to `string`.
    // This does not match the explicit return type of this user-defined type guard (`number`).
    // Therefore, TS could/should error?
    value;

    return typeof value === "string";
  })();

Checklist
My suggestion meets these guidelines:

[ ] This wouldn't be a breaking change in existing TypeScript/JavaScript code
[x] This wouldn't change the runtime behavior of existing JavaScript code
[x] This could be implemented without emitting different JS based on the types of the expressions
[x] This isn't a runtime feature (e.g. library functionality, non-ECMAScript syntax with JavaScript output, etc.)
[x] This feature would agree with the rest of TypeScript's Design Goals.

For the most part we don't expect UDTGs to be checkable at all, because that's why the author is writing them in the first place. Trivial type guards which we would be able to check may as well be inlined anyway, and more error-prone type guards wouldn't be checkable anyway.

that's why the author is writing them in the first place

Not necessarily—sometimes they're written just to abstract checks so we don't have to repeat them. Such is the case with checkIsObject:
const checkIsObject = (value: unknown): value is object =>
  typeof value === 'object' && object !== null;

@RyanCavanaugh
How about a mode for type guards that asks the compiler to figure out the type of the parameter :
const isNumber = (value: unknown): value is  infer =>
  typeof value === 'number'

The use case of this is when moving a check the compiler can accurately type to a utility function.
The compiler will determine the type of the specific parameter when the return of the function is true. Most of the machinery to do this is there, I think the one extension would be if the return is an expression, take the expression and figure out the type on the true case and the false case of the expression.

For anyone who wants to achieve this today, check out fp-ts Option.getRefinment function.

First time I realized type guards were as unsafe as as I was shocked, as a result "invented" something like what fp-ts getRefinement is.
Something like value is infer would be nice 👍

Why there is no validation for typeguards (playground ) ? From my understanding this code should fail in compile time
type WithA = { a?: { someMethod: (x: number) => number } }

const thingWithA: WithA = { a: undefined };

const typeGuard = (obj: unknown): obj is WithA => {
    return typeof obj === 'object' && obj !== null && 'unknownProp' in obj;
}

Why there is no validation for typeguards (playground ) ? From my understanding this code should fail in compile time
type WithA = { a?: { someMethod: (x: number) => number } }

const thingWithA: WithA = { a: undefined };

const typeGuard = (obj: unknown): obj is WithA => {
    return typeof obj === 'object' && obj !== null && 'unknownProp' in obj;
}

I think your example fits the suggestion described in https://github.com/microsoft/TypeScript/issues/21732.


Could not install

Hi
I ran npm install but it fails with the following:
><EMAIL_ADDRESS>install C:\Users\chekjen\git\evo3\node_modules\semantic-ui
> gulp install

C:\Users\chekjen\git\evo3\node_modules\accord\lib\index.js:34
      throw new Error(name + " version " + version + " is not currently supported");
      ^

Error: less version 1.7.5 is not currently supported

Looks like you are trying to add semantic to existing project with existing less dependency. I just encountered with this while trying to add semantic to generated express.js project.
Change your less-middleware dependency version in package.json like this:
-    "less-middleware": "1.0.x",
+    "less-middleware": "~2.0.1",

And run npm install to update less and less-middleware versions. After that you can finally install semantic-ui.

Hello everyone, @cjloong, could you please confirm that the issue is resolved?


Enabled use case problem

Hi. first of all, thanks for developing this package.
I have tested this package and it works great but I have a device which has android 6.
When I launch CameraScreen, it gives me this exception:
The selected camera does not support the enabled use cases. Please "
+ "disable use case and/or select a different camera. e.g. "
+ "#setVideoCaptureEnabled(false)
how can I solve it?
I used this:
cameraState.controller.setEnabledUseCases(CameraController.IMAGE_ANALYSIS)
but nothing changed.
any idea?

Hii!, same error when I try to switch to the front camera while I'm in video mode.
The error log:
java.lang.IllegalStateException: The selected camera does not support the enabled use cases. Please disable use case and/or select a different camera. e.g. #setVideoCaptureEnabled(false)
at androidx.camera.view.CameraController.startCameraAndTrackStates(CameraController.java:1718)
at androidx.camera.view.CameraController.setEnabledUseCases(CameraController.java:459)
at com.ujizin.camposer.state.CameraState.updateUseCases(CameraState.kt:232)
at com.ujizin.camposer.state.CameraState.setCaptureMode$camposer_release(CameraState.kt:145)
at com.ujizin.camposer.state.CameraState.update$camposer_release(CameraState.kt:554)
at com.ujizin.camposer.CameraPreviewKt$CameraPreviewImpl$2.invoke(CameraPreview.kt:189)
at com.ujizin.camposer.CameraPreviewKt$CameraPreviewImpl$2.invoke(CameraPreview.kt:154)
Do you have any idea?
Thank you very much in advance.

Hello, after investigating, I have come to the conclusion that if your camera is not Level 3, you cannot use the outputs of Camera Preview + Image Analysis + Video Capture.
This is clearly stated in section 8 of this codelab:
https://developer.android.com/codelabs/camerax-getting-started?hl=es-419#7
And on this other documentation webpage, it explains everything that can be done based on the camera hardware configuration of the device:
https://developer.android.com/reference/android/hardware/camera2/CameraDevice#regular-capture
I have tested it, and indeed, cameras with a hardware configuration < Level 3 do not allow me to capture video while analyzing the image.

Hello all, sorry for the delay! I was moving and i haven't had much time lately
Indeed, what @RaulBlautic mentioned is correct. I'll work on this as soon as possible!
Thanks everyone for the logs and investigation!

Hello everyone,
The new version 0.3.2 with the fix has been released!
Thanks for supporting Camposer!

Thanks @ujizin. appreciate your work!
I will try it to see weather its ok or not. Another issue. There are some android devices for cars that have 4 camera (two for behind and front and two for both sides). is there a way to display 4 of them using camposer?

Hey @hosseinkaramii
Unfortunately, it is not possible to display more than one camera at the same time with Camposer.
I believe CameraX also does not support opening more than one preview. However, if I'm not mistaken, it is possible to achieve this with Camera2.
If you would like to explore further, please check this:
https://developer.android.com/training/camera2/multiple-camera-streams-simultaneously
I hope I helped you out. Have a good week!

Hey @hosseinkaramii,
I've checked CameraX 1.3 in Compose, and now multiple cameras can be used simultaneously. However, integrating this into Camposer requires some effort.
Currently, CameraX supports this only in the camera Provider feature, while Camposer uses the Camera controller feature.
For more info you can check: https://android-developers.googleblog.com/2023/06/camerax-13-is-now-in-beta.html.


iOS v15.6 scroll broken

This is a critical issue, hotfix pending

Resolved with https://github.com/aeharding/ppg.report/releases/tag/v2.1.5


[XLA:GPU] re-trim XLA GPU backend logic

Address review comments per #30326 to extract common logic from LinkAndOptimizeModule.

jenkins: retest rocm-xla please.


anchor migrate broken

I have just tried to use  anchor migrate on a new project and found that its throwing the following error which I cant seam to solve.
This happen on a new/vanilla project too.
❯ anchor -V
anchor-cli 0.20.1

❯ anchor migrate
Running migration deploy script

/home/utx0/Code/anchor_new/node_modules/ts-node/src/index.ts:261
    return new TSError(diagnosticText, diagnosticCodes)
           ^
TSError: ⨯ Unable to compile TypeScript:
error TS2688: Cannot find type definition file for 'chai'.
  The file is in the program because:
    Entry point of type library 'chai' specified in compilerOptions
deploy.ts(10,34): error TS2576: Property 'local' does not exist on type 'NodeWallet'. Did you mean to access the static member 'NodeWallet.local' instead?

    at createTSError (/home/utx0/Code/anchor_new/node_modules/ts-node/src/index.ts:261:12)
    at getOutput (/home/utx0/Code/anchor_new/node_modules/ts-node/src/index.ts:367:40)
    at Object.compile (/home/utx0/Code/anchor_new/node_modules/ts-node/src/index.ts:558:11)
    at Module.m._compile (/home/utx0/Code/anchor_new/node_modules/ts-node/src/index.ts:439:43)
    at Module._extensions..js (node:internal/modules/cjs/loader:1149:10)
    at Object.require.extensions.<computed> [as .ts] (/home/utx0/Code/anchor_new/node_modules/ts-node/src/index.ts:442:12)
    at Module.load (node:internal/modules/cjs/loader:975:32)
    at Function.Module._load (node:internal/modules/cjs/loader:822:12)
    at Function.executeUserEntryPoint [as runMain] (node:internal/modules/run_main:81:12)
    at Object.<anonymous> (/home/utx0/Code/anchor_new/node_modules/ts-node/src/bin.ts:157:12)
Deploy failed.

Was wanting to use this to be able to kick off calls to my initialize instructions, however I cant get this to work regardless of what I have the cluster set to as well.

Based on what the error says; you're just missing some type definitions. Try running this in your root project folder :
# If using yarn
yarn add -D @types/chai

# or is using nom
npm install --save-dev @types/chai

Yeah added this to my vanllia project.
❯ git diff package.json
diff --git a/package.json b/package.json
index 82135e7..fb643e7 100644
--- a/package.json
+++ b/package.json
@@ -3,10 +3,11 @@
         "@project-serum/anchor": "^0.20.1"
     },
     "devDependencies": {
+        "@types/chai": "^4.3.0",
+        "@types/mocha": "^9.0.0",
         "chai": "^4.3.4",
         "mocha": "^9.0.3",
         "ts-mocha": "^8.0.0",
-        "@types/mocha": "^9.0.0",
         "typescript": "^4.3.5"
     }
 }

Still getting the following error on a brand new anchor project with no changes.
❯ anchor migrate
Running migration deploy script

/home/utx0/Code/me/anchor_vanillia/node_modules/ts-node/src/index.ts:261
    return new TSError(diagnosticText, diagnosticCodes)
           ^
TSError: ⨯ Unable to compile TypeScript:
deploy.ts(10,34): error TS2576: Property 'local' does not exist on type 'NodeWallet'. Did you mean to access the static member 'NodeWallet.local' instead?

    at createTSError (/home/utx0/Code/me/anchor_vanillia/node_modules/ts-node/src/index.ts:261:12)
    at getOutput (/home/utx0/Code/me/anchor_vanillia/node_modules/ts-node/src/index.ts:367:40)
    at Object.compile (/home/utx0/Code/me/anchor_vanillia/node_modules/ts-node/src/index.ts:558:11)
    at Module.m._compile (/home/utx0/Code/me/anchor_vanillia/node_modules/ts-node/src/index.ts:439:43)
    at Module._extensions..js (node:internal/modules/cjs/loader:1149:10)
    at Object.require.extensions.<computed> [as .ts] (/home/utx0/Code/me/anchor_vanillia/node_modules/ts-node/src/index.ts:442:12)
    at Module.load (node:internal/modules/cjs/loader:975:32)
    at Function.Module._load (node:internal/modules/cjs/loader:822:12)
    at Function.executeUserEntryPoint [as runMain] (node:internal/modules/run_main:81:12)
    at Object.<anonymous> (/home/utx0/Code/me/anchor_vanillia/node_modules/ts-node/src/bin.ts:157:12)
Deploy failed.


OCPBUGS-17827: e2e: remove private-router from NeedManagementKASAccessLabel allowlist

Part 3/3 for https://issues.redhat.com/browse/OCPBUGS-17827

Do not move out of draft until at least two promoted CI releases include  https://github.com/openshift/hypershift/pull/2934

included in two CI releases now

/lgtm


README.md link broken

The link to "Desktop Bridge VC++ v14 Redistributable Package" in README.md is unavailable.

You know what, it looks like that's actually no longer required, so let's just yank that link.