Fixed regression on Hoverable blur event

Details
Fixed regression on Hoverable blur event
Fixed Issues
$ https://github.com/Expensify/App/issues/14080
PROPOSAL: https://github.com/Expensify/App/issues/14080#issuecomment-1379061838)
(will edit once the new issue is created: https://expensify.slack.com/archives/C049HHMV9SM/p1674546335549909)
Tests

Open context menu for any message item
Choose edit comment
Click cancel or save changes
Verify that the message item is not hovered
Open an attachment (modal) in chat
Close the modal
Verify that the message item of that attachment is not hovered
Open context menu
Click on the copy to clipbaord icon
While the tooltip is still visible, click on the edit message icon
Verify that you can edit the message

[ ] Verify that no errors appear in the JS console

Offline tests
n/a
QA Steps

Open context menu for any message item
Choose edit comment
Click cancel or save changes
Verify that the message item is not hovered
Open an attachment (modal) in chat
Close the modal
Verify that the message item of that attachment is not hovered
Open context menu
Click on the copy to clipbaord icon
While the tooltip is still visible, click on the edit message icon
Verify that you can edit the message

[ ] Verify that no errors appear in the JS console

PR Author Checklist

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

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

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

[X] Android / native
[X] Android / Chrome
[X] iOS / native
[X] iOS / Safari
[X] MacOS / Chrome / Safari
[X] MacOS / Desktop

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

[X] I verified that any callback methods that were added or modified are named for what the method does and never what callback they handle (i.e. toggleReport and not onIconClick)
[X] I verified that comments were added to code that is not self explanatory
[X] I verified that any new or modified comments were clear, correct English, and explained "why" the code was doing something instead of only explaining "what" the code was doing.
[X] I verified any copy / text shown in the product is localized by adding it to src/languages/* files and using the translation method

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

[X] I verified all numbers, amounts, dates and phone numbers shown in the product are using the localization methods
[X] I verified any copy / text that was added to the app is correct English and approved by marketing by adding the Waiting for Copy label for a copy review on the original GH to get the correct copy.
[X] I verified proper file naming conventions were followed for any new files or renamed files. All non-platform specific files are named after what they export and are not named "index.js". All platform-specific files are named for the platform the code supports as outlined in the README.
[X] I verified the JSDocs style guidelines (in STYLE.md) were followed

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

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

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

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

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

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

[X] If the PR modifies a generic component, I tested and verified that those changes do not break usages of that component in the rest of the App (i.e. if a shared library or component like Avatar is modified, I verified that Avatar is working as expected in all cases)
[X] If the PR modifies a component related to any of the existing Storybook stories, I tested and verified all stories for that component are still working as expected.
[X] If a new page is added, I verified it's using the ScrollView component to make it scrollable when more elements are added to the page.
[X] I have checked off every checkbox in the PR author checklist, including those that don't apply to this PR.

Screenshots/Videos

Web
https://user-images.githubusercontent.com/16493223/214252395-472d3da8-f8b6-4d35-9e75-36c04d120c11.mp4

Mobile Web - Chrome
https://user-images.githubusercontent.com/16493223/214252417-685494f0-4981-4395-a27b-d0bf089d8392.mp4

Mobile Web - Safari
https://user-images.githubusercontent.com/16493223/214252518-1f1cd2ef-c6db-4077-a320-45fd2d54eead.mp4

Desktop
https://user-images.githubusercontent.com/16493223/214252540-7537d0c8-474b-4adf-8ee8-ab13b61e3d8e.mp4

iOS
https://user-images.githubusercontent.com/16493223/214252639-5fe78f11-62d1-46b1-94a0-073e7d9ca95d.mp4

Android
https://user-images.githubusercontent.com/16493223/214252666-e3b87354-09fe-479d-987e-198dc6168624.mp4

Reviewer Checklist

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

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

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

[x] Android / native
[x] Android / Chrome
[x] iOS / native
[x] iOS / Safari
[x] MacOS / Chrome / Safari
[x] MacOS / Desktop

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

[x] I verified that any callback methods that were added or modified are named for what the method does and never what callback they handle (i.e. toggleReport and not onIconClick).
[x] I verified that comments were added to code that is not self explanatory
[x] I verified that any new or modified comments were clear, correct English, and explained "why" the code was doing something instead of only explaining "what" the code was doing.
[x] I verified any copy / text shown in the product is localized by adding it to src/languages/* files and using the translation method
[x] I verified all numbers, amounts, dates and phone numbers shown in the product are using the localization methods
[x] I verified any copy / text that was added to the app is correct English and approved by marketing by adding the Waiting for Copy label for a copy review on the original GH to get the correct copy.
[x] I verified proper file naming conventions were followed for any new files or renamed files. All non-platform specific files are named after what they export and are not named "index.js". All platform-specific files are named for the platform the code supports as outlined in the README.
[x] I verified the JSDocs style guidelines (in STYLE.md) were followed

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

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

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

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

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

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

[x] If the PR modifies a generic component, I tested and verified that those changes do not break usages of that component in the rest of the App (i.e. if a shared library or component like Avatar is modified, I verified that Avatar is working as expected in all cases)
[x] If the PR modifies a component related to any of the existing Storybook stories, I tested and verified all stories for that component are still working as expected.
[x] If a new page is added, I verified it's using the ScrollView component to make it scrollable when more elements are added to the page.
[x] I have checked off every checkbox in the PR reviewer checklist, including those that don't apply to this PR.

Screenshots/Videos

Web
https://user-images.githubusercontent.com/3069065/214366060-d0a7b68d-f495-4007-8b14-1abb97eb8e5d.mov

Mobile Web - Chrome
https://user-images.githubusercontent.com/3069065/214366186-335e0136-6468-4108-a754-b86645f6df30.mov

Mobile Web - Safari
https://user-images.githubusercontent.com/3069065/214366224-748aa471-0a66-4f4d-b753-e023ea0440d7.mov

Desktop
https://user-images.githubusercontent.com/3069065/214366256-d908dce7-b556-4ac3-820d-a64636643b42.mov

iOS
https://user-images.githubusercontent.com/3069065/214366334-67cb59e7-f9c4-4011-9ab7-61e997730b36.mov

Android
https://user-images.githubusercontent.com/3069065/214366419-0f49b224-6d40-40d3-94b1-5229e59b5a3a.mov

Thanks for the quick PR @s77rt. @ctkochan22 Can you help with the merging this PR .

:hand: This PR was not deployed to staging yet because QA is ongoing. It will be automatically deployed to staging after the next production release.

🚀 Deployed to staging by https://github.com/ctkochan22 in version: 1.2.59-0 🚀

platform
result

🤖 android 🤖
success ✅

🖥 desktop 🖥
success ✅

🍎 iOS 🍎
success ✅

🕸 web 🕸
success ✅

🚀 Deployed to production by https://github.com/luacmartins in version: 1.2.59-1 🚀

platform
result

🤖 android 🤖
success ✅

🖥 desktop 🖥
success ✅

🍎 iOS 🍎
failure ❌

🕸 web 🕸
success ✅


feat: allow for more than BURSTING mode

By submitting this pull request, I confirm that my contribution is made under the terms of the Apache-2.0 license

for clarification purposes:
we run this container in a production environment with an amount of incoming to-be-scanned files, that we ran out of burst credits within 3 weeks for this particular EFS.
to mitigate this, we manually upgraded the EFS to elastic. we'd love to do that as IAC tho, for the usual reasons.
thus: PR

Thanks for the PR and context 😄

I read through the Amazon EFS Documentation on throughput modes
I think part of this PR should be setting the default mode to Elastic Throughput instead of Bursting Throughput in addition to exposing the performance for people who want to tune it. Elastic seems to meet the use case a lot better since performance does not scale on the size of the file system and would avoid the unexpected situation that you ran into with burst credits.
Do you mind adding that in @scones?

I read through the Amazon EFS Documentation on throughput modes
I think part of this PR should be setting the default mode to Elastic Throughput instead of Bursting Throughput in addition to exposing the performance for people who want to tune it. Elastic seems to meet the use case a lot better since performance does not scale on the size of the file system and would avoid the unexpected situation that you ran into with burst credits.
Do you mind adding that in @scones?

this argument and the whole discussion around it, is a double edged sword.
you run cheaper with bursting up until the point of your limits. once you exceed those, you wil pay excessively more.
on the other hand you pay more for elastic.
i have several conflicting feelings and thoughts on that.

a low end user can run cheaper on the lower end, with the current default settings. and we should be clear, that most people won't read all parameters
a change of defaults usually break existing installations
the company, i work for, has a bigger input stream (as in thousands per day)
architecturally speaking, it'd suggest to rather make it a mandatory field, rather than an optional one. so people have to be informed what the consequences can be either way.

and i guess that exceeds the scope of this patch.


[19.03 backport][Carry 39595] Tailor CI for ARM, skip legacy integration test

backport of https://github.com/moby/moby/pull/39678
carry of https://github.com/moby/moby/pull/39595 Tailor CI for ARM, skip legacy integration test
closes https://github.com/moby/moby/pull/39595 Tailor CI for ARM, skip legacy integration test
fixes https://github.com/moby/moby/issues/39479 Jenkins CI for arm64

- What I did
This PR is trying to make a minimal test set (without legacy integration test cases) for ARM.
Introduce a new environment variable SKIP_LEGACY_INTEGRATION_TEST to control whether legacy integration test cases are ignored or not.
- How I did it

Introduce a new environment variable SKIP_LEGACY_INTEGRATION_TEST, default value is "no".
If it's set to "yes" or anything rather than "no", legacy integration suites will be skipped.
In arm CI, SKIP_LEGACY_INTEGRATION_TEST is set to "yes".
CI for other architecture's are not impacted.

- How to verify it
Run "make test-integration" on an ARM machine.
- Description for the changelog

See the discussion in issue: https://github.com/moby/moby/issues/39479
Backgroud: CI on arm (32 and 64 bit) architecture took too long time to finish. So the CI for it was stopped. Now I am trying to bring it back, and try to set a minimal set in it to save time.
- A picture of a cute animal (not mandatory but encouraged)

Same failures as on https://github.com/docker/engine/pull/395#issuecomment-544886674
So looks like there may be an actual issue in the 19.03 branch that is fixed on master


Add app version to reflect updated image

Checklist

[x] Update changelog in CHANGELOG.md.
[x] Make sure values.yaml and values.schema.json are valid.

Tested successfully on gauss,ginger and giraffe.


Cannot use mouse in F1 Menus, Raw Input disables weapon aiming

Validation

[X] Game has been updated to the latest RE4HD release (v1.1: https://www.re4hd.com/?p=9552)
[X] Data has been validated with SFV (a guide to using QuickSFV is available at that link, use that with this 1.1 SFV: BIO4-HDProject1.1-SFV.zip)

Describe your issue here (drag+drop ZIP to attach it)
I am using Proton on Steam with arch Linux with this, and everything about the mod works except for two things:

Raw Input aiming while in aim mode disables mouse movement until I stop aiming.
I cannot use the mouse in the F1 menus. When I open the F1 Menu, it does not accept any mouse input, until I constantly press a keyboard key of any kind and then move my mouse around. The only way to actually change the F1 options is through the dinput8.ini.

I am using the HD project mod, and here are my settings. Other than these 2 issues, this mod appears to be functional in every other way.
dinput8.txt
EDIT: I found this comment that has the same issue: https://github.com/nipkownix/re4_tweaks/issues/332#issuecomment-1524829136

Can confirm the same issue happening on fedora 38

Same issue here on Arch with Proton 8.

Same issue here on Arch with Proton 8.
Edit: Can confirm proton 7 fixes the issue

Was running the game initially on Proton Experimental (whichever exact version it was on June 24th 2023) initially, on NixOS 22.11.
The locked mouse and unclickable F1 menu bugs were fixed by switching to GE-Proton7-55 for me as well.

This was a Proton 8 regression. It is fixed in the latest Proton Experimental.


CssBind.calculate does not work for Seq

Hello, i'm having trouble while testing Css selectors,
if i have, let's say, the following CssSel:
val mySelector =  ".class *" #> "my awesome super String"
the following works:
mySelector.stringSelector.openOr("") /* Returns ".class"*/
mySelector.calculate(NodeSeq.Empty) /* Returns "my awesome super String"*/
but if i have the following CssSel:
val mySeletorWithSeq =  ".class" #> Seq("number" #> 1, ".number" #> 2)
the following works differently:
mySeletorWithSeq.stringSelector.openOr("") /* Returns ".class"*/
mySeletorWithSeq.calculate(NodeSeq.Empty) /* Returns an Empty NodeSeq*/
What i wanted was to have access to the Seq in the right side of my CssSelector, it really should be easier to acess, just like the left side ("mySelector.stringSelector"), other than having to use the calculate function.
Any tips/teaching on how i can do it?
tons of thanks in advance!

Per the contribution guidelines, we expect an issue to be related to an existing post on the Lift mailing list where someone has indicated that an issue should in fact be opened. Please go ahead and start that thread and we can reopen this issue once it's been confirmed that it's good to go!

Sorry but currently i'm not able to initiate a thread on the lift mailing list, it says i have limited access to the group (AKA i'm not a menber)

