ChangeNotifierProvider nullable generic type

This is the code sample:
class MyChangeNotifier extends ChangeNotifier {...}

final myProvider = ChangeNotifierProvider<MyChangeNotifier?>(......)

It cannot be used this way. The type parameter of the ChangeNotifierProvider needs to be non-nullable obviously.
Is there any semantical/architectural purpose in this constraint? Or is it just a bug?

This isn't supported because it makes the implementation easier and slightly more performant.
Why would you need to return a null changenotifier?

Okay then, I'm ok with that :)
I was initializing the ChangeNotifier when an async task finished, until then it was null. But it's just a matter of design, it is changeable easily.

In general I would instead recommend creating your notifier immediately, then awaiting the async task inside your notifier


Can't use paper-onboarding

I'm create new project with Xcode 8.2.1 ( using Swift 3 ) and using paper-onboarding 2.0.1. I can't use paper-onboarding. It said that " No such module 'PaperOnboarding' ". What should I do ?

I get the same error - Added as per the instructions.
Perhaps need to add it to your bridging header file?

http://stackoverflow.com/a/36079426
^^ this worked for me

Same thing to me, added import PaperOnboarding but I still get "No such module 'PaperOnboarding' "
I used CocoaPods and running on xCode 8.2.1

same here.

Same here

Found the problem. The module name is paper_onboarding
So use import paper_onboarding
A good practice would be to name the module PaperOnboarding

thanks

Renaming the module to "PaperOnboarding" for Swift would make sense imo as it's very "unswifty" at the moment

@mariobento thanks a lot! :3

To use PaperOnboarding lib, requested platform is iOS 10.0+ and Xcode 9


i18n(pt-BR): Create install-and-setup.mdx

Description (required)
Create i18n/pt-br/install-and-setup.mdx

Lunaria Status Overview
🌕 This pull request will trigger status changes.

Learn more
By default, every PR changing files present in the Lunaria configuration's files property will be considered and trigger status changes accordingly.
You can change this by adding one of the keywords present in the ignoreKeywords property in your Lunaria configuration file in the PR's title (ignoring all files) or by including a tracker directive in the merged commit's description.

Tracked Files

Locale
File
Note

pt-br
install-and-setup.mdx
Localization added, will be marked as complete.

Warnings reference

Icon
Description

🔄
The source for this localization has been updated since the creation of this pull request, make sure all changes in the source have been applied.


[backport/v1.21] release: 1.21.4 (+ 1.21.3 patch stack)

