Little update to README

Pull Request Template
All Submissions:

[x] Have you read and acknowledged our Code of Conduct?
[x] Have you checked to ensure there aren't other open Pull Requests

Description
I add a little more info of the functionality of the app, by the requested in the issue
also modify some of the aesthetics of the readme
Fixes #17
Type of change

[ ] 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

Checklist:

[x] My code follows the style guidelines of this project
[x] I have performed a self-review of my own code
[x] I have commented my code, particularly in hard-to-understand areas
[x] I have made relevant changes to the documentation
[x] My changes generate no new warnings
[x] New and existing unit tests pass locally with my changes
[x] Any dependent changes have been merged and published in downstream modules
[x] I have checked my code and corrected any misspellings

PR has been approved, thank you for your continued contribution🙏

I would like to help with that too, but i don´t know a lot of the PHP
related content 😅 because of that i didn´t cover thar part.
El jue, 5 may 2022 a las 14:38, Akebu @.***>) escribió:

@.**** approved this pull request.
I shall approve this PR because it has covered some of what was required
in the issue made. The part of connecting to the server and fetching the IP
address of one's computer is the only thing that is left to add.
Thank you for the contribution
—
Reply to this email directly, view it on GitHub
https://github.com/akebu6/Android-Beginner-Projects/pull/20#pullrequestreview-963867083,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AW735QABUZ6QABFJQCCMIM3VIQPUTANCNFSM5VDMRWIQ
.


[5.7] Fix typo in docblock

Thanks for the PR. Unfortunately, you sent this to 5.7 instead of to 5.5 LTS, and so I've fixed this up manually.


Get your act together and start a newsletter to share findings with wider Rails community

I really need to get my act together and start a newsletter with what I find in these projects.
At the moment I research these projects frequently and make some notes but don't share them widely enough. The biggest contribution I can make to the Rails community is to share these findings more. If you're interested subscribe to this GitHub issue and I'll update it once I've got a newsletter setup - aiming for early 2017!

Hi Eliot, hope you have some plan to start the newsletter soon. Thank you

Thanks for the nudge @subratrout 😃 - wow I really missed the self-imposed deadline.
For now, much of what I dig out of these Rails projects is testing related, which the essence of sometimes ends up in a rails-testing-toolbox repo. I recommend following/watching it if you want GitHub notifications whenever something new gets added to it: https://github.com/eliotsykes/rails-testing-toolbox


Update taint-and-toleration.md  with types of taint effects

https://kubernetes.io/docs/concepts/scheduling-eviction/taint-and-toleration/
Revamped taint effects to introduce the effects early in the article

Added three types of taint effects including their implications in the concepts
Added a brief note about when taint effects are added for NoExecute

/lgtm

I am not an owner of the docs. My approval won't work. You need to seek approvals from an owner.
/approve

@sftim Could you take a final look and approve

/cc @sftim

/assign sig-docs-en-owners

/lgtm
/approve


There is not commondb class

I ca't see commondb class under dbaccess directory, so wts.exe doesn't work.

the same issue for me. Any solution？

I ca't see commondb class under dbaccess directory, so wts.exe doesn't work.
get_common_config_files

I ca't see commondb class under dbaccess directory, so wts.exe doesn't work.

the same issue for me. Any solution？


After creating and launching around 330 scenarios using docker, the stored scenario results crashed.

:beetle:
I have checked that this issue has not already been reported.
Bug summary
After creating and launching around 330 scenarios using docker, the stored scenario results crashed.
The ScenarioList.csv in mnt/bes/pcm somehow changes to

89,test,comp_c42e29dc-64ee-4f1c-b3b5-927d7d49061f,analyze,usa_tamu,Texas,vJan2021,vJan2021,vJan2021,vJan2021,Yes,2016-01-01 00:00:00,2016-01-31 00:00:00,1H,REISE.jl,0:05,
90,test,comp_1ae5bfc7-67fe-4681-b921-fe2ad1d1937a,analyze,usa_tamu,Texas,vJan2021,vJan2021,vJan2021,vJan2021,Yes,2016-01-01 00:00:00,2016-01-31 00:00:00,1H,REISE.jl,0:04,
91,test,comp_132fddc3-1f17-49dc-b190-3c129f03ecac,analyze,usa_tamu,Texas,vJan2021,vJan2021,vJan2021,vJan2021,Yes,2016-01-01 00:00:00,2016-01-31 00:00:00,1H,REISE.jl,0:05,
92,test,comp_d09c9595-f348-40fb-85c3-737c13f5e0db,analyze,usa_tamu,Texas,vJan2021,vJan2021,vJan2021,vJan2021,Yes,2016-01-01 00:00:00,2016-01-31 00:00:00,1H,REISE.jl,0:05,
93,test,comp_3732a5f3-e59c-496a-b25a-a3a10332d0f1,analyze,usa_tamu,Texas,vJan2021,vJan2021,vJan2021,vJan2021,Yes,2016-01-01 00:00:00,2016-01-31 00:00:00,1H,REISE.jl,0:04,
94,test,comp_20011abd-757c-466b-8c32-7b39279c40c1,analyze,usa_tamu,Texas,vJan2021,vJan2021,vJan2021,vJan2021,Yes,2016-01-01 00:00:00,2016-01-31 00:00:00,1H,REISE.jl,0:04,
95,test,comp_1125348b-7779-4107-b580-e3f00b6a2557,analyze,usa_tamu,Texas,vJan2021,vJan2021,vJan2021,vJan2021,Yes,2016-01-01 00:00:00,2016-01-31 00:00:00,1H,REISE.jl,0:05,
96,test,comp_ea300755-52c6-458f-a623-47bd938c52d2,analyze,usa_tamu,Texas,vJan2021,vJan2021,vJan2021,vJan2021,Yes,2016-01-01 00:00:00,2016-01-31 00:00:00,1H,REISE.jl,0:04,
328,,,analyze,,,,,,,,,,,,0:03,
329,,,analyze,,,,,,,,,,,,,
330,,,analyze,,,,,,,,,,,,,
327,,,analyze,,,,,,,,,,,,,
331,,,analyze,,,,,,,,,,,,0:04,
332,,,analyze,,,,,,,,,,,,0:04,
333,,,analyze,,,,,,,,,,,,0:03,

As you can see, the previously listed scenarios from 97 to 327 are removed and the scenarios after 328 are also in the wrong format.
The files in mnt/bes/pcm/data and mnt/bes/pcm still look reasonable.
Code for reproduction
Just create and launch more than 330 scenarios.
Actual outcome
Expected outcome
It is expected that we can run as many scenarios as we can.
Environment

Operating system: Linux on Azure virtual machine
plug revision: 291046c79642607b6adb194ad6719615119ece87
Docker version: Docker version 20.10.6+azure; docker-compose version 1.23.2
Docker image information:
ghcr.io/breakthrough-energy/postreise   latest    24d0dd3d222f   6 days ago     2.19GB
ghcr.io/breakthrough-energy/reisejl     latest    6f7615b61cef   2 weeks ago    2.26GB

Additional context
This situation has happened twice, one on my local computer and one on Azure virtual machine.

The memory usage of docker is like the following:

CONTAINER ID   NAME      CPU %     MEM USAGE / LIMIT     MEM %     NET I/O           BLOCK I/O         PIDS
a3f32f6140b1   reisejl   0.02%     6.43GiB / 141.6GiB    4.54%     484kB / 509kB     4.96MB / 91.7MB   376
5a4aeb016b5c   client    0.00%     1.266GiB / 141.6GiB   0.89%     29.4MB / 5.15MB   11.8MB / 46.2MB   1