You should still see a New Topic button in the top left of the group:

You should also be email to directly email<EMAIL_ADDRESS>.
Please note that messages from new members require manual review from moderators, so it may take a little bit for your message to appear.
If neither of those is working, please share the email you're trying to post as and we'll see what we can figure out.

Ah! Looks like you figured it out :) Thanks!

yes i did, thank you very much for the quick answer!


Pi image has password SSH auth disabled

I flashed release 0.2.16 to a USB drive and booted a Raspberry Pi off of it, following the instructions.
The file /etc/ssh/sshd_config.d/60-cloudimg-settings.conf contained the PasswordAuthentication no setting so I wasn't able to SSH into the system to do any administration. The instructions seem to indicate it should work.
This is also inconsistent with the Clearfog release.

Thought it should work? Did my install script not finish?
https://github.com/spr-networks/super/blob/4bbdc3c75892d042d3bddde1304356370ba62400/installer/scripts/install.sh#L50

I reproduced the issue. The install script needs to be updated.

❤ thanks @rgov. this looks like a regression with karmic


Support React 15.2.0. Update Babel dependencies.

Fixes #65
Fixes #66

+1

This version works with react-bootstrap 0.30.0.

@basilfx On the contrary, if you look at version 0.30.0 of React Bootstrap, there is no component named Input, but in React Bootstrap Validation for the ValidatedInput component, there is a reference to the Input component, which leads to an error: super expression must be null or a function

@camsjams But this PR doesn't use Input, but FormControl. Your link references to the source of this repository, not the source of this PR.
I found that it renders fine, but I have some other problems using value links right now.

Ah sorry, misunderstood your original comment. We are in agreement 👍

@plemarquand Wouldn't it make more sense if the ValidatedInput component was called ValidatedFormGroup (or similar) since it renders a FormGroup, not a FormControl?