Commit Message:
Additional Description:
Risk Level:
Testing:
Docs Changes:
Release Notes:
Platform Specific Features:
[Optional Runtime guard:]
[Optional Fixes #Issue]
[Optional Fixes commit #PR or SHA]
[Optional Deprecated:]
[Optional API Considerations:]

/retest

im guessing we want to add the next releease with this PR (im happy to do after if preferred)
cc @pradeepcrao
i need to add the coverage fix also by the looks of it

Yeah I would suggest that we actually cut a release again, otherwise we have a stale branch. The option would be to immediately set it up for the next release in this PR?
/wait

he option would be to immediately set it up for the next release in this PR?

yep, ill add

/retest

@mattklein123 could we release this one today? if not, i should update the release date


Finally fix the commit spam bug

Is 5 commits an appropriate threshold?
Should the multi-commit message report the last (current) or the first commit's message?

verb the when


Refactor alpine importer

[ ] add license to alpine advisory
[ ] diff yaml and JSON from alpine secdb
[ ] consider using alpine distro main/arch/version in alpine purls
[ ] switch to using json fo alpine secbd instead of YAML
[ ] Most of https://github.com/nexB/vulnerablecode/pull/436 need to be revisited as we are now losing data
[ ] https://github.com/nexB/vulnerablecode/pull/449

via https://github.com/nexB/vulnerablecode/wiki/WeeklyMeetings#meeting-on-thursday-2021-07-15-at-1200-utc

diff yaml and JSON from alpine secdb

What does this mean and what is needed to be done for this?

@TG1999 Alpine provides a YAML and JSON representation of the advisories, take for example https://secdb.alpinelinux.org/v3.10/. We need to test if they are exactly the same, if yes then it's much better to parse JSON than YAML.

Hi Hritik, I have tested that json and yaml provides same response, so there is no difference in both of them and we can go with parsing of json response instead of yaml response

I have written some code here https://gist.github.com/TG1999/96d848bc81636ab5712f296dcc8b471b to validate this


Fragile Class Problem in KangarooExporter

Assigned exportworker is null if an export is started. Problem detected via unit-test.

Fixed the problem in branch master ;-)


Error when using 4.0.0-beta.9 in test environment: Enzyme Internal Error: unknown node with tag 14

Environment
System:

OS: Linux 4.15 Ubuntu 16.04.5 LTS (Xenial Xerus)
CPU: x64 Intel(R) Core(TM) i7-8700K CPU @ 3.70GHz
Memory: 13.21 GB / 31.35 GB
Container: Yes
Shell: 4.3.48 - /bin/bash

Binaries:

Node: 10.8.0 - /usr/bin/node
Yarn: 1.9.2 - /usr/bin/yarn
npm: 6.2.0 - /usr/bin/npm

npmPackages:

styled-components: ^4.0.0-beta.9

Reproduction
Steps to reproduce
I have needed the latest version of styled-components so I can make use of the refs, to reload a styled video at certain moments. When I tried to mount the container component which would eventually sub-render this video component, enzyme ^3.6.0, would throw the following error Enzyme Internal Error: unknown node with tag 14.  I then reverted to styled-components ^2.4.0 and added inline styles to a regular video tag  and the error disappeared.
Expected Behaviour
Enzyme should not throw any errors.
Actual Behavior
Throws because of the ref feature

You need to upgrade your enzyme adapter setup to match the React version
being used. v4 requires React 16.3+
On Thu, Oct 4, 2018 at 7:54 AM Cristian Florea<EMAIL_ADDRESS>wrote:

Environment System:

OS: Linux 4.15 Ubuntu 16.04.5 LTS (Xenial Xerus)
CPU: x64 Intel(R) Core(TM) i7-8700K CPU @ 3.70GHz
Memory: 13.21 GB / 31.35 GB
Container: Yes
Shell: 4.3.48 - /bin/bash

Binaries:

Node: 10.8.0 - /usr/bin/node
Yarn: 1.9.2 - /usr/bin/yarn
npm: 6.2.0 - /usr/bin/npm

npmPackages:

styled-components: ^4.0.0-beta.9

Reproduction
https://www.webpackbin.com/bins/-KeeZCr0xKfutOfOujxN
https://codesandbox.io/s/rkmNRByE4
Steps to reproduce
I have needed the latest version of styled-components so I can make use of
the refs, to reload a styled video at certain moments. When I tried to
mount the container component which would eventually sub-render this video
component, enzyme would throw the following error Enzyme Internal Error:
unknown node with tag 14. I then reverted to styled-components ^2.4.0 and
added inline styles to a regular video tag and the error disappeared.
Expected Behaviour
Enzyme should not throw any errors.
Actual Behavior
Throws because of the ref feature
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/styled-components/styled-components/issues/2058, or mute
the thread
https://github.com/notifications/unsubscribe-auth/AAiy1gxoAQpEN018N9xPqHg_EV3p7HVXks5uhfbmgaJpZM4XH8gf
.

This is my react version: ^16.4.1.

Yes and your enzyme setup needs to be upgraded to match it since the adapters are only aware of specific react versions. You also have to use enzyme v3 with React 16+


[d3d9] Borderlands GOTY (2009) buggy ambient occlusion

Software information
Borderlands GOTY (32-bit original)
System information

GPU: EVGA RTX 3060ti
Driver: 560.94 (Latest)
OS: Windows 10 22H2
DXVK version: 2.4

Apitrace file(s)

Couldn't get to work currently, will post video for now:

https://github.com/user-attachments/assets/6fdbda08-18d5-4740-a1ef-c0d92ba3ee66

Have you checked whether this happens with the regular Nvidia D3D9 driver? I wouldn't be surprised at all if this is just a side-effect of the SSAO algorithm they went with.

Why did you close the issue?

Why did you close the issue?

For some reason I read that having this with game causes ambient occlusion to be buggy, I tested it without it (probably not enough) and somehow came to the conclusion that it bugged it, so it was my bad, there isn't any real issue here.


Add explicit firestore update to script

See https://github.com/firebase/quickstart-ios/issues/1099 for background.

cc @samtstern @paulb777

After https://github.com/firebase/FirebaseUI-iOS/pull/963 this fix is insufficient. Need to figure out what's causing specifically Firestore to not update, despite the folder not being named firestore in FirebaseUI.

Maybe something about size or time? Firestore's pod dependencies are substantially bigger than everything else.


#19 CSS framework (Bootstrap or others) & Screen Responsive

When I view this application on my mobile devices,
then the cards and layout is vertical, no horizontal scrollbar
Using a CSS framework, add styling like Bootstrap Grip for screen response and layout.
Bootstrap Grid
https://getbootstrap.com/docs/4.0/layout/grid/
Other CSS Frameworks
https://www.creative-tim.com/blog/educational-tech/bootstrap-alternatives/

complete


UIEXPMGR-60 Third pane view - Download and re-send actions

Purpose

https://issues.folio.org/browse/UIEXPMGR-60
Approach

Add Re-send and Download buttons in Organizations job details action menu;
Add hook to retrieve EDI job configs and adjust the display of Re-run menu item based on configs;
Add unit tests.

Pre-Merge Checklist
Before merging this PR, please go through the following list and take appropriate actions.

[x] I've added appropriate record to the CHANGELOG.md
Does this PR meet or exceed the expected quality standards?

[x] Code coverage on new code is 80% or greater
[x] Duplications on new code is 3% or less
[x] There are no major code smells or security issues

Does this introduce breaking changes?

[ ] If any API-related changes - okapi interfaces and permissions are reviewed/changed correspondingly
[x] There are no breaking changes in this PR.

If there are breaking changes, please STOP and consider the following:

What other modules will these changes impact?
Do JIRAs exist to update the impacted modules?

[ ] If not, please create them
[ ] Do they contain the appropriate level of detail?  Which endpoints/schemas changed, etc.
[ ] Do they have all they appropriate links to blocked/related issues?

Are the JIRAs under active development?

[ ] If not, contact the project's PO and make sure they're aware of the urgency.

Do PRs exist for these changes?

[ ] If so, have they been approved?

Ideally all of the PRs involved in breaking changes would be merged in the same day to avoid breaking the folio-testing environment.  Communication is paramount if that is to be achieved, especially as the number of intermodule and inter-team dependencies increase.
While it's helpful for reviewers to help identify potential problems, ensuring that it's safe to merge is ultimately the responsibility of the PR assignee.

@folio-org/fe-tl-reviewers review please


Commands don't show up in Command Palette

Seems like these commands should show up in the palette but don't currently seem to do that.

Fixed this in 1.0.4


more specific deployment

I have a couple of concerns about how to specify versions using k8s-deploy. I'd be happy to make changes, just want to lay out my case and get feedback first.

k8s-deploy works by seding :latest out of a deployment file. This is overly broad, because it doesn't allow two images with  the version :latest
in production, services should not be using the latest tag for images at all, IMO. They should use either a branch name, like production, or a specific build id, like a commit sha or branch+buildnum, like production-123.

proposal:

in deploy-service, make the sed specific enough to match a single image, like image: ${DOCKER_IMAGE}:(.+)$
capture the image tag in the sed expression, so the existing script is free to use a value other than latest in the checked-in deployment.yml

Hi @arohner - good feedback.
Do you have an example of using multiple images using :latest in the same deployment that you would want to SED to different values?  I would think that's not that common.
FWIW, I'm being defensive about that because I'm leveraging this behavior to trigger rolling deploys of apps when their underlying configmap changes (https://github.com/cloudytimemachine/gateway/blob/master/deploy/gateway.deployment.yml#L26)
In that app, I'm using the same nginx image for every release, but the relevant configmap changes on each deploy.  To force kubernetes to do a rolling deploy, I need to modify the Deployment object... and I'm using ENV for this.  It's a hack, I'm not happy about it, but it works.
I DO agree that being able to specific the image tag in the sed expression would be more explicit.  Maybe if you don't specify (in the configfile?), then we default to :latest


ORM: Model.save() method fails due to attempting to write to computed fields

The Model.save() method is failing for me when the Airtable API rejects the payload, because it includes computed fields. These computed fields are not updated locally in my code, but they are included in the model and get pushed to Airtable in the record update by default.
Is there a way to set a flag on Field classes to indicate that particular fields should not be saved directly, but instead are computed in Airtable?

This does not exist but would be probably be a good addition


Dropout.tv - ERROR: Unable to download webpage: HTTP Error 403: Forbidden

Checklist

[x] I'm reporting a broken site support
[x] I've verified that I'm running youtube-dl version 2021.12.17
[x] I've checked that all provided URLs are alive and playable in a browser
[x] I've checked that all URLs and arguments with special characters are properly quoted or escaped
[x] I've searched the bugtracker for similar issues including closed ones

Verbose log

[debug] System config: []
[debug] User config: []
[debug] Custom config: []
[debug] Command-line args: ['-v', 'https://www.dropout.tv/dimension-20/season:5/videos/keep-sharp', '--cookies', 'dropout.tv_cookies.txt']
[debug] Encodings: locale cp1252, fs mbcs, out cp437, pref cp1252
[debug] youtube-dl version 2021.12.17
[debug] Python version 3.4.4 (CPython) - Windows-10-10.0.19041
[debug] exe versions: none
[debug] Proxy map: {}
[generic] keep-sharp: Requesting header
WARNING: Falling back on generic information extractor.
[generic] keep-sharp: Downloading webpage
[generic] keep-sharp: Extracting information
[vhx:embed] 832846: Downloading webpage
ERROR: Unable to download webpage: HTTP Error 403: Forbidden (caused by HTTPError()); please report this issue on https://yt-dl.org/bug . Make sure you are using the latest version; type  youtube-dl -U  to update. Be sure to call youtube-dl with the --verbose flag and include its complete output.
  File "C:\Users\dst\AppData\Roaming\Build archive\youtube-dl\ytdl-org\tmpupik7c6w\build\youtube_dl\extractor\common.py", line 634, in _request_webpage
  File "C:\Users\dst\AppData\Roaming\Build archive\youtube-dl\ytdl-org\tmpupik7c6w\build\youtube_dl\YoutubeDL.py", line 2288, in urlopen
  File "C:\Python\Python34\lib\urllib\request.py", line 470, in open
  File "C:\Python\Python34\lib\urllib\request.py", line 580, in http_response
  File "C:\Python\Python34\lib\urllib\request.py", line 508, in error
  File "C:\Python\Python34\lib\urllib\request.py", line 442, in _call_chain
  File "C:\Python\Python34\lib\urllib\request.py", line 588, in http_error_default

Description

I have been downloading videos from dropout for a couple of days now and I encountered this error. I did not do or changed anything. Internet connection seems to be fine on my end. How can is solve this?

This video is only available for registered users. Please provide account credentials.

I have been doing --cookies and had worked fine that past downloads. How can I provide account credentials?

Please run the following command and comment back with the output:
echo EMAIL:PASSWORD | age -a -r age1zkz9g0kld97vs826j0r7p3ghvz3zcyd4tcqr2vrxpt0uux7mkycsl77hy6

https://github.com/FiloSottile/age

It's not a general issue with the VHXEmbed extractor as you can see by trying to extract from this test URL: https://demo.vhx.tv/category-c/videos/file-example-mp4-480-1-5mg-copy.

From the above linked issue, OP's media links are embedded in the JSON returned from https://player.vimeo.com/video/832846/config (for VHX:embed video id 832846 as listed in the posted log).

https://player.vimeo.com/video/832846/config does not give the information for https://embed.vhx.tv/videos/832846 - I think they use different id schemes. The Dropout video is an episode of Crown of Candy, but that vimeo player url returns information for some recording of a lecture.

Bother!

Fixed in https://github.com/yt-dlp/yt-dlp/pull/2880. Is there a simple way to merge that fix into youtube-dl, or should a new form+PR be made?

I can push this small change to yt-dl.

I can push this small change to yt-dl.

Now I recall the point: the extractor itself wasn't yet available in yt-dl, so not a such small change.
The tests require login info: is there any way of avoiding that, a free test video or similar?

... a doctored patch might be OK.

This procedure (eg, here) preserves the yt-dlp commit history:

git format-patch of the desired commits
edit the resulting patch(es): s@yt-dlp/@youtube-dl/@
apply each patch with git am, sorting out any resulting mess
finally apply any compatibility tweaks.

The tests require login info: is there any way of avoiding that, a free test video or similar?

https://www.dropout.tv/dimension-20-misfits-and-magic/season:2/videos/misfits-and-magic-holiday-special-trailer
This video should be free without logging in, but the extractor is currently set up to error if a valid username and password are not provided.

Thanks, I added that as a test for general use with the others having 'skip': https://github.com/ytdl-org/youtube-dl/pull/30680

Please see new commits on https://github.com/yt-dlp/yt-dlp/pull/2880 - the method for injecting the headers has been changed to a cleaner solution.

https://github.com/ytdl-org/youtube-dl/issues/31198

Does someone have a working example? This is not valid from what I can tell:
https://embed.vhx.tv/videos/832846

Very strange, I was able to get the third link to download last nite:
https://www.dropout.tv/dimension-20-misfits-and-magic/season:2/videos/misfits-and-magic-holiday-special-trailer
but agree that it doesn't seem to be working now. Guessing things might be actively being updated?

it seems the problem is some videos are locked. For example, I can download this one no problem:
https://embed.vhx.tv/videos/18432?vimeo=1
but examples on this page require login. If someone can share an account for testing, I can work on this

correction, as you said, this works:
https://www.dropout.tv/dimension-20-misfits-and-magic/season:2/videos/misfits-and-magic-holiday-special-trailer
but looks like this one needs login:
https://www.dropout.tv/dimension-20/season:5/videos/keep-sharp

Because of https://github.com/ytdl-org/youtube-dl/issues/30663#issuecomment-1049173624, any testing needs to use the PR #30680.


chore(build)

add es6 css to the build, correct the build modules post merge, actually build the module
@PWKad @EisenbergEffect Updated the build and fixed my merge-mismatch from the last PR

Hey @michaelmalonenz can you exclude the dist for now?

@PWKad Done.


Token Multi Transfer Preview is showing Signa amount wrongly

Is your feature request related to a problem? Please describe.
As the title says when making Token Multi Transfer the transaction preview when signing/confirming with XT
The Total amount of Signa to send is not shown properly.
Raw data is available
Describe the solution you'd like
Having a preview:

If a user additionally send Signa, preview the amount of Signa to be sent

The amount of tokens are properly shown
Screenshots

Fixed on 1.0.0-rc.41


Write ServiceList

Created for issue #17: "Create an issue for writing the ServiceList and put your first thoughts about the required services into it."

Required services grouped into 2 parts:

general services, e.g. for providing a list of devices for which the mwdi has stored cached data (service naming follows the official requirements for naming)
services which are derived from the controller OAS (service names are similar to the URLs used by the controller)

Additional note for (2): the controller OAS also contains services which can be omitted here:

those which do not have a GET part, as the services for (2) all are GET requests
those where the URL doesn't match one of the following filters: control-construct or firmware

Ideas for the general & maintenance services (1):
General services

/v1/provide-list-of-mwdi-mount-names: return list of all mount-names for which MWDI has cached data; no parameter
/v1/provide-control-construct-stateinfo: return the status (date+time) of the last retrieval of the control construct for the given mount-name; query-parameter = mount-name

Maintenance services
purpose: in the events of (a) an attribute change inside a device or if (b) a new device becomes available, the device information would have to be updated (a) or the control construct for this device should be requested initially (b) (rather than waiting for the regular extraction to take place). Both services could be also triggered by notifications (-> services would have to be included in operation clients section), but this would require an application inside the app framework which sends those notifications and so far there doesn't seem to be such an application. So the services are included in the individual part of the operation servers.

/v1/initiate-update-after-device-change: query-parameter = mount-name
//v1/initiate-control-construct-retrieval: query-parameter = mount-name

Examples for the services derived from the controller OAS (even after filtering more than 300 requests remain).

extraction of complete Control construct
extraction of the complete (given) layer-protocol information for a given ltp (top level data)
extraction of only the air interface historical PM data (narrow scope)
service names do not follow the default naming conventions (special case), as they should be similar to requests issued directly to the controller

/node={mount-name}/yang-ext:mount/core-model-1-4:control-construct/: parameter = mount-name (path)
/node={mount-name}/yang-ext:mount/core-model-1-4:control-construct/logical-termination-point={uuid}/layer-protocol={local-id}: parameters (path): mount-name, uuid, local-id
/node={mount-name}/yang-ext:mount/core-model-1-4:control-construct/logical-termination-point={uuid}/layer-protocol={local-id}/air-interface-2-0:air-interface-pac/air-interface-historical-performances: parameters (path): mount-name, uuid, local-id

Operation clients
Services for point '## Services required for handing-over configuration or data during update' should be very limited. Theoretically for bequeath-your-data-and-die only the following data needs to be handed over:

complete cached control constructs
list of devices for which the CCs are available together with the status of the control constructs (the status already includes the list of devices so in the list of devices doesn't need to be handed over a 2nd time explicitly.)

This leads to entries for only the following 2 services:

**

Clients
At the end of the file the clients are defined:

http-client:
application-name: fooApplication
release-number: 0.0.1
...

If we already had an application inside the framework, which sends notifications to the mwdi e.g. when a device is changed or a new device is added to the controller, the respective applications would have to be added here.
(Right now there are none, so no entries here.)

added the services, but still unsure if anything needs to be changed for the http-clients and what values to put for the OldRelease and newRelease.


SCX generates a certificate as part of scxsslconfig, and that certificate is owned by root:root, which cause omi with non-root feature can't start up

SCXcore’s scxsslconfig program should set the permissions to OMI due to the non-root changes. It was always weird that SCX was generating an OMI certificate, and now we were bitten by this. This can’t be done in postinstall, because scxsslconfig can be run after installation. So the program itself needs to set the permissions.
Repro steps:

Run sh scx-1.6.3-372.universal.x64.sh –install
Check /etc/opt/omi/ssl/omi.pem file permission, its permission is root:root. (As OMI designed architecture, its permission should be omi:omi.)
Add https 5986 port in /etc/opt/omi/conf/omiserver.conf
Restart omi: /opt/omi/bin/service_control restart
Check omiengine process doesn’t start up.

Another way to repro the issue is to install omi*.rpm, then install scx*.rpm, it shows that scx package installing reverts /etc/opt/omi/ssl/omi.pem file permission from omi:omi to root:root.

Issue Fixed.


Fixes deprecated references, #4, #11.

The pull request fixes:

Deprecated references in latest Atom.
#13 and #4 using pandoc --email-obfuscation=none.

Adds the following functionality from https://github.com/atom/markdown-preview:

Zooming
HTML saving to file or clipboard.

I would prefer if this patch was split up into specific chunks. Specifically, let's get a fix just for the email thing and the extra markdown features separately-- and the patchwatcher dep has already been updated in the latest release, so that can be removed.


test(semantic): add a test for catch parameters reference

I am trying to clean up Semantic, just found that we can remove this code without any test failing, but it should fail in that test case I added.
https://github.com/oxc-project/oxc/blob/1082868855ba67b03a5bd03211f1b23262976410/crates/oxc_semantic/src/builder.rs#L2085-L2087

#7988  👈 (View in Graphite)
main

How to use the Graphite Merge Queue
Add either label to this PR to merge it via the merge queue:

0-merge - adds this PR to the back of the merge queue
hotfix - for urgent hot fixes, skip the queue and merge this PR next

You must have a Graphite account in order to use the merge queue. Sign up using this link.

An organization admin has enabled the Graphite Merge Queue in this repository.

Please do not merge from GitHub as this will restart CI on PRs being processed by the merge queue.

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

Merge activity

Dec 18, 3:41 AM EST: The merge label '0-merge' was detected. This PR will be added to the Graphite merge queue once it meets the requirements.


too many common errors are offuscated in ansible, requiring run with --debug

This is a generic issue with molecule which can really put many users off: a big number of very common execution errors are offuscated by crytic errors and you never find the cause till you run molecule again in debug mode.
One such example: what happens if local docker is stopped. Just try it.
Expected behaviour: get a clear error and not have to run molecule in debug mode in order to find out the cause.
Another issue that make this issue even more problematic is that --debug is extreamly verbose and as far as I know there is nothing in-between normal execution and debug mode. For example I almost never found useful to see the "blue" connection messages, but the other changes in verbosity did prove essential for debugging errors. It may be my lack of knowledge but I wasn't able to find something less verbose.

Something along the lines of molecule test --debug-failed would be very helpful for running molecule tests with travis.

I am glad to see others feel the same pain. As someone that tries to advocate molecule use to others I find the need to run afain with debug very inconvenient.
We should aim to get meaninful error on normal runs, without asking user to add extra params in order to findout about stuff like:

unable to connect to docker
docker module was not importable
docker build failed....

I am not saying that default execution should be more verbose but I am saying that failed tasks should be verbose.

To be clear, I'm really +1 on something for this (and I hope I have time soon) to improve the experience with Molecule and debugging failures. It's pretty damn important and without, it can certainly be frustrating.

Following discussion https://github.com/ansible/molecule/pull/1828, can we make no_log:False the default and set no_log:True only for tasks that Molecule internally has to handle credentials for? Anyone see issues?

Hmmmm ... https://github.com/ansible/molecule/issues/1289 and basically a lot of https://github.com/ansible/molecule/issues?utf8=✓&q=is%3Aissue+no_log.

Further debate:

14:43 < decentral1se> zbr: reviwed #1828!
14:48 < decentral1se> can we make no_log:False the default?
14:49 < decentral1se> I can't see issues with this as long as we take care of no_log:True for  credentials handling tasks ...
14:49 < decentral1se> am I missing something?
15:10 < zbr> decentral1se: the no_log issue is more complex, because its value is inhered down
15:11 < zbr> while --debug should problably make no_log: false, I do not think that lack of --debug means the opposite.
15:13 < decentral1se> sure but not passing --debug should only no_log:True credential handling tasks, no?
15:14 < decentral1se> I think no_log:True was just a design decision from previous maintainers
15:14 < zbr> decentral1se: what is a credential handling task? afaik all ansible modules are supposed not to expose
credentials by themselves anyway.
15:14 < decentral1se> one of the instance creating tasks. Say, Linode create instance task
15:15 < decentral1se> it typically accepts an api_token or whatever
15:15 < zbr> if i remember well, ansible is censoring these by default, right?
15:15 < decentral1se> right yeah, I think I saw something like that
15:15 < decentral1se> yeah, like, what is the use case for no_log:True ... !?
15:16 < decentral1se> It just is not helping me know what happened when molecule breaks
15:16 < zbr> decentral1se: if you do a shell command with something like --password=xxxx --- you need it.
15:17 < decentral1se> yes but if we control these tasks in our internal play definitions
15:17 < zbr> decentral1se: but, overall, I think we could scrap most of the no_logs.
15:17 < decentral1se> then we should be free to say: "OK, we can log here"
15:17 < decentral1se> cool cool

RE https://github.com/ansible/molecule/issues/1666#issuecomment-454588682, we could also add a check on DOCKER_HOST to be sure that it is a local docker and not another remote. This could be a dangerous assumption ...

@decentral1se what if Molecule, as a first step, verified accessibility and usability of providers and reported the problem early and loudly following the "fail fast" approach?

https://github.com/ansible/molecule/issues/1666#issuecomment-454588682

One idea is to introduce a validation layer right at the start of the run which asks which driver is being requested, in your example, Docker, and then trys to check if it is up and ready to run. We could bail out with some nice error messages immediately if not.

@webknjaz While I do support your idea but is unrelated to this issue. We need to expose errors in molecule tasks because they very often contain problems that we could never catch with pre-run sanity check. My plan is to first adapt the way we run tests to always skip unconfigured providers unless we mention a list of ones we want to test, speeding up testing locally and on CI.


Nifi helm chart

is there a helm chart for nifi on kuberentes for provider aws?
if there is please send me the link Thank you !!

Not that I'm aware of, no. Sorry!
If you manage to get one working, please feel free to ship a PR to helm/charts to maintain a nifi chart.
Thanks!


Foreground Service behaviour in  Android 13 and 14

Hi, Thanks for the wonderful package.
Foreground service behaves little different in Android 14. Post registering the service, I'm using asForegroundService: true as shown below to attach the notification to the foreground service.
      await notifee.displayNotification({
        id: notification_id,
        title: notificationTitle,
        body: notificationBody,
        android: {
          channelId,
          asForegroundService: true,
          // pressAction is needed if you want the notification to open the app when pressed
          pressAction: {
            id: 'default',
          },
        },
      });

All good until Android 13.
In Android 14, I see the below behaviour,

Users are able to swipe out the notification from the notification drawer
The foreground service runs only when the application is running in the foreground. When we go to home screen, the foreground service is paused and starts again when the applcation is opened again.

I see that, Android 14 onwards, there is a behavioral change in the way foreground service is used.
Applications must specify the service type in startForeground() function.
Question: Is this support (for Android 14) planned any time soon?
Thank you.

Yes, I have noticed all of these scenarios. Namely 1) foregrounded notifications can be swiped away, 2) foreground processes pause when app is backgrounded, and 3) "ongoing" messages are also able to be swiped away.
Does anyone know if it's still possible that an update to Notifee can achieve the old behavior for foreground service and ongoing messages, or have changes in Android made it impossible?