Sorry for the trouble. It sounds like you could be running into a resource limitation somewhere, either the volume size allowed by docker (couldn't find docs about this, but could be a thing), or hard drive space. Curious how big is the disk allocated to your virtual machine? Another thing to check would be docker system df to see how much space the volume is using. You might be the first person to run this many scenarios using docker, so this is new territory.

Sorry for the trouble. It sounds like you could be running into a resource limitation somewhere, either the volume size allowed by docker (couldn't find docs about this, but could be a thing), or hard drive space. Curious how big is the disk allocated to your virtual machine? Another thing to check would be docker system df to see how much space the volume is using. You might be the first person to run this many scenarios using docker, so this is new territory.

Thank you very much for the response!

The disk allocated to the virtual machine is 150 Size (GiB) with Max IOPS 1100, max throughput(MBps) 125.

Currently, I have 180 scenarios of Texas grid with 1 month period in my docker. docker system df returns

TYPE            TOTAL     ACTIVE    SIZE      RECLAIMABLE
Images          3         3         3.523GB   933.7MB (26%)
Containers      3         2         38.73MB   0B (0%)
Local Volumes   1         1         11.29GB   0B (0%)
Build Cache     0         0         0B        0B

I hope these information could help locate the issues. Please feel free to let me know if any other information is needed. Thank you again.

Hi Yuhao! I have a couple more questions to try and help us figure out how this issue happens:

Are you running these scenario concurrently or sequentially? If concurrently, approximately how many scenarios are you running at the same time?
Do you know the last time you had a valid ScenarioList.csv (e.g. when creating Scenario ###, when analyzing Scenario ###)?
How did you notice that this file was corrupted (e.g. when trying to analyze Scenario ###)?
You mentioned you've run into this issue multiple times already. Are you running the same ~330 scenarios each time, or are they slightly different? Does the ScenarioList break in the same way (i.e. missing lines 97 to 327, and malformed from 328-333), or are the numbers slightly different each time?

Thanks for your patience with us!

Hi Anna, thank you for these questions.

Are you running these scenario concurrently or sequentially? If concurrently, approximately how many scenarios are you running at the same time?
Concurrently, i think. What I did is that I have a for loop, inside the each loop, I will have a different change table and then create the new scenario for that new change table. Then, after creating these scenarios sequentially in a for loop, I think the optimization problems are solved concurrently in the background.

Around 100-200 simulations (with Texas grid, 1 month period, 1 hour interval) were created for each for loop.

Do you know the last time you had a valid ScenarioList.csv (e.g. when creating Scenario ###, when analyzing Scenario ###)?
From my experience, running 150-180 simulations are pretty stable.
I just did not try more than 200 simulations after encountering this issue...

How did you notice that this file was corrupted (e.g. when trying to analyze Scenario ###)?
The corruption was found by the return of "Scenario().get_scenario_table()", basically, this is what saved in ScenarioList.csv.
The failure error will appear when trying to analyze Scenario ### corrupted in ScenarioList.csv.
The data stored in /mnt/bes/pcm/data and /mnt/bes/pcm/tmp seems not corrupted (I am not 100% sure).

You mentioned you've run into this issue multiple times already. Are you running the same ~330 scenarios each time, or are they slightly different? Does the ScenarioList break in the same way (i.e. missing lines 97 to 327, and malformed from 328-333), or are the numbers slightly different each time?

The number of running simulations when corrupting could be different. The same issue also happened once after running around 180 scenarios
Thank you!

Just a quick update. I think we have a decent guess as to the problem, as well as a potential workaround, which would be possible with a few code changes. There shouldn't be any issue running the optimization concurrently, but I suspect there are race conditions modifying the ScenarioList csv which would happen as part of the "extraction" process once the simulation is complete. This currently defaults to happen automatically, but if we change that and allow extraction to happen sequentially, it might eliminate that risk. Will discuss with the team and keep you posted. Thanks again for the patience.

Hi @yuhaoMSR, we've merged the code changes discussed previously, enabling the post-simulation extraction to be done separately, not in parallel. If you'd like to try it out, you can docker pull the latest images for powersimdata and reisejl, then in your script, do the following:

add the extract_data=False argument to your call to scenario.launch_simulation
in a single threaded loop, call scenario.extract_simulation_output() on each one once it's finished. You could check this using scenario.check_progress()['status'] == 'finished'

I believe this will solve the issue, but the only real way to know is to try it, so I look forward to hearing your experience.

Hi @jon-hagg, thank you very much for fixing this issue. I could run and store more than 600 scenarios now. But the problem is that the state of all scenarios are now "execute" instead of "analyze" after the simulations are actually finished. Could you further check this issue? Thank you very much!

@yuhaoMSR I meant to say previously, you would need to docker pull the latest postreise image (not powersimdata as I said above), or alternatively update your compose file to use powersimdata instead for the client service. Without that, extract_simulation_output will not have an effect. If that all runs successfully but you still see the "execute" state, I would try re instantiating the scenario object - if the value in ScenarioList.csv shows "analyze", that should be correctly reflected in a fresh instance.

Sounds like we can close this, let me know if there is any remaining issue @yuhaoMSR

Thank you for addressing this issue!


Overwriting process_image_url when I have two classes having a delayed attachment

I have two classes both having an attachment to be delayed-processed. One of them have :processing_image_url option specified and another don't, looks like:
class Person < ActiveRecord::Base
  has_attached_file :avatar, PAPERCLIP_STORAGE_OPTS
  process_in_background :avatar, processing_image_url: "in_processing.png"
end

class Organization < ActiveRecord::Base
  has_attached_file :picture, PAPERCLIP_STORAGE_OPTS
  process_in_background :picture
end

In this setting, Person#processing_image_url may return nil. I have tried in rails console and got the result below:
 $ rails c
> person = Person.find 1
> organization = Organization.find 1
> organization.picture.processing_image_url #=> nil
> person.avatar.processing_image_url #=> nil; but I expects this to be "in_processing.png".

This behavior seems to depends on the load order of the classes; when I loaded (instanciated?) Organization first, the instance of Person keeps the option correct.
I suspect this is caused by overwriting paperclip_definitions in DelayedPaperclip::ClassMethodss#process_in_background.

Hi! I wasn't able to reproduce this kind of behaviour with:

paperclip 4.2.1
delayed_paperclip 2.9.0
rails 4.2.0.rc3
ruby 2.1.5

What was your setup?

@katafrakt thanks for your help!

I encountered the behaviour in setup as follows:

paperclip 4.1.1
delayed_paperclip 2.9.0
rails 4.0.0
ruby 2.0.0p598


Can't open link in README Adaptation “Clone this open-instruct branch & follow its setup instructions.”

It seems like you delete this branch
https://github.com/allenai/open-instruct/tree/olmoe-sft
Where can I get the adaptation  setup instructions？

Hello! Sorry about that, we merged that branch into main and forgot to update the documentation :) You should be able to just clone from main instead. There's a chance you'll have to upgrade the transformers version as well, so if you run into any issues try running pip install --upgrade transformers.


Add list-randomizer extension

Description
A persistent list that lives in storage that can be randomized via Durstenfeld's shuffle and then copied to clipboard.
This was born out of being tired of showing up meetings and standups that require wasteful popcorning/ forgetting who hasn't gone, or creating mini teams but not having a way to easily randomize the roster without going to some random website.
Screencast
opening the extension, adding to the list, randomizing, and copying and pasting
https://github.com/raycast/extensions/assets/32676955/0ef78b66-a547-4f99-b63d-47368221a787
not shown in video:

persistent list from the last time
deleting the whole list and local file

Checklist

[x] I read the extension guidelines
[x] I read the documentation about publishing
[x] I ran npm run build and tested this distribution build in Raycast
[x] I checked that files in the assets folder are used by the extension itself
[x] I checked that assets used by the README are placed outside of the metadata folder

I'm not completely sure about the use case actually, but it works as expected

Hi 👋
Thanks for your contribution 💪
I have now tested your extension, and I have some feedback ready for you:

Is there a reason why you're using a file on the disk and not LocalStorage
Could you add metadata images

I'm looking forward to testing this extension again 🔥
Request a new review when you are ready. Feel free to contact me here or at Slack if you have any questions.

An expansion question, if the developed plug-in needs to create an image cache locally, what is the better way? The method I used is to store it in the user's cache directory. Is this reasonable? @pernielsentikaer

Images downloaded within the extension will already be cached by Raycast, so there shouldn't be any reason for further caching.

Is there a reason why you're using a file on the disk and not LocalStorage
Could you add metadata images

Apologies for the delayed response, I've been using this extension every day and forgot it wasn't merged/ available in the store :P
I did see the localStorage API but because the data is meant to be updated quickly/ read quickly, I opted to read sync from a file rather than do an async Localstorage read -- I followed similar methods for loading in initial state quickly from the todo-list Raycast extension -- https://github.com/raycast/extensions/blob/965d8e834648870b50494ee2d6ef0f18c7d33b27/extensions/todo-list/README.md !

I'm not completely sure about the use case actually, but it works as expected

So far this has been useful in determining ordering for updates, ordering for team selections, and for deciding on many options (like food) :)


❓ Split libraries for excalidraw publishing

https://github.com/excalidraw/excalidraw-libraries/pull/165

💡 Idea: monorepo for separate libraries?

https://github.com/excalidraw/excalidraw-libraries/pull/172


Compatiblity with 1.16 SDK releases?

Now that #10 is closed and 1.0.2 is released, I tried upgrading both our our dependencies to the latest versions:
aws-dax-go: 1.0.2
aws-sdk-go: 1.16.6
However, when I do so dax fails to compile:
vendor/github.com/aws/aws-dax-go/dax/service.go:129:5: cannot use (*Dax)(nil) (type *Dax) as type dynamodbiface.DynamoDBAPI in assignment:
	*Dax does not implement dynamodbiface.DynamoDBAPI (missing TransactGetItems method)

Which version(s) of the aws-sdk-go is 1.0.2 compatible with?

aws-dax-go v1.0.2 should be compatible with aws-sdk-go up to and including v1.15.84; the transactions APIs were introduced in v1.15.85, which is what breaks compilation.
A version of aws-dax-go that supports transactions will be released shortly.


Xamarin Android support/documentation

How do I Use bing maps sdk on xamarin android? There is no tutorial/documentation related to this? Do i just need to port the library/do the Xamarin bindings myself?

Xamarin is currently not supported, but we are considering it as a feature request.
We have been getting similar feedback from various folks and we are definitely interested on supporting higher level abstractions like Xamarin for our native controls.

How Do I use bing maps sdk in React-Native (Android and iOS) ? Do I need to create and wrapper around those sdk to create and React-native module for the bing maps?

How Do I use bing maps sdk in React-Native (Android and iOS) ? Do I need to create and wrapper around those sdk to create and React-native module for the bing maps?
Correct.  At the moment, we don't have wrappers around the native controls but it's another interesting item to consider as feature request.  @Dipak26 please feel free to open a separate issue.


Specific version of Imagick ignored

Describe the bug
I am trying to install version 7.0.10 of Imagick and the setup seems to ignore this requirement.
Version

[x] I have checked releases, and the bug exists in the latest patch version of v1 or v2.
[x] v2
[ ] v1

Runners

[x] GitHub Hosted

Operating systems

Ubuntu 10.4
PHP versions

7.4
To Reproduce

Put the below lines in your YML action file
    - name: PHP Setup
      uses: shivammathur/setup-php@v2
      with:
        php-version: '7.4'
        tools: composer, pecl
        extensions: imagick-7.0.10
        coverage: none
      env:
        fail-fast: true

    - name: Which Imagick Version
      run: php -r 'var_dump(Imagick::getVersion());'

Expected behavior

I expect it to output that the version of Imagick installed and in use is 7.0.10, but it says 6.8.9

This will install imagick PHP extension and not Imagemagick the library. Since 7.0.10 is not a valid release of extension on pecl, it will fallback to installing the latest version of extension 3.4.4. It will use the existing library on the runner which is Imagemagick 6.8.9.
You first need to install imagemagick 7 from source as there is no compiled package for Ubuntu yet for this version, and then install imagick-3.4.4 using setup-php.
- name: Install imagemagick-7
  run: |
    curl -o /tmp/ImageMagick.tar.gz -sL https://www.imagemagick.org/download/ImageMagick.tar.gz
    (
      cd /tmp || exit 1
      tar xf ImageMagick.tar.gz
      cd ImageMagick-7*
      sudo ./configure --prefix=/usr
      sudo make -j$(nproc)
      sudo make install
    )
- name: PHP Setup
  uses: shivammathur/setup-php@v2
  with:
    php-version: '7.4'
    extensions: imagick-3.4.4

Test workflow: https://github.com/shivammathur/test-setup-php/actions/runs/342249656/workflow


Add step for fetching backers.json to website install steps

Supercedes: #10191
Fixes: #9808

Summary

When attempting to run yarn start for the first time after following the install steps I got this error message:
Error: Cannot find module '/Users/stdavis/Documents/Projects/jest/website/backers.json'

This PR adds the required command to fix this error.
Test plan

I've run node fetchSupporters.js and now the website behaves normally without errors.

How does this fix #9808? Typo?

Yep, fixing


Write a single test for every primitive in jax.lax

Need to do this to make sure that none of them have any unique behavior which isn't accounted for yet.

Done-ish


Improve SVN

Please have a look at the individual commit messages for the details.

This change is

Review status: 0 of 14 files reviewed at latest revision, 1 unresolved discussion.

downloader/src/main/kotlin/vcs/Subversion.kt, line 61 at r5 (raw file):

                private val svnInfo = ProcessCapture("svn", "info", workingDir.absolutePath)
                private val svnInfoMap = svnInfo.stdout().lines()
                        .associateBy({ it.substringBefore(": ") }, { it.substringAfter(": ") })

I don't  like adding single space inside delimiter. It probably isn't common case, but I would use only colon, and then trim() to have better chance to parse the output, if it's format is changed.

Comments from Reviewable

Review status: 0 of 14 files reviewed at latest revision, 1 unresolved discussion.

downloader/src/main/kotlin/vcs/Subversion.kt, line 61 at r5 (raw file):
Previously, pnowakowski wrote…
I don't  like adding single space inside delimiter. It probably isn't common case, but I would use only colon, and then trim() to have better chance to parse the output, if it's format is changed.

Actually, I was thinking it's even more safe to include that space into the delimiter, so that no single colons in paths, URLs or time stamps are matched. Also, I highly doubt that the output format for svn info would change, although I could not find a documented guarantee on it to be stable. If we wanted to be really sure we should use svn info --xml anyway, but I don't like the overhead it adds.
@mnonnenmacher, any opinion?

Comments from Reviewable

Review status: 0 of 14 files reviewed at latest revision, 1 unresolved discussion.

downloader/src/main/kotlin/vcs/Subversion.kt, line 61 at r5 (raw file):
Previously, sschuberth (Sebastian Schuberth) wrote…
Actually, I was thinking it's even more safe to include that space into the delimiter, so that no single colons in paths, URLs or time stamps are matched. Also, I highly doubt that the output format for svn info would change, although I could not find a documented guarantee on it to be stable. If we wanted to be really sure we should use svn info --xml anyway, but I don't like the overhead it adds.
@mnonnenmacher, any opinion?

I see your point, however substringBefore(delimileter)  returns the part before first occurrence of given arg, so additional colon would have to be added in header part of the line, if it is in value part, the division would still happen at the same place.
However, as you said, it's quite doubtful, the format is changed, it was just my first thought when I saw the line.

Comments from Reviewable

Review status: 0 of 14 files reviewed at latest revision, 1 unresolved discussion.

downloader/src/main/kotlin/vcs/Subversion.kt, line 61 at r5 (raw file):
Previously, pnowakowski wrote…
I see your point, however substringBefore(delimileter)  returns the part before first occurrence of given arg, so additional colon would have to be added in header part of the line, if it is in value part, the division would still happen at the same place.
However, as you said, it's quite doubtful, the format is changed, it was just my first thought when I saw the line.

Actually I think the XML output is the best way, because that's what it's there for. Also it seems XML output is not localized which makes the implementation independent from locale settings.

Comments from Reviewable

Reviewed 4 of 4 files at r1, 11 of 11 files at r2, 5 of 5 files at r3, 1 of 2 files at r4, 2 of 2 files at r6, 2 of 2 files at r7, 1 of 1 files at r8, 4 of 4 files at r9, 1 of 1 files at r10.
Review status: 15 of 17 files reviewed at latest revision, 2 unresolved discussions.

downloader/src/test/kotlin/SubversionTest.kt, line 57 at r6 (raw file):

        spec()

        zipContentDir.deleteRecursively()

Do try { spec() } finally { zipContentDir.deleteRecursively() } to make sure the directory gets deleted?

Comments from Reviewable

Review status: 11 of 17 files reviewed at latest revision, 2 unresolved discussions.

downloader/src/test/kotlin/SubversionTest.kt, line 57 at r6 (raw file):
Previously, mnonnenmacher (Martin Nonnenmacher) wrote…
Do try { spec() } finally { zipContentDir.deleteRecursively() } to make sure the directory gets deleted?

Done.

Comments from Reviewable

Reviewed 6 of 6 files at r11, 2 of 2 files at r12, 1 of 1 files at r13, 4 of 4 files at r14, 1 of 1 files at r15, 2 of 2 files at r16.
Review status: all files reviewed at latest revision, 1 unresolved discussion.

Comments from Reviewable


Bump to v23.12

Closes #122.

The workflow changes seem to have enabled a full deployment to PyPI, so v23.12 was published from this branch. While this isn't what I was wanting, I think it's OK since we were happy with the state of this release. @martinjrobins any idea why this workflow proceeded through the PyPI job? I thought the !contains() would have resulted in a skip of PyPI, but completion of the TestPyPI.


Isn't this supposed to be a Registry group

https://github.com/TheCherno/Hazel/blob/master/Hazel/src/Hazel/Scene/Scene.cpp#L69
In the latest episode, Cherno said "basically we should use a group" but he didn't change it from view to group.

Also the rendering part could be optimized a bit by making it a full-owning group instead of a partial-owning group.

A partial-owning group works similarly to a full-owning group for the components it owns, but relies on indirection to get components owned by other groups. This isn't as fast as a full-owning group, but it's already much faster than views when there are only one or two free components to retrieve (the most common cases likely). In the worst case, it's not slower than views anyway.

So it could look a bit like the code below, however cherno had issues with the camera part when he tried this...
// camera part
auto group = m_Registry.group<CameraComponent, TransformComponent>();
// rendering part
auto group = m_Registry.group<SpriteRendererComponent, TransformComponent>();

I did some testing, however I'm now even more confused, I tried this and it runs:
auto group = m_Registry.group<CameraComponent>(entt::get<TransformComponent>);

However if you try anything else, such as changing the order of component (I don't actually know if that matters here, also when I checked the Wiki for entt) an assertion fails inside entt's code.
Configuration & Platform: Debug x64

I did some testing, however I'm now even more confused (...)

Cherno did look at #292 during his twitch stream, see https://github.com/TheCherno/Hazel/pull/292#issuecomment-670186645. As that commend says, after a deep dive we learned a lot about entt groups versus views.
Since he changed the name from group to view in https://github.com/TheCherno/Hazel/commit/8a81a7e75545eb62d8f87df69de827da710dc125, I'll close this issue as the confusion is solved (for now), however do note that it will probably change in the future.


[Bug]: Cache operations are not supported for Neuron backend.

Your current environment
PyTorch version: 2.1.2+cu121
Is debug build: False
CUDA used to build PyTorch: 12.1
ROCM used to build PyTorch: N/A

OS: Ubuntu 22.04.4 LTS (x86_64)
GCC version: (Ubuntu 11.4.0-1ubuntu1~22.04) 11.4.0
Clang version: Could not collect
CMake version: version 3.29.3
Libc version: glibc-2.35

Python version: 3.10.12 (main, Nov 20 2023, 15:14:05) [GCC 11.4.0] (64-bit runtime)
Python platform: Linux-5.15.0-1031-aws-x86_64-with-glibc2.35
Is CUDA available: False
CUDA runtime version: No CUDA
CUDA_MODULE_LOADING set to: N/A
GPU models and configuration: No CUDA
Nvidia driver version: No CUDA
cuDNN version: No CUDA
HIP runtime version: N/A
MIOpen runtime version: N/A
Is XNNPACK available: True

CPU:
Architecture:                    x86_64
CPU op-mode(s):                  32-bit, 64-bit
Address sizes:                   48 bits physical, 48 bits virtual
Byte Order:                      Little Endian
CPU(s):                          32
On-line CPU(s) list:             0-31
Vendor ID:                       AuthenticAMD
Model name:                      AMD EPYC 7R13 Processor
CPU family:                      25
Model:                           1
Thread(s) per core:              2
Core(s) per socket:              16
Socket(s):                       1
Stepping:                        1
BogoMIPS:                        5299.99
Flags:                           fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ht syscall nx mmxext fxsr_opt pdpe1gb rdtscp lm constant_tsc rep_good nopl nonstop_tsc cpuid extd_apicid aperfmperf tsc_known_freq pni pclmulqdq ssse3 fma cx16 pcid sse4_1 sse4_2 x2apic movbe popcnt aes xsave avx f16c rdrand hypervisor lahf_lm cmp_legacy cr8_legacy abm sse4a misalignsse 3dnowprefetch topoext invpcid_single ssbd ibrs ibpb stibp vmmcall fsgsbase bmi1 avx2 smep bmi2 invpcid rdseed adx smap clflushopt clwb sha_ni xsaveopt xsavec xgetbv1 clzero xsaveerptr rdpru wbnoinvd arat npt nrip_save vaes vpclmulqdq rdpid
Hypervisor vendor:               KVM
Virtualization type:             full
L1d cache:                       512 KiB (16 instances)
L1i cache:                       512 KiB (16 instances)
L2 cache:                        8 MiB (16 instances)
L3 cache:                        64 MiB (2 instances)
NUMA node(s):                    2
NUMA node0 CPU(s):               0-7,16-23
NUMA node1 CPU(s):               8-15,24-31
Vulnerability Itlb multihit:     Not affected
Vulnerability L1tf:              Not affected
Vulnerability Mds:               Not affected
Vulnerability Meltdown:          Not affected
Vulnerability Mmio stale data:   Not affected
Vulnerability Retbleed:          Not affected
Vulnerability Spec store bypass: Mitigation; Speculative Store Bypass disabled via prctl and seccomp
Vulnerability Spectre v1:        Mitigation; usercopy/swapgs barriers and __user pointer sanitization
Vulnerability Spectre v2:        Mitigation; Retpolines, IBPB conditional, IBRS_FW, STIBP always-on, RSB filling, PBRSB-eIBRS Not affected
Vulnerability Srbds:             Not affected
Vulnerability Tsx async abort:   Not affected

Versions of relevant libraries:
[pip3] numpy==1.25.2
[pip3] nvidia-nccl-cu12==2.18.1
[pip3] torch==2.1.2
[pip3] torch-neuronx==<IP_ADDRESS>.1.0
[pip3] torch-xla==2.1.2
[pip3] torchvision==0.16.2
[pip3] triton==2.1.0
[conda] Could not collectROCM Version: Could not collect
Neuron SDK Version: (0, 'instance-type: inf2.8xlarge\ninstance-id: i-0a4cb8ace67c6d13f\n+--------+--------+--------+---------+\n| NEURON | NEURON | NEURON |   PCI   |\n| DEVICE | CORES  | MEMORY |   BDF   |\n+--------+--------+--------+---------+\n| 0      | 2      | 32 GB  | 00:1f.0 |\n+--------+--------+--------+---------+', '')
vLLM Version: 0.4.2
vLLM Build Flags:
CUDA Archs: Not Set; ROCm: Disabled; Neuron: Disabled
GPU Topology:
Could not collect

🐛 Describe the bug
There error is:
"Cache operations are not supported for Neuron backend"
My code is:
`
from typing import Optional
from pydantic import BaseModel
from vllm import LLM, SamplingParams
from transformers import AutoTokenizer
import time
import os
from huggingface_hub import login
login(token = 'xxxxx')
model_id = "mistralai/Mistral-7B-Instruct-v0.2"
llm = LLM(
model=model_id,
max_num_seqs=1,
max_model_len=128,
block_size=128,
# The device can be automatically detected when AWS Neuron SDK is installed.
# The device argument can be either unspecified for automated detection,
# or explicitly assigned.
device="neuron",
tensor_parallel_size=2)
start_time = time.time()
sampling_params = SamplingParams(temperature=0.7, top_p=0.95)
outputs = llm.generate(["What is your name?"], sampling_params)
End timing
end_time = time.time()
total_tokens = 0
for output in outputs:
prompt = output.prompt
generated_text = output.outputs[0].text
print(f"Prompt: {prompt!r}, Generated text: {generated_text!r}")
`
It seems to happen on the actually llm.generate() line
I ran this successfully a few days/weeks ago but now I suddenly get this issue. I tried to checkout other version releases but it seems to not have helped the issue

Seems like there is a issue with the latest release - it works if I checkout this specific hash: 6ef09b08f88b675f84b7140238286e5d4c5304c8 (version v0.4.1) however checking out the tag v0.4.1 does not work and results in a different error

I still get the same error with a fresh install of vllm 0.5.0+neuron214:
........
Compiler status PASS
2024-09-09 14:23:11.000504:  58607  INFO ||NEURON_CACHE||: Compile cache path: /var/tmp/neuron-compile-cache
.
Compiler status PASS
2024-09-09 14:23:32.000296:  58608  INFO ||NEURON_CACHE||: Compile cache path: /var/tmp/neuron-compile-cache
2024-Sep-09 14:23:34.0116 58275:58494 [5] init.cc:125 CCOM WARN NET/Plugin : No plugin found (libnccl-net.so), multi-instance execution will not work
Traceback (most recent call last):
  File "/home/ec2-user/fmwork/./driver", line 55, in <module>
    main()
  File "/home/ec2-user/fmwork/./driver", line 50, in main
    dts = fmwork.loop(par.reps, llm.generate, kwargs)
  File "/home/ec2-user/fmwork/fmwork.py", line 71, in loop
    function(**kwargs)
  File "/home/ec2-user/vllm/0.5.0/py310/vllm/vllm/utils.py", line 677, in inner
    return fn(*args, **kwargs)
  File "/home/ec2-user/vllm/0.5.0/py310/vllm/vllm/entrypoints/llm.py", line 304, in generate
    outputs = self._run_engine(use_tqdm=use_tqdm)
  File "/home/ec2-user/vllm/0.5.0/py310/vllm/vllm/entrypoints/llm.py", line 554, in _run_engine
    step_outputs = self.llm_engine.step()
  File "/home/ec2-user/vllm/0.5.0/py310/vllm/vllm/engine/llm_engine.py", line 773, in step
    output = self.model_executor.execute_model(
  File "/home/ec2-user/vllm/0.5.0/py310/vllm/vllm/executor/neuron_executor.py", line 53, in execute_model
    and execute_model_req.blocks_to_copy == {}), (
AssertionError: Cache operations are not supported for Neuron backend.
(20240909-py310) ec2-user@ip-10-0-173-55 fmwork$ pip list | grep vllm
vllm                              0.5.0+neuron214     /home/ec2-user/vllm/0.5.0/py310/vllm


@scure/btc-signer not published to npm

It seems new package @scure/btc-signer was not published to NPM.
package.json has the old name: https://github.com/paulmillr/scure-btc-signer/blob/26216a976c767ec66a7d75afc1ef1881b48d3c69/package.json#L2

On purpose. We are waiting for audit report to be included.

done

cc @aulneau


TypeError: Cannot read properties of undefined (reading 'orientation') when deploy on deno

Current Behavior:
I tried to use Vidstack player  in my Nuxt.js project, it's work well on local machine but when I deploy to deno, I got this:
The deployment failed: UNCAUGHT_EXCEPTION

TypeError: Cannot read properties of undefined (reading 'orientation')
    at canRotateScreen (file:///src/server/index.ts:135354:37)
    at canOrientScreen (file:///src/server/index.ts:135351:10)
    at file:///src/server/index.ts:135832:20

and when I deploy to Vercel, it stuck at home page.
Steps To Reproduce:

I followed installation step at: Vidstack
Import player & CSS (I tried import 'vidstack/bundle'; but it doesn't work):

import 'vidstack/player';
import 'vidstack/player/layouts/default';
import 'vidstack/player/ui';
import 'vidstack/player/styles/default/theme.css';
import 'vidstack/player/styles/default/layouts/video.css';

Add player

<media-player title="Sprite Fight" src="https://stream.mux.com/VZtzUzGRv02OhRnZCxcNg49OilvolTqdnFLEqBsTwaxU/low.mp4">
  <media-provider></media-provider>
  <media-video-layout thumbnails="https://image.mux.com/VZtzUzGRv02OhRnZCxcNg49OilvolTqdnFLEqBsTwaxU/storyboard.vtt"></media-video-layout>
</media-player>

Environment:

Framework: Vue.js
Meta Framework: Nuxt.js
Node: 20.11.1
OS: Windows 10 64-bit
Browser<EMAIL_ADDRESS>

Deno wasn't included in our package exports so it was picking up the client bundle.

I tried import 'vidstack/bundle'; but it doesn't work

This is very likely due to the include filter not matching your player component file path. You can either remove it or move the file to the correct path (default is in a player/ directory).
import { vite as vidstack } from 'vidstack/plugins';

export default defineNuxtConfig({
  vite: {
    plugins: [
      // Include filter to only check specific files for components and styles.
      vidstack({ include: /player\// }),
    ],
  },
});


does it no longer work?

Does the original version still work for you? I tried both, the original and my modified version, but both produced the following error:
Traceback (most recent call last):
File "scrape.py", line 34, in
categories = json.loads(session.get(API_GETCATEGORIES).content.decode('utf-8
'))
File "E:\ProgramsW7\IT\Python34\lib\json__init__.py", line 318, in loads
return _default_decoder.decode(s)
File "E:\ProgramsW7\IT\Python34\lib\json\decoder.py", line 343, in decode
obj, end = self.raw_decode(s, idx=_w(s, 0).end())
File "E:\ProgramsW7\IT\Python34\lib\json\decoder.py", line 361, in raw_decode
raise ValueError(errmsg("Expecting value", s, err.value)) from None
ValueError: Expecting value: line 1 column 1 (char 0)
Is it possible Wattpad changed somehow?

Looking bad, it seems Wattpad has blocked access.
session.get(API_GETCATEGORIES).content results in the following:
b'\r\n403 Forbidden\r\n\r\n403 Forbidden\r\nnginx\r\n\r\n\r\n'
Whereas it used to produce categories before:
b'{"4":"Romance","5":"Science Fiction","3":"Fantasy","8":"Mystery\/Suspense","7":"Humor","12":"Paranormal","9":"Horror","11":"Adventure","15":"Thriller","23":"Historical Fiction","1":"Teen Fiction","6":"Fan Fiction","2":"Poetry","17":"Short Story","21":"Non-Teen Fiction","14":"Action","18":"Vampire","22":"Werewolf","13":"Spiritual","16":"Non-Fiction","10":"Classics","20":"Watty Awards 2011","19":"Other"}'
Any idea how we can get around that?
If you open the webpages manually, they still work. Would it be possible to download them manually and then import the downloaded files?
Would it be possible to access them in a different way?
Thanks for any feedback!

Lovely, they're blocking any user agent that contains "Python":
$ curl -A 'Python' https://www.wattpad.com/apiv2/getcategories

<title>403 Forbidden</title>

403 Forbidden

nginx

Lets just send and empty user agent header for now. (Or not send one, I haven't checked how requests is actually doing this.) This fixes it and this project works again.
If they keep this up, it will be quite unpleasant to fight them. They might have started blocking user agents with "python" for unrelated reasons though. We'll see.

Excellent, thanks a lot for the quick fix!
According to their API documentation one needs to authorize, now. May this be part of the problem (or a future solution)?
https://developer.wattpad.com/docs/api#!/categories/GetCategories
https://developer.wattpad.com/docs/signin

We're not actually using any of their official APIs. The documentation you linked is the new official, documented, v4 API. It doesn't actually provide any method to get the text of a story.
Instead we're using undocumented APIs (both apiv2 and v3) used by various things like Wattpad's Android app or their website. These unofficial APIs allow getting full stories (it's how the Android app loads them), but they don't officially want you to use them. We're using it anyway and it works (until they break it).

I see, thanks for clarifying that. So, let's hope they don't break it any time soon!

You can refer to this page: doc truyen

You can refer to this page: doc truyen


Create skeleton of simulation engine

Simulation engine should keep track of fish stocks and agent funds, and log all activity.

Too vague---I've sketched the basics of the simulation engine on paper, but will add the details as part of the next milestone.


Code Improvements

Hi perplexityjeff
Love this. Found it while looking for something similar to Android's DNS 66 for Windows DNS.
I've made a few improvements, such as better detection of the zones to clean up, and also addition of a -Remove command line argument to permit complete removal of all the blacklist entries.
Since I have an Active Directory integrated DNS, I will in time further enhance this to make the blacklist entries AD integrated such that they can be applied to one DNS server and be replicated to the others in the domain.

Hi Firefly, Thank you for the hard on making it better. It looks great so I'll merge it with the base.

Much appreciated :-)
Have already has some success with Active Directory integrating the DNS records.
Tell me, do you wish to support Windows versions earlier than 2012 now? From Server 2012 onward, the changes can be done entirely with PowerShell cmdlets, which is somewhat safer than modifying the registry directly, and it can be done without stopping the DNS service.

I think compatibility is still nice. I agree with you that it is safer however I think it is one of the strengths of the project that it does not really matter what OS you run it on.
Do you suggest to remove 2008 support ?

Only that 2008 is end of life next month so there should be very few people still on it
https://support.microsoft.com/en-gb/help/4456235/end-of-support-for-windows-server-2008-and-windows-server-2008-r2

Either way I'll leave that in,  but use the powershell cmdlets if they are present


ERROR: Failed building wheel for thinc

I created a local copy of the notebooks to adapt to my research tests but when running the first kgtk installation cell I got an error.
Building wheels for collected packages: sh, thinc, peewee, iso-639, odictliteral, pycountry, sentence-transformers, blis, typing
Building wheel for sh (setup.py) ... done
Created wheel for sh: filename=sh-1.14.3-py2.py3-none-any.whl size=39638 sha256=3fde3a1a109ef32c3e0c953d517852bb87828f1622864126958ad5ead621ff89
Stored in directory: /root/.cache/pip/wheels/48/1e/68/186beff3cdcf04ad2a63b3756fd7eaa8d957e538fdc63787f6
error: subprocess-exited-with-error
× python setup.py bdist_wheel did not run successfully.
│ exit code: 1
╰─> See above for output.
note: This error originates from a subprocess, and is likely not a problem with pip.
Building wheel for thinc (setup.py) ... error
ERROR: Failed building wheel for thinc
Running setup.py clean for thinc

@saggu sorry, I've forgot to mention that I am usagin Google Colab.

@versant2612 I am seeing error on my end also. I would suggest to run the notebooks locally.

run pip install thinc
comment out the line in kgtk requirements.txt which installs thinc (thinc==7.4.0)
run pip install -e . from the kgtk folder.

Ideally we would fix this in a release, but that will happen when I have some free time. Sorry for the inconvenience

@saggu thank you.


Plugin throws NPEs on first install

The default keybinds for the compass keys are null, and are not safely checked, which also breaks the key remapping plugin, so no keyboard input from that point on registers.

Someone else in the Runelite discord had this issue but I was not able to duplicate it. I suspect it may be java version specific.
Could you let me know what distro of java you are running? (Adoptium, Oracle etc.)
Also, if you have a log with the NPE stacktrace.

You're probably not able to repro it because as soon as you set all the keybinds, it returns a non-null keybinding, and your config is persisted beyond plugin reinstalls. Unfortunately, I missed the chance to copy the stacktrace but it should be simple enough to search for any usages of your config's keybinds and check whether they're null first. Or you could just change your config's default return values to the same values that the NOT_SET static keybind defines. That would probably fix the issue. I don't think it's related to Java distro, but I'm using

I did delete the config while testing 🤔, but I think you are right. I have set the default keybind to ModifierlessKeybind(KeyEvent.VK_UNDEFINED which matches what is in the keybind class for NOT_SET. Hopefully that fixes the issue.


Switch snes/pro controller randomly stops working with gamecube blueretro dongle

I recently bought the following blueretro adapter for my gamecube:
https://de.aliexpress.com/item/1005004917765807.html?spm=a2g0o.order_list.order_list_main.4.3e945c5fLHT9Qv&gatewayAdapt=glo2deu
Both my switch snes and switch pro controller randomly stop registering inputs but they stay connected to the dongle.
I have to unplug and reinsert the blueretro dongle to get it working again.
I don't know if it's actually related but I swear it happens more frequently while using the game boy player with game boy interface.
I've read about similar issues on here speciffically with switch controllers unfortunately I do not have a non switch bluetooth controller to test if that would fix it.
I also installed a controller port led mod into my gamecube which means I soldered leds (4v-6v) to the 5v and ground pins on each of the controller ports.
Im no electrician but maybe that makes the voltage to the dongle unstable and that might cause the issue? Regular gamecube controllers work fine tho.
I also tried it with the preinstalled firmware (dont know exact name dirty-something) and the latest 1.7.3 firmware release and it happens with both.
If theres anything else I should try and test please let me know.

Ok so over the last few days I played a few hours with the new 1.8 firmware release and that seems to have completely fixed the issue.


zigbee-tuya-switch

Good morning
After updating the Hub to version 41, the driver stopped working.

@GiacomoST
Thanks for sharing issue.
Currently, my hub version is not 41, but 40. When the update is complete, I will check it right away.
Is it possible to check if the problem happens even after re-pairing?

@GiacomoST
It has been fixed. (2022-02-02T14:59:38.851003)


X.A.WindowBringer: Add a filter function to config

Description
A new field windowFilter was added to the config, which allows the user to provide a function which will decide whether each window should be included in the window bringer menu.
Checklist

[x] I've read CONTRIBUTING.md

[x] I've considered how to best test these changes (property, unit,
manually, ...) and concluded: I've been using this in my config for a couple of years with no issues. No testing was done with xmonad-testing, but I don't think it is necessary.

[x] I updated the CHANGES.md file

[ ] I updated the XMonad.Doc.Extending file (if appropriate)

I added docs to the windowFilter field, but other than that this looks good to me; thanks!


Check-DB Initcontainer runs into endless timeout

What is the bug?
The command to check the airflow db takes more than 16s sometimes.
Funnily enough I have pods that just can't seem to boot up with 16s while others have no issue whatsoever.
https://github.com/airflow-helm/charts/blob/6efcae8394055ec091980df7d1c1eec8e199a7e3/charts/airflow/templates/_helpers/pods.tpl#L29
I am using the k8s postgresql db.
I checked our Grafana if there was a ressource bottleneck. It certainly doesn't seem like it.
I then changed the value to 30s and the pods booted up without an issue.
I think it would make sense to keep the default as is but add a configuration value to customize this according to the environment.
What are your Helm values?

What is your Kubernetes Version?:
$ kubectl version
Client Version: version.Info{Major:"1", Minor:"18", GitVersion:"v1.18.0", GitCommit:"9e991415386e4cf155a24b1da15becaa390438d8", GitTreeState:"clean", BuildDate:"2020-03-25T14:58:59Z", GoVersion:"go1.13.8", Compiler:"gc", Platform:"linux/amd64"}
Server Version: version.Info{Major:"1", Minor:"19", GitVersion:"v1.19.2", GitCommit:"f5743093fd1c663cb0cbc89748f730662345d44d", GitTreeState:"clean", BuildDate:"2020-09-16T13:32:58Z", GoVersion:"go1.15", Compiler:"gc", Platform:"linux/amd64"}

What is your Helm version?:
$ helm version
version.BuildInfo{Version:"v3.3.4", GitCommit:"a61ce5633af99708171414353ed49547cf05013d", GitTreeState:"clean", GoVersion:"go1.14.9"}

@yehlo this should be resolved after version 8.0.9 of the chart, as I have made the timeout 60s.

@yehlo this should be resolved after version 8.0.9 of the chart, as I have made the timeout 60s.

Sorry for commenting on a closed issue but shouldn't the timeout be configurable, setting it to 60seconds will not solve this issue for everyone.


RouteResource - Use of resources in routing

Is your feature request related to a problem? Please describe.
Routing using resources seems to be a topic of confusion for many people in the community. One of the common patterns people struggle with is protected routing using a resource. Often, routes become unreachable as developers protect them using an asynchronous resource that will synchronously always resolve to None (because it is loading).
Describe the solution you'd like
A <RouteResource>. I would like to develop a component which behaves similarly to the <Await> component, but for routing. This component would not contain a route (I suppose it could), but rather a resource to be used by its children. Developers could bind to the resolved value, which they could then use for conditional routing, or for any other use inside a subcomponent.
Describe alternatives you've considered
The official solution to this problem currently is to add routing into the protected component itself behind a <Suspense> component like this. This gets confusing as it means there is decentralized routing happening outside of the <Routes> component (making it hard to track down behvaior). Many people have already combated this by abstracting this up a layer by combining resources and routes together in their projects using a custom component. A great example of this is ResourceProtectedRoute by @jcourson8. This is a great project, but it introduces lots of unnecessary coupling between the resource (which must resolve a bool) and the condition.
Desired Usage
let user_fetch = create_resource(cx, ||(), get_user());
...
<RouteResource resource=user_fetch bind:user fallback=view!{cx,
"Loading..."
}>
     // Usually a ProtectedRoute with a resource is a no-no
     // because it will always be None as it loads
     // However, RouteResource insures that we will await the resource
     // before checking the ProtectedRoute condition
    <ProtectedRoute
           path="/"
           redirect_path="login"
           condition=|_| user.is_auth()
           view=|| view!{cx,
"Foo"
}
     />
</RouteResource>

Notice that the result of the resource can be used inside of the child component's view
let user_fetch = create_resource(cx, ||(), get_user());
...
<RouteResource resource=user_fetch bind:user fallback=view!{cx,
"Loading..."
}>
     // It wouldn't make sense to block loading just for the resource to resolve
     // but since we already had to block loading to wait for the condition
     // might as well pass the binded variable in to save a refetch
     <ProtectedRoute
             path="/"
             redirect_path="login"
             condition=|_| user.is_auth()
             view=|| view!{cx,
"Hello "{user.name}
}
     />
</RouteResource>

The resource can also be used multiple times. Notice how we can have one resource used for many different conditions, rather than a <ResourceProtectedRoute> and a separate resource to be created for each one.
let user_fetch = create_resource(cx, ||(), get_user());
...
<RouteResource resource=user_fetch bind:user fallback=view!{cx,
"Loading..."
}>
    <ProtectedRoute path="/" redirect_path="login" condition=|_| user.is_auth() view=|| view!{cx,
"Foo"
}/>
    <ProtectedRoute path="/admin" redirect_path="/" condition=|_| user.is_admin() view=|| view!{cx,
"Foo"
}/>
</RouteResource>

This is not possible as described, i.e., as a wrapper around route definitions (Route or ProtectedRoute), as the router is currently implemented. I also don't think it's advisable: Routes is the set of route definitions, and the route definitions (as distinct from the set of views) should be known synchronously and unconditionally.
I think it's a great idea to provide an async protected route, or a resource-loading route, as a utility.
I would recommend using nested routing, with Suspense as a wrapper around Outlet to implement this pattern. For example:
view! {
  <Routes>
    // parent route
    <Route path="/dashboard" view=ResourceProtectedRoute>
      // nested child routes
      <Route path="/" view=Home/>
    </Route>
  </Routes>
}

// ...

// this can be abstracted, of course
#[component]
pub fn ResourceProtectedRoute() -> impl IntoView {
  let data = create_resource(/* ... */);
  view! {
    <Suspense fallback=/* ... */>
      {move || data.read().map(|value| {
        // once the data has loaded, we provide its value via context and
        // then render the nested route's outlet
        provide_context(value);
        view! { <Outlet/> }
      })}
    </Suspense>
  }
}

ProtectedRoute now works as expected with async resources on git main/0.7 (because it uses Suspense), so I am going to close this issue.


Include stack trace in message on executesSuccessfully failure

Previously only executesOk would emit a stack trace on failure, but isn't able to be used to return the successful value.  Also cleans up some trailing whitespace.

:+1:

Had some minor comments but other wise :+1:


Instructions about how to install tsgm with a specific tensorflow version when you meet " No module named 'tf_keras'" or ''ImportError: keras.optimizers.legacy is not supported in Keras 3."

Thanks for your nice work, tsgm helps me a lot when dealing with time series data.
When installing tsgm via ''pip install tsgm'', it will automatically install the newest TensorFlow and sometimes it may cause package conflicts.
Here is an instruction about how to specify the TensorFlow, especially on GPUs.
1, Firstly, you need to make sure CUDA and the corresponding cuDNN have been correctly installed in your environment. Check it by using "nvcc -V".
nvcc -V

2, Secondly, install TensorFlow via "pip install tensorflow==2.X.X". If you correctly configure CUDA and cuDNN in your environment, tensorflow-gpu will be available.
pip install tensorflow==2.14.0 # 2.14.0 for example

You can check it by running
python3 -c "import tensorflow as tf; print(tf.config.list_physical_devices('GPU'))"

3, Install tsgm via pip.
pip install tsgm

Notes:
1, The compatible versions of CUDA, cuDNN, and TensorFlow can be found at https://tensorflow.google.cn/install/source#tested_build_configurations . Remember to change the language to English.
2, If you want to install a specific Tensorflow not compatible with your local CUDA and cuDNN. You can install it in a virtual environment by conda. Just install cudatoolkit and cudnn in your virtual environment before you install TensorFlow.
conda install cudnn=x.x.x -c conda-forge # it will automatically install cudatoolkit
conda list # check cuda and cudnn

3, Make sure the tensorflow-probability matches your TensorFlow version. see https://github.com/tensorflow/probability/releases.
4, You may need to install statsmodels manually.
Update 03/20/2024, if you install tsgm directly using pip install tsgm. Some problems may happen due to the following reasons.
1, TensorFlow 2.16.1 and tensorflow-probability 0.2.40 will be installed. However, tsgm is built based on keras2, which is not compatible with Keras3 in tf2.16+. see https://github.com/tensorflow/tensorflow/releases.
2, If you want to use tsgm, here are two ways: 1) Downgrade the TensorFlow to 2.15 or lower. 2) Do as the figure suggests.

3, I suggest that authors update the docs about how to install tsgm or set a limitation on the required version of TensorFlow and  tensorflow-probability.
4, Actually, I am a Pytorch user and I am not familiar with TensorFlow. TSGM is really a good repo for time series data processing. If someone is interested in constructing a Pytorch version of TSGM, please email me at<EMAIL_ADDRESS>I am very glad to build an open-source repo of tsgm-pytorch.
5, Again, thanks the authors' great work.

Thank you for reporting! I've added version constraints in v0.0.5, and we will support TF 2.16 and above as a first step of moving to Keras 3 #40
By using Keras 3, we will aim to support TF, PyTorch, and Jax.

Thanks for your nice work. Today, I find a bug in SliceAndShuffle, please see it at https://github.com/AlexanderVNikitin/tsgm/pull/43.
TSGM really helps me a lot in my project, thanks again.


[Feature][worker]Worker fault tolerance process could be config to disable

Search before asking

[X] I had searched in the issues and found no similar feature requirement.

Description
I'm using dolphin 2.0.6,  when one worker node was down, the task running on it will be fault tolerance to other worker node，some scenario this is not good , for example, the task is spark-submit on yarn cluster mode , the worker node crash, but the spark task also running on yarn cluster . at this time fault tolerance process will run another spark task.
Use case
No response
Related issues
No response
Are you willing to submit a PR?

[ ] Yes I am willing to submit a PR!

Code of Conduct

[X] I agree to follow this project's Code of Conduct

+1, i think this is a good idea

but there is a controversial point. If task failed, but did not start any process, still no need failover？

but there is a controversial point. If task failed, but did not start any process, still no need failover？

can master node know the task runned on the crashed worker node start any process or not?

but there is a controversial point. If task failed, but did not start any process, still no need failover？

can master node know the task runned on the crashed worker node start any process or not?

May need to add a TaskExecutionStatus.Process_Running status in TaskInstance entity.


feat: allow wildcards in captions of files marked for report inclusion

This tries to address #235, by parsing wildcards in the caption= argument of report() calls on files that should be included in the report.
Note: In this first commit, the test has to fail, as I have not yet updated the expected_output.
QC

[ ] The PR contains a test case for the changes or the changes are already covered by an existing test case.
[ ] The documentation (docs/) is updated to reflect the changes or this is not necessary (e.g. if the change does neither modify the language nor the behavior or functionalities of Snakemake).

Summary by CodeRabbit

New Features

Enhanced report caption processing for dynamic and context-relevant strings.
Improved workflow flexibility with the addition of a new input file (fig2.svg) and dynamic output file naming using placeholders.

Bug Fixes

Updated labels and output specifications in workflow rules for better metadata management and adaptability.

Also, this code is far from working. It seems like I do not yet understand how the pieces for wildcard expansion come together...

OK, I tried understanding the respective code from multiple different angles, and I give up. Can't sink more time into this.


Provide CSN models and weights

Similar to https://github.com/moabitcoin/ig65m-pytorch/issues/8: provide CSN models and weights.

https://github.com/bjuncek/VMZ
hope it will be merged to VMZ at some point soon


Feature/infrastructure tab map zoom

What's new
Partially addresses #503
Zooming in when Doors, Lift and workcell Cells and table rows are selected.
https://user-images.githubusercontent.com/29136440/139999305-f2079600-d396-4640-b77d-721928afff04.mp4
Self-checks

[ ] I have prototyped this new feature (if necessary) on Figma
[x] I'm familiar with and follow this Typescript guideline
[ ] I added unit-tests for new components
[ ] I tried testing edge cases
[ ] I tested the behavior of the components that interact with the backend, with an e2e test

Discussion

ps just a note that the video is corrupted. cant play anything ): can try with .mov! I had the same problem with .mp4


Question: .NET 6 support and Fullstackhero clarification

Hi,
Firstly I would like to say what a great job you have done with this template, well done.
I have a couple of questions:

I did see that .NET 6 was on the roadmap and was wondering what time frame you had in mind for the .NET 6 version.
One of the main reasons is to get the full hot reload functionality which will make developing a little better.

I noticed that you are also working on Fullstackhero (with Blazor WASM Boilerplate project), will this overlap with this project? I see a few similarities and was wondering how they will relate or what makes them different?

Thanks for your time and effort

Hi. I had similar Q. See https://github.com/fullstackhero/dotnet-webapi-boilerplate/discussions/41 if it helps.

Awesome thanks, I didn't see that question but it pretty much explains it thank you


Deleted products on Stripe still showing up

Awesome template - it's amazing how quickly one can build these days.
Question: how do you delete products after they've been removed from Stripe? I removed a couple test products I had, but they're still showing up.
Does one delete them from the DB manually? Something else?
Thanks!

Update: manually deleting them from Supabase (pricing & products) does the trick.
Should this be done via webhook?

The webhook appears to error on delete :(

@togume The current implementation of the webhook in app/webhook/route.ts does not support the product.deleted event that is sent by Stripe. With the way this project is currently implemented the only way to delete Stipe product is to manually delete them from the Supabase DB. Adding support for more Stripe events would be great!

Opened a PR to fix this issue:
https://github.com/vercel/nextjs-subscription-payments/pull/271

https://github.com/vercel/nextjs-subscription-payments/pull/278

I'm still seeing this issue. Anyone else?

Never mind it was a env var issue


[Release workflow] Use automatically generated GITHUB_TOKEN

The steps work in this repo only and don't trigger any other workflow; the PR which triggers the Create GitHub release is merged by a user.
The peter-evans/create-pull-request token input defaults to GITHUB_TOKEN.

Will update after packit/prepare-release#8 is merged.

p-s service tests are currently broken, merging manually


BUG:sorting not working

Is there an existing issue for this?

[X] I have searched the existing issues

What happened?
The sorting features are not working according to various sorting techniques.

Record

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

Please Assign me this issue underGSSOC'24


Implement Schema#OBJECT prototype

Fixes #9698
Relates to  #9844
Motivation
Currently Schema#AUTO_CONSUME works only with GenericRecord, and makes it very difficult for users to deal with both Data Structures and primitive types because you have to know the type of data you are going to handle while creating the consumer or a Pulsar IO Sink.
This change introduces a Schema.OBJECT() (ObjectSchema.java) that is like Schema.AUTO_CONSUME but it is able to deal with GenericRecord, primitive types like Strings and KeyValue.
In order to make KeyValue work I would have to fix the lookup of Schema in case of KeyValue schema, but this is out of the scope of this patch.
This is the branch in which I fixed KeyValue support https://github.com/apache/pulsar/pull/9896
Currently this Patch does not change Pulsar IO, but once we agree on this way it will be straightforward to implement support for Sink
Modifications
Add a new Schema.OBJECT() implementation, very like to Schema.AUTO_CONSUME()
Verifying this change
Adding only minimal unit tests, I will add more tests once we agree on the direction.
Tests cover:

GenericRecord
Strings
see #9896 for tests on KeyValue

@codelipenghui @sijie @rdhabalia @merlimat
what do you think about this approach ?
if it makes sense I will add more tests and complete the PR

/pulsarbot rerun-failure-checks

@srkukarni can you please take a look ?

@merlimat if this patch is on the right way I will move forward with adding tests.
I would also to create a prototype about running Pulsar IO Sink<Object> based on this work an on #9896

We added Object getNativeRecord() in the GenericRecord, is it better to reuse this method to support primitive types? Looks like
if (record.getSchemaType() == SchemaType.STRING) {
   String value = (String) record.getNativeRecord();
}

@codelipenghui
You are suggesting to use GenericRecord as an interface that represents and kind of data structure.
Indeed I thought a lot about your same idea! But in the end I believe it does not fit well.
GenericRecord itself is a general purpose keyvalue dictionary, and using it to represent primitive types, arrays, KeyValue objects... is not intuitive and it will also require lots of plumbing and adapters
I believe that having a Schema that returns Object is really want you expect when you are dealing with generic code.

GenericRecord itself is a general purpose keyvalue dictionary, and using it to represent primitive types, arrays, KeyValue objects... is not intuitive and it will also require lots of plumbing and adapters

Yes, Looks a little weird. But with this approach, we don't need to introduce a new schema which is very similar to AUTO_CONSUME schema. This makes it difficult for users to decide whether to use AUTO_CONSUME schema or OBJECT schema. And use OBJECT schema also can achieve AUTO_CONSUME. From the perspective of schema API, we really need to consider it carefully.
The AUTO_CONSUME schema wants to deal with consuming any messages from the topic. The data of the topic can be the struct data and primary data. So, the AUTO_CONSUME schema should able to deal with the primary schema. The problem is we are returning the GenericRecord which looks more like better dealing with structured data, not primary data. So the essential problem is the definition of the GenericRecord, not the AUTO_CONSUME schema.
In my opinion, the OBJECT schema will bring more complexity to the Pulsar Schema, 2 schema types want to deal with the same problem. The GenericRecord maybe not a good name, If we have to make trade-offs, I prefer the GenericRecord approach. Take a step back, why GenericRecord can't deal with the primary types?

@codelipenghui
if you see this feature from a "new user"'s point of view, you will find this:
Consumer<Object> consumer = pulsarClient.newConsumer(Schema.OBJECT())
                .subscriptionName("test")
                .topic(topic)
                .subscribe();
        Message<Object> message = consumer.receive();
        Object value = message.getValue();

that is really cool ! and it is self-explaining.

why GenericRecord can't deal with the primary types?

Problems with GenericRecord approach:

we are adding a new wrapper object, and this is a waste of resources
A Record is a structure with "fields", but primitive types, lists and also KeyValue does not have "fields"
it is not intuitive that a String is a GenericRecord without "fields"

In my opinion, the OBJECT schema will bring more complexity to the Pulsar Schema, 2 schema types want to deal with the same problem.

I believe that AUTO_CONSUME will still stay for the case that you know that you are dealing with Structures like AVRO, JSON, Protobuf, but if you want to write "generic" code, at least in Java, you really would like to use "Object" and not a custom Pulsar interface.
So for new users I imagine that their eyes will fall into "Object" as first chance, and they will discover "AUTO_CONSUME" only if they are interested in dealing directly with GenericRecord
In Avro itself you cannot map a primitive value or an array type to GenericRecord, see:
https://avro.apache.org/docs/current/api/java/org/apache/avro/generic/GenericRecord.html
If we really want a generic container I would add a new interface, like GenericObject o ObjectWithSchema
interface ObjectWithSchema {
    Object asObject();
    Schema getSchema();
}

By the way we cannot retrofit AUTO_CONSUME to Schema as it is not a compatible change.
As we need to add a new "name" to the API (Schema.XXXX) let be this new name "OBJECT", that is very simple for Java users to understand

/pulsarbot rerun-failure-checks

/pulsarbot rerun-failure-checks

/pulsarbot rerun-failure-checks

Why not return a PrimitiveRecord that implements a GenericRecord interface?
getSchemaType will give you the right schema type and getNativeRecord will give you the right underlying object. So a lot of logic that already deal with AUTO_SCHEMA would almost just work. We don't need to worry about there is another AUTO_CONSUME.

@sijie
I strongly believe that Object is the best choice for the long term:

Consumer and Sink is simpler for Java users
If we go down the wrapper way we should find another name, 'Record' is a type of data structure, IMHO a String does not fit the word "Record", the same for Array...(Avro itself does not wrap primitive types with GenericContainer, we can follow their model)
PrimitiveRecord wrapper  won't match current behaviour of GenericRecord regarding nested structs (see below)

for 3): When you call "getField" on that GenericRecord for a String field now you receive a java.lang.String for a String and a GenericRecord for a Struct.
In this new model for a String field you should still return a PrimitiveRecord that wraps the String in order to be consistent, but it will be an important and unexpected behaviour change.
So all in all I believe that we should stick to Object type and not to a wrapper.
On Pulsar IO you already have the schema (Record#getSchema) and in the client API you can still lookup the schema using the Schema Version.

getField will return an empty list. schemaType gives the schema type. GenericRecord is just a container to hold either a primitive value or a struct. My main point here is to avoid introducing duplicated code between #AUTO_SCHEMA and #OBJECT. They share a lot of similarities. I want to add duplicated checking logic overall the place.

@sijie did you see the latest version of this patch here?
I have refactored the initial patch, now there is no code duplication and we have AbstractAutoConsumeSchema instead of AutoConsumeSchema.
In all of the points we checked for AutoConsumeSchema now we check for AbstractAutoConsumeSchema.
IMHO your concern has been addressed this way

The concerns will still be around AUTO_SCHEMA vs OBJECT. It will cause confusion. IMO, we should just have one schema type that is used to automatically get the "object" based on the schema type. You should think about GenericRecord as a wrapper over the "object" with schema information. A java object doesn't give you such schema type. Also "record" doesn't necessarily mean "struct", i.e In a log system a log record is a bag of bytes.

@codelipenghui @sijie I have added support for PrimitiveRecord on top of this patch in this PR
#9956

Having a Schema of Object type does not make sense to me.  The point of a schema is to provide boundaries on what the structure of the data can be.  However, having a schema that supports a generic POJO that can have any structure seems paradoxical to me. What is the difference between this and just not having a schema at all?

@jerrypeng the point here is about having a way to build general purpose Consumers and especially Sinks (I will send a follow up patch for Pulsar IO once we decide the right way for this feature) without knowing at compile time the schema.
So this is not about not using a Schema, but the point is to be able to consume all of the Schemas automatically.
If I do not set a schema, I can only see a byte[], and I lose all of the information about the type of data.
We already have Schema.AUTO_CONSUME() and downloads automatically the schema and decodes the payload to a higher level model.
This patch is only about extending AUTO_CONSUME() in order to deal with primitive types and with KeyValue (and ProtobufNative, but this is another story).
Unfortunately we cannot change the signature of AUTO_CONSUME from Schema to Schema, so I am adding a new static method Schema.OBJECT().
I am putting up a Google Doc in order to illustrate all of the aspects of the problem I want to solve and which are the alternatives

The problem seems to be with getSchema()  in Record and the subsequent  getSchema() on the actual pulsar message.  For consumer declared like Consumer<byte[]>, getSchema() calls on messages the consumer returns will always be SCHEMA.BYTES, regardless of what the actual schema the message was produced with.   The schema of message is overridden when byte[] is specified as the schema for the consumer. This seems like a bug to me. Perhaps @sijie  can also chime in on why the behavior is such.
If messages returned by a Consumer<byte[]> had the right schema, i.e. the schema of the topic / schema the message was produced with, then your problem is solved right @eolivelli ?

@jerrypeng  @merlimat  this is the GDoc that explains the approach
https://docs.google.com/document/d/117gr6hG3N46MlkqENRKRtLejb_e_K0cZagQZv3jbwvQ/edit#
it also contains the PrimitiveRecord approach from @sijie

@sijie @jerrypeng @merlimat @rdhabalia I hope that the GDoc is clarifying my usercases and why this patch is so important to me and to my users.
I hope we can move forward soon.
I will send out the Patch about PulsarSink after this preliminary work.

/pulsarbot run-failure-checks

closed in favour of https://github.com/apache/pulsar/pull/10057


[Stretch] Investigate how to prevent component initialisation based on a condition

What
Investigate how to prevent component initialisation based on a condition, like Analytics needing users to have accepted cookies on the Design System site.
Why
This would offer a consistent way to initialise components that require a little check before actually being initialised, without having to actually instantiate them.
Who needs to work on this
Developers
Who needs to review this
Developers
Done when

[ ] We've designed the feature
[ ] We've implemented the feature
[ ] We've documented the feature

This would provide a clear point for checking the presence of specific APIs, like in the Copy component of the Design System.

Having a separate method to check if specific APIs are supported overlaps a lot with isSupported, made @protected in #5323. We've decided to merge the two approaches and make checkSupport static and protected, which will allow it to:

be called by createAll ahead of looping on all components, saving unnecessary looping
be overridden by child classes if a component or components have other conditions to check, like the availability of an API.

Child classes overriding the method will be able to throw whatever Error they see fit when support is not available for the component, which:

reduces the logistics the base class needs to be responsible for
allows child classes to send a custom message
will fit into createAll's way of catching these errors during initialisation
makes use of JavaScript's native capabilities for throwing errors rather than returning a boolean, then having the base class throw an error.


fix: node 14+ changes how multiple destroy() calls work

Also, this relied on node <14 behaviour, so there were weird conflicts with the standard stream library. There was also some cruft from Node <8 support that needs to go away with the implementation being normalized.

@feywind I hacked a little bit in your branch to make the CI pass here. It indeed fixes the tests, thank you!


Add SSFangTangTi for better Chinese characters rendering

The original font YurukaStd has poor Chinese characters support. I added a Chinese font Shangshou Fangtang Ti (上首方糖体 in Chinese, SSFangTangTi in font family name) to achieve better Chinese characters rendering.
The official description of this font can be found here:http://www.ssfonts.com/shows/9/43.html

I don't know much about Chinese, i tested random characters and found that YurukaStd is working fine, I tested the font you added and there's some characters that doesn't work, if you are sure that this font is better for Chinese, let me know and I'll merge it with small regex check to detect when the input is in Chinese.

I don't know much about Chinese, i tested random characters and found that YurukaStd is working fine, I tested the font you added and there's some characters that doesn't work, if you are sure that this font is better for Chinese, let me know and I'll merge it with small regex check to detect when the input is in Chinese.

First, the SSFangTangTi is definitely better able to display Chinese characters.
But adding check for Chinese characters isn't a good idea. There are some info that I hope you could understand, otherwise this may break the existing good experience for Japanese users.
TLDR: There's no way to distinguish between Chinese, Japanese and Korean accurately.
Chinese, Japanese and Korean characters, as well as CJK characters, actually have shared some characters, and that's why some Chinese characters display fine in Japanese font.
But there are still many differences between Chinese and Japanese characters. For example, a common Chinese character 嘻 (laugh) doesn't exist in Japanese, so this character will fallback to default font if only defined a Japanese font, YurukaStd for example.
The Chinese character in the above image is an ancient Chinese character. Modern Chinese fonts don't have these ancient characters, and there's no need to consider them.
All in all, I suggest you'd better not to distinguish CJK characters, but just let our clever browsers to handle this situation.

I guess I understand now, thanks for the explanation.


Add a Flipside button

Prerequisites

[X] I am an Open Source Contributor
[X] I checked to make sure that this issue has not already been filed

Description
Adding a new button. plz assign it me to underswoc'24
Screenshots
No response
Code of Conduct

[X] I follow Contributing Guidelines of this project.

Which button you want to add? Name/type of that @GhoshAditi

Flipside button

Flipside button @Rakesh9100

Okay, go ahead @GhoshAditi


Update server.py

Please mention your reason for this pull request

Apologies, pulled it by mistake. I found your video on how to create a chat app using python on YouTube and wanted to have a look at the source code.


Avoid breaking on empty begin nodes within conditionals

I stumbled upon an error:
NoMethodError: undefined method `type' for nil:NilClass
lib/unparser/node_helpers.rb:31:in `n?'
lib/unparser/node_helpers.rb:66:in `block (2 levels) in <module:NodeHelpers>'
lib/unparser/generation.rb:159:in `emit_body_member'
...

Which is produced while unparsing a snippet of code like this:
'true ? "true" : ()'

Unfortunately on the project I'm currently working I can't guarantee/rewrite incoming code snippets, so have to handle.

Markus @mbj may I ask for your input here?

Thanks for the tip, Markus @mbj.
I've changed it to render empty bodies. And also added a line to compare the AST without comments(as the specs were green for the previous variant). Please take a look 🙏🏻

Looks better, still need to run CI over it, but other than that I think this is merge ready.
@prikha What are you using unparser for?

My use case is to mutate Ruby code to insert some instrumentation.

My use case is to mutate Ruby code to insert some instrumentation. And the incoming snippets are out of my control, the only thing I know it is "parseable".

Yeah, this is the exact target domain of unparser, its supposed to handle "any ruby that parses" you found a valid bug.

Ok, can you expand a bit on how do you trigger CI for the PR?

Ok, can you expand a bit on how do you trigger CI for the PR?

probably needs edits to the .github/workflow.yaml file, especially the on: events.
Its hard for me to find any time during the next days I may be able to look into it.

Added a line to trigger CI on PR's, it might require your approval to be run:

Running, ty.

By any chance it would be possible to craft a new release version containing that fix?
@mbj

@prikha yes, will do so this week.

@mbj kind reminder

heh sorry, will get to it this week.

@prikha I've released version 0.6.12. Cheers.


"No provider for Client!"

I was trying to make the example "toh-6" working with "real" back-end, so I commented out the first main() in main.dart, uncommented the second one, but couldn't make it work (ofc I have written http services). In the browser in console window there was a message "No provider for Client!", so I just changed
provide(BrowserClient, useFactory: () => new BrowserClient(), deps: [])
to
provide(Client, useFactory: () => new BrowserClient(), deps: [])
and it works now, so maybe it's just a simple bug?

@ptrwis, thank you for the feedback. That is the proper fix; I'll make the necessary updates soon.
As indicated in the README, can you please re-open this issue at angular/angular.io and then close this one? This repo is essentially just a read-only mirror.
cc @kwalrath

Re-opened here https://github.com/angular/angular.io/issues/2055


Enable passing the reportedUuid from cattle

PR for enabling JWT-auth by sending the reportedUuid

Updated the PR as per the comments. Drone is failing on test_docker_volume, need to check that.

Rebased Cattle and drone passes. @ibuildthecloud !


error while generating images

zhoutao@zhoutao:~/project/text-to-image-master$ python generate_images.py --model_path=Data/Models/latest_model_flowers_temp.ckpt --n_images=8
Traceback (most recent call last):
File "generate_images.py", line 106, in
main()
File "generate_images.py", line 64, in main
_, _, _, _, _ = gan.build_model()
File "/home/zhoutao/project/text-to-image-master/model.py", line 40, in build_model
disc_wrong_image, disc_wrong_image_logits   = self.discriminator(t_wrong_image, t_real_caption, reuse = True)
File "/home/zhoutao/project/text-to-image-master/model.py", line 158, in discriminator
h0 = ops.lrelu(ops.conv2d(image, self.options['df_dim'], name = 'd_h0_conv')) #32
File "/home/zhoutao/project/text-to-image-master/Utils/ops.py", line 76, in conv2d
initializer=tf.truncated_normal_initializer(stddev=stddev))
File "/home/zhoutao/anaconda2/lib/python2.7/site-packages/tensorflow/python/ops/variable_scope.py", line 1054, in get_variable
use_resource=use_resource, custom_getter=custom_getter)
File "/home/zhoutao/anaconda2/lib/python2.7/site-packages/tensorflow/python/ops/variable_scope.py", line 951, in get_variable
use_resource=use_resource, custom_getter=custom_getter)
File "/home/zhoutao/anaconda2/lib/python2.7/site-packages/tensorflow/python/ops/variable_scope.py", line 356, in get_variable
validate_shape=validate_shape, use_resource=use_resource)
File "/home/zhoutao/anaconda2/lib/python2.7/site-packages/tensorflow/python/ops/variable_scope.py", line 341, in _true_getter
use_resource=use_resource)
File "/home/zhoutao/anaconda2/lib/python2.7/site-packages/tensorflow/python/ops/variable_scope.py", line 653, in _get_single_variable
name, "".join(traceback.format_list(tb))))
ValueError: Variable d_h0_conv/w already exists, disallowed. Did you mean to set reuse=True in VarScope? Originally defined at:
File "/home/zhoutao/project/text-to-image-master/Utils/ops.py", line 76, in conv2d
initializer=tf.truncated_normal_initializer(stddev=stddev))
File "/home/zhoutao/project/text-to-image-master/model.py", line 158, in discriminator
h0 = ops.lrelu(ops.conv2d(image, self.options['df_dim'], name = 'd_h0_conv')) #32
File "/home/zhoutao/project/text-to-image-master/model.py", line 39, in build_model
disc_real_image, disc_real_image_logits   = self.discriminator(t_real_image, t_real_caption)
I get this error,and my  tf.version
'1.1.0-rc2'
can you help me?

I sovled this quesition Ths

@zhoutao201601 I am facing the exact same problem how to solve it?

@paarthneekhara  Can you help us ? All of us are facing the same problem. Using Python 3.7


dart2wasm fails inside sync* functions with a switch statement

Using: Dart SDK version: 3.4.1 (stable) (Tue May 21 15:46:25 2024 +0000) on "macos_arm64"
Having a sync* function with a switch in it causes dart2wasm to fail:
Not implemented: switch in sync* at <file location>'
Changing the switch to a series of if/else avoids this issue.
Simple repro:
Iterable<int> test(int n) sync* {
  switch (n) {
    case 0:
    case 1:
      yield n;
  }
}

void main() {
  test(0);
}

flutter build web --wasm
Gives:
Not implemented: switch in sync* at file:////main.dart:9:3

I believe this is a known missing feature: #51342

This has since been implemented. I believe this has also rolled up to flutter/flutter main channel.
The changes are somewhat big and sync* is a infrequently used feature, so I'm slightly hestitant whether we should cherry pick it. But if the changes cherry-pick cleanly without merge conflicts, I'd be inclined to pick them.
@osa1 Could you see if they cherry-pick cleanly on the stable branch? If so, follow https://github.com/dart-lang/sdk/blob/main/docs/Cherry-picks-to-a-release-channel.md to file a CP request.

@mkustermann we can't cherry pick just the sync* features, we need to cherry pick 8ccb41284ae2e1063fa9137b6225314284aa45d7 and maybe 350954ae9d26ae7b8055df0e18ee2e6875aede8d as well.

@mkustermann we can't cherry pick just the sync* features, we need to cherry pick https://github.com/dart-lang/sdk/commit/8ccb41284ae2e1063fa9137b6225314284aa45d7 and maybe https://github.com/dart-lang/sdk/commit/350954ae9d26ae7b8055df0e18ee2e6875aede8d as well.

Yes. If all 3 on top of each other merge without conflicts, we may consider picking it.

Appreciate the activity/urgency!
I'm happy to wait for stable. It switch to master to test the feature; rather than cause trouble with an out of band release/cherry pick

@mkustermann PTAL: https://github.com/dart-lang/sdk/issues/55847


Update windshaft configuration files for CI

Related issue: https://github.com/CartoDB/carto-vl/issues/1411

I've managed to fix the docker images generation, but I'm still having problems in circle ci. There's something I'm not configuring properly when setting up the database:

Basically, I'm getting:
{"mainError":{"statusCode":500,"message":"cannot connect to the database"...

https://circleci.com/gh/CartoDB/carto-vl/22317
It'd be great to get some help! :) @Algunenano @dgaubert

{"mainError":{"statusCode":500,"message":"cannot connect to the database"...

This looks like the port configured in the setup (https://github.com/CartoDB/carto-vl/blob/12a4c371c491eeeffab3e74548b026125ec9f3b4/test/acceptance/docker/config/environments/test.js#L95) and the one in Docker might not match. If you have access to the docker machine, can you check what port is the database running? In debian, you can use pg_lsclusters to see all active databases and their ports.
I guess that this updates also bring a PG11 update to the image, as it's called test-e2e-pg10 and I see:
 * Starting PostgreSQL 11 database server

So it's likely that PG10 has the port 5432 assigned, and PG11 uses the following one (5433)

I can see these errors in the postgres logs
2019-11-15 14:34:52.216 UTC [873] test_windshaft_cartodb_user_1@test_windshaft_cartodb_user_1_db FATAL:  role "test_windshaft_cartodb_user_1" does not exist

I'm going to take a look who and when creates that user in postgres and why it's not being created.

I fixed some things and now I have a different error:
Failed to load resource: the server responded with a status of 403 (Forbidden)
[Error: CartoMapsAPIError: [Security] Unauthorized access to dataset: the provided apiKey('1234') doesn't provide access to the requested data
    at WindshaftRequestHelper._dealWithWindshaftErrors (http://localhost:5000/dist/carto-vl.js:15327:19)
    at WindshaftRequestHelper.getLayerGroup (http://localhost:5000/dist/carto-vl.js:15304:18)]

I've checked the requests to the Maps API are being done with the localhost user and api_key 1234. The API key exists in Redis and the database_role has grants over the tables requested... so I don't know what's happening.
Any clue of what I could investigate?

I made the Docker container to work locally, but it's still failing in CI with this error:
Error: TimeoutError: waiting for function failed: timeout 30000ms exceeded

Not sure where that timeout comes from, but could try to increase it somehow 🤷♂

Forgot to push the changes in the Docker images to dockerhub...

but it seems we have 💚 back! \0/

I've added a section explaining how to build the docker images https://github.com/CartoDB/carto-vl/pull/1403/commits/d64cf021b895c68052f8fbd7ec71d6f4792b5aa1
Please, let me know if you think this is ok and this will be ready to merge 🚀 cc @alrocar


Feat: search bar improved

Description
Search bar improved: alignment option added, search settings changed from icons to checkboxes with titles, search happens on the fly, other minor improvements.
Checklist

[x] I read the Contributor Guide and followed the process outlined there for submitting PRs.
[x] I titled the PR using Conventional Commits.
[x] I did not modify the CHANGELOG.md nor the package version in pubspec.yaml files.
[x] All existing and new tests are passing.
[ ] I have run the commands in ./scripts/before_push.sh and it all passed successfully

Breaking Change
Does your PR require developers to manually update their apps to accommodate your change?

[ ] Yes, this is a breaking change (please indicate that with a ! in the title as explained in Conventional Commits).
[x] No, this is not a breaking change.

Thank you for your contributions

"Search" button is removed since search is now on-the-fly (i.e. when the user enters text).

This might be considered as breaking change by some developers. It doesn't require additional changes to work but changes the behavior
Can we add an option to change the behavior? Also, for large documents, this can be more resources

I added searchBarAlignment parameter into search button options. It's just responsible for the search dialog alignment (previously the search dialog was always at the bottom thus overlapping the editor if the toolbar is on the top). Please double-check if you're fine with how this parameter is set in the code.

I'm okay in either case

If you could help with the translation ('Case sensitive and whole word' is now split into 'Case sensitive' and 'Whole word' separately, also 'Close' and 'Search settings' tooltips added.), it would be perfect.

I'm not near my main machine, I will back soon to review, test the changes and the translations
Thank you once again.

I think we just need to bump major version.
It is ok to have breaking change that changes behavior

I mean there is no need to have an option to go back to old behavior which is tedious to maintain and readability is bad.

('Case sensitive and whole word' is now split into 'Case sensitive' and 'Whole word' separately, also 'Close' and 'Search settings' tooltips added.), it would be perfect.

Added in 592da6c7438b995bfeb7231f66dfd834bda546b3 commit, pull the changes from the upstream master branch to your branch so you can start using the new translations, notice I only added the keys and used the script to update untranslated.json to help developers translate them to their languages more easily, maybe we should use some tool or script to help automating the translations as a default values as the translations we have are pretty simple and can be automated, this is not directly related to the PR

Adding an option to have a delay seems a good idea,
While I prefer the new widget,
I still suggest adding an option for different styles or widget implementation. An enum class with two options will do. If the logic is too different, then we could create another widget in the same folder for the old widget (before this PR) that has the bussniues logic, UI logic, and logic in general, the if check should be in the simple toolbar widget to minimize the conditional checks when using custom toolbar or using the components outside of the toolbar

If you would like to do it yourself
or leave it to me
make a breaking change

I suggest any of the first two instead of the third
the choice is up to you.

I tried to combine these two widgets but the logic is different in several places of the code, so that the whole widget becomes looking overcomplicated.

I agree with you, it's better to not combine the two in the same widget to avoid too many conditional checks and other issues like we both mentioned above.
What I suggested is that we use the old widget (before merging this PR), refactor the name to something else, or to avoid breaking changes, we could separate this new widget with a different name that's descriptive and clear and use that as a default in QuillSimpleToolbar which is what I suggest.
In short, I suggest to not change the current search bar/button widget (revert the changes) and instead introduce a new one and use it as default in the Toolbar.

Could you please make a try?

Sure, will see your response on this first.

@Alspb any update?

@ellet0 do you think we can go ahead merging this change and follow up with additional changes as needed?

@ellet0 do you think we can go ahead merging this change and follow up with additional changes as needed?

Yes, I will restore the old widget with a different name and make some changes that fit the rest of the options, configurations, and customization in other widgets as soon as I can.
An enum class will be used to change the widget to the new one in the QuillSimpleToolbar
Might make the old widget as default to avoid breaking behavior or the new one to simplify the development and configurations for new developers.
Developers who use a custom toolbar will have to use either the old or new widget to avoid conditional checks.
Or we could publish a new version directly with this new widget is as.

Sounds good. I will go ahead merging this PR and you can patch it with changes later.

hmm, not sure why CI failed on this commit

hmm, not sure why CI failed on this commit

I tried running the workflow again, and it succeeded<PHONE_NUMBER>5
I'm not sure why it didn't show any details previously. The actions and steps or where it's failing.


Add "test" as a possible request type of debugging configuration

The tooltip below should have "Can be "launch", "attach" or "test"".

I was going to send a PR myself but I didn't find where in the code to add this 🤷♀ I'm sure CI is grateful for that though 😉

This is actually coming from vscode: https://github.com/microsoft/vscode/blob/master/src/vs/workbench/contrib/debug/common/debugger.ts
Since "test" is a valid option for only a few extensions, let's leave it like this. This configuration can be found in our documentation.


Add Jacoco to pom and Jenkinsfile

@olamy
Karl and I did some testing tweaks to the pom and Jenkinsfile.

Hm looks like jacoco is available from plugin-pom
https://github.com/jenkinsci/plugin-pom/blob/9dc6ea15bcd97151bdc3831ca1c1958cb6e8aa91/pom.xml#L1099-L1128

Hm looks like jacoco is available from plugin-pom
https://github.com/jenkinsci/plugin-pom/blob/9dc6ea15bcd97151bdc3831ca1c1958cb6e8aa91/pom.xml#L1099-L1128

Good find. Can we still override / add to those settings?

thanks! pr integrated in branch add-jacoco-merged.
still working on improving coverage percentage (at least not failing the build :) )


Submit button is "disabled" but still "clickable" when the form is not valide

In the function toggleSubmit:
this.$btn.toggleClass('disabled', this.isIncomplete() || this.hasErrors())
In bootstrap, "disabled" is an attribute (property) of the button object. It's not only a CSS class.
In order to prevent the button to be clickable the code should be :
if(this.isIncomplete() || this.hasErrors()){
   this.$btn.prop('disabled',true);
}else{
    this.$btn.prop('disabled',false);
}

The submit event is .preventDefault()ed so the submit should still get blocked.

Hello,
Ok. However, if it is intentional you should'nt toggle the "disabled" class at all or toggle the "disabled" attribute which is the right way to disable the Button control with bootstrap.
Concerning the .preventDefault(), if bootstrap-validator is used with ReactJS (which is my case), it won't work. Actually ReactJS handle the "onSubmit" SyntheticEvent first. So the .preventDefault() in your code will not prevent the event to be handled.

It's by design. If the button was actually disabled (via attribute or property), clicking it wouldn't do anything.
I don't think this plugin will play very well with React since it's storing a bunch of state in DOM nodes via jQuery's data API.

Ok. This is the way I use it in my code:

the submit button is disabled until all the required fields are validated. By disable I mean the CSS class is applied and the click event is disabled.
then the button, by you toggleSubmit() function, is enabled
the user can click on it and submit the form

And you are right for the cohabitation of ReactJS and jQuery. However it's working if the 'validator' is initialized after the "form" is rendered. I use the componentDidMount() method of my component to do this.