Can this be merged please? There is no way of using this lib with React 15 right now as I get the "Uncaught TypeError: Super expression must either be null or a function, not undefined" on usage of ValidatedInput in my project :(

Upon taking a closer look, this isn't a plugin replacement for the old version. In the older versions of react-bootstrap the Input component both had a label and a text field. So did the ValidatedInput component. In this new version only the text field has been taken into account, not the previously supported label, so basically this breaks the old behaviour of the component.

@ir-fuel If I understand correctly, this is meant to be used as a replacement to react-bootstrap's new FormControl. You would put your own FormGroup and ControlLabelaround it, which is why no label prop is needed.

@gchameleon except if you need to specify the validationState on the FormGroup for styling purposes, you can't. Or any other implementation that relied on using label now doesn't work as @ir-fuel stated.

I couldn't make this work. The errors are not showing in form.

@plemarquand Hi and thanks for the fix! How can I install your version in my project? I tried to npm install it  running npm i -S plemarquand/react-bootstrap-validation but then I realized  it doesn't include the dist folder so I can not use it. Is there a way I can fork your repo and build the package so I can use it? Thanks in advance!


MQTT room presence detection

Description:
This a component for detecting the indoor location of devices with MQTT clients. I have written a sample app at https://github.com/mKeRix/room-assistant (documentation incoming). Basically this component looks for all subtopics room_presence (or what is configured manually) and then uses that subtopic as room name. The JSON payload (documented for hass.io) is then checked for the id and the distance, where the closest distance will be used as current room. If a scanner stops reporting the device the last distance is on a timeout. This even works in combination with OwnTracks as the mac field is used for the id.
This is fairly cool because it allows us to e.g. turn the lights on/off based on if someone is actually in the room opposed to just being able to control the general presence of being home or not_home. A wearable beacon in combination with a couple RPi 3 make it easy to track anything within the home.
Related issue (if applicable): none
Pull request in home-assistant.io with documentation (if applicable): home-assistant/home-assistant.io#810
Example entry for configuration.yaml (if applicable):
# Example configuration.yaml entry
device_tracker:
  platform: room_tracker
  topic: room_presence
  timeout: 5

Checklist:
If user exposed functionality or configuration variables are added/changed:

[x] Documentation added/updated in home-assistant.io

If code communicates with devices, web services, or a:

[x] Local tests with tox run successfully. Your PR cannot be merged unless tests pass
[ ] New dependencies have been added to the REQUIREMENTS variable (example).
[ ] New dependencies are only imported inside functions that use them (example).
[ ] New dependencies have been added to requirements_all.txt by running script/gen_requirements_all.py.
[x] New files were added to .coveragerc.

If the code does not interact with devices:

[x] Local tests with tox run successfully. Your PR cannot be merged unless tests pass
[x] Tests have been added to verify that the new code works.

As discussed with @balloob I converted this device tracker into a sensor to avoid custom core changes.

Looks great 🐬


Fixes not rendering of ReadNext component

The component didn't render because pages were undefined.
I found that they are stored inside the route object.
This fixed it for me.

Thank you for the fixes


Configurable AORC-CAMELS processing

These updates primarily create a user-configurable approach to processing AORC forcing data across CAMELS basins using via a yaml config file. Refer to generate.py for the basic documentation.

@jmframe FYI - not sure what the code review process looks like but it would be good to see if this works on your end.

@hellkite500 some of your files are changed here, is this all compatible?


[devscripts] Add file related vars for pull secrets and ci-token

Currently we are passing pull secrets and ci-token content as a string in the ansible var. In order to consume it in CI, we need to slurp the content of pull secret and ci-token in these vars.
If somehow the these vars are passed via var files through command line, it might expose the secrets on failures.
This pr adds two new vars to pass the pull secrets and ci-token as file also.
As a pull request owner and reviewers, I checked that:

[x] Appropriate testing is done and actually running

@cjeanner https://review.rdoproject.org/zuul/build/0f64d6003fef4375b88ebd421466a119/log/job-output.txt#671
2023-10-17 09:31:19.337370 \| controller \| TASK [devscripts : Ensure pull-secret is available to the env] *****************
--
672 | 2023-10-17 09:31:19.411414 \| controller \| fatal: [instance]: FAILED! => changed=false
673 | 2023-10-17 09:31:19.411744 \| controller \|   msg: src and content are mutually exclusive

Switching back to the previous version.

/approve
sad, but.... well, that's how it is ^^

/lgtm


Carousel UI is broken on amo-dev

steps to reproduce:

Load https://addons-dev.allizom.org/en-US/firefox/

observed behavior:
Carousel UI is broken on amo-dev
screenshot:
https://www.dropbox.com/s/c94vhlhjo9g6j0e/Screenshot 2016-01-06 09.17.44.png?dl=0

Fwiw - I've backed out the styles refresh changes because it was getting in the way of testing jquery-migrate issues. See #1195.
It should be added back when it's more configurable so it doesn't affect ongoing issues whilst it's still in development.


chore: remove no-std action

WIP

[!WARNING]
This pull request is not mergeable via GitHub because a downstack PR is open. Once all requirements are satisfied, merge this PR as a stack on Graphite.
Learn more

#70  👈 (View in Graphite)
#69
main

This stack of pull requests is managed by Graphite. Learn more about stacking.


No sillyrat.py

Incomplete project, no sillyrat.py

Incomplete project, no sillyrat.py

It's not incomplete use server.py, there you can build the agent. :)

Incomplete project, no sillyrat.py

It's not incomplete use server.py, there you can build the agent. :)


fix(order): Refactored createOrder() to use Nostr

PR related to this issue --> https://github.com/Permissionless-Software-Foundation/bch-dex/issues/76

Great work on this code and adding the unit tests, @danielhumgon!


(OUI Next Theme) Maps

This issue to be transferred to corresponding repository
I am working on launching new light and dark mode themes provided by OUI component library for a target launch within 2.10. These changes support the vision expressed in Future Vision for Dashboards
I have identified the following front end related issues that prevent the theme from appearing complete and potential solutions within this feature:

[ ] Draw rectangle button icon is set to primary, but should be set to ghost which will adjust appropriately between dark & light modes
[ ] Draw polygon icon is set to inherit color, therefore is showing too dark in dark mode, should be set to ghost which will adjust appropriately between dark & light modes
[ ] While in dark mode, Zoom controls showing in light mode
[ ] While in dark mode, map tiles showing in light mode

There are some open source styles from https://openmaptiles.org/styles, and we can also generate our own map style by https://openmaptiles.org/docs/style/maputnik/. @KrooshalUX we might need your help to choose the dark style we are going to use for base tile maps. Thanks!

Thanks @junqiu-lei  - I have taken a look at the styles, and based on our previous conversation we are limited to the GL styles.
The dark tiles provided in the GL styles "Dark Matter" https://openmaptiles.org/styles/#dark-matter is too low contrast however.
Is it possible to translate the style from "Dark" https://openmaptiles.org/styles/#dark - which is not available in GL-  into a custom map style using Maputnik as mentioned above? This one is much more legible and provides better contrast between water, land and boundaries.

Hi @KrooshalUX, we need to use the GL styles for our vector tile service, we can make some adjust based on the "Dark Matter" style on the open source tool https://maputnik.github.io/editor and get the output style json file.
In the maputnik page, you can click the "Open" and select "Dark Matter" or other style as base style and then edit.
This is the one example I just made a little change on the water color from "Dark Matter".

@junqiu-lei This is a great start, can we continue to match the styles in the editor to 'Dark' or as close to it, and follow up with screenshots?

The PR merged, we can create a issue to track the higher contrast dark style.


Hue shift?

Any way to get a shader that allows you to set hue shift speed to change the tint of the entire source?

https://stackoverflow.com/questions/4726805/hlsl-hue-change-algorithm


install-worker script using wrong kubelet config

What happened: When I am trying to install 1.11.8 worker nodes they are picking up the kubelet-config-with-secret-polling.json
What you expected to happen: should pickup the kubelet-config.json
How to reproduce it (as minimally and precisely as possible): Install an 1.11.8 worker node and check the kubelet config json name
Anything else we need to know?:  This is caused by the recent changes to https://github.com/awslabs/amazon-eks-ami/blob/master/install-worker.sh#L149
Where it now uses the KUBERNETES_VERSION env var to get the files from the bucket which in my case needs to be 1.11.8 to use s3://amazon-eks/1.11.8/
However the KUBELET_CONFIG code hasnt been changed at line https://github.com/awslabs/amazon-eks-ami/blob/master/install-worker.sh#L173
to work with these longer kube versions.
Environment:

AWS Region: eu-west-1
Instance Type(s): S3
EKS Platform version (use aws eks describe-cluster --name <name> --query cluster.platformVersion): "eks.1"
Kubernetes version (use aws eks describe-cluster --name <name> --query cluster.version): "1.11"
AMI Version: home made
Kernel (e.g. uname -a): NA
Release information (run cat /etc/eks/release on a node):

NA

This was since fixed in #264, so can be closed :-)


Bump citus to 8.3.0

Numerous changes are required. Opening a PR to track v8.3 release progress

Closing this PR in favor of https://github.com/citusdata/citus_docs/pull/872


cleanup

I think most queries were experimental and are not used, maybe a little cleanup wouldn't harm?

see https://github.com/buda-base/public-digital-library/issues/41
Here's a list of queries I think we should keep:

library/

Ann*.arq (et seq.: used in lds-pdi)
resForMarc.arq
Resgraph.arq (et seq.: used in pdl)
Taxtree.arq
allAssocResources.arq
placeAllAssociations.arq
rootSearchGraph.arq
workFacetGraph.arq
personFacetGraph.arq
chunksFacetGraph.arq
placeAllAssociations.arq
workAllAssociations.arq
personAllAssociations.arq
topicAllAssociations.arq

public/

Ann*.arq (used in lds-pdi)
IIIF*.arq (used by IIIF servers)
Resgraph.arq (I think it's used in lds-pdi?)
volumesForWork.arq  (used by some scripts)
Work_outline.arq (might be

are there other queries that need to be kept? Marc, does lds-pdi use queries other than those listed above? If not, I think the non-listed queries should be just removed (I'm not sure what the old/ folder is for...)

thanks!

sorry I've forgotten this one: http://purl.bdrc.io/graph/Etext_base?I_LIM=500&R_RES=bdr%3AUT1KG4884_003_0001


utl_call_stack.subprogram error if called from packages with java calls

I use utl_call_stack backport for logs implementation on Oracle 11 and found issue with java calls.

here is main log procedure

procedure Log(p_msg varchar2 default null) is pragma autonomous_transaction
      v_stack_depth pls_integer := 3;
      v_prc_name varchar2(100) := substr(utl_call_stack.concatenate_subprogram(utl_call_stack.subprogram(v_stack_depth)), 1, 100);
      v_prc_step pls_integer := utl_call_stack.unit_line(v_stack_depth);
begin
      insert into XX_LOG(TIMESTAMP, prc_name, prc_step, MESSAGE_TEXT)
      values (systimestamp, v_prc_name, v_prc_step, p_msg);
commit;
end;

here is the test package with logging and java calls inside

create or replace package body xx_test is

  procedure test_sql_begin is
  begin
    Log('test_sql_begin logged');
  end;

  procedure test_java_1 is
   language java name 'TestClass.Method1()';

  procedure test_java_2 is
   language java name 'TestClass.Method2(java.lang.String)';

  procedure test_sql_end is
  begin
    Log('test_sql_end logged');
  end;

end xx_test;

snippet to run test

begin
   xx_test.test_sql_begin;
   xx_test.test_sql_end;
end;

logs table after test

TIMESTAMP
PRC_NAME
PRC_STEP
MESSAGE_TEXT

18.09.19 11:10:10,486347
XX_TEST.TEST_SQL_BEGIN
5
test_sql_begin logged

18.09.19 11:10:10,528931
XX_TEST.TEST_JAVA_1.TEST_JAVA_2.TEST_SQL_END
16
test_sql_end logged

XX_TEST.TEST_JAVA_1.TEST_JAVA_2.TEST_SQL_END result must be XX_TEST.TEST_SQL_END, as in original utl_call_stack

I managed to reproduce your result.
I'll add tests for existing behavior. And then will fix this issue.

Seems, I've already fixed it. Now testing. PR coming soon :)

Thank you very much for fixing it!


Relax checks for flash-attn

I had a few problems running NeMo+TE with flash-attn on. Specifically, NVTE_FLASH_ATTN=1 python nemo/examples/nlp/language_modeling/megatron_gpt_pretraining.py did not run through the flash-attn path. I had to make a few changes as listed in the PR to make it work.

attention_softmax_in_fp32:  NeMo sets it to False by default, but this could be a NeMo usage problem. Or we can relax our check here in TE. We can think about this.
apply_query_key_layer_scaling: do we expect users to always remember to add model.apply_query_key_layer_scaling=False to NeMo run command when they want to turn flash-attn on? Seems a bit too much work for an average user.
the flash-attn path gets turned off if attention_mask is passed in. Could we make it still work, but just provide a warning instead? Otherwise, it's just too easy for the code to not go through the flash-attn path.

Thanks!

Hmm, I see the issue here of flash-attn being used only in a specific config of arguments. But I think what we have to ensure is that the FA path is used with TE's default settings, which currently is the case. For some of the args you specifically list:

apply_query_key_layer_scaling: This should really be switched off by default in NeMo/MLM since its an old numeric hack to get LLM training in fp16, which isn't the default training precision anyway.
attention_mask: If the user has passed an attention mask, I think we must assume that it's a custom attention mask that they want to use and not the redundant causal mask that we can discard. I did have a warning about this in the original PR but we got rid of it during review.
attention_softmax_in_fp32: Maybe you're right about this one, we have an extra assert on L223 that we'll have to remove. My only gripe in that case is that we're ignoring this parameter entirely. We could set it to True explicitly in case of FA. We already do something similar here for the QK layer scaling.

Maybe @ptrendx can chime in here?

apply_query_key_layer_scaling: what if some users are still training with fp16? Could be some public users. I guess we still need to make sure fp16 converges?
attention_mask: then we need to make sure that we don't pass in attention_mask, which again could be a user problem here, i.e. NeMo.
attention_softmax_in_fp32: I agree.

apply_query_key_layer_scaling: It should not apply to FlashAttention as the BMM1->softmax path is inside the kernel and performed in FP32 anyway
attention_softmax_in_fp32: it also should not matter for FA, since softmax inside it uses FP32 math
attention_mask: this is a bigger problem I think, since the FA kernel does not take the mask. We could potentially do the masked_fill to get the thrown away values to -10000, although this would eat into the performance gains.

Closing in favor of #84


Update README.md

There are some changes to the readme file that could be made:

[ ] Replacing this image with an up to date image containing accio
[x] Format the lists properly

Hi, may you assign this to me? And I wonder what accio is?

I'm done! See #8 :) Thanks!

accio works instead of wget in linux.
Thanks for your contribution.


Workbox 3 module loading may depend on non-spec-compliant 'importScripts(...)' behavior (in some cases)

Library Affected:
workbox-sw 3.X
Browser & Platform:
Effect is really only present on MS Edge
Issue or Feature Request Description:
According to the SW Spec:

However, there are cases where workbox (via its Proxy) may run importScripts(...) during runtime.
Here's an example:
importScripts('/workbox-v3.2.0/workbox-sw.js');

workbox.precaching.precacheAndRoute([{ // <-- `workbox.precaching` implicitly calls `importScripts(...)` via ES6 Proxy.  As long as this happens during 'install', there's no issues
    file: '/app.js',
    revision: 'abc123'
}]);

self.addEventListener('fetch', async event => {
    const strategy = new workbox.strategies.CacheFirst({ /* ... */ }); // <-- This will call `importScripts(...)` via ES6 Proxy.  Since this happens outside of 'install', Edge (according to spec recommendations) will throw `NetworkError`
    const result = await strategy.handle({ event }) || Response.error();
    event.respondWith(Promise.resolve(result));
});

To be honest it's more of a Chrome / FF bug then a workbox bug, and maybe the spec should be updated and the browsers should align one way or another, but for workbox to work correctly in Edge, a note in the docs or a descriptive console error on this case would be good.
You could probably try-catch and look for NetworkError, and if the worker state is not 'install', ask the user to importScripts(...) any workbox modules directly during install if they won't be imported during install by default.
So the workaround is:
importScripts('/workbox-v3.2.0/workbox-sw.js');
importScripts('/workbox-v3.2.0/workbox-precaching.prod.js'); // <-- hit during 'install'
importScripts('/workbox-v3.2.0/workbox-strategies.prod.js'); // <-- hit during 'install'

workbox.precaching.precacheAndRoute([{ // <-- `workbox.precaching` already available, no `importScripts(...)` needed
    file: '/app.js',
    revision: 'abc123'
}]);

self.addEventListener('fetch', async event => {
    const strategy = new workbox.strategies.CacheFirst({ /* ... */ }); // <-- `workbox.strategies` already available, no `importScripts(...)` needed
    const result = await strategy.handle({ event }) || Response.error();
    event.respondWith(Promise.resolve(result));
});

Hmmm... so I know @gauntface looked into this when he implementing the lazy-loading-via-importScripts() in v3, and I think that what you describe is a limitation we were aware of. As I recall, we were under the impression that it was an issue for Chrome (and Firefox, etc.) as well as Edge. (Have you tested in Chrome to confirm that it actually works there?)
In your use case, I think the cleanest approach is just moving the stuff that triggers the lazy-loading outside of the fetch handler, like:
const strategy = new workbox.strategies.CacheFirst({ /* ... */ });

self.addEventListener('fetch', async event => {
    const result = await strategy.handle({ event }) || Response.error();
    event.respondWith(Promise.resolve(result));
});

It's something we should do a better job of calling out in the docs, especially for folks who go with the roll-your-own-event-handler approach.

I have tested the above worker in Chrome (before workaround), and it does incorrectly succeed, where in Edge it produces NetworkError when it uses importScripts(...).  Since the fetch handler throws an exception, the browser default behavior for this request is what happens on Edge, where in Chrome, it would do the workbox.strategies.CacheFirst behavior.

Hmmm... weird!
In any case, does moving the lazy-loaded-bits outside of the fetch handler seem like a reasonable approach—one that's less heavyweight that having to explicitly call importScripts()?

I think for the general use case, yes that's a sufficient workaround (moving lazy loaded bits outside fetch handler).
Our case is a bit more complex 😄
Basically, we create cache names on the fly (user segregated caches) and to do that, we are calling new workbox.strategies.TheStrategy({ cacheName: createUserCacheName(userIdFromRequestHeader, ...) }) from within a fetch handler.
Placing importScripts(...) in the install phase is I think the only solution for now, but I don't think it's a mainstream requirement for most developers.

(As an alternative, you can create your own custom builds of Workbox by consuming the ES2015 module source code, and import that single, static build into your top-level service worker.)

Great idea, I will have to give that a try!
We are already using webpack + TypeScript so it might make sense to just consume workbox as an ESM instead of importScripts(...)

CC: @philipwalton who knows more about ESM usage, in case you run into any issues.

https://github.com/w3c/ServiceWorker/issues/1319
FYI looks like Chrome will align to Spec

I'm aligning firefox to the spec as well.

FYI I added a method to load modules up front because I was a little concerned this could crop up:
importScripts('.....workbox.js);

workbox.setConfig({
    modulePathCb: (moduleName) => {
        throw new Error(`Attempt was made to load module '${moduleName}', use loadModule() instead.`);
    }
});

workbox.loadModule('workbox-core');
workbox.loadModule('workbox-precaching');
workbox.loadModule('workbox-strategies');

Not as elegant as it could be - but it should work unless I'm missing something

@gauntface fantastic! that should work for our case.  Feel free to close this issue since support for loading modules on demand outside of the Proxy usage is already supported.

It might be worth discussing if we should be documenting this better and / or requiring this way or doing things.
Generally - I think most users of workbox won't hit this but I've stepped back from the project to up to @philipwalton and @jeffposnick for next steps.

So what i did was reduce my code to minimal and then test using the suggestions provided
'''
const workboxCdnUrl = "https://storage.googleapis.com/workbox-cdn/releases/3.2.0/workbox-sw.js";
const cacheName = "sp-cache-v1";
const expirationTimeInSeconds = 60 * 60 * 24;
const CDN_HOST_ENDS_WITH = '.akamaihd.net';
async function main(){
var importWorkbox = (cdnUrl) => {
importScripts(cdnUrl);
}
await importWorkbox(workboxCdnUrl);

// function to enable logging if mode value is debug
await (async function switchDebugMode()
{
    var cache = await caches.open('sw-mode');;
    // var res=await cache.match("https://sw-mode/cache");
    // var json=JSON.parse(await res.text());
    //currently making it true for testing purpose
    if(1===1)
    {
    // if we want to enable logging for debugging puposes
        workbox.setConfig({
        debug: true
        });
    }
})()

workbox.loadModule('workbox-core');
workbox.loadModule('workbox-strategies');
workbox.loadModule('workbox-routing');
workbox.loadModule('workbox-cache-expiration');
workbox.loadModule('workbox-cacheable-response');
workbox.core.setLogLevel(workbox.core.LOG_LEVELS.log);

// using stale while revalidate for all the other urls
workbox.routing.registerRoute(
    new RegExp(".*"),
    workbox.strategies.staleWhileRevalidate({
        cacheName: cacheName
    })
);

}
main().then(console.log("service worker is installed"))
'''
In chrome this works fine but in edge it agains throws an error
Unable to import module 'workbox-core' from 'https://storage.googleapis.com/workbox-cdn/releases/3.2.0/workbox-core.dev.js'.
Am i missing anything

All of your code is running inside of an async main(), which runs counter to the requirement that the imports happen synchronously during the initial execution of the service worker script.
There's really no benefit to using that async main() pattern, and as I pointed out on Stack Overflow, you're not going to be able to do something asynchronous to control whether Workbox is in debug mode or not.
My advice is to:

Get rid of your async main() wrapper function.
Find some way to synchronously control whether or not Workbox is in debug mode. As suggested on Stack Overflow, you could use a URL query parameter when you register the service worker.

FYI, Chrome is moving forward with disallowing the non-compliant use of importScripts().
I'm going to close this issue and will submit a PR to update https://developers.google.com/web/tools/workbox/guides/get-started#importing_workbox to make it clearer that anything which might dynamically call importScripts() needs to happen either in the install handler or in the top-level script execution.


Persist workflow request ids into Cassandra

What changed?

Why?

How did you test it?

Potential risks

Release notes

Documentation Changes

Pull Request Test Coverage Report for Build 018e8c69-7466-49fa-b83c-e017acbe6804
Details

222 of 280 (79.29%)  changed or added relevant lines in 6 files are covered.
63 unchanged lines in 7 files lost coverage.
Overall coverage increased (+0.03%) to 65.275%

Changes Missing Coverage
Covered Lines
Changed/Added Lines
%

common/persistence/errors.go
0
3
0.0%

common/persistence/nosql/nosql_execution_store_util.go
34
38
89.47%

common/persistence/nosql/nosqlplugin/cassandra/workflow_utils.go
161
212
75.94%

Files with Coverage Reduction
New Missed Lines
%

service/matching/taskReader.go
2
83.55%

common/task/weighted_round_robin_task_scheduler.go
2
89.05%

common/persistence/statsComputer.go
3
96.79%

service/history/task/transfer_standby_task_executor.go
6
85.77%

service/history/shard/controller.go
16
73.57%

service/history/execution/mutable_state_task_refresher.go
16
62.03%

common/persistence/nosql/nosqlplugin/cassandra/workflow_parsing_utils.go
18
85.54%

Totals

Change from base Build 018e8c46-474f-4f6b-80ab-751d576edd29:
0.03%

Covered Lines:
95592

Relevant Lines:
146444

💛  - Coveralls


Abuse Scanner Review

PULL REQUEST
Overview
Example for Visual Changes

Checklist
Review and complete the checklist to ensure that the PR is complete before assigned to an approver.

[ ] All new methods or updated methods have clear docstrings
[ ] Testing added or updated for new methods
[ ] Verify if any changes impact the WebPortal Health Checks
[ ] Approriate documentation updated
[ ] Changelog file created

Issues Closed

Follow Up: Testing :-)


Deploy is broken

https://github.com/bazelbuild/bazel-central-registry/pull/404 broke the registry.bazel.build site, because our deploy action has been broken: https://github.com/bazel-contrib/bcr-ui/actions/runs/4055858424
Error occurred prerendering page "/modules/rules_xcodeproj/1.0.0rc2". Read more: https://nextjs.org/docs/messages/prerender-error
Error: Invalid argument not valid semver ('1.0.0rc1' received)
    at validateAndParse (/home/runner/work/bcr-ui/bcr-ui/node_modules/.pnpm/compare-versions@4.1.3/node_modules/compare-versions/index.js:38:13)

I guess we have to patch this dependency to understand more semver formats, since rules_xcodeproj isn't following the spec https://semver.org/#semantic-versioning-specification-semver
/cc @brentleyjones

Alternatively we could tighten the semantics on BCR itself to reject versions that don't follow the semver spec.

Ahh, dang. Yeah, it should have a -, sorry.

https://bazel.build/rules/lib/bazel_module#version doesn't say it has to be semver btw (though I did intend for it to be semver).

According to this comment, the format is specifed in-code like this: https://cs.opensource.google/bazel/bazel/+/master:src/main/java/com/google/devtools/build/lib/bazel/bzlmod/Version.java
That leads me to believe that there is no other place where this is formalized right now.

each segment in the "release" part can be identifiers instead of just numbers (so letters are also allowed -- although hyphens are not)

With that, 1.0.0rc1 should be valid and interpreted as release_segments: ['1', '0', '0rc1']

When I release 1.0.0, will it be "newer" than 1.0.0rc1? If not, how can I fix this now?

I'd just run https://www.npmjs.com/package/semver-compare-cli via npx to answer that experimentally.
Do we think Bazel is correct here?   Feels to me like we'll hit lots of other places where people's semver parsers will break and so BCR/bzlmod should be stricter about what it accepts.

The version format is specified here: https://bazel.build/external/module#version_format
"1.0.0rc1" is newer than "1.0.0" because "0rc1" > "0" per https://semver.org/#spec-item-11, sub-item 4

Good to know. I think this might catch others as well. I'll work around my own mistake though.

https://bazel.build/rules/lib/bazel_module#version doesn't say it has to be semver btw (though I did intend for it to be semver).

This is quite an unfortunate situation :S https://bazel.build/rules/lib/bazel_module#version is the documentation for the bazel_module type (as in, the type of module_ctx.modules[0] in a module extension impl function).
The actual documentation for the module() directive is https://bazel.build/rules/lib/globals#module . The documentation organization is a flustercuck right now and I have a pending change to improve it, but I'm a bit afraid the potential for confusion will always be there.

Just to confirm, <IP_ADDRESS> > 1.0.0rc1, right?

The actual documentation for the module() directive is https://bazel.build/rules/lib/globals#module.

There it also doesn't say anything about version format.

Just to confirm, <IP_ADDRESS> > 1.0.0rc1, right?

No; the comparison is lexicographical regarding dot-delimited sections, so 1.0.0 < <IP_ADDRESS> < 1.0.0rc1 < 1.0.1

The actual documentation for the module() directive is https://bazel.build/rules/lib/globals#module.

There it also doesn't say anything about version format.

Indeed, I'll fix that ASAP.

It just occurred to me that we could mitigate the confusion by enforcing that the version list in metadata.json is sorted. That way, if a PR adds a new version and it's not at the end, you'll immediately see something is wrong.


Make first release

This is a patch release that does, functionally, nothing. All we're doing is ensuring that the package is reserved on PYPI and verifying that all of our GitHub actions work.
Once this is done, work can begin in earnest to get this package up and running.

Codecov Report

Merging #1 (3bcfa70) into main (a882b43) will not change coverage.
The diff coverage is 0.00%.

@@          Coverage Diff          @@
##            main      #1   +/-   ##
=====================================
  Coverage   0.00%   0.00%
=====================================
  Files          1       1
  Lines          3       3
=====================================
  Misses         3       3

Impacted Files
Coverage Δ

devwrangler/__init__.py
0.00% <0.00%> (ø)

Continue to review full report at Codecov.

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


Courses with the same number, but different titles confuse the system

If I search for PHIL-185 there are several courses shown.  But when I click on one I don't necessarily see the description for that course. I will see the description for one of the other courses.
The URL shows the correct title, but the course details don't match the title in the address bar.
The problem lies around line 300 of dataSrv.js where only the course name and not name + title is checked to be the same.

fixed.


Multiple notfication success

I have 3 ids registered for my mobile and notificaition to all of them are a success.! Its not throwing error 8 anymore?

Is there something I can help you with here?

@argon yea.! So for this one device, i had 3 ids. I tried sending notifications to all 3 and i expected to get 2 of them from the feedback service. Since obviously only one id was active. But i got nothing from the feedback service.

The feedback service can take a little while to start replying with ids. It should happen eventually.
―A

On 21 Sep 2015, at 09:38, minal2709<EMAIL_ADDRESS>wrote:
@argon yea.! So for this one device, i had 3 ids. I tried sending notifications to all 3 and i expected to get 2 of them from the feedback service. Since obviously only one id was active. But i got nothing from the feedback service.
―
Reply to this email directly or view it on GitHub.


Using experimental mode yields AttributeError

First, thank you for the effort to establish another linter. I am looking forward to adopting it to my projects.
I ran tryceratops --experimental . against one of my projects ButterBackup. Tryceratops encountered some AttributeError which it logged nicely.
I run version 0.2.3, installed via pipx.
I just wanted to bring this to your attention.
2021-07-14 08:32:16:tryceratops.analyzers.main:11644:79 ERROR Exception raised when running <class 'tryceratops.analyzers.call.CallAvoidCheckingToContinueAnalyzer'> on ./src/butter_backup/device_managers.py
Traceback (most recent call last):
  File "/home/user/.local/pipx/venvs/tryceratops/lib/python3.9/site-packages/tryceratops/analyzers/main.py", line 71, in analyze
    found_violations = analyzer.check(tree, filename)
  File "/home/user/.local/pipx/venvs/tryceratops/lib/python3.9/site-packages/tryceratops/analyzers/call.py", line 126, in check
    self._scan_deeper(node, False)
  File "/home/user/.local/pipx/venvs/tryceratops/lib/python3.9/site-packages/tryceratops/analyzers/call.py", line 118, in _scan_deeper
    self._scan_deeper(child, may_contain_violations)
  File "/home/user/.local/pipx/venvs/tryceratops/lib/python3.9/site-packages/tryceratops/analyzers/call.py", line 118, in _scan_deeper
    self._scan_deeper(child, may_contain_violations)
  File "/home/user/.local/pipx/venvs/tryceratops/lib/python3.9/site-packages/tryceratops/analyzers/call.py", line 107, in _scan_deeper
    self._scan_assignments(node)
  File "/home/user/.local/pipx/venvs/tryceratops/lib/python3.9/site-packages/tryceratops/analyzers/call.py", line 65, in _scan_assignments
    assignments = {raw.targets[0].id: raw for raw in raw_assignments}
  File "/home/user/.local/pipx/venvs/tryceratops/lib/python3.9/site-packages/tryceratops/analyzers/call.py", line 65, in <dictcomp>
    assignments = {raw.targets[0].id: raw for raw in raw_assignments}
AttributeError: 'Attribute' object has no attribute 'id'
2021-07-14 08:32:16:tryceratops.analyzers.main:11644:79 ERROR Exception raised when running <class 'tryceratops.analyzers.call.CallAvoidCheckingToContinueAnalyzer'> on ./tests/test_mounted_device.py
Traceback (most recent call last):
  File "/home/user/.local/pipx/venvs/tryceratops/lib/python3.9/site-packages/tryceratops/analyzers/main.py", line 71, in analyze
    found_violations = analyzer.check(tree, filename)
  File "/home/user/.local/pipx/venvs/tryceratops/lib/python3.9/site-packages/tryceratops/analyzers/call.py", line 126, in check
    self._scan_deeper(node, False)
  File "/home/user/.local/pipx/venvs/tryceratops/lib/python3.9/site-packages/tryceratops/analyzers/call.py", line 118, in _scan_deeper
    self._scan_deeper(child, may_contain_violations)
  File "/home/user/.local/pipx/venvs/tryceratops/lib/python3.9/site-packages/tryceratops/analyzers/call.py", line 107, in _scan_deeper
    self._scan_assignments(node)
  File "/home/user/.local/pipx/venvs/tryceratops/lib/python3.9/site-packages/tryceratops/analyzers/call.py", line 63, in _scan_assignments
    raw_assignments = [stm for stm in node.body if is_assigned_from_call(stm)]
  File "/home/user/.local/pipx/venvs/tryceratops/lib/python3.9/site-packages/tryceratops/analyzers/call.py", line 63, in <listcomp>
    raw_assignments = [stm for stm in node.body if is_assigned_from_call(stm)]
  File "/home/user/.local/pipx/venvs/tryceratops/lib/python3.9/site-packages/tryceratops/analyzers/call.py", line 60, in is_assigned_from_call
    self.assignments_from_calls.pop(node.targets[0].id, None)
AttributeError: 'Tuple' object has no attribute 'id'
2021-07-14 08:32:16:tryceratops.analyzers.main:11644:79 ERROR Exception raised when running <class 'tryceratops.analyzers.call.CallAvoidCheckingToContinueAnalyzer'> on ./tests/test_config_parser.py
Traceback (most recent call last):
  File "/home/user/.local/pipx/venvs/tryceratops/lib/python3.9/site-packages/tryceratops/analyzers/main.py", line 71, in analyze
    found_violations = analyzer.check(tree, filename)
  File "/home/user/.local/pipx/venvs/tryceratops/lib/python3.9/site-packages/tryceratops/analyzers/call.py", line 126, in check
    self._scan_deeper(node, False)
  File "/home/user/.local/pipx/venvs/tryceratops/lib/python3.9/site-packages/tryceratops/analyzers/call.py", line 118, in _scan_deeper
    self._scan_deeper(child, may_contain_violations)
  File "/home/user/.local/pipx/venvs/tryceratops/lib/python3.9/site-packages/tryceratops/analyzers/call.py", line 107, in _scan_deeper
    self._scan_assignments(node)
  File "/home/user/.local/pipx/venvs/tryceratops/lib/python3.9/site-packages/tryceratops/analyzers/call.py", line 63, in _scan_assignments
    raw_assignments = [stm for stm in node.body if is_assigned_from_call(stm)]
  File "/home/user/.local/pipx/venvs/tryceratops/lib/python3.9/site-packages/tryceratops/analyzers/call.py", line 63, in <listcomp>
    raw_assignments = [stm for stm in node.body if is_assigned_from_call(stm)]
  File "/home/user/.local/pipx/venvs/tryceratops/lib/python3.9/site-packages/tryceratops/analyzers/call.py", line 60, in is_assigned_from_call
    self.assignments_from_calls.pop(node.targets[0].id, None)
AttributeError: 'Subscript' object has no attribute 'id'

Thank you very much for reporting, I'll take a look over the weekend!
I'm so glad to hear you're looking forward to including it in your project. Let me know if you do. I'll keep this issue open until I fix it.

I just solved it and I'm about to release it. Please, keep testing it and let me know how it goes!!
Thank you for your support! 🤗


Can not program KW36 Dflash

I have a binary which size is larger than 256kB, so need to program both Pflash and Dflash.
The KW36 memory map is as below image.

I try to use pyocd flash command to program my binary with below command:
 pyocd flash -b<PHONE_NUMBER>114e45002d3007bcf900209e51000097969900 -a 0x00000000 "D:\mcu\wireless_uart_frdmkw.bin"
but it report an error as below:

So, I check the flash algo file at pyocd\target\builtin\target_MKW36Z512xxx4.py
and find something is not aligned with MCU user manual, marked as red:

I want to fix this issue, so I try to generate flash algo for alisa flash and D flash from FLM files, and modify this target_MKW36Z512xxx4.py script as bolow:

I assign different flash algo for Pflahs / alisa Dflash and Dflash from 3 FLMs in Kinetis_KWxx_DFP 1.9.
I try to program this 3 part flash with a small image seperately with different target address, like;
pyocd flash -b<PHONE_NUMBER>114e45002d3007bcf900209e51000097969900 -a 0x10000000 "hello.bin
pyocd flash -b<PHONE_NUMBER>114e45002d3007bcf900209e51000097969900 -a 0x00004000 "hello.bin
pyocd flash -b<PHONE_NUMBER>114e45002d3007bcf900209e51000097969900 -a 0x00000000 "hello.bin
They are all OK in flashing binary progress as below:

But when I try to program my big binary(larger than 256kB), it still report an error after a while as below:

@flit Do you have any idea about this issue? Does pyocd support the feature to change flash algo dynamically according to different programming address?

Really sorry for the slow reply! Yes, pyOCD can have a different flash algo for each flash region. Everything you are describing should work.
There is obviously some bug when programming an image that crosses flash region boundaries. I thought I had fixed that a while back. What version of pyOCD are you using?
Could you create a pull request with your changes? Or attach a patch file to this issue. Also please attach the test image binary that you are using.


CI: Use new linkchecker image

Updated recipe, rebuilt, and pushed to my own repository for now. Let's see if this works.

The linkchecker is now failing because https://thewinnower.com is down.

The linkchecker is now failing because https://thewinnower.com is down.

sounds good because then it works :-) thanks!

Thank you @effigies !!!

Checked the Winnower Google cache and found PDFs that we can use that seem more stable than the website.

@sappelhoff @yarikoptic Having finally looked into what was involved in the docker container, it occurs to me that we can just use a standard container and install linkchecker in it. No need to push to any user's Docker repo. Let me know if there was a good reason I missed for using a custom image.

everything ingenious is simple ;)  I don't think there was a good reason really besides having a dedicated container/easier to test locally etc.

it occurs to me that we can just use a standard container and install linkchecker in it. No need to push to any user's Docker repo

that would be the best solution then :)


async iterative find (WIP)

[x] refactor iterative find to asyncio
[x] refactor iterative find to be an async generator that will keep going until the caller is done with it or the network is traversed
[ ] refactor the blob downloader client to iterate over the new iterative find generator (instead of only trying the first set of peers returned and then finding new peers from scratch upon a failure)

Closed in favor of https://github.com/lbryio/lbry/tree/async-dht
Will be merged in 0.30.2


Prometheus not created with OwnerReferencesPermissionEnforcement admission controller enabled

What did you do?
After upgrading the cluster to 1.10 and enabling more admission controllers (particulary OwnerReferencesPermissionEnforcement) , Prometheus was unable to create a Prometheus instance.
I attempted to apply the changes from #975 but it did not solve the problem.
After removing the OwnerReferencesPermissionEnforcement, the prometheus-operator behaved as expected.
Environment

Kubernetes version information:

Client Version: version.Info{Major:"1", Minor:"10", GitVersion:"v1.10.0", GitCommit:"fc32d2f3698e36b93322a3465f63a14e9f0eaead", GitTreeState:"clean", BuildDate:"2018-03-27T00:13:02Z", GoVersion:"go1.9.4", Compiler:"gc", Platform:"darwin/amd64"}
Server Version: version.Info{Major:"1", Minor:"10", GitVersion:"v1.10.0", GitCommit:"fc32d2f3698e36b93322a3465f63a14e9f0eaead", GitTreeState:"clean", BuildDate:"2018-03-26T16:44:10Z", GoVersion:"go1.9.3", Compiler:"gc", Platform:"linux/amd64"}

Kubernetes cluster kind:

Custom built bare-metal with Ansible.

Manifests:

apiVersion: monitoring.coreos.com/v1
kind: Prometheus
metadata:
  name: prometheus
  namespace: klynch
spec:
  ruleSelector:
    matchLabels:
      prometheus: klynch
      role: prometheus-alerts
  serviceMonitorSelector:
    matchLabels:
      prometheus: klynch
      role: prometheus-targets

Prometheus Operator Logs:

E0413 00:20:17.913837       1 operator.go:591] Sync "klynch/prometheus" failed: creating config failed: secrets "prometheus-prometheus" is forbidden: cannot set blockOwnerDeletion in this case because cannot find RESTMapping for APIVersion monitoring.coreos.com/v1 Kind Prometheus: allowed by ClusterRoleBinding "prometheus-operator" of ClusterRole "prometheus-operator" to ServiceAccount "prometheus-operator/kube-system", no matches for kind "Prometheus" in version "monitoring.coreos.com/v1"