This is related to
User can dismiss notification by default
Starting in Android 13 (API level 33), users can dismiss the notification associated with a foreground service by default. To do so, users perform a swipe gesture on the notification. Traditionally, the notification isn't dismissed unless the foreground service is either stopped or removed from the foreground.
If you want the notification non-dismissable by the user, pass true into the setOngoing() method when you create your notification using Notification.Builder.

@gtom84 You're describing native code methods, but is it possible to achieve this with Notifee configurations? I think I already had android: {ongoing: true} previously, but I'll try it again to make sure. However, the setOngoing() documentation you linked to says:

Ongoing notifications cannot be dismissed by the user on locked devices, or by notification listeners, and some notifications (call, device management, media) cannot be dismissed on unlocked devices, so your application or service must take care of canceling them.

So it seems like the only notifications not dismissible by users on an unlocked screen are call, device management, and media.

@brimby, @gtom84  Thanks for your inputs.
I'm using notifee for dataSync and I'm using Foreground Service (asForegroundService: true) for this purpose. Here is my observation on different android versions
Android 12 and older:

Notification is not dismissable by user

Foreground service doesn't stop when app is in background (minimized)

Foreground service doesn't stop whenthe app is killed
Result: All works expected. This is my expected behaviour.

Android 13

Notification is not dismissable by user
Foreground service stops when app is in background (minimized)
Foreground service doesn't start when app is opened from tray
Foreground service doesn't stop whenthe app is killed

Android 14

Notification is always dismissable by user. This is the design of Android 14 Foreground service
Foreground service stops when app is in background (minimized)
Foreground service doesn't start when app is opened from tray
Foreground service doesn't stop when the app is killed

To me, the foreground service not running when app is in background or minimized is of concern.
This issue (of foreground service being stopped when app is minimized) is raised at #940 and a workaround is also suggested. However, the workaround suggested isn't straightforward from my usecase (local notification)
Any pointer would help.

Hi @ainnotate
thanks for the summary, one note "Notification is always dismissable by user. This is the design of Android 14 Foreground service" is not my understanding of what they say in Ongoing flag which to my understanding is there on Android 14 specifically to make a FG service non dismissible.
`User can dismiss notification by default
Starting in Android 13 (API level 33), users can dismiss the notification associated with a foreground service by default. To do so, users perform a swipe gesture on the notification. Traditionally, the notification isn't dismissed unless the foreground service is either stopped or removed from the foreground.
If you want the notification non-dismissable by the user, pass true into the setOngoing() method when you create your notification using Notification.Builder.`
-- https://developer.android.com/develop/background-work/services/foreground-services#user-dismiss-notification

Hi @gtom84