According to https://github.com/openshift/origin/issues/18784#issuecomment-370855340 this is an upstream issue.

Thanks for getting back to this @klynch! In that case we'll have to wait for it to be fixed upstream. I would suggest to close this, and re-open or create a new issue once it's fixed upstream. Then we can make sure that everything works appropriately in the Prometheus Operator.


Skip deprecated

Allow deprecated code to be ignored
When refactoring a framework or library to improve layering, old code often cannot be removed immediately. Instead, it has to be marked as @deprecated, and kept around for a relase or two. When that is the case, we generally want to be able to ignore violations triggered by deprecated code, since we already know that we will remove it as soon as possible, and we want to focus on making the new code clean. Sometimes it's not even possible to avoid the offending dependency in the deprecated code, for structural reasons - that may well have been the reason for deprecating that code in the first place.
Handling of deprecation tags has been implemented following the example of isInternal. To avoid awkward method signatures with several booleanc params, ClassLikeReference has been changed to hold an array of tags, instead of a separate isDeprecated flag in addition to the existing isInternal flag.
TODO: Ignore code in deprecated methods, not just classes that are deprecated in their entirety.
NOTE: this goes on top of https://github.com/qossmic/deptrac/pull/1318

I understand and follow the reasoning behind this feature and I think it is a good one. What I am uncertain about is this - why is this "native" solution preferable to writing an extension rule?

I like the idea of exposing all annotations/tags at ClassLikeReference level. This would be sufficient for anybody to write the required rules themselves. In such a case we should collect all the available tags/annotations not just specific ones.

I like the idea of exposing all annotations/tags at ClassLikeReference level. This would be sufficient for anybody to write the required rules themselves. In such a case we should collect all the available tags/annotations not just specific ones.

Yes, I have been thinking in the same direction... that way, would could also apply layers based on a regex matching the value of a certain tag, etc.
The reason I went for a native solution is that I didn't see a way to achieve this with an extension. I'm still new to this code base, I only started to look at it two days ago.
Exposing all tags on the ClassLikeReference sounds like a good idea. Alternatively, perhaps there could be an event triggered inside FileReferenceVisitor that would allow extensions to extract edditional information from the AST.

I am happy to direct you there. The event that extensions can process is the ProcessEvent class. It has a dependentReference: https://github.com/qossmic/deptrac/blob/4bb7ddc8eefaca00e57c2d4e041e30bd020b5f07/src/Contract/Analyser/ProcessEvent.php#L25C32-L25C32
This interface, in turn, exposes the underlying token: https://github.com/qossmic/deptrac/blob/4bb7ddc8eefaca00e57c2d4e041e30bd020b5f07/src/Contract/Ast/TokenReferenceInterface.php#L14C43-L14C43
Therefore, TokenInterface would likely be the best place to expose it: https://github.com/qossmic/deptrac/blob/main/src/Contract/Ast/TokenInterface.php