If you want the notification non-dismissable by the user, pass true into the setOngoing() method when you create your notification using Notification.Builder.`
-- https://developer.android.com/develop/background-work/services/foreground-services#user-dismiss-notification

This is the behaviour of Android 13. The behaviour has again changed in Android 14.

This is still an issue.

I have a video calling app, I was using the foreground service to show video call information like duration and callee name, but from Android 14, users can dismiss the foreground service by swiping it, This is impacting my use cases, Is there a way by which users can't swipe foreground service notification just like android 13.

Facing the same issue as well, have a similar usecase but is there a workaround for atleast the service not being killed as i have some data to be synced in the background. Persistent notification is not a major concern, the operation however is.

This is still an issue app crashes on Android 14


Click is "missing" the target

In my robot tests, sometimes (about 50% of the time) this simple test fails (it works fine in the other 50%). It might have to do with the loaded advertising in the background, so when trying to reproduce this, please try this without any ad-blocker (sorry!):
*** Settings ***
Suite Setup       Run Keywords    SuiteSetup
Library           Selenium2Library    timeout=15.0    implicit_wait=0.3    run_on_failure=Nothing

*** Keywords ***
SuiteSetup
    Open Browser    https://dict.leo.org/englisch-deutsch    chrome
    # Window size:
    Set Window Size    1800    1000
    # Clear Localstorage:
    Execute Javascript    window.localStorage.clear();
    # Cookie handling:
    Delete All Cookies

TestSetup
    #    How long to wait between each test step?
    Set Selenium Speed    0 seconds
    #    How long to wait until an element is visible, the page contains an element etc.? (for commands like "Wait Until ...")
    Set Selenium Timeout    15 seconds

*** Test Cases ***
Dict - searchresults - centerColumn - icons - logged in
    #    Load page:
    Go To    https://dict.leo.org/englisch-deutsch/hölle
    #    Check icon "Mehr Informationen":
    Wait Until Element Is Visible    xpath=//div[@id='section-subst']//table//tr[1]/td[2]//i[@title='Mehr Informationen']
    Click Element    xpath=//div[@id='section-subst']//table//tr[1]/td[2]//i[@title='Mehr Informationen']
    Wait Until Element Is Visible    xpath=//div[contains(@class,'ui-dialog')]//span[text()='LEO: Zusatzinformationen']
    Click Element    xpath=//div[contains(@class,'ui-dialog')]//span[text()='LEO: Zusatzinformationen']/../button[@title='Close']
    Element Should Not Be Visible    xpath=//div[contains(@class,'ui-dialog')]//span[text()='LEO: Zusatzinformationen']

Expected result:

The overlay should close

Actual result:

A new tab with the advertising-goal is opened

Reproducible:

Sometimes (I'd say about 50%)

Tried workarounds:
I've tried to add a "Sleep" for two seconds before the click but that doesn't help.
Suspicions:
It might have something to do with when exactly the ad is appearing beneath the "X"-Button (that should be clicked), but obivously, this is nothing I can control. The "sleep" workaround kind of refutes that, though.

Not issue in RF core. I think this was already submitted to SeleniumLibrary tracker as well.

Thanks for looking into this, just for future reference: the issue was indeed submitted to the SeleniumLibrary tracker at https://github.com/robotframework/SeleniumLibrary/issues/1317


The air conditioner displays degrees in Fahrenheit instead of Celsius

When starting or changing settings from Home Assistant, the display of the air conditioner shows degrees Fahrenheit instead of Celsius.  By changing the temperature with the remote control, it displays again in Celsius degrees.
In Home Assistant, the temperature is displayed in Celsius. Model AS35TAMHRA-C.

I'm (in theory) forcing the integration into CELSIUS all the time. Maybe I need to add this parameter as well when I change the temperature for certain devices.
Can you please dump a program that changes temperature ? (check readme)

thanks, I will look into it

I found probably the root cause, I will need some logs to investigate.

please add these lines in you configuration.yaml and reboot

logger:
  logs:
    custom_components.hon: debug

after the reboot, look at the log and share 2 info:

the complete "[custom_components.hon.hon] Context for mac[" log
any part of the "commands" log with the "tempUnit" paremter inside. You should have something like " 'tempUnit': {'category': 'command', 'typology': 'fixed', 'mandatory': 1, 'fixedValue': '1'}"

The problem is no longer present in versions 0.6.0 and 0.6.1.
The temperature is displayed in degrees Celsius.
But I'll post the logs just in case.
custom_components.hon.hon.txt
custom_components.hon.hon Commands.txt

Thank you so much for the help and the confirmation :)
Logs looks good.
I will close this issue !


Add link addresses to the icons in sidebar

Currently the links are not working of the sidebar. I would love to add link addresses .
[GSSOC'21]
Please assign me this issue @sairish2001

@Bhavya-Sehgal This Issue has already been made please check Issue Number #1412

Ohh okay


Scroll reveal anim only once with use of Gatsby AniLink

Hi there, nice plugin !
It works well the first time my home page is loaded to show a banner with zoom-in animation.
But then if I go to another page and come back to home page using a Gatsby AniLink animation,
Scroll reveal anim is not fired.
It seems like the plugin doesn't know the page is reloaded.
It works well if I use a traditional Gatsby Link instead of AniLink.
Here my banner code :
import Typewriter from 'typewriter-effect';
import '../assets/sass/main.scss';

class Banner extends Component {
  constructor(props) {
    super(props);
    this.state = { writer: null };
    this.startAnim = this.startAnim.bind(this);
  }

  componentDidMount() {
    console.log('componentDidMount');
    document.addEventListener('sal:in', this.startAnim);
  }

  componentWillUnmount() {
    console.log('componentWillUnmount');
    document.removeEventListener('sal:in', this.startAnim);
  }

  startAnim() {
    console.log('start anim');
    this.state.writer.start();
  }

  render() {
    return (

          <Typewriter
            onInit={typewriter => {
              this.setState({
                writer: typewriter,
              });
              var delay = 20;
              var pause = 500;
              typewriter
                .changeDelay(delay)
                .pauseFor(pause * 2)
                .typeString('
Bonjour et bienvenue
');
            }}
          />

    );
  }
}

export default Banner;```

Any tips plz ?

Hi! Sounds like the data-sal animation is faster than the page transition animation.
Try adding data-sal-delay for the plugin to wait until the page transition ends.

I try to add data-sal-delay, doesn't matter much time I provide, it still doesn't work. I think maybe the reason is scroll animation doesn't trigger at all.
Any solutions ?

I try to add data-sal-delay, doesn't matter much time I provide, it still doesn't work. I think maybe the reason is scroll animation doesn't trigger at all.
Any solutions ?

I try to add data-sal-delay, doesn't matter how much time I provide, it still doesn't work. I think maybe the reason is scroll animation doesn't trigger at all.
Any solutions ?

I try to add data-sal-delay, doesn't matter how much time I provide, it still doesn't work. I think maybe the reason is scroll animation doesn't trigger at all.
Any solutions ?

"gatsby-plugin-scroll-reveal" Must go before "gatsby-plugin-transition-link"


Create README.md

This is a first draft of the Readme for review not sure what is required and what isn't please let me know if I'm missing something

Hi @adonno,
It seems you haven't yet signed a CLA. Please do so here.
Once you do that we will be able to review and accept this pull request.
Thanks!

Thanks


WIP: Add dark theme

This is WIP and experimental
Add CSS for dark theme. Currently depending on https://github.com/brandly/irc/pull/43 to be merged first. (less changes etc).