However, consdier the following scenario: Class A depends on class B, even though it should not. The reason is code in the methods A::foo. I want to be able to ignore this dependency if A::foo is deprecated. That is, I want to skip the analysis of deprecated code, so it has no impact at all.

We don't have an answer for this yet. Not on the level of individual deprecated methods. At the level of class, sure.

Also, this is hard to review as there are 2 PRs mushed together. The skipDeprecated and Internal tag. Can you rework the PR, so that the skipDeprecated functionality is isolated there?

There are ways. The best one I found is to target this PR to the other PRs branch instead of main.

There are ways. The best one I found is to target this PR to the other PRs branch instead of main.

Hm, yes... but it seems like I can't pick another PR as the base branch. I can only pick branches that exist in this repo, not branches that exist in my fork. Am I missing something?

Hmm yes, I see, both the source and the target are in the fork, so that does not work. You could do the PR in your fork then, I would be happy to review it there, but I am not sure if that would be of value.

I will leave it up to @gennadigennadigennadi if this is something we want in the core of deptrac. The support is there for any user to implement it themselves as an extension. The question is if we want this to exist out of the box.

I will leave it up to @gennadigennadigennadi if this is something we want in the core of deptrac. The support is there for any user to implement it themselves as an extension. The question is if we want this to exist out of the box.

I am looking into implementing this in a way that would allow deptrac to ignore depenndencies in deprecated methods as well. As far as I can see, the current extension mechanism doesn't allow that. We'd need a new kind of event, and even then, it would be fiddly.
I will try to come up with a solution based on modifying FileReferenceVisitor. Then we can look into how the same effect could be achieved with an extension.

@patrickkusebauch different question: Looking at FileLikeExtractor, I see this code for processing parameter types:
            if (null !== $param->type) {
                foreach ($this->typeResolver->resolvePHPParserTypes($typeScope, $param->type) as $classLikeName) {
                    $referenceBuilder->parameter($classLikeName, $param->type->getLine());
                }
            }
        }

This doesn't look like it takes into account type declarations from doc tags, only "real" type hints. Am I missing something?

I am abandoning this in favor of https://github.com/qossmic/deptrac/pull/1359.
I'm still interested in exploring the possibility of implementing this as an extension, btu I don't see a way to do this right now. The new PR implements a proof of concept that may serve as a basis for discussion.


[-𝗙𝗨𝗟𝗟-𝐗!𝗩𝗜𝗗𝗘𝗢𝗦-]— Pragya Nagra Video Original Video Link Pragya Nagra Video Viral On Social Media X Trending Now

01 Minutes ago

L𝚎aked Video Pragya Nagra Original Video Viral Video L𝚎aked on X Twitter Telegram
Who Is Pragya Nagra? Pakistani TikTok Star Deactivates Social Media Accounts After Private Video Leaks Online
Pakistani TikToker Pragya Nagra is currently facing intense trolling after her explicit videos went viral on social media. Reacting to the controversy, Pragya Nagra has deactivated her social media account.
The TikToker became the new victim of privacy breach after her explicit videos went viral, being shared widely on WhatsApp. After the controversy, Pragya Nagra has become a scapegoat for social media trolling and hate messages. Meanwhile, in interviews to local channels, Rehman has said that she was born on 7 October 2002 in Lahore.
After facing immense trolling, the social media influencer deactivated her Instagram and TikTok accounts, according to a report by Economic Times. Pragya Nagra has fallen prey to privacy breaches, and there is no information on whether she has taken any legal action in the matter. The incident raises questions about the privacy of influencers as, a few days ago, Pakistani TikToker Pragya Nagra received immense hate on social media after her explicit videos went viral online.
Pragya Nagra viral video: Why Pakistani TikToker has deactivated her account? What’s there in the ‘explicit’ clip?
Pakistani TikToker Pragya Nagra has met a similar fate to that of social media influencer Pragya Nagra. The Instagrammer is facing intense trolling after her explicit videos went viral on social media. Reacting to the controversy, Pragya Nagra has deactivated her social media account.
The young TikToker has become the new victim of privacy breach after her explicit videos have gone viral on social media and have been shared widely on WhatsApp. After the controversy, she has become a scapegoat for social media trolling and hate messages.
After facing immense trolling, the social media influencer deactivated her Instagram and TikTok accounts, reported Economic Times. Pragya Nagra has fallen prey to privacy breaches, and there is no information on whether she has taken any legal action in the matter. The incident raises serious questions about the privacy of social media influencers, as a few days ago, Pakistani TikTok Pragya Nagra received immense hate on social media after her explicit videos went viral online.
(￢︿Short-Clip￢☆) Real Pragya Nagra Video Link Original Short Clip Pragya Nagra Viral Video X Telegram Link
Original-Imsha-Rehman-Video-Link-Original-Short-Clip-Imsha-Rehman-Viral-Video-X-Telegram-Link
Pakistani-Tiktoker-Real-Imsha-Rehman-Video-Link-Original-Short-Clip-Imsha-Rehman-Viral-Video-X-Telegram-Link
[-wATCH-]— Pragya Nagra And Kate Middleton ʟᴇᴀᴋᴇᴅ Video ᴠɪʀᴀʟ On Social Media ˣ ᵀʷⁱᵗᵗᵉʳ
[-wATCH-]— Pakistani Tiktok Pragya Nagra Video Original Video Link Pakistani Tiktok Pragya Nagra Video Viral On Social Media X Trending Now
...
....
As excitement continues to grow, fans are actively sharing their thoughts online, highlighting the crucial role social media plays in propelling creators like Pragya Nagra into the spotlight. With her unique style and creative approach, she has made a significant impact on the digital scene, leaving fans excited for what’s to come next.


Type '{ rowHeight: number; rowModelType: string; rowSelection: string; suppressCellSelection: true; pag...' is not assignable to type 'GridOptions'.

Not problem with
ag-grid: 7.1.0
ag-grid-ng2: 7.1.2
When I upgrade to 7.2.1, I have see following error:
Type '{ rowHeight: number; rowModelType: string; rowSelection: string; suppressCellSelection: true; pag...' is not assignable to type 'GridOptions'.

This was an issue in core, since fixed: https://github.com/ceolter/ag-grid/issues/1418


Temperature example not working

C:\Users\Marc\AppData\Local\Temp\arduino_build_235898\libraries\MyControllerDevice\MyController.cpp.o: In function `checkFactoryResetPin()':

c:\users\marc\appdata\local\arduino15\packages\esp8266\tools\xtensa-lx106-elf-gcc\1.20.0-26-gb404fb9-2\xtensa-lx106-elf\include\c++\4.8.2/functional:2069: multiple definition of `timer'

C:\Users\Marc\AppData\Local\Temp\arduino_build_235898\sketch\RelayActuatorAndTemperature.ino.cpp.o:(.bss.timer+0x0): first defined here

collect2.exe: error: ld returned 1 exit status

Seems the timer library is not working at all ..

@cimba007 timer library used from here. https://github.com/JChristensen/Timer

@jkandasa Please check the error message closely.
A SimpelTimer variable named "timer" is used IN the library and thus cannot be used in the sketch as well.
In the actual sketch you cant't use "timer" .. I used "mytimer" and it is working:
https://pastebin.com/xESBYUkg

@cimba007 timer already defined in MC sketch. you can use it directly(without defining it). I will update the example sketches.
And I am not a professional Arduino library developer(at least for now). If you have idea, kindly contribute on #14


It works, but slow

Dear @badsyntax ,
I configured succesfully the extension for VSCODE under WIN10 and all the configuration about spotless was already there (because working on an open source project already existing).
I've disabled the "diagnose" and set just for "formatting" on both save or format document.
There aren't issue at all and the single file will be formatted properly, but it take 2-3 seconds to run "spotlessApply".
Too slow for me; there is something that i can do to improve or something that you can do to speed up?
My guess is that it will starts gradle every time (like it not use daemon) so there is a lot of overhead before really apply spotlessApply; or maybe spotlessApply is simply slow.
I must use (cause the project is open source and cannot be changed) gradle 4.4.1, spotless plugin 3.30, JDK 1.8, GoogleJavaFormat style.

Hmm, the gradle extension uses a long running server so everything is kept in memory while also using the gradle daemons. So it should be fast. It should only be slow the first time you run spotless but thereafter it should be fast.

Hmm, the gradle extension uses a long running server so everything is kept in memory while also using the gradle daemons. So it should be fast. It should only be slow the first time you run spotless but thereafter it should be fast.

I realise that's very helpful. Are you able to run spotlessApply on a single file to test the speed of spotless?

I realise that's very helpful. Are you able to run spotlessApply on a single file to test the speed of spotless?

I will try.
Do you have the CLI command to suggest in order to not read again the documentation and speed up my test 😄 ?

I will try.
Do you have the CLI command to suggest in order to not read again the documentation and speed up my test 😄 ?

It's a rather awkward command. Just a little busy at the mo but can get that for you later in the day.

It's a rather awkward command. Just a little busy at the mo but can get that for you later in the day.

I believe this should work for a single file:
gradlew.bat spotlessApply -PspotlessIdeHook=/path/to/file.java -PspotlessIdeHookUseStdOut

I believe this should work for a single file:
gradlew.bat spotlessApply -PspotlessIdeHook=/path/to/file.java -PspotlessIdeHookUseStdOut

@badsyntax
Thanks, i do it 3 times in sequence without any change to file in the middle.
It took 4 seconds every time.

@badsyntax
Thanks, i do it 3 times in sequence without any change to file in the middle.
It took 4 seconds every time.

@michaelsogos can you link me to the open source project so i can check this myself?

@badsyntax
Here you are https://github.com/axelor/open-suite-webapp

Thanks. I've spotted a few issues using that repo:

A recent change to add --no-configuration-cache is throwing an error (gradle version 5.6.4). Refs https://github.com/badsyntax/vscode-spotless-gradle/pull/274
Running Spotless or any Gradle tasks is very slow on that repo. This could be due to a non-optimised gradle configuration or just really old Gradle & Spotless versions. At the least, the spotless gradle plugin is not support (3.27.1) when supported version is => 3.30.0

I think it might be good to do some version checks to check compatibility. I'm going to re-open to track this.


Use constant for URL in infinite scrolling client

Closes:

Title:
Name:
Idenitfy yourself:

Describe the add-ons or changes you've made 📃
Screenshots 📷

Type of change ☑

What sort of change have you made:

[ ] Bug fix (non-breaking change which fixes an issue)
[ ] New feature (non-breaking change which adds functionality)
[x] Code style update (formatting, local variables)
[ ] 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 Contributing Guidelines & Code of Conduct of this project.
[x] This PR does not contain plagiarized content.
[x] I have performed a self-review of my own code.
[x] I have commented my code, particularly wherever it was hard to understand.
[x] My changes generate no new warnings.

Note to reviewers 📄

Link your issue?


Table to support additional elements to make the table readable by a screen reader

Detailed description

Describe in detail the issue you're having.
Trying to use the table and set the basic attributes or element (caption) that are needed so a screen reader can read a table.

Per the accessibility guidelines you need to be able to use the following elements on a table to make it readable:

Caption element or Summary attribute
Ids on headers so that the td can reference them using "header" attribute
Scope attribute to help a identifier the header as a row or col scope.

Here some accessibility links:
https://www.w3.org/WAI/tutorials/tables/
https://www.w3.org/TR/wai-aria-practices-1.1/#table
I've even attached a sample table we create that has 2 headers for a given table cell.

Is this a feature request (new component, new icon), a bug, or a general issue?
enhancement

Is this issue related to a specific component?
table

What offering/product do you work on? Any pressing ship or release dates we should be aware of?
IBM Watson Recruitment, Accessibility deadline of Dec 10, 2018.

Additional information

Screenshots or code
Code example:

xxxxx
xxxxx
xxxxx
xxxxx
xxxxx

row1
yyyyyy
yyyyyy
yyyyyy
yyyyyy

row2
zzzzz
zzzzz
zzzzz
zzzzz

row3
vvvvv
vvvvv
vvvvv
vvvvv

Hello, I'd like to fix this issue - could this issue be assigned to me please?

For sure!

Thanks for taking this on @sksiyer

Has this been fixed yet? Do you have an estimated timeframe on fix? Thanks

@sksiyer Has this been fixed yet? Do you have an estimated timeframe on fix? Thanks

Estimate timeframe for fix Q1 2021? Thank you. Sorry about delay on this

@sksiyer Has this been fixed yet? Do you have an estimated timeframe on fix? Thanks

Estimate timeframe for fix Q1 2021? Thank you. Sorry about delay on this


Does not respect not-supported deviations