[ ] Add dark theme (currently using Discord color style since it's a nice one).
[ ] Tweaking UI slightly to accommodate dark UI elements.
[ ] Create a small toggle (for now) in the connection screen to enable 'dark mode'

Small demo in current state (last updated on: 30-07-2018 21:11)

let me know when you have the styled sorted out, and i can help (if needed) with allowing you to toggle between light and dark mode

Step 1 and 2 are finished for now.

the screenshot looks nice!! my only thought is that the chat text should probably be fully white or it might be hard to read.

i ran it locally after adding theme-dark to the body, but some things aren't dark

the login screen also had a white background. i think maybe these styles aren't applying correctly:
https://github.com/xvilo/irc/blob/4f10bc8cba92dc73b8b9a1b45e5ed4a0a413dd64/src/sass/themes/dark/_type.scss#L2-L6
do these work on your end?

if we're toggling this class name with react, we could maybe put it on this div, which wraps the entire app. adding a #react-root id to it would allow us to target #react-root.theme-dark rather than body.theme-dark.
these styles that aren't being properly applied to html, body could also target #react-root.
let me know what you think 🌟

I will check if I can fix it. Did you run gulp sass?

Yeah I thought so. Not at a computer right now, but I ran ‘npm run dev’
which I think runs gulp sass
On Wed, Aug 1, 2018 at 2:36 AM sem schilder<EMAIL_ADDRESS>wrote:

I will check if I can fix it. Did you run gulp sass?
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/brandly/irc/pull/44#issuecomment-409465485, or mute
the thread
https://github.com/notifications/unsubscribe-auth/AAyF2JZ8wKm1arzsbq8Ya0Wn9i5QBfPEks5uMUxagaJpZM4Vm-tA
.

Did you do a $ npm install and $ sudo npm install -g gulp before?

Ah, I see now it's broken :)

text should probably be fully white or it might be hard to read.

That's partly a personal opinion I suppose. I like how it looks now, and don't have any issues with visisbility. Thats for speaking without any disabilities.

i think maybe these styles aren't applying correctly:

You're correct! This has been fixed now :)

these styles that aren't being properly applied to html, body could also target #react-root.

That's up to you, if toggling the body from within React, I would opt keeping it on body. Otherwise we would need to come up with a diffrent solution.

I like how it looks now, and don't have any issues with visibility.

cool. now that things are working smoothly, i can take a real look and check it out. eventually, maybe we'll support custom themes and let people do whatever they want.

if toggling the body from within React, I would opt keeping it on body.

we can tie into react's lifecycle and update the class on body. here's an example: https://jaketrent.com/post/update-body-class-react/
i can look into this later and add a toggle button. great work!

the people search bar is also white text on a white background

there's a secret button below your list of conversations to toggle the theme lol

the people search is still white on white. i think it should have some grey background with white text, to blend in with the rest of the theme.

we should add a preferences page. we'd extend RouteT with a new SETTINGS type, and <Router> can render some new <Settings> component.
ideally it's accessible via keyboard shortcut and the app's menu e.g.


JwtSecurityTokenHandler: Deadlock (starvation) when used on single threaded TaskScheduler

The consumer loop EventBasedLRUCache.EventQueueTaskAction is probably meant to be run as a separate blocking thread; however, the way is it started new Task(Action).Start() does not do that, but uses TaskScheduler.Current to run it.
Since the consumer loop is blocking, this means it stops a single threaded TaskScheduler from all processing.
Perhaps the static Task.Run, which would run the consumer on the thread pool, should be used?
Version: 6.12.2
Runtime: .NET 5
Repro:
    static class Program
    {
        static void Main()
        {
            var scheduler = new ConcurrentExclusiveSchedulerPair().ExclusiveScheduler;
            scheduler.Run(ValidateSomething);
            Thread.Sleep(200);
            scheduler.Run(() => { }).Wait();
        }

        private static Task Run(this TaskScheduler scheduler, Action action) =>
            Task.Factory.StartNew(action, CancellationToken.None, TaskCreationOptions.DenyChildAttach, scheduler);

        private static void ValidateSomething()
        {
            var handler = new JwtSecurityTokenHandler();
            var tokenString = "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiaWF0IjoxNTE2MjM5MDIyfQ.SflKxwRJSMeKKF2QT4fwpMeJf36POk6yJV_adQssw5c";
            var securityKey = new SymmetricSecurityKey(Encoding.UTF8.GetBytes("AAAAAAAAAAAAAAAAAAAAAAAAAAA"));

            var validationParameters = new TokenValidationParameters
            {
                RequireExpirationTime = false,
                RequireSignedTokens = true,
                ValidateAudience = false,
                ValidateIssuer = false,
                ValidateLifetime = false,
                IssuerSigningKey = securityKey,
            };
            handler.ValidateToken(tokenString, validationParameters, out _);
        }
    }

Thanks for bringing this to our attention!
Are you referring to this line in the code?
https://github.com/AzureAD/azure-activedirectory-identitymodel-extensions-for-dotnet/blob/08e98d190301804748f646f681b93e82a6111ebb/src/Microsoft.IdentityModel.Tokens/EventBasedLRUCache.cs#L393

Yes, that's what I meant to write 😅.  (new Task(Action).Start()), I've edited it in the original message.

@vuplea, I assume that you have your own TaskScheduler that it has one thread executing new queues tasks so it is conceptually sequential instead of parallel.
Our task is "fire-and-forget" and meant to run in the background for up to 2 min then ends. I looked into the Task and TaskScheduler more and it makes sense to use the Task.Run() instead of Task.Start() so it is on the default TaskScheduler instead of consumer's (if there is one).

@vuplea i believe we fixed this, please reopen if we missed some cases.


Add SVG support, c# icon

files renamed to make a bit more sense
moved as much logic as possible out of mdx
add support for svgs in OF component cards.

Preview: https://deploy-preview-63--lucky-creponne-baf9b3.netlify.app/docs/reference/sdks/

Closes: https://github.com/open-feature/docs.openfeature.dev/issues/61


The labeler GitHub action removes a label I explicitly added to have another team triage the PR

https://github.com/flutter/flutter/pull/129739

The action removed the label, because in the config, the pattern specified for the label platform-ios is:
platform-ios:
  - packages/flutter_tools/lib/src/ios/**/*

https://github.com/flutter/flutter/blob/master/.github/labeler.yml#L80
What is the appropriate way to add a label to a PR that does not strictly adhere to the labeler action's rules?

cc @CaseyHillers

Duplicate of https://github.com/flutter/flutter/issues/128440


Tweak reprojection amount & decrease bounces to 2

Brief Description
This PR decreases the amount of reprojection each frame, decreasing the amount of ghosting and low resolution pixelation, at the cost of extra noise. However, the slight increase in noise looks better than the amount of ghosting present beforehand.
In addition, the default bounces is now set to 2. This value drastically improves performance, and is sufficient for the majority of scenes, without noticeable loss of realism. Most denoising pipelines in research papers use 2 bounces, so it makes sense to use this as a default moving forward.
Pull Request Guidelines

[x] I have added pull requests labels which describe my contribution.
[x] All existing tests passed.

[ ] I have added tests to cover my changes, of which pass.

[x] I have compared the render output of my branch to master.
[x] My code has passed the ESLint configuration for this project.
[x] My change requires modifications to the documentation.

[ ] I have updated the documentation accordingly.

Still need an approval to merge.


I am having hmac code in URL after authenticate

For bug reporting only! If you're posting a feature request or discussion, please ignore.
Expected Behavior
i am expecting it shouldn't show hmac code inside URL.
(
[https://shopifycurrencyapp.cordcomtechnologies.com/?hmac=84dc3ac9950610a1ac5842554dd152e832de94a59f9c25bb84e3ee6d2eaf&host=FwcHN0b3JlZm9yYXBwLm15c2hvcGlmeS5jb20vYWRtaW4&shop=p.myshopify.com&timestamp=1659168387]
Expecting URL
(https://shopifycurrencyapp.cordcomtechnologies.com)
Current Behavior
AFter app authenticate redirect to outside shopify admin its good but goes with hmac code that shouldn't be add to in uRL
please provide any relevant information about your setup. This is important in case the issue is not reproducible except for under certain conditions.
"php": "^7.2.5|^8.0",
    "fideloper/proxy": "^4.4",
    "fruitcake/laravel-cors": "^2.0",
    "guzzlehttp/guzzle": "^6.3.1|^7.0.1",
    "laravel/framework": "^7.29",
    "laravel/tinker": "^2.5",
    "laravel/ui": "2.*",
    "maatwebsite/excel": "^3.1",
    "osiset/laravel-shopify": "^14.0"

Failure Logs
Please include any relevant log snippets or files here.

@talkwithdeveloper I'm unable to replicate this.
Does your app authenticate properly and land on the app homepage?

yes

It looks to me as a left over from the previous route - as you need to use AppBridge to update the route, you can just make sure to rewruite the history yourself that way.

is it possible can we make a zoom call ?

Hi @talkwithdeveloper,
Sadly I don't have time but you just need to update the route when you land on the homepage to overwrite the last history.
I tend to just put a watcher in the root app of Vue to update it anytime my root changes. This means you don't need to manually sire it every view change.
 if (window.AppBridge){
                var History = actions.History;
                var history = History.create(window.AppBridge);
                history.dispatch(History.Action.PUSH, to.path);
}

You could try something like that but I have seen other apps where this happens, so it's not always limited to this package.

I've taken a look at this and can confirm it is because of needing to use appbridge to update the history sometimes.


Use externally managed replicas annotation and remove the CAPOCI specific flag which was introduced

What this PR does / why we need it:
Use externally managed replicas annotation and remove the CAPOCI specific flag which was introduced
Which issue(s) this PR fixes (optional, in fixes #<issue number>(, fixes #<issue_number>, ...) format, will close the issue(s) when PR gets merged):
Fixes #201

unit tests
Using cached envtest tools from /Users/shyaradh/oke/src/github.com/oracle/cluster-api-provider-oci/testbin
setting up env vars
?   	github.com/oracle/cluster-api-provider-oci	[no test files]
ok  	github.com/oracle/cluster-api-provider-oci/api/v1beta1	1.034s	coverage: 17.9% of statements
?   	github.com/oracle/cluster-api-provider-oci/cloud/config	[no test files]
ok  	github.com/oracle/cluster-api-provider-oci/cloud/ociutil	0.485s	coverage: 25.0% of statements
ok  	github.com/oracle/cluster-api-provider-oci/cloud/scope	167.901s	coverage: 76.7% of statements
?   	github.com/oracle/cluster-api-provider-oci/cloud/scope/mocks	[no test files]
?   	github.com/oracle/cluster-api-provider-oci/cloud/services/base	[no test files]
?   	github.com/oracle/cluster-api-provider-oci/cloud/services/base/mock_base	[no test files]
?   	github.com/oracle/cluster-api-provider-oci/cloud/services/compute	[no test files]
?   	github.com/oracle/cluster-api-provider-oci/cloud/services/compute/mock_compute	[no test files]
?   	github.com/oracle/cluster-api-provider-oci/cloud/services/computemanagement	[no test files]
?   	github.com/oracle/cluster-api-provider-oci/cloud/services/computemanagement/mock_computemanagement	[no test files]
?   	github.com/oracle/cluster-api-provider-oci/cloud/services/containerengine	[no test files]
?   	github.com/oracle/cluster-api-provider-oci/cloud/services/containerengine/mock_containerengine	[no test files]
?   	github.com/oracle/cluster-api-provider-oci/cloud/services/identity	[no test files]
?   	github.com/oracle/cluster-api-provider-oci/cloud/services/identity/mock_identity	[no test files]
?   	github.com/oracle/cluster-api-provider-oci/cloud/services/networkloadbalancer	[no test files]
?   	github.com/oracle/cluster-api-provider-oci/cloud/services/networkloadbalancer/mock_nlb	[no test files]
?   	github.com/oracle/cluster-api-provider-oci/cloud/services/vcn	[no test files]
?   	github.com/oracle/cluster-api-provider-oci/cloud/services/vcn/mock_vcn	[no test files]
ok  	github.com/oracle/cluster-api-provider-oci/controllers	27.474s	coverage: 69.0% of statements
ok  	github.com/oracle/cluster-api-provider-oci/exp/api/v1beta1	1.858s	coverage: 10.0% of statements
ok  	github.com/oracle/cluster-api-provider-oci/exp/controllers	1.514s	coverage: 55.2% of statements
?   	github.com/oracle/cluster-api-provider-oci/feature	[no test files]
?   	github.com/oracle/cluster-api-provider-oci/version	[no test files]

------------------------------
[SynchronizedAfterSuite] PASSED [0.924 seconds]
[SynchronizedAfterSuite]
/home/ubuntu/go/src/github.com/oracle/cluster-api-provider-oci/test/e2e/e2e_suite_test.go:252

  Timeline >>
  STEP: Tearing down the management cluster @ 01/13/23 04:26:39.946
  << Timeline
------------------------------

Ran 6 of 22 Specs in 2813.158 seconds
SUCCESS! -- 6 Passed | 0 Failed | 0 Pending | 16 Skipped


[Q] How can we only watch some specified parameters or gradients?

For the current implementation, the provided code allows us to monitor all parameters or gradients of a model using the watch function. However, it lacks options to specify particular parameters or gradients for monitoring, or to filter out specific ones.
watch(
    models,
    criterion=None,
    log: Optional[Literal['gradients', 'parameters', 'all']] = "gradients",
    log_freq: int = 1000,
    idx: Optional[int] = None,
    log_graph: bool = (False)
)

In the current state, the watch function does not provide explicit mechanisms to customize the set of parameters or gradients to be observed.
For now, how can I specify a subset of parameters or gradients or filter certain ones?

hey @aoyulong - We currently don't support this functionality, but I'd love to hear more about your use case. in your workflow, which specific parameters / gradients would you like to monitor, and why is the current functionality of logging all of them then filtering post-run not working out?

@umakrishnaswamy Logging all parameters/gradients online can be very costly, particularly during the training of large models. Therefore, it is advisable to monitor only key tensors. We suggest enhancing wandb.watch by introducing an additional argument to support a filtering function.
watch(
    models,
    criterion=None,
    log: Optional[Literal['gradients', 'parameters', 'all']] = "gradients",
    log_freq: int = 1000,
    idx: Optional[int] = None,
    log_graph: bool = (False),
    filter_function = None
)

hey @aoyulong - happy to log this as a feature request and will be sure to update you as any progress arises on it

Hello, I want to second this. Is there any progress on this yet?
It would be extremely useful to select parameters to keep track of.
Using wandb watch right now is very costly and slows the entire training process tremendously.
Would be really helpful if this came out!


Session shut down on memory server restart

To reproduce

Restart the memory server
Whilst it is restarting, stop the session.

What happens now

NOTE: There is nothing wrong actually with the database state nor with the state of the application after receiving the error.
What should happen
Improved error message or different behavior to prevent the error message.

As of implementation of #82, the memory-server has been removed. Thus also "fixing" this issue.


Anonymous / No Login Bookmarks

How can I allow "read-only" access to anyone accessing linkding, without having to log in?

That is not possible, see here for an explanation.


Real time object detection using pretrained model(detection and recognition both)

i want to real time detect and recognize using pretrained model, how can i do this, please help me to proceed with this challenge

https://github.com/microsoft/table-transformer/issues/17


License is now stored in node.Labdir instead of clab.Dir

This allows for different nodes to have different license files
closes #131

lgtm


Cookies aren't being defined using @elysiajs/cookie package

I'm trying to set cookies using @elysiajs/cookie but they are never sent out.
 ...
 .use(cookie({
    maxAge: 3600,
    signed: true,
    secret: ['Some Secret To Sign']
  })
 ...

Then in storage.set I use the setCookie method from @elysiajs/cookie:
 set ({setCookie}, name, token) {
   setCookie(`t_session`, 'some_cookie_value', { maxAge: token.expires_in });
   return token;
 }

It only works when I change the code sent in PR #7

Many thanks! 🫡


Link to Google Colab does not work

I made my own colab to test the library - https://colab.research.google.com/drive/1xtOyz50g4bTNcU-DzfK_nEQeA7D0b4D_?usp=sharing


Update README.md

Add clusterbuster tiling server to list.

Not all the lists on the README.md are in alphabetical order, but § Servers is. You may want to move ClusterBuster upwards.


Run link checker over wikis

For the website we run a link checker to ensure that we don't link to any dead pages. Would be cool if we can do the same for the wikis in our repositories to avoid issues like https://github.com/flutter/flutter/issues/17191.

@goderbauer should we close this one as obsolete?


unable to connect bluetooth.

I've followed the directions on the project, and I feel like I've done pretty good for being out of my normal scope. But I can't seem to find it to connect to it via bluetooth. and it's not listed as a service either. Not sure if that was something that needed to get listed in the build?
I only have one service listed on the device "Main"?
A few shots I've been able to find have a whole slew of services. I'm not sure what I've done wrong.
help

Hi @BOOM3r, I know it's been a while but it looks like your project was not deployed successfully to your device (you should have a lot more services listed). If you are still interested in getting it to run and haven't managed to do so I suggest you visit our forums (https://forums.balena.io/). We are pretty active in there and will be able to assist you deploying projects and general troubleshooting in a much more prompt way.


Every call to wavesurferjs keeps on increasing RAM memory, without releasing  it on destroy.

I have came across a issue with wavesurferjs it does not release memory previously held upon destroy.
With high duration audio file, if we open 10 times it will hang browser itself (then we need to either hard refresh or close browser itself to continue).
Steps to reproduce on linux:
1.open terminal type $htop
2.keep on opening audio with destroy on closing.
3.memory will keep on adding
Though i'm not a good programmer, but i have found a exact solution with canvas  and audio api
Here is that solution: https://stackoverflow.com/questions/53241345/web-audio-api-memory-leak?noredirect=1&lq=1
i request @katspaugh , please implement it as soon as possible.

Hi, which backend are you using? WebAudio or MediaElementWebAudio?

Hi @marizuccara , i have not provided backend option itself while initialization. that means i'm using webAudio.

WebAudio is not recommended for high duration audio files, because it decodes internally your file audio to obtain the data necessary to draw the waveform. But with huge audio files this operation is too expensive, because it stores the data in memory. This can lead to browser crashes.
From the WebAudio API documentation:

Link: https://developer.mozilla.org/en-US/docs/Web/API/AudioBuffer
Another solution is to use MediaElementWebAudio backend which does not decode internally the audio data. This is because MediaElementWebAudio use the HTML5 audio tag, which performs buffering. However with this backend you have to pass the waveform peaks manually.

Though i'm not a good programmer, but i have found a exact solution with canvas and audio api
Here is that solution: https://stackoverflow.com/questions/53241345/web-audio-api-memory-leak?noredirect=1&lq=1

Have you tested it @EABangalore? if you have any fixes, please suggest them here and/or open a pull request!

@thijstriemstra , i don't  see closing of audioContext reference in destroy()
    destroy() {
        this.destroyAllPlugins();
        this.fireEvent('destroy');
        this.cancelAjax();
        this.clearTmpEvents();
        this.unAll();
        if (this.params.responsive !== false) {
            window.removeEventListener('resize', this._onResize, true);
            window.removeEventListener(
                'orientationchange',
                this._onResize,
                true
            );
        }
        if (this.backend) {
            this.backend.destroy();
        }
        if (this.drawer) {
            this.drawer.destroy();
        }
        this.isDestroyed = true;
        this.isReady = false;
        this.arraybuffer = null;
    }

As per this mdn reference we should be doing something like this https://developer.mozilla.org/en-US/docs/Web/API/AudioContext/close
var audioCtx = new AudioContext();
audioCtx.close().then(function() { ... });
await audioCtx.close();

The destroy of AudioContext is made in this.backend.destroy(). If you go to backend, that is webaudio.js, you can see the destroy method where are destroyed stuffs related to WebAudio

I've noticed that JSArrayBuffers just stay in memory even after calling .destroy() and GC only picks them up after a refresh.
This is kind of painful for SPAs that by nature do not refresh.

Hi, are you sure are you using WebAudio as backend?

Can you use measureMemory() in Chrome (83 and newer) to monitor the memory usage and report results here?
See https://web.dev/monitor-total-page-memory-usage/

Hello, I've been noticing this same issue on my end (Win 10, latest Chrome, latest Wavesurfer). I can confirm that Wavesurfer is erroneously not releasing the audio buffer after a call to destroy(), which results in the buffer not being garbage collected and persisting in memory, even after subsequent calls to load() different sound files using the same Wavesurfer instance. This is most apparent when using large audio files. I know those MDN docs recommend short sound files but in practice on a decent machine Chrome handles larger audio files beautifully and I often work with tracks >1 hour in length as decoded buffers with the Web Audio API with no issues. If you set a variable holding an audio buffer to null the memory is typically purged within seconds by the garbage collector. Therefore this is almost certainly not a Web Audio API/browser bug. Wavesurfer handles drawing large sounds beautifully too, but even after a call to destroy I can see that there are still retained references to the buffer in the Wavesurfer object, preventing garbage collection. Simple example, go to https://wavesurfer-js.org/ and open the console:
wavesurfer.destroy();
console.log(wavesurfer.backend.source.buffer);
//->AudioBuffer {length: 1045146, duration: 21.773875, sampleRate: 48000, numberOfChannels: 1}
//buffer is still assigned to a variable and can't be garbage collected!
wavesurfer.backend.destroy();
console.log(wavesurfer.backend.source.buffer);
//->AudioBuffer {length: 1045146, duration: 21.773875, sampleRate: 48000, numberOfChannels: 1}
//even now buffer is still referenced in the wavesurfer object!

However even if I try manually wavesurfer.backend.source.buffer = null the buffer is still not garbage collected so I suspect there remains some reference to it even elsewhere in the Wavesurfer code that I haven't figured out yet, perhaps you have an idea?
And just as a demonstration here is simple vanilla Web Audio API code that loads a large audio file and then purges it when done, easily observable in Windows Task Manager:
var audioCtx = new AudioContext();
var buffer;
var request = new XMLHttpRequest();
request.open("GET", "https://soundplant.org/fruits/Christian%20Wolff%20-%20Edges%20-%20Gentle%20Fire.mp3");
request.responseType = "arraybuffer";
request.onload = function() {
    console.log("loaded");
    let undecodedAudio = request.response;
    audioCtx.decodeAudioData(undecodedAudio, (data) => {
        console.log("decoded");
        buffer = data;
    });
};
request.send();
/* Chrome loads ~300mb audio data into memory observable in Task Manager */
buffer = null;
/* usually within a few seconds, 300mb purged from Chrome's used memory observable in Task Manager */

thanks for the details @marcelblum.

However even if I try manually wavesurfer.backend.source.buffer = null the buffer is still not garbage collected so I suspect there remains some reference to it even elsewhere in the Wavesurfer code that I haven't figured out yet, perhaps you have an idea?

Can you compare the memory size of the vanilla example with wavesurfer.js? Wavesurfer draws many Canvas instances and they add up in memory as well. Would be useful to be able to tell how much WebAudio used and how much Canvas used.

yes I have compared and they are nearly identical. Even with all of Wavesurfer's DOM/Canvas stuff the amount of RAM used by that is negligible compared to 300MB of audio (like maybe 20mb). That's at least in my own usage, with no Wavesurfer plugins or interactivity, just using Wavesurfer for visualizing. Obviously there are some browser caching and memory management quirks out of our control and it doesn't always release memory when we want it to, but it usually does. Here are 2 test pages I set up as I am trying to determine the most reliable way to purge a large audio buffer from memory in order to make room for loading another without having to refresh the page:
https://soundplant.org/wavesurfer/vanillawebaudio.html
https://soundplant.org/wavesurfer/wavesurfer.html
In the vanilla web audio test, Chrome doesn't always purge the buffer instantaneously after setting the reference to null, but it's usually within seconds, sometimes a minute or 2. In the Wavesurfer test the only way I can get Chrome to purge is if I load() a small dummy file.
Interestingly, in a quick test in Win10/Firefox, wavesurfer.backend.source.buffer = null seems to do the trick and purge instantaneously. But in Chrome it never does.
In any case, in part this is running up against browser quirks but there is definitely a Wavesurfer bug here if wavesurfer.destroy() doesn't properly release its reference to the buffer.

BTW on further clarification I was wrong when I said

the buffer not being garbage collected and persisting in memory even after subsequent calls to load() different sound files using the same Wavesurfer instance

It's clear that load() reuses the same variable to store the buffer and therefore overwrites the previously loaded one when reusing the same Wavesurfer instance. So for my needs when I want to purge memory I load() a small dummy file. But that's rather ugly.

Thank you Marcel, you nailed it! Let’s clear that buffer.
I think it might be also trapped in some closure (an event callback?). We should look for places where the buffer is passed as an argument or assigned to a local variable.

Hi @thijstriemstra have you got a suggestion of what to fix? Check if AudioBuffer is really empty after calling the destroy method?

AudioBuffer did not decrease in size and references to the buffers was being kept around even after all instances were destroyed after testing using multiple heap snapshots in Chrome.
On my end, I resolved this (before doing anything) by straight up deleting the buffer first.
delete this.wave.backend.buffer;
After the buffer is deleted, I run my regular destroying things like this.wave.destroy(); etc.
This solves the memory leak for me, which was upwards of 400mb every instantiation of a new object (using any of the recoemmdned backends).

@a2-rmiller, thanks for your reply
I have tried your solution, but it did not help me i'm using wavesurfer.js 3.3.3
here is what i have tried
var wavesurfer = {}; // defined globally
wavesurfer = WaveSurfer.create({
          backend: 'MediaElementWebAudio',
         container: '#waveform',
       ...
});
wavesurfer.load(audioUrl,[],'none');

getAudioPeakFromJSON(function(peakData){
            var audio = document.createElement('audio');
            audio.src = audioUrl;
            // Set crossOrigin to anonymous to avoid CORS restrictions
            audio.crossOrigin = 'anonymous';
             wavesurfer.load(audio,peakData,'auto');
  });

//destroying this way

delete wavesurfer.wave.backend.buffer;

delete wavesurfer.wave.destroy();

@a2-rmiller, what i'm doing wrong please suggest me
Thanks in advance!!

@EABangalore I'll list the things I am doing differently than you based on that small snippet:

I am not calling destroy as soon as I create it, but laster on when I need it destroyed
I am using version 4.0.1
My audio files are wavs
I am not using the extra parameters in the wavefurfer.load
I am not using a function regarding peakdata
I use .unAll(); before .destroy() (since I use wavesurfer events)
My instance of wavesurfer is not defined globally (in the same way), but part of a class structure, where instantiation is called inside of a function to easily tear down and recreate everything

I hope this helps you.

@a2-rmiller can you turn this potential fix into a pull request?

@thijstriemstra Sorry I have not dug into the actual codebase and would not directly have the time to do so. However, destroying the instantiated AudioBuffer before destroying other things would be the route to go (wherever this may live in the source).

@thijstriemstra If I had to guess though:
https://github.com/katspaugh/wavesurfer.js/blob/7af166d97009afd9e6b98726968dd0af3e1126b1/src/wavesurfer.js#L1690
Adding a check here to truly check if those items are destroyed before settings destroyed to true would likely reveal something more.

Hi guys, gonna share my findings on this issue. I'm testing with 2 instances of wavesurfer per page.
When not using pre-loaded peaks and using WebAudio backend:

1st memory snapshot: after app loads.
2nd memory snapshot: after 2 tracks are deleted (destory method is called, DOM node is deleted)
In this case the largest memory use comes from two ArrayBuffers, 79MB which corresponds to the size of backend.buffer for track 1 + track 2
When using preloaded peaks and using WebAudioMediaElement backend:

28MB used after load
25MB used after destroy

Calling .unAll before destroy() makes no difference, and it shouldn't, since it looks like destroy() calls unAll as well.
Using delete wavesurfer.backend.buffer makes no difference. The memory is only freed after the browser tab is closed.

Using delete wavesurfer.backend.buffer makes no difference.

Was afraid so.

it turns out that Google Chrome has really good memory tools, it can tell you where things were allocated, what's holding on to the references, etc.
I'm not that good at using it though, and I'm using 3.3.3 and Vue so it's harder for me to figure out what's going on. Someone who knows how to use the chrome memory tools could probably figure this out easily.
this is the allocation stack for the backing buffer that's not being GC'd when calling destroy()

The anonymous functions lead to decodeArrayBuffer -> offlineAc.decodeAudioData(). There's a lot of callbacks here and events, maybe a hint for someone who can work this out

This is unfortunately incorrect. Chrome does in fact have very nice memory snapshotting tools. When removing the delete buffer here is the snapshots:
Heaps:

First Heap:

From the image above, this is the regular first time load where the buffer gets populated.
Second Time:

Third Time:

Fourth Time:

When clicking the instances of the bufferdata, it all leads back to:

can we pin this issue?
Also note to anyone who has issues with this, using the MediaElementWebAudio backend seems to reduce ram usage a LOT so you could use that for now

can we pin this issue?

Done.

Just to add to the reports, was also seeing this issue in 4.0.1. Calling delete wavesurfer.backend.buffer does indeed release the memory for me.

For anyone else having trouble diagnosing this. delete wavesurfer.backend.buffer seems to work but it's inconsistent. Running it 20 times in a row I would often get one time where it wouldn't work.
Also it only worked on MediaElementWebAudio it didn't work on WebAudio. I was testing this without providing Peak data as that increases memory usage.
Due to the inconsistencies (and me getting frustrated debugging this) here's a few potential tips when diagnosing this:

It can take up to 5 seconds for the memory to be released so don't come to conclusions to quickly.
Try opening a new tab every time you test. Refreshing the tab doesn't always release the memory.
(Unsure about this) Try closing Chrome's developer tools. This seems very odd but it seems having developer tools open sometimes caused the memory to not be released. 🤷♂
Due to the above don't run delete wavesurfer.backend.buffer inside of Chrome's console put it in your own code.

I have no experience diagnosing memory leaks but found it odd that when I turned on displaying "Javascript memory" inside Chrome's Task Manager it isn't showing up as "Javascript memory" usage just as general "Memory footprint".

Note that this memory leak affects more than .destroy() it's also an issue with memory not being released during general usage.
For example if you use MediaElementWebAudio and don't provide peak data you can run delete wavesurfer.backend.buffer after the Peak data is generated and it frees up a heap of memory.
Please note I don't understand the inner workings of this.

hmm for me the following happens with version 4.4.0 and chrome version 88.0.4324.87

.create() and .load() clears the memory
.destroy backend.buffer = null .unAll doesn't

hmm for me the following happens with version 4.4.0 and chrome version 88.0.4324.87

.create() and .load() clears the memory
.destroy backend.buffer = null .unAll doesn't

Great find! What is it that .load() does clears the memory?

Great find! What is it that .load() does clears the memory?

We will need to add wavesurfer.backend = null; on destroy() method as this will release usage.

Sounds good.

We will need to add wavesurfer.backend = null; on destroy() method as this will release usage.

Sounds good.

@thijstriemstra patched here #2164

@thijstriemstra patched here #2164

can everyone participating in this ticket give #2164 a try?

can everyone participating in this ticket give #2164 a try?


Request

You did subtract your followers, it works very well. Can you add removing your own followers which is the opposite of that?

I don't understand the question.
This tool currently shows you all the users who you follow but do not follow you back and allows you to unfollow them.
This is the purpose of the tool.
What functionality are you suggesting?

I don't understand the question.
This tool currently shows you all the users who you follow but do not follow you back and allows you to unfollow them. This is the purpose of the tool.
What functionality are you suggesting?

Maybe he is trying to say, that wants to delete his own followers. But its not clear.
@sadicode Can you be more precise please?

Maybe, he is trying to say if it is possible to delete the users that follow you, not the ones you are following

I don't understand the question.
This tool currently shows you all the users who you follow but do not follow you back and allows you to unfollow them. This is the purpose of the tool.
What functionality are you suggesting?

Maybe he is trying to say, that wants to delete his own followers. But its not clear.
@sadicode Can you be more precise please?

Yes I want this

Maybe, he is trying to say if it is possible to delete the users that follow you, not the ones you are following

Yes.


Decode fabric command

Codecov Report

Merging #57 into dev will increase coverage by 0.44%.
The diff coverage is 85.18%.

@@             Coverage Diff              @@
##                dev      #57      +/-   ##
============================================
+ Coverage     58.42%   58.86%   +0.44%
- Complexity      285      290       +5
============================================
  Files            34       34
  Lines          2653     2684      +31
  Branches        195      194       -1
============================================
+ Hits           1550     1580      +30
+ Misses          970      969       -1
- Partials        133      135       +2

Impacted Files
Coverage Δ
Complexity Δ

...tub/fabric/FabricCustomCommand/InstallCommand.java
72.00% <60.00%> (-3.00%)
3.00 <1.00> (+1.00)
:arrow_down:

...fabric/FabricCustomCommand/InstantiateCommand.java
78.12% <80.00%> (+0.85%)
5.00 <3.00> (+3.00)

...ss/stub/fabric/proxy/ProxyChaincodeDeployment.java
44.61% <88.57%> (+9.27%)
4.00 <0.00> (ø)

...a/com/webank/wecross/stub/fabric/FabricDriver.java
59.32% <100.00%> (+0.09%)
30.00 <0.00> (ø)

...c/main/java/com/webank/wecross/utils/TarUtils.java
87.87% <100.00%> (+0.37%)
5.00 <1.00> (+1.00)

Continue to review full report at Codecov.

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


Threats

Make sure all threats, assumptions, objectives are explicity mapped in the 4.3 table

fdp_acf_ext.1 was the only one not accounted for. It was placed under O.PROTECTED_STORAGE.


Implement push!

Can we add something like this?
function Base.push!(data::Lockable{Vector{T},ReentrantLock}, elements) where {T}
    lock(data) do vec
        push!(vec, elements)
    end
end

I don't think it's really necessary. While not strict type piracy, this is generally considered "type light robbbery" in that we (the ConcurrentUtilities.jl) package don't own the Vector type, so we shouldn't be overloading for it.
But the bigger reason is that it's so little code, it just doesn't seem worth it to "hide" the fact that your Lockable{Vector} is actually a Lockable instead of a Vector.


enable auto-google-login on test devices

Quick PR to add the auto-google-login arguement to broker CI pipeline, allowing runner to login to a google account on the physical testing device to access play store and other features.

I'm approving this, but I hope we will leverage the template that you created earlier for these pipelines as well.

I'm thinking I will implement the template structure sometime late september if my other items permit, It's not really blocking anything at the moment and I think my other items are higher priority.


chore: bdd-spring-1586528981 to 0.0.1

chore: Promote bdd-spring-1586528981 to version 0.0.1

[APPROVALNOTIFIER] This PR is NOT APPROVED
This pull-request has been approved by:
To fully approve this pull request, please assign additional approvers.
We suggest the following additional approvers:
If they are not already assigned, you can assign the PR to them by writing /assign  in a comment when ready.
The full list of commands accepted by this bot can be found here.
The pull request process is described here

Needs approval from an approver in each of these files:

OWNERS

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment


Add ordered data store API

full end product api support, and
fully documented
still need to turn all the universe references into experience in both code and docs

i think im doing something wrong here.


[occm] For dual stack deployments, node addresses show only one IP if node-ip parameter is passed

Is this a BUG REPORT or FEATURE REQUEST?:

Uncomment only one, leave it on its own line:

/kind bug

/kind feature

What happened:
Case1:
With k8s 1.23.x and cloud-provider-openstack 1.23.x if we pass "--cloud-provider=external" along with "--node-ip=<IP_ADDRESS>" as KUBELET_EXTRA_ARGS to the kubelet.service file we observe that the Node.status.addresses was as follows
status
addresses:

address: <IP_ADDRESS>
type: InternalIP
address: dead::5
type: InternalIP

Case:2
But with the current k8s 1.24.x and cloud-provider-openstack 1.24.x, with the same config we see only the node IP that was passed
status
addresses:

address: <IP_ADDRESS>
type: InternalIP

Case3:
We tried with k8s 1.24.x and cloud-provider-openstack 1.23.x and the behavior is same as it was in the earlier release.
status
addresses:

address: <IP_ADDRESS>
type: InternalIP
address: dead::2
type: InternalIP

What you expected to happen:
The latest 1.24.x was expected to show the same behavior as in Case1 and 3.
How to reproduce it:
Case2 above.
Anything else we need to know?:
Environment:

openstack-cloud-controller-manager(or other related binary) version:
OpenStack version:
Others:

With k8s 1.23.x and cloud-provider-openstack 1.23.x if we pass "--cloud-provider=external" along with "--node-ip=<IP_ADDRESS>" as KUBELET_EXTRA_ARGS to the kubelet.service file we observe that the Node.status.addresses was as follows

I didn't see IPv6 param you input , is --node-ip=<IP_ADDRESS> should only give one ip address ?
I am guessing maybe some changes in 1.24 removed the honor of IPv6 but not sure where ..

Hi @jichenjc,
During 1.23.x we did hot had to pass both the IPs. Also as we are using openstack as our cloud provider, we see an error during kubelet service startup if we pass both the IPs and the "--cloud-provider=external". The understanding was at Node.status we get all the IPs provided by openstack and we can pass one more as "--node-ip=".
But now (1.24.x) we see the behavior has changed, we get only the IP we passed as "--node-ip=" and the openstack provided IPs are ignored.

@jichenjc  Is there any other logs/ information needed for triaging this issue ?

@jichenjc
One more observation, for a dual-stack default IPv6 deployment (k8s 1.24.2 and cloud-provider 1.24.1), if I pass "--node-ip=::" with "--cloud-provider=external"

I see Node.status.addresses has both the addresses (order is IPv4 first and the IPv6)
But for PODs kube-apiserver-master-, kube-controller-manager- and kube-scheduler- if we describe the pods, under Status.IPs we see only one IP, the IPv6 address of the node. In 1.23.3 cloud-provider Status.IPs had both the IPs present.

But for PODs kube-apiserver-master-, kube-controller-manager- and kube-scheduler- if we describe the pods,

um.. I think at least the pod IP doesn't belong to CPO scope , CPO only focus on node related stuffs mostly

One more observation, for a dual-stack default IPv6 deployment (k8s 1.24.2 and cloud-provider 1.24.1), if I pass "--node-ip=::" with "--cloud-provider=external"

I double checked the our recent code, seems CPO doesn't have logic change,
the node-ip seems comes from https://github.com/kubernetes/cloud-provider/blob/master/controllers/node/node_controller.go#L369
and the logic seems to be node-ip first then from nodeAddress function in CPO
I think you might want to check in cloud-provider repo whether anyone can help the question
just some thoughts as don't have env to debug on ..


Ability to remove files from IPFS or stop propagating

Hi ,
If Is there a possibility to remove files from ipfs, after I made publishing + propagating?
aragon apm publish major "--environment" "staging"
npx aragon ipfs propagate <hash>

I noticed that the garbage collector didn't remove them, after 48 hrs.
Or maybe there is some way to update files using the same hash?
Thanks.

You won't be able to update the files and keep the same hash, that's just not how hash functions work.
You may want to look into ipfs files rm or ipfs pin rm.

@sohkai  thank you for the explanation,
Yeah, I did this already  ipfs files rm  and   ipfs pin rm
Wonder if there is some way in the network? Or the files will be cleaned by the garbage collector in case nobody touches them, even they were propagated? Or in case they were propagated there is no chance to be removed?

Perhaps @0x6431346e may have some more insight, but whether the file is propagated or not should not influence if they should live in your system (on pin should do that).
Worst case you can delete those files manually by going to your ipfs db and removing the hashes 🤷♂.

Hi @svetlanama, you cannot remove files from the network. Why do you want to remove the published app? Is it supposed to be private?
That being said, even if you propagate a file, there is no guarantee that the public gateways that are being queried will not remove it after some time. (most likely, they will)
The garbage collector did not remove the files locally, because they were pinned. (AFAIK, ipfs pin rm unpins & removes them so that's the only command you need)

Hi @0x6431346e ,
Yes ipfs pin rm helped and files were removed by the garbage collector after some time.
Thank you!


🔧 Repository: Failed to Generate Version Packages PR

📜 Description
While upgrading various plugins to 1.30.2 after merging the version bump PR the Version Packages PR was not created for several plugins. I had not noticed the issue until I had already merged several version bump PRs already.
The following workspaces need to have a Version Packages Pr create so that the changes get released:
1. 3scale
2. adr
3. airbrake
4. allure
5. apache-airflow
6. apollo-explorer
7. azure-sites
8. azure-storage-explorer
9. bazaar
10. bitrise
11. cloudbuild
12. code-climate
13. codescene
14. confluence
16. entity-feedback
17. entity-validation
18. explore
19. firehydrant
20. fossa
21. gcalendar
22. gcp-projects
23. git-release-manager
24. github-actions
25. github-deployments
26. github-issues
27. github-pull-requests-board
28. gitops-profiles
29. gocd
30. grafana
31. graphql-voyager
32. playlist
33. splunk
34. vault
👍 Expected behavior
Version Packages PR should have been created.
👎 Current Behavior
Version Packages PR was not created and we see this error in the workflow:
/usr/bin/git checkout changesets-release/confluence
error: pathspec 'changesets-release/confluence' did not match any file(s) known to git
/usr/bin/git checkout -b changesets-release/confluence
Switched to a new branch 'changesets-release/confluence'
/usr/bin/git reset --hard 2fe1552213f0e43c0770b721f71b503ae0690d99
fatal: Could not parse object '2fe1552213f0e43c0770b721f71b503ae0690d99'.
Error: The process '/usr/bin/git' failed with exit code 1[28](https://github.com/backstage/community-plugins/actions/runs/10539739181/job/29203637609#step:9:29)
    at m._setResult (/home/runner/work/_actions/backstage/changesets-action/291bfc1f76d1dcfbf967f5810dc0423592eae09a/dist/index.js:102:7258)
    at m.CheckComplete (/home/runner/work/_actions/backstage/changesets-action/[29](https://github.com/backstage/community-plugins/actions/runs/10539739181/job/29203637609#step:9:30)1bfc1f76d1dcfbf967f5810dc0423592eae09a/dist/index.js:102:6686)
    at ChildProcess.<anonymous> (/home/runner/work/_actions/backstage/changesets-action/291bfc1f76d1dcfbf967f5810dc0423592eae09a/dist/index.js:102:5723)
    at ChildProcess.emit (node:events:519:28)
    at maybeClose (node:internal/child_process:1105:16)
    at ChildProcess._handle.onexit (node:internal/child_process:[30](https://github.com/backstage/community-plugins/actions/runs/10539739181/job/29203637609#step:9:31)5:5)

👟 Reproduction steps
Honestly not sure exactly how this happens. I think if you merge several PRs at once then it will cause this to happen but I'm just guessing at the moment.
📃 Provide the context for the Bug.
N/A
👀 Have you spent some time to check if this bug has been raised before?

[X] I checked and didn't find similar issue

🏢 Have you read the Code of Conduct?

[X] I have read the Code of Conduct

Are you willing to submit PR?
No, but I'm happy to collaborate on a PR with someone else

When I merged this PR - https://github.com/backstage/community-plugins/pull/642 - for entity-validate it created the Version Packages PR - https://github.com/backstage/community-plugins/pull/1051 - and it included the version bump changes 👍

3scale had it's Version Packages PR created - https://github.com/backstage/community-plugins/pull/1052 - as there was a Renovate PR to update some of its dependencies.

The issue seems to be a mismatch between the HEAD sha of the ref at https://github.com/backstage/community-plugins/blob/1ac989eeb33f69578a9f55e5568bd3496cc25575/.github/workflows/release_workspace.yml#L54
and the sha that the backstage/changesets-action action ends up using.
For example, in the following failed run: https://github.com/backstage/community-plugins/actions/runs/10539750276/job/29203660661, the checkout action is checking out https://github.com/backstage/community-plugins/commit/588887c0f4869335428b22f402061ad68848d74a, but the changesets-action is trying to create a branch from https://github.com/backstage/community-plugins/commit/d5c3ebfaa90628f98f471d275f4b0b041bf32590, which seems to be the correct one.
CC @BethGriggs since I saw you made some changes in the area

Reopening, we do have a fix but I'd like to use this to track the workspaces that haven't been published yet.

Sorry for the slow follow up all of the impacted plugins have been released


Update @slack/web-api dependency

Description
The current version specifier, ^5.2.1, is technically correct. However, there are a number of features added since then that would be useful to most developers.
If you installed Bolt a while ago and want to update, npm update won't help because it only looks for new versions of direct dependencies (not transitive dependencies like @slack/web-api). The alternative is to do rm -rf node_modules && rm package-lock.json && npm install. It's not the worst thing in the world, but its also not worth getting confused over when a feature is missing. The only cost I can see is that if the app takes a direct dependency on @slack/web-api (a minority use case), then and the version the app has chosen doesn't resolve for the version in Bolt (a super minority case), then you end up with two versions in the dependency tree - which just means the npm install operation takes marginally more time and with marginally more disk space.
Let's update it to the latest, which at this point is ^5.6.0.
Requirements (place an x in each of the [ ])

[x] I've read and understood the Contributing guidelines and have done my best effort to follow them.
[x] I've read and agree to the Code of Conduct.
[x] I've searched for any related issues and avoided creating a duplicate issue.

Fixed in #335


fromDecimal throws 'Amount must be an integer'

While using your library, I ran across some unexpected behavior.

> require('js-money').fromDecimal(78.13, 'USD');
{ amount: 7813, currency: 'USD' }

> require('js-money').fromDecimal(78.43, 'USD');
TypeError: Amount must be an integer

A little digging into the code revealed that this is just a variant of the floating point rounding errors that I had hoped to avoid in the first place.

> 78.13*100
7813

> 78.43*100
7843.000000000001

This then trips the check in the Money constructor which throws the above TypeError. Is there any feasible workaround for this?

I really hate javascript numbers :)
Do you have any suggestion ? we could probably just round the result.

I have just merged #9 that should resolve this issue. If you can please test it (version 0.5.1)
thanks
david

Hey David,
The fix actually broke our test environment. Not quite sure how yet. I will do some further testing and report back -- hopefully with a test case.

Looks like the PR did fix the original issue I reported. I'm unclear if the rounding is totally safe for, say, banking purposes, but it works OK for the type of currency conversion I'm doing -- purely for display purposes.
The break in our unit tests was due to the change in the behavior of toJSON. I replaced those calls with the toString and everything works fine now.
I'll go ahead and close the issue. Thanks for the help.


ManagerResponse getAttribute(keyname) got null

I was trying to get the channel variable via GetVarAction
when I invoked getAttribute("variableName")  but I got a null.
After dump all the attributes by getAttributes()
I found that I should invoke getAttribute("value") so that I can get the real value corresponding to the key "variableName".
for instance:
I have a channel variable "MyVar" with value "MyValue"
value =  res.getAttribute("variable"); // got "MyVar"
value =  res.getAttribute("value");    // got "MyValue"
value =  res.getAttribute("MyVar");    // null

Is that a bug?

No it is not. You should get value by invoking GetVarResponse.getValue() method

Oh, I see, thanks a lot!


winmm: Fix bad fallback behaviour and shutdown hang with lost devices

Two changes to address BMO# 1274479.

Change the WinMM backend's context initialization to require a device so that we don't permanently fall back to WinMM when no device is available when attempting to initialize the WASAPI backend.
Try to detect that the waveout device has been lost in winmm_stream_destroy so we can avoid waiting indefinitely on buffers to become free from a non-existent device.

r+ with the comment addressed.