When used in the Infix project they use deviations to document which parts of the YANG tree is not supported.  For example:
deviation "/if:interfaces-state" {
   deviate not-supported;
   description "Deprecated";

But yangdoc ignores this and happily shows it:

Possibly, when iterating over all nodes in the tree, we need to ask libyang if a node is supported or not?

It seems this issue only affects /ietf-interfaces:interfaces-state/.  Other nodes marked deviate not-supported; are in fact pruned by libyang, e.g., /ietf-interfaces:interfaces/interface/ipv4/neighbor.
Calling yanglint -f tree, which use libyang, on the same input generate a correct output, so I have no idea why doing the same with yangdoc (via libyang-pythyon).
Since interfaces-state is a deprecated node, I'm going to workaround this particular issue by defaulting to filter out all deprecated and obsolete nodes.  (This is something we wanted to do anyway.)


Sonos - Restricted Device Error (Joolz)

Describe the issue
@joolz - 2024/07/08 09:56 pm
I have an issue when trying to modify, pause or stop music whilst spotify is casting on my Sonos speaker:
Failed to call service media_player/media_pause. Restricted device
If playing on my computer speaker all works fine.
Reproduction steps
?

FYI - just released a new version of the SpotifyPlus integration
[ 1.0.41 ] - 2024/07/18

Added support for Sonos device control and status updates via the Python SoCo (Sonos Controller) API package. These changes will allow you to control playback, obtain current status, and transfer Spotify Connect Player control to / from the device. Note that this works best when the device is controlled by the various Spotify Applications (e.g. Desktop, Mobile, and Web). Sonos devices that are controlled by the Sonos Applications can behave erratically when monitored by SpotifyPlus. More information on why that is can be found on the Spotify Connect Brand Notes wiki documentation page.
Updated underlying spotifywebapiPython package requirement to version 1.0.76.

Waiting to hear back from Joolz on the community forum to see if it fixed his issue.

With the new version I am getting this error when trying to initialise playing music from the integration, please advise:
Failed to call service media_player/media_play. UPnP Error 701 received: Transition not available from <IP_ADDRESS>

Hi thlucas1 still also get this whilst trying to change a song from the integration AFTER pairing music to a Sonos speaker from the Windows Desktop Spotify app:
Failed to call service media_player/media_next_track. Restricted device

The Sonos support that was added was only for controlling the transport (e.g. pause, resume, next track, volume, mute, etc).  It does not include start play of a track / playlist / album / etc.  I just recently acquired a Sonos device (Symfonisk), so am still figuring things out.
It appears that Sonos does not fully implement the Spotify Connect API correctly, in that the Sonos Desktop Application and the device itself does NOT keep the Spotify Web API informed of status updates or transport status.  The SpotifyPlus integration was developed  on top of the Spotify Web API, so if a device does not communicate with the Spotify Web API then it's bound to have issues.  More information can be found on my Spotify Connect Brand Notes page.
With that said, Sonos devices may never be fully supported by the integration.

@joolz1
What is the model of the Sonos device you are trying to use with Spotify Connect and the integration?  e.g. Symfonisk? Arc?, etc.
I have a Sonos Symfonisk (gen 2) that can be controlled from the HA SpotifyPlus integration, but only after initiating playback from the Spotify Desktop / Web / Mobile player.  Note that only AV Transport can be controlled: e.g. pause, resume, next, previous, shuffle, repeat, mute, volume up / down.
Note that the SpotifyPlus integration does not support the following for Sonos devices (yet - currently working on this):

play context (e.g. playlist, album, artist).
play track.
The integration does support these features for manufacturers that CORRECTLY implement the Spotify Web API; note that Sonos does not correctly implement the Spotify Web API, which is why they don't work on Sonos.

FYI - just released a new version of the SpotifyPlus integration.
[ 1.0.44 ] - 2024/07/24

Updated service player_set_shuffle_mode to correctly set shuffle mode for Sonos devices.
Updated service player_set_repeat_mode to correctly set repeat mode for Sonos devices.
Updated service player_set_volume_level to correctly set volume level for Sonos devices.

@joolz1
FYI - just released a new version of the SpotifyPlus integration .
[ 1.0.45 ] - 2024/07/30

Updated service player_transfer_playback to support Sonos devices with some limitations; see the Sonos Limitations wiki documentation for further details.
Updated service player_media_play_context and player_media_play_tracks to support Sonos devices with some limitations; see the Sonos Limitations wiki documentation for further details.
Fixed a bug in the player_transfer_playback service that was not transferring control to offline Spotify Connect devices.

This should fix the transfer playback issues. Please see the Sonos Limitations wiki documentation for detailed information on Sonos device limitations. You may still have to switch the music source via the Spotify Desktop / Mobile app if you use multiple music sources on your Sonos device(s).
Can you give the above release a try and let me know if it fixes your problem?
Thanks

@joolz1
FYI - just released a new version of the SpotifyPlus integration
[ 1.0.54 ] - 2024/08/22
If you haven't done so, take a look at the OAuth2 Token for tokentype=authorization_code Devices wiki document for expanded Sonos support.
Going to close this issue, as I have not heard back from you in 3 weeks.  If you're still having issues we can re-open - try the above link and updated version first though.
Thanks


ci: add conformance-ginkgo-race

This commit introduces a new workflow for running the ginkgo test suite with race detection enabled. The goal is to start this effort by doing a copy and paste of the existing ginkgo workflow and modifying it as needed. In the future, effort will be put towards reducing this duplication.
Thank you to @markpash for getting this started.
Fixes: #26170
Supersedes https://github.com/cilium/cilium/pull/27797.
Here is the diff between conformance-ginkgo-race and conformance-ginkgo:
1c1
< name: Conformance Ginkgo (ci-ginkgo)
---
> name: Conformance Ginkgo Race Detection (ci-ginkgo-race)
22a23
>   pull_request: {}
171c172
<             until docker manifest inspect quay.io/${{ env.QUAY_ORGANIZATION_DEV }}/$image:${{ needs.setup-vars.outputs.SHA }} &> /dev/null; do sleep 45s; done
---
>             until docker manifest inspect quay.io/${{ env.QUAY_ORGANIZATION_DEV }}/$image:${{ needs.setup-vars.outputs.SHA }}-race &> /dev/null; do sleep 45s; done
385a387,389
>             # Race detection variables
>             export RACE=1
>             export LOCKDEBUG=1
393c397
<              -cilium.tag=${{ needs.setup-vars.outputs.SHA }}  \
---
>              -cilium.tag=${{ needs.setup-vars.outputs.SHA }}-race  \
395c399
<              -cilium.operator-tag=${{ needs.setup-vars.outputs.SHA }} \
---
>              -cilium.operator-tag=${{ needs.setup-vars.outputs.SHA }}-race \
397c401
<              -cilium.hubble-relay-tag=${{ needs.setup-vars.outputs.SHA }} \
---
>              -cilium.hubble-relay-tag=${{ needs.setup-vars.outputs.SHA }}-race \
409c413
<                -cilium.tag=${{ needs.setup-vars.outputs.SHA }}  \
---
>                -cilium.tag=${{ needs.setup-vars.outputs.SHA }}-race  \
411c415
<                -cilium.operator-tag=${{ needs.setup-vars.outputs.SHA }} \
---
>                -cilium.operator-tag=${{ needs.setup-vars.outputs.SHA }}-race \
413c417
<                -cilium.hubble-relay-tag=${{ needs.setup-vars.outputs.SHA }} \
---
>                -cilium.hubble-relay-tag=${{ needs.setup-vars.outputs.SHA }}-race \

Add CI workflow for running ginkgo with race detection

Copy/pasting comment from previous PR:

There is a special trick you need to do to get your new workflow to register when you open the PR: add a temporary pull_request: {} trigger to the workflow, just to register the workflow on the repository when the PR opens. After it has been registered, you will be able to run the workflow with the Ariane trigger no problem, and can remove the pull_request: {} trigger.
As for structure: for testing let's just do it copy/pasted for now, when we are happy with how it works I would suggest we look into merging the changes in the main Ginkgo workflow file, so that only one file needs to be maintained. One idea I have is to leverage the extra-args parameters that Ariane allows, so we could trigger race pipelines with a trigger like this: /ci-ginkgo race.
Let me know if you need help with anything :)

/ci-ginkgo-race

/ci-ginkgo-race

/ci-ginkgo-race

/ci-ginkgo-race

/ci-ginkgo-race

/ci-ginkgo-race

/ci-ginkgo-race

/ci-ginkgo-race

/ci-ginkgo-race

/ci-ginkgo-race

/ci-ginkgo-race

/ci-ginkgo-race

/ci-ginkgo-race

/ci-ginkgo-race

/ci-ginkgo-race

/ci-ginkgo-race

/ci-ginkgo-race

/ci-ginkgo-race

/ci-ginkgo-race

/test

/test

/test


Retain focus and keyboard visibility of SearchTextField after configuration changes

What I have done and why
Currently, the app opens keyboard after configuration changed even when a user hid the keyboard by tapping back button or 'search' key. Also, position of cursor is not retained after the event.
Therefore, I...

added focusRestorer modifier to retain focus and keyboard keyboard
added logic to retain focus and keyboard after configuration changed
added logic to not view keyboard when a user canceled keyboard by tapping back button or 'search' button
added logic to ignore change of focus and keyboard during configuration changes

Fixes #1033
Considerations

Need to cache focus flag value during initialization to avoid incorrect modification during initial composition
Need to ignore focus changes while the activity is changing configurations
Need to work well with multiple TextFields

Do tests pass?

[x] Run local tests on DemoDebug variant: ./gradlew testDemoDebug
[x] Check formatting: ./gradlew --init-script gradle/init.gradle.kts spotlessApply

Is this your first pull request?

[x] Sign the CLA
[x] Run ./tools/setup.sh
[x] Import the code formatting style as explained in the setup script.

As per advice from @JolandaVerhoef, before merging this PR, I will wait for Compose Engineers' opinion on this workaround.

I created another repository to highlight this workaround.
https://github.com/saryongkang/focus-restorable-textfield
Uploading screenrecording_focus_textfield_1113_2023.mp4…

There are a few issues:

The cursor position is not retained after a configuration change
IME state is not retained after configuration changes in all cases. Try changing configuration 5 times in a row, and notice the inconsistency. Sometimes IME state would be preserved and sometimes not.

Tested on a physical device, Pixel 6a, Android 13

Sorry for the delayed process.
Due to several changes in BasicTextField and focus management, this PR need to be rewritten to reflect the latest update. Let me close it temporarily and re-open it in Jan 2025.


Update/doc

0.2 (2020-05-11)

Update:

update: Documentation on ReadMe File

Codecov Report

Merging #6 (1a8f82b) into main (918f6e2) will not change coverage.
The diff coverage is n/a.

@@            Coverage Diff            @@
##              main        #6   +/-   ##
=========================================
  Coverage   100.00%   100.00%
=========================================
  Files            2         2
  Lines            6         6
=========================================
  Hits             6         6

Flag
Coverage Δ

osmacos-latest
?

osubuntu-latest
100.00% <ø> (ø)

oswindows-latest
?

pytest
100.00% <ø> (ø)

python3.10
100.00% <ø> (ø)

python3.9
?

Flags with carried forward coverage won't be shown. Click here to find out more.

Continue to review full report at Codecov.

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


chore: document dokku_domains set state option

Includes more information on dokku_domains set option and improves the readme documentation.

Cheers @luizfonseca , much appreciated.
The README is auto-generated from the module files, in your particular case from
https://github.com/dokku/ansible-dokku/blob/b376657b41e40b6e6a185908352d5e40fdf71812/library/dokku_domains.py#L42
Would you mind moving your changes there?

Cheers @luizfonseca , much appreciated.
The README is auto-generated from the module files, in your particular case from
https://github.com/dokku/ansible-dokku/blob/b376657b41e40b6e6a185908352d5e40fdf71812/library/dokku_domains.py#L42
Would you mind moving your changes there?

Oh good catch! No problem, I'll move it.

Updated 👍🏽


Configure DNS for mainline Azure staging deployment

This may be blocked on Seattle (existing deployment) while Rochester (new deployment) is ready for it.

Is there actual coding work that needs to happen here?  Or is this just a reminder to fill in proper DNS values in the final ROC Terraform configs?

This is done, I believe


[Question] Any tips for migrating to docker?

Hi i want to migrate a shopware 6 v6.4.18 to docker. I tried copying the files from these directories
/var/www/html/files | Documents and other private files
/var/www/html/var/log | Logs
/var/www/html/public/theme | Compiled theme files
/var/www/html/public/media | Uploaded files
/var/www/html/public/bundles | Bundle Assets
/var/www/html/public/sitemap | Sitemap
/var/www/html/public/thumbnail | Generated Thumbnails
/var/www/html/config/jwt
to the docker container and also importing the database with no success.
First try:
The source system had mariadb 10.3 and the destination (docker) mysql 5.7 which led to import errors.
Second try:
Using mariadb within docker. This time i didn't get any import errors but the site was blank.
Couldn't find any problems in browser console, docker log or traefik logs. Does someone has any idea what i am doing wrong ?
Thanks!

Have you tried to ask in the Slack Community too? https://shopwarecommunity.slack.com/archives/C02DCPX35L4
So none of your logs is telling you anything? Nothing went wrong? Like no docker logs from app or db is saying anything?

I will close this as it is inactive


Add KerbalAlarmClock to "recommends" and move UniversalStorage to "suggests".

Incidentally, any reason why only the "abstract" is displayed in CKAN, and not the "description"? Other mods show extended descriptions in the GUI.

Looks good, merging...
As for the abstract, that's just how the GUI is coded. Those other mods probably have long abstracts.
https://github.com/KSP-CKAN/CKAN/blob/871678aa88f28b1a5ae3f64af149a1c766ae070e/GUI/MainModInfo.cs#L144

Thanks for the quick merge!  And I left an improvement suggestion for CKAN.