fix: console error on click of connect online with plaid button

Details

Fixed Issues
$ https://github.com/Expensify/App/issues/22448
PROPOSAL: https://github.com/Expensify/App/pull/21778#discussion_r1256482993
Tests

Create workspace if not created
Click on Workspaces in setting in left panel
Choose Reimbursement
Click the Connect bank account button
Click the Connect online with Plaid
Verify that it redirect to plaid portal and no error is displayed in console.

[X] Verify that no errors appear in the JS console

Offline tests
QA Steps
Same as above

[X] Verify that no errors appear in the JS console

PR Author Checklist

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

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

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

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

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

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

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

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

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

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

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

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

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

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

[X] If the PR modifies code that runs when editing or sending messages, I tested and verified there is no unexpected behavior for all supported markdown - URLs, single line code, code blocks, quotes, headings, bold, strikethrough, and italic.
[X] If the PR modifies a generic component, I tested and verified that those changes do not break usages of that component in the rest of the App (i.e. if a shared library or component like Avatar is modified, I verified that Avatar is working as expected in all cases)
[X] If the PR modifies a component related to any of the existing Storybook stories, I tested and verified all stories for that component are still working as expected.
[X] If a new page is added, I verified it's using the ScrollView component to make it scrollable when more elements are added to the page.
[X] If the main branch was merged into this PR after a review, I tested again and verified the outcome was still expected according to the Test steps.
[X] I have checked off every checkbox in the PR author checklist, including those that don't apply to this PR.

Screenshots/Videos

Web

Mobile Web - Chrome

Mobile Web - Safari

Desktop

iOS

Android

Reviewer Checklist

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

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

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

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

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

[x] I verified that any callback methods that were added or modified are named for what the method does and never what callback they handle (i.e. toggleReport and not onIconClick).
[x] I verified that the left part of a conditional rendering a React component is a boolean and NOT a string, e.g. myBool && <MyComponent />.
[x] I verified that comments were added to code that is not self explanatory
[x] I verified that any new or modified comments were clear, correct English, and explained "why" the code was doing something instead of only explaining "what" the code was doing.
[x] I verified any copy / text shown in the product is localized by adding it to src/languages/* files and using the translation method
[x] I verified all numbers, amounts, dates and phone numbers shown in the product are using the localization methods
[x] I verified any copy / text that was added to the app is grammatically correct in English. It adheres to proper capitalization guidelines (note: only the first word of header/labels should be capitalized), and is approved by marketing by adding the Waiting for Copy label for a copy review on the original GH to get the correct copy.
[x] I verified proper file naming conventions were followed for any new files or renamed files. All non-platform specific files are named after what they export and are not named "index.js". All platform-specific files are named for the platform the code supports as outlined in the README.
[x] I verified the JSDocs style guidelines (in STYLE.md) were followed

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

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

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

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

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

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

[x] If the PR modifies code that runs when editing or sending messages, I tested and verified there is no unexpected behavior for all supported markdown - URLs, single line code, code blocks, quotes, headings, bold, strikethrough, and italic.
[x] If the PR modifies a generic component, I tested and verified that those changes do not break usages of that component in the rest of the App (i.e. if a shared library or component like Avatar is modified, I verified that Avatar is working as expected in all cases)
[x] If the PR modifies a component related to any of the existing Storybook stories, I tested and verified all stories for that component are still working as expected.
[x] If a new page is added, I verified it's using the ScrollView component to make it scrollable when more elements are added to the page.
[x] If the main branch was merged into this PR after a review, I tested again and verified the outcome was still expected according to the Test steps.
[ ] I have checked off every checkbox in the PR reviewer checklist, including those that don't apply to this PR.

Screenshots/Videos

Web
https://github.com/Expensify/App/assets/85645967/104680e6-9f97-41ef-a823-e0b5ebaa8ae4

Desktop
https://github.com/Expensify/App/assets/85645967/23cd3e7a-dd99-466e-80de-dfa865b5638f

iOS & Android
https://github.com/Expensify/App/assets/85645967/5e3d0906-1697-422e-83b0-355ac89700fc

just a question, why we cannot useLocalize?

We can do that too, but we need to remove withLocalizeProptypes from StepPropTypes which is common to multiple pages.  Maybe could have just omitted withLocalizeProptypes from StepPropTypes this component alone.

Maybe could have just omitted withLocalizeProptypes from StepPropTypes for this component alone.

@payal-lathidadiya Can you just do that, Sorry for the back and forth!

Yes, as far as I know, using the useLocalize hook is the preferred way moving forward. If possible, let's keep using that and the fix the issue with the extra prop types.

Maybe could have just omitted withLocalizeProptypes from StepPropTypes for this component alone.

@payal-lathidadiya Can you just do that, Sorry for the back and forth!

np. updated and pushed.

@Santhosh-Sellavel Post omitting withLocalizeProptypes from StepPropTypes, somehow ESLint is failing for rule onyx-props-must-have-default

Not sure what's cause of this. any idea?

do we have to do ..._.omit(StepPropTypes, _.keys(withLocalizePropTypes)), in components that use useLocalize and StepProps?

Yeah, since StepProps contains withLocalizePropTypes which is from HOC and If we replace use of withLocalize HOC with useLocalize hook, we'll have to omit those props injected from that HOC.
Else, it will result in console below errors (ref https://github.com/Expensify/App/issues/22448)

Should we remove withLocalizePropTypes from StepProps down the line once all components are migrated to function components?

okay thanks for explaining
I re-ran the lint job again by the way. it failed for some unknow reason

@hayata-suenaga @Santhosh-Sellavel
To unblock us, I'm planning to revert this fix to previous where we'll remove useLocalize hook for now and add back withLocalize HOC.
Let me know if you think otherwise.

@francoisl On the other hand let's just do nothing here as it will be eventually removed. Thoughts

That could be an option. Are those 3 refactors in progress already or still on hold? Also, to clarify, other that the console error, is this causing any crash or breaking anything at the moment?

That could be an option. Are those 3 refactors in progress already or still on hold? Also, to clarify, other that the console error, is this causing any crash or breaking anything at the moment?

@francoisl  for those components, migration and refactor is still on hold.
Below is state of component which uses StepPropTypes and withLocalize HOC

ACHContractStep - migrated to function component
BankAccountStep - migrated to function component
BankAccountManualStep -  migrated to function component
BankAccountPlaidStep - migrated to function component [current migration]
CompanyStep - class component, yet to migrate [on Hold]
RequestorOnfidoStep - class component, yet to migrate [on Hold]
RequestorStep - class component, yet to migrate [on Hold]

Also, this isn't causing any crash or breaking anything at the moment.

Ok thanks. If some of those refactors are still on hold without a clear estimate of when they'll be done, I'd say it's fine to keep using the withLocalize HOC for now, but I'll defer to @hayata-suenaga for the final decision.

let's use withLocalize for now 👍

Once all components which uses StepPropTypes are migrated to function component, we can remove withLocalizePropTypes from StepPropTypes down the line.
And remove withLocalize HOC reference and replace use of translate from useTranslate hook instead of props.
@francoisl / @hayata-suenaga should we create a new backlog issue for this expected refactor requirement in migration epic.

I think we already have got approvals.
If everything is good, can this be merged pls.

@allroundexperts please final approve this PR when you got a moment 🙇

🚀 Deployed to staging by https://github.com/hayata-suenaga in version: 1.3.42-5 🚀

platform
result

🤖 android 🤖
success ✅

🖥 desktop 🖥
success ✅

🍎 iOS 🍎
success ✅

🕸 web 🕸
success ✅

@payal-lathidadiya We get console error in this step Verify that it redirect to plaid portal and no error is displayed in console.
Do we need separate GH ticket for this?

@kavimuru please share the console error please.

@Santhosh-Sellavel this is the video
https://github.com/Expensify/App/assets/43996225/6edb17d4-d7ac-470f-98a0-6c6285e08453

@kavimuru
This seems to be a different issue and not related to current fix.
I just checked, this exists in production as well;
https://github.com/Expensify/App/assets/130229379/135ab24b-48b7-44cb-8371-4e906b06e692

@kavimuru please a new issue that's not relevant here.

🚀 Deployed to production by https://github.com/jasperhuangg in version: 1.3.42-26 🚀

platform
result

🤖 android 🤖
success ✅

🖥 desktop 🖥
success ✅

🍎 iOS 🍎
success ✅

🕸 web 🕸
success ✅

🚀 Deployed to staging by https://github.com/hayata-suenaga in version: 1.3.44-0 🚀

platform
result

🤖 android 🤖
success ✅

🖥 desktop 🖥
success ✅

🍎 iOS 🍎
success ✅

🕸 web 🕸
success ✅


Fix Swift BUG in GameViewController

This pull request fix your swift mistake : )

Thanks! But fixed in a separate commit. Feel free to resubmit with conflicts resolved if you feel there are other material changes that need merged.


Initial implementation of DuckDuckGo Instant answer

Fixes #36
I made a very basic initial implementation of Initial DuckDuckGo Instant answer adding provided results, abstract and related topics to the current search functionality.
Here is an example:

There's room for improvement, but I'd rather start with that to see if it's what you like.

Thank you for this addition @ismaeldcom. Definitely better than what we had before.
I have added some comments and queries which I had in some parts, but apart from those things look in the right direction.
We should add the attribution to DuckDuckGo in some part as it's required when consuming their API.

I'm changing it to add a new category with the results, but reading the API specs, maybe change the search item to Results from DuckDuckGo fro $query might be a good option to meet the requirements because it already contains the logo and link to the search results. And use a category like Instant Answer for the actual results.
What do you think?

This seems fine @ismaeldcom :+1:

@blenderskool I can't reproduce the error with wiki but searching for &format result in an error. I added a dummy catch to avoid code error and continue with execution.

@blenderskool Thanks for your improvements I'll take note.
 From GitHub in the first screenshot, for example.

@ismaeldcom I was getting different results for the search. The Wikipedia link has a favicon in your image, but it doesn't seem to show up for me :thinking:

@blenderskool I made some tests and the API now returns relative (to DDG) URLs for icons. For the firsts screenshots attached and examples found online the URL was absolute.
I made a small function to parse the URL, I think is better to save it in another file and not write inline, but I don't know exactly where to store it in the current project structure.

I think is better to save it in another file and not write inline, but I don't know exactly where to store it in the current project structure.

Makes sense. Let's keep it within the item function itself for now, as it is specific to the DuckDuckGo plugin. We'll have to come up with a better file structure for the plugins.


kubernetes deployment error

apiVersion: apps/v1
kind: Deployment
metadata:
name: my-Deployment
spec:
replicas: 3
selector:
matchLabels:
app: nginx
minReadySeconds: 20
strategy:
type: RollingUpdate
rollingUpdate:
maxUnavailable: 1
maxSurge: 1
template:
metadata:
labels:
app: nginx
spec:
containers:
- name: my-Deployment
image: nginx
ports:
- containerPort: 80

Hi,
Please use the below code and let me know in case of any issues:
apiversion: apps/v1
kind: Deployment
metadata:
name: my-deployment
namespace: default
spec:
replicas: 3
strategy:
type: RollingUpdate
rollingUpdate:
maxSurge: 1
maxUnavailable: 25%
selector:
matchLabels:
app: nginx
template:
metadata:
labels:
app: nginx
minReadySeconds: 20
spec:
containers:

name: my-Deployment
image: nginx
imagePullPolicy: Always
ports:

containerPort: 80

names in metadata must be in lower case letters only and along with few other special characters.


Ignore malformed Xcode app bundles

This changes Files.installed Xcodes to ignore app bundles that don't contain Info.plist files at the expected location instead of crashing. This change doesn't include a test to verify the new behaviour because the Entry type in the Path library doesn't have an accessible initializer, which is required to construct some test data without creating what I thought would be too many workarounds for testing's sake.
Manual test steps:

Create a directory in /Applications with a unique name like Xcode.app or Xcode-12.app.
make
.build/release/xcodes list should print the list of available and installed Xcodes and not crash

Closes #87

Hmmm... I still get the crash
chad@Chads-Mac ~/d/xcodes> mkdir /Applications/xcode-test.app
chad@Chads-Mac ~/d/xcodes> .build/release/xcodes list
Fatal error: 'try!' expression unexpectedly raised an error: Error Domain=NSCocoaErrorDomain Code=260 "The file “Info.plist” couldn’t be opened because there is no such file." UserInfo={NSFilePath=/Applications/xcode-test.app/Contents/Info.plist, NSUnderlyingError=0x7fb1026050f0 {Error Domain=NSPOSIXErrorDomain Code=2 "No such file or directory"}}: file /Users/chad/dev/xcodes/Sources/XcodesKit/Environment.swift, line 107
fish: '.build/release/xcodes list' terminated by signal SIGILL (Illegal instruction)

Ummm... on the master branch... is it just me or is this branch invisible on Github?

Ummm... on the master branch... is it just me or is this branch invisible on Github?

It's from a fork, so it's not as straightforward to test as when it's in this remote.


Channel assignment one number off?

I used MIDI Monitor to check output of both APC-25 and Launch Control XL. Found I had to put one number less for MIDI channel in both note and control in BoltMinis..
For instance, MIDI Monitor shows channel 9 - I have to enter 8 in BoltMinis.
Is this a 0-15 vs 1-16 issue? I see that the default MIDI channel when I opened the Test was 0. (MIDI spec channel nibble 0 hex is channel 1)
Just a guess. Otherwise works great. Thanks!

Your guess is right. When I initially implemented Minis, I solved the problem on the Editor side. I should do the same approach in BoltMinis.

Cool. Thanks again for this and all the great work.

Fixed in v1.0.1


Correct the error code inspector working branch in scheduled testing.

What is the purpose of the change
In scheduled testing, the error code inspector will only inspect error code in branch 3.1.
Brief changelog
Change properties in workflow files. (Specify the branch in checkout action.)
Verifying this change

Checklist

[x] Make sure there is a GitHub_issue field for the change (usually before you start working on it). Trivial changes like typos do not require a GitHub issue. Your pull request should address just this issue, without pulling in other changes - one PR resolves one issue.
[ ] Each commit in the pull request should have a meaningful subject line and body.
[ ] Write a pull request description that is detailed enough to understand what the pull request does, how, and why.
[ ] Check if is necessary to patch to Dubbo 3 if you are work on Dubbo 2.7
[ ] Write necessary unit-test to verify your logic correction, more mock a little better when cross module dependency exist. If the new feature or significant change is committed, please remember to add sample in dubbo samples project.
[ ] Add some description to dubbo-website project if you are requesting to add a feature.
[ ] GitHub Actions works fine on your own branch.
[ ] If this contribution is large, please follow the Software Donation Guide.

Codecov Report

Merging #11064 (4a56528) into 3.1 (3c68e94) will decrease coverage by 4.69%.
The diff coverage is n/a.

@@             Coverage Diff              @@
##                3.1   #11064      +/-   ##
============================================
- Coverage     69.31%   64.61%   -4.70%
+ Complexity      128       14     -114
============================================
  Files          1470     1418      -52
  Lines         76967    58966   -18001
  Branches      13471     8651    -4820
============================================
- Hits          53347    38100   -15247
+ Misses        18962    16831    -2131
+ Partials       4658     4035     -623

Impacted Files
Coverage Δ

...luster/router/script/ScriptStateRouterFactory.java
0.00% <0.00%> (-100.00%)
:arrow_down:

...he/dubbo/test/common/impl/GreetingServiceImpl.java
0.00% <0.00%> (-100.00%)
:arrow_down:

...zookeeper/curator/CuratorZookeeperTransporter.java
0.00% <0.00%> (-100.00%)
:arrow_down:

...nfigure/DubboRelaxedBinding2AutoConfiguration.java
0.00% <0.00%> (-100.00%)
:arrow_down:

.../apache/dubbo/test/spring/SpringXmlConfigTest.java
0.00% <0.00%> (-96.16%)
:arrow_down:

...egistrycenter/context/ZookeeperWindowsContext.java
0.00% <0.00%> (-81.82%)
:arrow_down:

...istrycenter/processor/FindPidWindowsProcessor.java
5.40% <0.00%> (-81.09%)
:arrow_down:

...pc/cluster/router/file/FileStateRouterFactory.java
0.00% <0.00%> (-80.96%)
:arrow_down:

...ycenter/processor/KillProcessWindowsProcessor.java
10.00% <0.00%> (-80.00%)
:arrow_down:

...nter/processor/StartZookeeperWindowsProcessor.java
17.39% <0.00%> (-78.27%)
:arrow_down:

... and 442 more

:mega: We’re building smart automated test selection to slash your CI/CD build times. Learn more


fix: Camera fix

This fixes the camera for now and implements basic permission checking.
Following this with some restructuring later

@monsieurtanuki
Golden "goldens/user_preferences_page-green-light.png": Pixel test failed, 100.00% diff detected.

Note: @Piinks had done that for permissions : https://github.com/openfoodfacts/smooth-app/pull/589

@monsieurtanuki
Golden "goldens/user_preferences_page-green-light.png": Pixel test failed, 100.00% diff detected.

The golden apple is probably rotten: in my latest merged PR I've just added a dev mode item. That should NOT be in the golden screenshots.

Merged @teolemon the scanner is now working again, will get some refactoring but you can start a new release with that


Doesn't work with ExtractTextPlugin?

I use ExtractTextPlugin for production and receive these errors:
ERROR in ./src/index.js
Module not found: Error: Cannot resolve module 'purifycss' in /app/src
 @ ./src/index.js 23:0-23

ERROR in ./src/index.js
Module not found: Error: Cannot resolve module 'purifycss' in /app/src
 @ ./src/index.js 22:0-46

// /app/src/index.js
require('./styles.css');
require('./styles2.css');

Loaders look like this (passed into relevant loader):
ExtractTextPlugin.extract('style-loader', 'css!purifycss');
ExtractTextPlugin.extract('style-loader', 'css!purifycss!less');
ExtractTextPlugin.extract('style-loader', 'css!purifycss!sass');

I'm getting the same error

It happens without ExtracTextPlugin too, I'm might be missing something.

I've figured out the problem, dropped a PR. Before it gets merged you can use:
$ npm install --save-dev purifycss-loader@git@github.com:iam4x/purifycss-webpack-plugin.git#patch-1

any updates here guys? if you fix the loader file, it's still bad. does not work with extract text.

Is there an update to this?

I can confirm that @iam4x patch works, let us know when you release the PR to the master branch so we update :)

@carlosepp Good to know. I wrote my own plugin for the meantime that works, so I am good to go. :) But it'd be nice to use a more official one.

@IngwiePhoenix , I am curious if you open sourced the plugin?, would like to see what you came up with, actually it worked well testing in local environment but it throws me an error in production:
npm ERR! Cloning into bare repository '/app/.npm/_git-remotes/ssh-git-github-com-iam4x-purifycss-webpack-plugin-git-5d13d3b1'… @iam4x , I would really appreciate you let us know when you merge the patch into master :pray: thanks for your work

@carlosepp
https://github.com/DragonsInn/BIRD3/tree/master/util
Check purify-plugin.js and its usage within webpack.config.js. I am thinking of using this plus PostCSS to create a plugin that specializes purely on pressing down CSS files written out by stuff like extract-text-plugin'n such. :) For now, it lives within the project, but feel free to copy and re-use!

@IngwiePhoenix  thanks a lot !, quite useful implementation, you da man :)

@carlosepp Thanks :)

@zerbons are you planning to merge this patch from @iam4x and create a release anytime soon?

@carlosepp i do not have access... that is a question for @kennyt


add the sample extension

Description

Related Issue

Motivation and Context

How Has This Been Tested?

Screenshots (if appropriate):
Types of changes

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

Checklist:

[ ] I have signed the Adobe Open Source CLA.
[ ] My code follows the code style of this project.
[ ] My change requires a change to the documentation.
[ ] I have updated the documentation accordingly.
[ ] I have read the CONTRIBUTING document.
[ ] I have added tests to cover my changes.
[ ] All new and existing tests passed.

@cdhoffmann yes, they both contain AEPSampleExtension class. We can rename one of them and then we can add the objc extension to here as well.


replace DiamondStorage uint selectorSlotsLength with struct

to make Diamond reference implementation easier to understand.
P.S. this PR is based on the latest code and is to replace the previous one.
Jerry
(jerryji on Discord)

@jerryji I really appreciate you looking at this implementation and improving it.  I agree with you that using a SelectorSlotsLength struct makes the code easier to understand. In many cases I would add/accept such an improvement.
I care a lot about the gas cost for the diamondCut function. For a single implementation it doesn't matter much because diamondCut won't be called too much.  But I expect the diamondCut implementation to be used in 100s of diamonds across blockchains and called thousands of times.  I don't want to increase gas cost of the function. I would accept a pull request that used better names for things in the implementation and/or reduced gas costs.


Activity() returns null bug

When used with https://pub.dev/packages/audio_service the plugin is not working, since there is no activity when audio_service is used in background thread. Null check is added.

FYI I pulled this bug fix into my fork if you want to use it: https://github.com/MisterJimson/flutter_keyboard_visibility


Update commit status during build URL based on build status

Hi, i use jenkins + ghprb to build PRs of my project so that each PR is a builded web aplication, accessible to test the new code.
So, i have some questions:

Currently, during build, my PR commit status message is changed, based on build status. But URL can not be configured conditionally. So, what i want: if build is succeed, the status URL should link to my builded application (e.g. pr1111.mydomain.com). And if build is not succeed (still building or failed), it should link to build status URL (as usual). I tried to send status update, using CURL just to github API in after build trigger. But ghprb is updating status after after build trigger.
Is it possible to run some jenkins build after PR is merged? In my example, i will need to remove virtual host for the application, it's working directory, database, etc.

Thanks!

I think this can be addressed using the downstream job pattern that's described in the README.

Will close this for now.


ADR 012: Multi-Version Support

Rendered

Thank you @thanethomson, I have committed your suggestions.

Please include concrete examples of how the new API is to be used.

Will do.


bugfix Add partition id into convert_rowset_ids()

BUG
The partition_id to be converted is not specified in the convert_rowset_ids() function of the RESTORE operation.This can result in the partition_id in the new tablet meta not being converted, but remaining the same as the partition_id in the snapshot file, which in turn resulting in a mismatch between the tablet and the partition, causing metadata errors.
FIX
Add the parameter partition_id to the convert_rowset_ids() function and add the partition_id to the Rpc structure CloneReq to ensure proper convert rowset ids

run buildall

run buildall


Make parameters with defined values final

Web actions can carry a final annotation which makes their parameters with predefined values immutable. This patch makes the same behavior applicable for a POST invoke as well.
The relevant change is the third commit. The first two, staged this way, introduce semantic preserving changes and a new test. Suggest https://github.com/apache/incubator-openwhisk/pull/3333/files?w=1

PG?

pg1/2649 🔵


Add test for non-2XX response to Send

https://github.com/cloudevents/sdk-go/issues/762
Signed-off-by: Stephen Greene<EMAIL_ADDRESS>

Merged with https://github.com/cloudevents/sdk-go/pull/764


Get camunda Candidate Users task

I have added candidate users and it is assigned to task , is there a way to fetch candidate user task from tasklist-client? tried by both getGroupTasks and getAssigneeTasks both were not working

Can someone help

Hi @akashkarunk,
I'll try to add these feature soon. But if you're using a 8.2, I would suggest using the rest apis rather than this client.

Hi @akashkarunk,
a release 1.7.0 is on his way and it provide some more TaskSearch attributes : candidateUser, dueDate, followUpDate.
Again, I would strongly advise to switch to rest apis soon!

Hi @akashkarunk,
The 1.7.0 is released and should solve your issue:
TaskSearch ts = new TaskSearch().setCandidateUser("michel");
client.getTasks(ts);

yes they are going to be soon richer than the graphQL apis. If I have some time, I will look to generate a rest client based on the open apis (if noone does it before me :))

Ok Thank you

Hi @chDame , Are you having any reference for this rest api implementation on tasklist.


How do I install java 1.7 with cask?

Sorry if this is somewhere on the documentation but I can't seem to find it. I need to install java 1.7 but running brew cask install java installs 1.8

brew tap caskroom/versions
brew cask install java7

As @thesbros mentioned, it is available in the caskroom/versions repo.

Hello @materechm. As @thesbros kindly anticipated, old Java versions are available in the caskroom/versions repository. If caskroom/versions is not currently tapped, you can install a particular cask with a one-liner:
brew cask install caskroom/versions/java7

@ndr-qef is this still the case? I'm getting the following error:
$ brew cask install caskroom/versions/java7
Error: No available cask for caskroom/versions/java7

I don't use OS X anymore, but it seems to still exist, so it should be working.

@mrluc your caskroom/versions tap may be outdated. Run brew update and try again.

@jawshooah thanks - turns out that my brew-cask was (quite) out of date! Getting latest resolved the issue.

Same for me.
$ brew install Caskroom/versions/java7
==> brew cask install Caskroom/versions/java7
Error: Cask 'java7' definition is invalid: Bad header line: parse failed

Fixed by a brew upgrade brew-cask

I had to manually open it.
cd cd /Users/you/Library/Caches/Homebrew/Cask/
open .
click on java7--1.7.0_80.dmg

When I run brew cask install java7, I get this:
==> Caveats
This Cask makes minor modifications to the JRE to prevent any packaged
application issues.

If your Java application still asks for JRE installation, you might need to
reboot or logout/login.

The JRE packaging bug is discussed here:

    https://bugs.eclipse.org/bugs/show_bug.cgi?id=411361

Installing this Cask means you have AGREED to the Oracle Binary Code License
Agreement for Java SE at

    http://www.oracle.com/technetwork/java/javase/terms/license/index.html

==> Downloading http://download.oracle.com/otn-pub/java/jdk/7u80-b15/jdk-7u80-macosx-x64.dmg
######################################################################## 100.0%
curl: (22) The requested URL returned error: 404 Not Found
Error: Download failed on Cask 'java7' with message: Download failed: http://download.oracle.com/otn-pub/java/jdk/7u80-b15/jdk-7u80-macosx-x64.dmg
The incomplete download is cached at /Users/xyu/Library/Caches/Homebrew/Cask/java7--1.7.0_80.dmg.incomplete

It seems the URL: http://download.oracle.com/otn-pub/java/jdk/7u80-b15/jdk-7u80-macosx-x64.dmg doesn't exist anymore.

@vitorgalvao @jawshooah or maybe someone else, this issue is closed but i see I'm not the only one to experience the problem by @xiaochuanyu just above.
Is there an ETA for this ?
Is there another thread tracking this problem ?
Thank you in advance !

@GBarthos That version of java is no longer supported by us. See https://github.com/caskroom/homebrew-versions/pull/3914.

ok thanks for the quick reply

I have just downloaded from this link: http://download.oracle.com/otn/java/jdk/7u80-b15/jdk-7u80-macosx-x64.dmg

@luishmelo, that link is redirecting me to a login page.

@luishmelo, that link is redirecting me to a login page.

Same.

Releases of JDK 7 are only available for Oracle Customers through My Oracle Support.
also: http://www.oracle.com/technetwork/java/javase/downloads/index.html in Section JDK 7.

@reitermarkus
to download from oracle's java archive, it is necessary to login as oracle account.

JDK 7 is still available through Oracle Archive Downloads. http://www.oracle.com/technetwork/java/javase/downloads/java-archive-downloads-javase7-521261.html

JDK 7 is still available through Oracle Archive Downloads. http://www.oracle.com/technetwork/java/javase/downloads/java-archive-downloads-javase7-521261.html

It still requires a login.

@commitay auch. I didn't notice that. Too bad. :/

From the other thread: brew cask install caskroom/versions/zulu7


KYLIN-3697 Check port availability when starts kylin instance

Codecov Report

Merging #353 into master will increase coverage by <.01%.
The diff coverage is n/a.

@@             Coverage Diff              @@
##             master     #353      +/-   ##
============================================
+ Coverage      23.6%   23.61%   +<.01%
- Complexity     4824     4825       +1
============================================
  Files          1133     1133
  Lines         68102    68102
  Branches       9659     9659
============================================
+ Hits          16077    16080       +3
+ Misses        50458    50457       -1
+ Partials       1567     1565       -2

Impacted Files
Coverage Δ
Complexity Δ

...ain/java/org/apache/kylin/cube/model/CubeDesc.java
64.28% <0%> (ø)
179% <0%> (ø)
:arrow_down:

...rg/apache/kylin/cube/inmemcubing/MemDiskStore.java
70.21% <0%> (+0.6%)
7% <0%> (ø)
:arrow_down:

...a/org/apache/kylin/dict/Number2BytesConverter.java
82.53% <0%> (+0.79%)
18% <0%> (+1%)
:arrow_up:

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 4e03407...28d1427. Read the comment docs.


Frame range with included handles

Feature
there is a request to be able to handle frame range as if it include handles. Currently, handles are added from outside, so for frame range 1001-1050 and we had handles to start and end. But we should be able to handle frame range like having frame range 991-1060  and fill handles with black if necessary. Seems like this is necessary for certain workflows with Flame.
[cuID:24nu3d2]

With https://github.com/pypeclub/OpenPype/pull/2815 being closed after some discussion - should this issue also be closed along with it?


Feaure suggestion :AICommand

:AICommand, creates vim commands based on your description and lets you see them before executing.
Inspiration:
I'm loving https://github.com/TheR1D/shell_gpt, and how you can run sgpt --shell "Install ripgrep" and it will return
sudo apt-get install ripgrep
Execute shell command? [y/N]:

for example:
:AICommand "Replace all '<div>' with '<p>' in lines 13 to 18"

would then do:
:13,18s/<div>/<p>/g
Execute command? [y/N]:

Which would allow you to keep it from making mistakes and would teach you about different commands.

Closing due to inactivity


Use KV storage to deduplicate SDLs from schema_checks

Closes https://github.com/kamilkisiela/graphql-hive/issues/2603
Adds sdl_store table with id (hash of sdl) and sdl columns.
Replaces schema_sdl, supergraph_sdl, composite_schema_sdl with schema_sdl_store_id, supergraph_sdl_store_id and composite_schema_sdl_store_id.

I was wondering whether the schema_sdl (if did not change), could instead be loaded from the linked schema_version (schema_version_id column)? I think that might cover 90% of duplications, and might avoid us having to run one more cron job.

I was wondering whether the schema_sdl (if did not change), could instead be loaded from the linked schema_version (schema_version_id column)? I think that might cover 90% of duplications, and might avoid us having to run one more cron job. Eventually, schema checks will be deleted after some time anyways.

Some supergraph SDLs can be 1MB big so If somebody is rebasing all the time or pushing many commits we still have a lot of duplicated schemas.


[BUG] Classes are compiled to put this before super() calls.

I added my own support number based on ie:10, so it looks like this:
		    10: 0b1000000000000000000000000000010,

I wanted to leave classes alone, to compile those with Babel afterword.
It turns out, Buble is modifying the classes, and putting this before super() which turns into an error in Babel because this isn't allowed to be used before super(). The output look like this:
        constructor (options) {
            var this$1 = this;
            if ( options === void 0 ) options = {};

            super(options);

            // use options
        }

Oddly, this$1 is never used for anything. Not sure why Buble would put that there.

I'm using rollup-plugin-buble. Could it be a problem there?

Can you give an example? I couldn't reproduce the issue.

Dang, I should've forked my repo and posted it. Will do next time. I may get around to it while testing builds for browsers before next release of my project.

Please feel free to reopen if you see the issue again.


Demo site admin no longer working

The demo site https://demo.simplcommerce.com no longer works because there is a problem in bundling config. All the files return a 404 result as detected in my browser

It should work now


xcode8 And xctool0.3.2 , cann't supported?

=== 中文 ===
使用 brew install -v --HEAD xctool 安装到最新的版本0.3.2,
"xctool -workspace Jiazheng.xcworkspace -scheme Jiazheng -sdk iphonesimulator",
可是尝试着使用, 发现还是报错. "The data is not in the correct format."
是还不支持吗? 或者是需要加什么参数吗?
=== English ===
Use "brew install -v --HEAD xctool" to install 0.3.2,
I Try to use: "xctool -workspace Jiazheng.xcworkspace -scheme Jiazheng -sdk iphonesimulator",
But get an error: "data is not in The the correct format".
Is not supported yet, or is it necessary to add any parameters?

use xcode8.1,xctool 0.3.1 run sh run-sonar.sh,
get an error:Command 'xctool -workspace OspPortal.xcworkspace -sdk iphonesimulator ARCHS=i386 VALID_ARCHS=i386 CURRENT_ARCH=i386 ONLY_ACTIVE_ARCH=NO -scheme OspPortal clean' failed with error code: 4
Is not supporter yet?

Really sad for this, the README told us other actions except run-tests only for XCode 7 only. Hope facebook teams could make this tool fully support XCode 8 ASAP.

Sorry, I am not sure what run-sonar.sh is but it isn't part of xctool. Starting from Xcode 8 xctool doesn't support any actions rather than running tests and this won't be changed. We were planning that since about April because at Facebook we use Buck for most of our cases, sometimes xcbuild and in some cases xcodebuild directly which nowadays solves most of the problems. Nevertheless xctool is still one of the best tools to run tests on CI and locally with a huge feature set.

Are you ready for new release that will support xcode 8.x ?
We are waiting for you Facebook, please.

Hm, latest release contains all the commits. Doesn't it work for you? It should work fine with latest Xcode 8.3.

@ExtremeMan it only running tests or both ?

xctool won't support building, only running tests.


[site,ci] Add function called by dvsim publish to trigger a website rebuild

(When called by an appropriately-authenticated host), this change will allow a dvsim job that publishes its results to trigger a rebuild of the website. This will make the nightlies trigger a rebuild upon completion of their report-publication step.
This is deliberately brittle, as it depends on CLI tools being present as well as a locally-authenticated host with appropriate permissions for the Gcloud project. It also hardcodes the project name and requires the manual setup of a Cloud-Build Trigger.
If any of those prereqs change, then it might be a good idea to make this more generic.

LGTM any concerns from you @cindychip about this running on the nightly regression infrastructure?

Thanks for tagging me, I will review this today.


Gradle 8.1 and 8.1.1 alter Gradle plugin bytecode so that it fails anti-tamper check.

Expected Behavior
Our application automatically checks that its classes have not been altered as part of an anti-tamper check. If the bytecode is altered or if the sequence of class initialization is altered then it will fail to work properly.  The expected behavior is that the anti-tamper self checks should cause to problems.
Current Behavior (optional)
Our application fails the anti-tamper self-check if Gradle 8.1 or 8.1.1 is used.
Context
It appears that Gradle 8.1 and 8.1.1 are automatically altering the bytecode and/or changing the class initialization sequence resulting in the application crashing.
Setting the org.gradle.internal.instrumentation.agent=false environment variable has made no difference.
The feature requested is that there should be a way to tell Gradle to not alter the application bytecode in ANY way.

Hi! I just wanted to say that, my issue might be related to your issue. See, https://github.com/gradle/gradle/issues/25164

With further testing we have found that the first Gradle version to trigger the anti-tamper fail was Gradle 6.6. The SHA256 hashes of some classes are changed by Gradle 6.6.  Gradle 8.1 and 8.1.1 make extra changes possibly to the class initialization order.

Have done further testing using Gradle 6.6. (The application fails too abruptly under Gradle 8.1 to allow useful debugging.) When comparing the original application JAR with the JAR in the Gradle cache it is clear that Gradle 6.6 is

Reordering the constant pool
Adding constant pool entries and
Inserting calls to org/gradle/internal/classpath/Instrumented.systemProperty:(String,String,String)

I have set org.gradle.internal.instrumentation.agent=false as an environment variable and in gradle.properties but it has made no difference.  There needs to be a way to tell Gradle to not tamper with the classes it is running in ANY way. Otherwise application which do an anti-tamper check or which are otherwise sensitive to alteration will fail under Gradle 6.6 or better.

qlq_original.txt
qlq_cached.txt
I have attached the javap output for the class qlp.class.  The file qlq_original.txt shows the class contents of the original qlq class that was executed through Gradle 6.6.  The file qlq_cached.txt shows the contents of the class retrieved from the Gradle cache.  It is this cached version which Gradle actually executed and has modified.
As can be seen, Gradle 6.6 has clearly modified the class.  Amongst other things Gradle has inserted a call to org/gradle/internal/classpath/Instrumented.systemProperty:(String,String,String).
Note that for any application which does a SHA anti-tampering self check ANY change is fatal.  There needs to be way of switching off this behavior.

testCase0.zip
I have attached an absolutely minimal test case which demonstrates that Gradle 8.1.1 makes changes to an executed class. Please see the instructions in the contained ReadMe.md.
The changes made by Gradle are not be fatal in this simplified case but they would be if there was an anti-tampering self-check.
Note that for any application which does a SHA anti-tampering self check ANY change is fatal. There needs to be way of switching off this behavior.  Otherwise such application will not be able to run through any version of Gradle after 6.5.1.

Thanks! This clarifies things a bit.
Your test case shows the circumstances of your observation but doesn't allow reproduction of the problem because com.zelix.gradle:plugin:1.0.0 is not available. I understand this is closed source.
As stated in the above comment:

Gradle does instrumentation of classes on the build script classpath, but not on your production code.

IOW Gradle instruments classes of Gradle plugins, not of applications. In your case the affected classes are indeed from a Gradle plugin. I edited the issue title to reflect that instead of implying that Gradle instruments application code.
This instrumentation allows for Gradle features such as the automatic detection of build logic inputs for Configuration Cache invalidation.
What would work in your case then would be a way to opt-out of the plugin classpath instrumentation. Such an opt-out would defeat Gradle features that rely on it. We could imagine disabling those features if you opt-out of the instrumentation.

Here is the description of a workaround. Here I'm assuming your Gradle plugin is constitued of some integration with Gradle  and of Gradle task(s) that make use of your closed source product to process the application code that is built.
One approach that would work Today would be to split your Gradle plugin into two parts:

a thin layer for the Gradle integration
the actual implementation of your tasks actions

The former would be instrumented by Gradle and would not have an anti-tamper check.
The latter would be resolved as a separate JAR and could keep an anti-tamper check.
The above can be achieved by having the Gradle plugin declare a dependency to the separate JAR in a Configuration created by the plugin.
Then the Gradle plugin can register task(s) that make use of the Worker API. With the Worker API, tasks can execute code from external JARs in isolation. These JARs are not instrumented and can have an anti-tamper check.
I understand this requires work on your Gradle plugin and would move that thin layer outside of the protection provided by your product but it is the only option without a potential opt-out of Gradle plugins instrumentation.

I'll let our relevant team take over this issue and make a decision about the feasibility of the opt-out.

com.zelix.gradle:plugin:1.0.0 is not available

Sorry. I put the wrong download link in the ReadMe.md.  The correct link is https://www.zelix.com/klassmaster/download/zkm-gradle-plugin-1.0.0.zip.

Gradle does instrumentation of classes on the build script classpath, but not on your production code

The plugin basically collects parameters from the user and then uses them to run a local JAR which is closed source. The plugin is merely a means for allowing the closed source local JAR to be run using Gradle. The essence of the problem is that the classes of this local JAR are being modified causing them to fail the anti-tamper self-check.
Is it possible to exclude local JAR files from such modifications? They were never intended to be treated as part of the plugin.

One approach that would work Today would be to split your Gradle plugin into two parts

This exactly what we thought we had done.  The plugin references a separate local JAR but this local JAR is being modified.

edited the issue title to reflect that instead of implying that Gradle instruments application code

I am not sure that the change in the title was appropriate.  The separate local JAR is the application that the plugin initiates.

Gradle instruments the "plugin classpath" and your second jar is currently part of that classpath. The split needs to move that other JAR outside of the "plugin classpath". In other words for the other JAR not to be instrumented it should not be a dependency of the plugin but be declared in a separate configuration . If you follow my suggestion to use the Worker API in the task that runs that external JAR by resolving it from a separate configuration it should work.

I changed the title back to "Gradle 8.1 and 8.1.1 alter Gradle application bytecode so that it fails anti-tamper check" to avoid the risk of misunderstanding. The plugin itself is downloaded from https://www.zelix.com/klassmaster/download/zkm-gradle-plugin-1.0.0.zip.  It contains no local closed source application JAR file.
The test case https://github.com/gradle/gradle/files/11581134/testCase0.zip includes the local JAR ZKM.jar which simulates the closed source application JAR which is totally independent of the plugin.  The plugin merely allows the ZKM.jar application JAR to be run from within Gradle.
It is this local ZKM.jar application JAR which is being inappropriately modified by Gradle (after version 6.5.1) resulting in the failure of the anti-tampering self-check.

If you follow my suggestion to use the Worker API in the task that runs that external JAR by resolving it from a separate configuration it should work

To be honest I couldn't make sense of the Worker API example. Of course it was focused on getting a task to operate in parallel which is not the issue here.
Shouldn't setting the org.gradle.internal.instrumentation.agent=false environment variable be enough to prevent instrumentation?  In the case of the test case, the changes that are made to the ZKM.class appear to quite gratuitous. The constant pool is reordered for no apparent reason.

Gradle instruments the "plugin classpath"...

But does it really have to do this in the case of local JAR files that are not in any formal repository?  Note that this issue #25159 is a "feature request".

Note that because there is apparently no way of telling the newer versions of Gradle to not alter the local JAR classes in any way we are having to tell our users to use nothing newer than Gradle 6.5.1. This is not good for anyone.

tl;dr Worker API with classpath/process isolation is the currently supported way of excluding the JARs from bytecode instrumentation. More details follow.
Gradle instruments the buildscript classpath (compiled build scripts, plugins and their runtime dependencies) to track various external inputs to the build configuration (mostly to support configuration caching), ensure task cacheability, and to provide some backward compatibility features. There's no way for Gradle to figure out how parts of the classpath are used, and excluding parts of the classpath from instrumentation opens the room for broken builds (build may fail or may silently re-use cached state when it shouldn't).
However, the Worker API provides the necessary level of isolation - code run in the isolated worker cannot affect the build configuration/cacheability, so Gradle doesn't instrument it. To provide the isolation the code is loaded in the separate classloader (or even in the separate process) with separate classpath. The limitation is that it isn't possible to communicate anything back to the build script code from the worker except the failure, but looking at your plugin - it isn't a problem.
Another option could be to use JavaExec task which also uses a separate classpath (and a separate process, of course), but this would likely be less convenient (your JAR has to have the main() entry point). The classpath of JavaExec is not instrumented, of course.

To be honest I couldn't make sense of the Worker API example. Of course it was focused on getting a task to operate in parallel which is not the issue here.

The only difference is that for parallelism you have to submit multiple WorkerActions to the WorkQueue, everything else still holds.

Make sure your compile file("...") is a compileOnly instead, so it doesn't become a runtime dependency of the plugin itself:

dependencies {
    compileOnly gradleApi()
    compileOnly files("$ZKM_JAR_PATH") //ZKM_JAR_PATH can be set in gradle.properties
}

Extract code that uses classes from the JAR to the WorkerAction implementation. The action implementation is going to be loaded in the Worker's class loader, and won't be instrumented, as well as the rest of the worker classpath. For your class it could be like:

public abstract class ZKMAction implements WorkAction<ZKMAction.Params> {
    interface Params extends WorkParameters {
        Property<String> getScriptFile();
        Property<String> getLogFileName();
        Property<String> getTrimLogFileName();
        Property<String> getDefaultExcludeFileName();
        Property<String> getDefaultTrimExcludeFileName();
        Property<String> getDefaultDirectoryName();
        Property<Boolean> getVersbose();
        Property<Boolean> getParseOnly();
        MapProperty<Object, Object> getExtraProperties();
    }

    @Override
    public void execute() {
        Params params = getParameters();

        com.zelix.ZKM.run(
                params.getScriptFile().getOrNull(),
                params.getLogFileName().getOrNull(),
                params.getTrimLogFileName().getOrNull(),
                params.getDefaultExcludeFileName().getOrNull(),
                params.getDefaultTrimExcludeFileName().getOrNull(),
                params.getDefaultDirectoryName().getOrNull(),
                params.getVersbose().getOrNull(),
                params.getParseOnly().getOrNull(),
                params.getExtraProperties().getOrNull());
    }
}

Build a configuration to be used as worker's classpath. The example uses ConfigurableFileCollection field of task for this that is initialized in the build script by the user. Alternatively, you can define the configuration and add the JAR to it in the plugin code, then wire it to the task. If the path to JAR comes from the gradle.properties, you can do something like:

public abstract class ZKMPluginTask extends DefaultTask {

   @InputFiles
   public abstract ConfigurableFileCollection getClasspath();
// ... snip
}

public class ZKMPlugin implements Plugin<Project> {
    @Override
    public void apply(Project project) {
        project.getExtensions().create("zkmSetting", ZKMPluginExtension.class);
        project.getTasks().create("zkmTask", ZKMPluginTask.class, task -> {
            task.getClasspath().from(project.file(project.property("ZKM_JAR_PATH")));
        });
    }
}

Build a WorkQueue out of this configuration in the task action, then configure and submit the action itself:

public abstract class ZKMPluginTask extends DefaultTask {
// snip
   @Inject
   protected abstract WorkerExecutor getWorkerExecutor();
// snip
   @TaskAction
   public void run() {
    // getting stuff from the extension skipped
    getWorkerExecutor().classLoaderIsolation(clSpec -> {
         clSpec.getClasspath().setFrom(getClasspath());
      }).submit(ZKMAction.class, params -> {
         params.getScriptFile().set(scriptFile.getAbsolutePath());
         params.getLogFileName().set(logFileName);
         params.getTrimLogFileName().set(trimLogFileName);
         params.getDefaultExcludeFileName().set(defaultExcludeFileName);
         params.getDefaultTrimExcludeFileName().set(defaultTrimExcludeFileName);
         params.getDefaultDirectoryName().set(defaultDirectoryName);
         params.getVersbose().set(isVerbose);
         params.getParseOnly().set(isParseOnly);
         params.getExtraProperties().set(extraProperties);
      });
}

You can also look at the sources without snips at https://gist.github.com/mlopatkin/dc36350e0589df782f7f2c4cc41cbf1c

Shouldn't setting the org.gradle.internal.instrumentation.agent=false environment variable be enough to prevent instrumentation?

No, it doesn't disable instrumentation, just switches to the legacy way of doing it. In general, I advise not to use internal switches, as these can go away without notice, and there's no plan to support this particular one longer term.

which simulates the closed source application JAR which is totally independent of the plugin. The plugin merely allows the ZKM.jar application JAR to be run from within Gradle.

You're adding this JAR as an implementation dependency of your plugin, so Gradle has no way of knowing that the JAR is "totally independent" - there's no difference to it being just a library, so Gradle assumes that it can affect the build configuration.

But does it really have to do this in the case of local JAR files that are not in any true repository?

It doesn't really matter where the JAR comes from, as all have the same capabilities when used in the buildscript classpath.

I changed the title back to "Gradle 8.1 and 8.1.1 alter Gradle application bytecode so that it fails anti-tamper check" to avoid the risk of misunderstanding.

"application" heavily implies that Gradle instruments the code being built with Gradle which is actually misleading. It is a big stretch to call anything on the buildscript classpath an "application".
PS. There is a room for other improvements in plugin, like supporting incremental builds and configuration cache, but this is out of scope.

Thank you Mikhail for all the work you have put in above.  I understand that it is intended to be a complete working example of the Worker API approach.  I have attempted to put it into a project structure in the attached ZKMAction1.zip.  However, when I run "gradlew build" I get the Java compile error below.  The "missing" class com.zelix.ZKM is in the ZKM.jar which is pointed to by the ZKM_JAR_PATH property that is set in the gradle.properties. However, when I use the --debug option I can see that the classpath being passed to the Java compiler does not include the ZKM.jar.  I have tried using absolute & relative paths for the ZKM_JAR_PATH property but it makes no difference.  Is there something I am missing?
D:\Projects\gradle\ZKMAction\buildSrc\src\main\java\com\zelix\gradle\ZKMAction.java:25: error: cannot find symbol
com.zelix.ZKM.run(
symbol:   class ZKM
location: package com.zelix
ZKMAction1.zip

Hi,
In your zip, the plugin is in buildSrc so the compileOnly dependency to the jar must be set in buildSrc/build.gradle. Moreover, the plugin was not applied in the root build.gradle script.
Please find here a modified ZIP that works AFAICT:
ZKMAction.zip

Thank you @eskatos for your changes and clarifications. The project is now building successfully.  The next step in the testing process is to install the plugin to the local .m2 repository.  With earlier versions of Gradle we simply ran "gradlew build install" and all was simple & straightforward.  Now with the later versions of Gradle "install" no longer works.  My understanding is that we should now use publishToMavenLocal.  However, when we do this we get a ":publishToMavenLocal UP-TO-DATE" response but nothing goes into the local repository.
Is this because of the more complicated project structure or is it something else?  I apologize for our lack of Gradle expertise. After spending hours trying to understand the Gradle documentation and attempting to replicate possibly obsolete approaches suggested on StackOverflow I have to (at least temporarily) admit defeat.
I Have attached our (slightly changed) project structure as it currently is.
ZKMAction2.zip

Is this because of the more complicated project structure or is it something else? I apologize for our lack of Gradle expertise. After spending hours trying to understand the Gradle documentation and attempting to replicate possibly obsolete approaches suggested on StackOverflow I have to (at least temporarily) admit defeat.

I'm sorry, but I don't think this issue is a good medium to get help about how to use Gradle, the discussion is better suited for Gradle forums or the community Slack.
I've updated the documentation to highlight the fact that Gradle instruments bytecode and provide links to the Worker API mitigation.


Improve example cards

As a follow-up for https://github.com/voila-gallery/gallery/pull/70, and suggested by @SylvainCorlay in https://github.com/voila-gallery/gallery/pull/70#issuecomment-535518678, we can do a second pass on the new visual identity:

remove the Launch button to make the whole div a launch button (maybe with a transparent > play button on hover)
probably remove the Source button to be replaced with a github link in the corner...

github

Quick thought on this: maybe another logo than github in case we decide to support gitlab or arbitrary git URLs.

That should already be supported, since the example are built with repo2docker (which handles arbitrary git URLs).

Fixed by https://github.com/voila-gallery/gallery/pull/73


refactor: try to remove unnecessary tests in error mod

Signed-off-by: Ruihang Xia<EMAIL_ADDRESS>I hereby agree to the terms of the GreptimeDB CLA
What's changed and what's your intention?
We have ignore error.rs in codecov's config. This PR tries to remove those (unnecessary) test cases to see if it works. And if so, we don't have to struggle with them anymore 🎉
Checklist

[ ]  I have written the necessary rustdoc comments.
[ ]  I have added the necessary unit tests and integration tests.

Refer to a related PR or issue link (optional)

Got the reply from codecov

Change this to draft and wait for the reply from codecov.


Show all keys for a product name

This project is exactly what I was looking for. Thanks a lot!
I thought it was maybe more useful to group the products by their name and show all the corresponding keys.
This way, the number of listed "products" becomes must shorter.
Before (keys removed):

With this PR (keys removed):

As soon as a product is selected, all keys will be copied to the clipboard, e.g.
Windows 10 Professional:

XXXXX-XXXXX-XXXXX-XXXXX-XXXXX (Retail)
XXXXX-XXXXX-XXXXX-XXXXX-XXXXX (Retail)
XXXXX-XXXXX-XXXXX-XXXXX-XXXXX (Retail)

So the keys don't have to be copied one by one.

Love it, thank you!


Setup a next release branch for the Gatsby Theme

Having a next release branch would mean we could test changes to the theme on other sites before release, at the moment, i'm putting the changes in the theme in the node_modules folder at the moment, and maybe there's a different way to do this but a next branch would be ideal

great idea! I added as a 🅿 for today's standup.

I think our decision was to not do this, but @rudouglas if you want to add some details to what we decided that be 🆒

@rudouglas Have you looked into any of these options for running dev content? https://www.gatsbyjs.com/docs/creating-a-local-plugin/#using-requireresolve-and-a-filepath

Tagged for sustaining epic...  🏗

Here is the approach i took. I wrote a Node script we can run locally to publish a new version of the theme to NPM.
The version is specific to the current working branch and also allows for additional versioning e.g

I'm working on theme 1.0.0.
I create a new branch called ru-patch and make some updates
Running the script will create a new version 1.0.0-ru-patch.1 with tag ru-patch in NPM
I can install this version using the tag/branch name like yarn add gatsby-theme-newrelic@ru-patch
I make some more updates and run the script again
This will create a new version 1.0.0-ru-patch.2 with tag ru-patch in NPM
Running yarn add gatsby-theme-newrelic@ru-patch should pull the latest version 1.0.0-ru-patch.2

Additional Features

Will check that the NPM_TOKEN environment variable has been set
Will check you are running Node 16
Will check for discrepancies between yarn.lock and package.json
Will check if you are on excluded branches like main/develop

You could test this with any repo, but i used this one: https://github.com/rudouglas/gatsby-build-newrelic
All you need is:

Create a new publish token in NPM
Change the "name": "ruairi-test" in package.json to something else

Remaining Questions
I wasn't 100% sure how the current release works, so not sure what happens if I merge a branch with version 1.0.0-ru-patch.1 into main branch with version 1.0.0, how does semantic versioning deal with that?

Terminal output:

Since we are using lerna for releases, could we just use that tool to publish alpha releases instead? That would avoid the need for a custom script.

Questions that came up in our Review:

Do we want to publish every branch to NPM? This would result in a lot more versions, but does this matter? Gatsby currently has over 2,000
We could limit the branches pushed to only those containing a specific phrase such as alpha etc
What happens if we publish a secret to NPM? We could either review every Push before publishing, or we need an unpublish workflow in place

@jerelmiller AFAIK we tried this before without much success, but i'm gonna chat with @aswanson-nr  and @zstix to get more context on why that wasn't working

@jerelmiller - Thank you! -  You are welcome to be part of the  conversation.. we appreciate your input here. 😄

Do we want to publish every branch to NPM? This would result in a lot more versions, but does this matter? Gatsby currently has over 2,000

That seems unnecessary as this is just a theme, just my 2 cents

We could limit the branches pushed to only those containing a specific phrase such as alpha etc

I like this!
What happens if we publish a secret to NPM? We could either review every Push before publishing, or we need an unpublish workflow in place

definitely worth considering this risk.

We could limit the branches pushed to only those containing a specific phrase such as alpha etc

I second this. I like this idea. Perhaps we could combine the branch naming convention + publish when opening a PR through GitHub actions. When a PR is opened, the GitHub action would run, check to see if the branch matches the predefined pattern, and if so, publish an alpha release. This would help both limit the number of versions published and reduce risk on secrets getting published.
If we go this route, we'll also want to consider what happens if a PR is opened and new commits are pushed. lerna publishes alpha versions using the commit sha, so new commits means you could have several publishes for a single PR. Depending on the number of times a developer pushes to the branch while the PR is open could result in quite a few releases.

I know we aren't the only ones that need something like this, so it might be good if we can identify a few other open source projects that do something similar. Stealing from prior art can help solidify the direction as well 😄


Extracted test helper: get_and_check_messages().

This new helper combines two old helpers, one of which was misnamed
and the other of which was always called after the first, so it
made sense to just combine the helpers.
Fixes: #1386

travis failures are just casper

Yeah, this is a lot cleaned.  Merged, thanks @showell!


Replace Clipboard with @react-native-clipboard/clipboard

Summary
import {Clipboard} from 'react-native'; is Deprecated. Thus needs to be replaced with a community package
Clipboard has been extracted from react-native core and will be removed in a future release. It can now be installed and imported from '@react-native-community/clipboard' instead of 'react-native'. See https://github.com/react-native-clipboard/clipboard

https://github.com/GeekyAnts/NativeBase/issues/4149


Hello, I want to ask some questions

1,What's the difference between this component and react-native-i18n?
2,How to implement language switch in app internal Settings?
Please answer that question.

@giantss Hi!

react-native-i18n is linked to i18n-js, you have no choice for the i18n lib (you can use i18next, globalize, etc)
react-native-languages fire an event on language change on android
react-native-languages handle the list of user prefered languages. You can fallback to his second language of choice if the first is not available if you want (instead of just fallback to english)

Thank you very much for your reply.
I understand what you mean. For example, my app supports two languages, Chinese and English. The default is English. I do not quite understand if the user selects the language switch inside the app and switches the language to Chinese Is what API call this function, request advice...

Then you have access to the constant ReactNativeLanguages.language and to the listener ReactNativeLanguages.addEventListener('change', ({ language }) => {}) to build you language switcher / use an i18n lib, etc.

thanks!

how does one change language? I can't find a setLanguage method!

@usmansbk You change language at OS level (in settings)

@usmansbk  i have managed to implement the chage language dynamically
please have a look at my comment https://github.com/react-community/react-native-languages/issues/10

I have a question.
I need to change the entire app for different region. For example, If the user in United states needs to show in English. In Netherland needs to show in Dutch. In Israel needs to show in hebrew.
Can I able to acheive this for multilanguage.
Shall I need to save all multile languages in json format?
Any other solution or workarounds?


Add docs template

Description

Add documentation using sphinx in order to prepare for read the docs.
Built version: https://metadata-submitter.readthedocs.io/en/feature-add-docs/
Related issues

Fixes (partly) #26
Type of change

[x] New feature (non-breaking change which adds functionality)

Changes Made

Add template documentation using sphinx
add .docs to setup install
add docs tests in tox.ini

Testing

[x] Unit Tests

@blankdots is this ok to merge?

@otahontas go ahead.


proposal: Go 2.0: Mechanism to bind a channel to a goroutine

A quick note I tried to see if this has been proposed already. Haven't found anything, so taking a stab at sharing my thoughts 🙇 Sorry if this has been suggested before.
Proposal
To be able to declare (most commonly when defining another functions receiving argument types) that the channel rference being passed to a function is now bound to that goroutine. This means that function could not communicate that reference outside of its own routine. i.e. it could not pass the channel to a spawned routine or pass that channel via other means, causing it to leak into another routine.
The following is a contrived example, with likely a poor user experience. But I think it captures the intent:
func foo(ch ^chan string) {
  go func() {
    ch <- "thing" // would fail compilation as channel has leaked into another routine
  }
}

Here I use the caret (^) to signify this channel reference will become bound to the routine it is called within. I am sure there exists a clearer user-experience for this feature.
Motivation
This is to aid in defining well structured code, which does not send on a closed channel.
This is a safety mechanism in the spirit of the direction of a channel e.g. func foo(ch chan<- string). I would expect it to be used in the same fashion. This new compile time enforced rule can be used to uphold best practice for handing channels off to routines which will send on them.
Often after constructing a channel, it is handed off to other functions. Ideally divided into some which produce and some which consume. When clearing up and ensuring all processes have finished, we often want to inform consumers via closing the channel in question and then waiting for those consumers to exit. However, before we can safely close the channel, we must first ensure that the producers will not attempt to send again. Otherwise, the subsequent send on the closed channel will panic.
One way to do this is to interrupt the producers and wait for them to return. This can be achieved via cancelling a context.Context and having the producers pay attention to ctxt.Done() for example. Waiting for the producing routines doesn't give the caller complete guarantee that the channel won't get sent on again however. If the producer spawned anymore routines with that channel or worse, sent that channel on another channel 😨 to another routine, then a send could occur again.
A mechanism like the one described would ensure that producers could be defined to have channels which are "bound" to the goroutine they are executed within. This gives a guarantee to the invokers of the producing functions that once the function returns nothing that it touched can send on the channel again.
I would expect that (given the caret syntax above as an example again) this would often be used in conjunction with the direction syntax. e.g. func bar(ch ^chan<- string) which is a function which receives a send-only channel bound to the current routine.
This may not be feasible, but thought I would share the idea. I am probably asking for something extremely difficult to enforce or check at compile time.

The more I think about this, the more the devilish details present themselves.

How to deal with the fact that a channel can be shared by other means. e.g. a global variable
Perhaps you would have to enforce a compile time rule to not allow bound channels to be assigned to variable.
How to deal with the channel being embedded in something else which can be shared. e.g. a struct or a closure.
I guess this could create some complex kind of labelling required internally to say that a thing owns a channel which is bound, therefore, it is also bound by the same rules.

This leads me to wonder if this mechanism would be more favorable as a generic mechanism for labelling any type as "bound". Which I guess is a bigger problem which has probably been defined more eloquently in another proposal XD

To better illustrate my thoughts. Here is a more useful (yet still contrived) example:
Say I defined a type which took and executed some other piece of functionality via receiving either a func or an interface. Let us say that those functions or the functions defined within the interface took parameters which were bound or "pinned" to their callee goroutine:
type StringProducerFunc func(ch ^chan<- string)

func SendStrings(ch ^chan<- string) {
  for { ch <- "words" }
}

func Do10TimesConcurrently(fn StringProducerFunc) {
    ch := make(chan string)
    wg.Add(10)
    for i := 0; i < 10; i++ {
        go func(){
          defer wg.Done()
          fn(ch)
        }()
    }
    wg.Done()
    close(ch)
}

func man() { Do10TimeConcurrently(SendStrings) }

The do 10 times concurrently could feel safe that closing the channel ch will not panic if it is protected at compile time from that channel being shared by SendStrings.

You are proposing a kind of type qualifier.  Within a function that uses a channel type with that qualifier, values of that type may not be sent to a different goroutine.  But of course the channel value can be sent to a different goroutine before entering that function; channels are only useful if you can send them to other goroutines.  And detecting whether a channel value is sent to another goroutine is non-trivial, as you note above.  You also don't discuss whether a value of type ^chan int can be assigned to a value of type chan int; presumably not, but that means that you can't use these channels with any helper functions.  It's a form of const poisoning, only in this case it is channel-within-goroutine poisoning.
In general Go avoids type qualifiers.  We would only add a new type qualifier for a general problem encountered by many programs.  This proposal seems to be for a very specific problem that most programs do not encounter.
We aren't going to do this, but thanks for the suggestion.

Thank you for the explanation. Very much appreciated :)


Add update command to readme

I think the correct command is pm2 module:update pm2-server-monit, calling update will replace the in-memory pm2  instance with the one globally installed

@JCMais Exactly, i will add it to the readme.


save additional_info for pharmacist

Changes Unknown when pulling 47fd477e30e0113157fe9175d228384d02081e86 on fix_creating_employee into ** on master**.

Changes Unknown when pulling 9b1e391ef45a7734e1c725b4bcfeab47b1835278 on fix_creating_employee into ** on master**.

Changes Unknown when pulling 9b1e391ef45a7734e1c725b4bcfeab47b1835278 on fix_creating_employee into ** on master**.


Add "last" method

Add a new  .last(predicate?: (value: T, set: SuperchargedSet) method returns the last item in the set. If a predicate function is provided, return the last item found by predicate.
Example
Set.of([1, 2, 3]).last()
// 3

Set.of([5, 4, 3, 2, 1]).last(value => {
  return value > 3
})
// 4

I would be happy to try this. Can you please assign me?

@rohitgeddam Hey, please go ahead and submit a pull request if you want to work on this feature.
As a note: there’s an existing pull request #12, but it’s not mergeable yet. You can still offer your solution if you want. I’m happy to assist you with the implementation or review any code!


Fix AttributeError: module 'sphinx' has no attribute 'application'

When trying to import sphinx_basic_ng I get the following error message:
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/path/to/lib/python3.9/site-packages/sphinx_basic_ng/__init__.py", line 13, in <module>
    def setup(app: sphinx.application.Sphinx) -> Dict[str, Any]:
AttributeError: module 'sphinx' has no attribute 'application'

I got this error message while trying to package sphinx-basic-ng for Nixpkgs, since furo now depends on it. When packaging a python package in Nixpkgs it is common to have a basic test that just attempts to import the module to see if at least this basic functionality works.
I don't know why nobody else seems to have experienced this error.
Replacing import sphinx with import sphinx.application would also fix the error but I think the change in this commit makes the intent more explicit.
I realise that I had the same problem with furo before, where the error was (accidentally?) fixed in https://github.com/pradyunsg/furo/commit/d467db25edc515bd240fd13e803d6a617a7412f1 by replacing import sphinx with import sphinx.application, so everything started working after an update. But furo also contains the variant I decided on using here: https://github.com/pradyunsg/furo/blob/2969c2300aef17a72424007b67ea243a897e40bc/src/furo/sphinxext.py#L22.

Sure, why not. I'm still not sure why/how this failure happens for you, but... well, this is an easy-enough change. :)


Dose flet support 2D drawing ?

Dose flet support 2D drawing ?

Currently you can use Image control and change the source Image.
CustomPaint might be added in future.

Closing in favor of #205


Support the kind of change Reviewer 2 was interested in

R2: I personally would be interested in dealing with the correspondence between trees and terms easily (in CoLoR for Coq terms are implemented using dependent types (number of arguments equal to the arity of the symbol); in Isafor for Isabelle they are implemented as rose trees (formally: using varyadic symbols), but i failed to make that work: (Error: Anomaly "Uncaught exception Failure("this kind of change is not yet supported")." Please report at http://coq.inria.fr/bugs/.) Will that be covered by future work?
It's kind of hard to know what R2 wants without seeing the type examples explicitly, but I should look into this at some point.
Also, I fixed this to not be an anomaly already, and to tell people to post issues here so I can ask them for their types.

Try with the new framework


Add instructions to initialize git submodules

Added instructions to how a user can clone this repositories and include the necessary submodules in case the user is not very experienced with git submodules.

Thanks!


Revoke blob URL after it is used

if webworkify called by many times on same page, blob URL resource is leaked.
For example, I used webworkify on electron browser process, too many blob url creation causes load error.

TIL! revokeObjectURL
compat is decent, but may want to make sure its there before calling it
Chrome: 8.0[1]
Firefox (Gecko): 4.0 (2.0)
Internet Explorer: 10.0
Opera: 15.0
Safari (WebKit): 6.0[1] 7.0

@kumavis
I added check process, revokeObjectURL is function or not.

@joker1007 :+1: nice

LGTM and checks out on the examples.  I'll resolve and merge.


Goerli multicall address

deployed at address 0x77dca2c955b15e9de4dbbcf1246b4b85b651e50e, chainID 5. no reason not to add this in

included in this pr: https://github.com/cavanmflynn/ethers-multicall/pull/6

Released in v0.2.0

Released in v0.2.0

hey man is this library still maintained?
I tried with a simple contract and its not working for me.
 const ethcallProvider = new Provider(provider, 56)
    await ethcallProvider.init()
    const contractCalls = []
    const swapContract = new Contract(swapAddress, swapABI)
swapContract .swap(); //undefined

    ```

TypeError: swapContract .swap is not a function


Light globe flashing issue

Hi,
I bought a 'Brilliant smart' globe (model 20699) from Bunnings (in Australia) and am trying to flash tasmota. I have sucessfully flashed a mirabella genio bulb previously using the same raspberry pi 3 but this one does not work. The bulb flashes rapidly and when the script starts, the bulb goes to solid on very shortly after the script outputs 'Sending secret'. The script then outputs:
'SmartConfig complete. Resending SmartConfig Packets'
10 times before saying 'Device did not appear with the intermediate firmware'.
I've noticed in the smarthack-psk log the top line is 'Cannot exec './psk-frontend.py': Permission denied' and I have tried to fix the permissions but I don't know if this is the problem or if my attempt did anything.
Thanks,
smarthack-psk.log
smarthack-udp.log
smarthack-web.log
smarthack-wifi.log
smarthack-mqtt.log

I am seeing a similar traceback (on another device) but I do not get the exec perm error. My perms on psk-frontend are:
0775 or -rwxrwxr-x
a lot of times if a file is not executable you will see the 'Cannot exec './psk-frontend.py': Permission denied' error. Hope that helps.

I am seeing a similar traceback (on another device) but I do not get the exec perm error. My perms on psk-frontend are:
0775 or -rwxrwxr-x
a lot of times if a file is not executable you will see the 'Cannot exec './psk-frontend.py': Permission denied' error. Hope that helps.

I am also getting the same problem on a Globe bulb that I bought from Costco in Canada.

I am also getting the same problem on a Globe bulb that I bought from Costco in Canada.

I am also getting the same problem on a Globe bulb that I bought from Costco in Canada.

Did you ever find a solution or is it simply a no go at the moment due to the current firmware on the bulb? I would like to get these over to Tasmota if possible. I have tried to open one up to flash on the pins but it is a destructive process.


Panic master

Panic-Master
Admin Panic-Master
Breaking Changes
config.yml has changed
previews have changed
about and index md files changed
some sections have changed how data is accessed
NEED HOT FIXES
currently some css for About need attention
pdfs are not rendering in CMS or in netlify test site

What kind of change does this PR introduce?

Does this PR introduce a breaking change?

What needs to be documented once your changes are merged?

wrong branch retry


Add support singleDate

hi @Tinysymphony , I add new props singleDate, to support single date selection, (startDate and endDate same value)
please check it when you have a time.

Coverage decreased (-0.6%) to 89.801% when pulling 2c58df5653e7896b9934ecefd4e370d58af3d7ad on SeptiyanAndika:master into acd6b0b7a7b1e58185d6a912b0e9441838a1fbe5 on Tinysymphony:master.

Coverage decreased (-1.6%) to 88.783% when pulling ae2bc4c9e7d8fa8c4a976b3a01f334dffeab3f72 on SeptiyanAndika:master into acd6b0b7a7b1e58185d6a912b0e9441838a1fbe5 on Tinysymphony:master.


ListArray::try_new rejects {Union,Dictionary}Array incorrectly if field is not nullable

Describe the bug
ListArray::try_new() uses Array::is_nullable() to check the presence of null values if field is not marked as nullable.
https://github.com/apache/arrow-rs/blob/5508978a3c5c4eb65ef6410e097887a8adaba38a/arrow-array/src/array/list_array.rs#L191-L197
While this works for most types, this can cause a false positive for DictionaryArray and UnionArray because Array::is_nullable() is allowed to return true if it's expensive to prove the absence of logical nulls.
https://github.com/apache/arrow-rs/blob/5508978a3c5c4eb65ef6410e097887a8adaba38a/arrow-array/src/array/mod.rs#L287-L291
To Reproduce
let offsets = OffsetBuffer::new(vec![0, 1, 4, 5].into());
let mut builder = UnionBuilder::new_dense();
builder.append::<Int32Type>("a", 1).unwrap();
builder.append::<Int32Type>("b", 2).unwrap();
builder.append::<Int32Type>("b", 3).unwrap();
builder.append::<Int32Type>("a", 4).unwrap();
builder.append::<Int32Type>("a", 5).unwrap();
let values = builder.build().unwrap();
let field = Arc::new(Field::new("element", values.data_type().clone(), false));
ListArray::new(field.clone(), offsets, Arc::new(values), None);

This produces:
thread 'foo' panicked at foo.rs:10:46:
called `Result::unwrap()` on an `Err` value: InvalidArgumentError("Non-nullable field of ListArray \"element\" cannot contain nulls")

Expected behavior
Successful execution
Additional context

This looks to have been introduced for UnionArray in https://github.com/apache/arrow-rs/pull/6303. This isn't so much of a problem for DictionaryArray given how rare nulls in dictionary values are


Do you have plans to continue maintaining this project?

Would appreciate your feedback.
 The forks are useless because folks are using this feature to setup their private GitHub Pages site.
I am hoping to see this theme evolves.
Thanks,
Liora

Please ignore. This issue was posted in the wrong project.


Bug: Don't lint inside mathjax expressions...

Describe the Bug
Mathjax  expressions are linted like normal text.
How to Reproduce
The following expression was created in a monospace font with the structure aligned:
$$
x = \left \{ \begin{array}{ll}
                 y   & \mbox{if $y>0$}   \\
                 z+y & \mbox{otherwise}
             \end{array}
    \right.
$$

When linted the internal spacing is changed, breaking the alignment.
Steps to reproduce the behavior:
Create a MD file with the example and lint it.
data.json.zip
Expected Behavior
I would like it to ignore anything inside $ ... $ or $$ ... $$.
Device

[x] Desktop
[ ] Mobile

Additional Context
Thanks for the team's continued efforts on the plugin. I understand that the complexity and potential of this tool increases significantly with each new addition (as evidenced by the number of Bugs / FRs), and appreciate your consideration.

Hey @olearydj . Thanks for reporting this. What exactly did this content look like after linting? My guess is the rule about not having multiple spaces in a row is being violated and it is fixing that, but it is unclear from the example provided without the output of the lint.

I am guessing that updating all locations that ignore codeblocks and inline code to also ignore mathblocks and inline math would take care of this. I just want to make sure the issue being describe is specifically a whitespace issue.

Yes, sorry I wasn't more clear. It condensed some spaces.
I believe it would be appropriate to ignore mathblocks, as you suggest.

Gotcha. That should be a simple fix. I just have to wait until I have time to make the change. These next couple weeks will be quite hectic for me, so it may happen for the release I plan to make later this week or it may have to wait until next year when things calm down.

No problem. Happy holidays!

I think I have a fix for this, but I don't plan to merge it until I am ready for release since it is attached to some documentation changes that will likely be confusing without the actual code changes going along with it.

This should be fixed on master and in the release I am working on getting out. Please let us know if for some reason the issue persists.

I've gotten the update and confirmed the fix at least in the original case. Thanks for your continued support on this plugin. It greatly improves my quality of life in Obsidian. Happy Holidays!

I am glad it helps! Have a merry Christmas and a happy New Year!


Print the error when unable to cache

As reported in Slack, when dep is unable to cache a project, it is not printing why. This wraps the error and prints it with a stack trace. I can remove the stack trace if we don't want that(?) but since I couldn't reproduce, I'm not sure how helpful the error message will be in pinpointing the problem.
Unable to cache github.com/go-sql-driver/mysql
Unable to cache github.com/newrelic/go-agent
Unable to cache github.com/jmoiron/sqlx

error was superfluous - ty!

well, not superfluous, but not introduced by this PR.

of course I’m not seeing the “unable to cache” message anymore


Add support for generating html for markdown which should be shown inline

I don't know if this is something you want in this crate, but I needed it so I implemented it :)
Basically this PR adds an inline: bool argument for html generation which let's the generator add span-tags instead of p-tags around a markdown paragraph.
The current implementation is somewhat of a 'breaking' change as the functions to generate html now have an extra argument. An alternative could be to duplicate the methods for inline generation instead of adding an argument.

Sorry, but the scope of the HTML renderer of this project is very limited and almost only for demonstration purposes.
However, we encourage people to create a new crate that uses pulldown-cmark to generate a HTML renderer with extended configuration and capabilities, and this sort of features matches perfectly that use case (see #645).
Thanks!


Fast GetBalancesByAddress for WalletService.GetBalance

Recording this but it may not be a priority for now.
This PR will enable a much faster implementation for when includeBalanceByAddress  is set to true.
        public async Task<WalletBalanceModel> GetBalance(
            string walletName, string accountName, bool includeBalanceByAddress = false,
            CancellationToken cancellationToken = default(CancellationToken))

The SQL repository HDTransactionData method being added is internal static IEnumerable<(long total, long confirmed, long spendable, AddressIdentifier address)> GetBalancesByAddress(DBConnection conn, int walletId, int accountIndex, (int type, int index)? address, int currentChainHeight, int coinbaseMaturity, int confirmations = 0).
@dev0tion , you are probably in the best position to judge if we need this as I think you mentioned you are using this?

Closing this until it becomes a higher priority.


AttributeError: 'WindowsPath' object has no attribute 'shape'

i setup in a new env everything, when i execute
python run.py ^
--app_image_path  C:/1091588.jpg ^
--struct_image_path C:/aurora_borealis_hd.jpg ^
--output_path C:/output.jpg ^
--domain_name sky ^
--contrast_strength 1.67 ^
--swap_guidance_scale 3.5

i got :
Traceback (most recent call last):
  File "D:\cross-image-attention\run.py", line 65, in <module>
    main()
  File "D:\cross-image-attention\cross_image_attention\lib\site-packages\pyrallis\argparsing.py", line 158, in wrapper_inner
    response = fn(cfg, *args, **kwargs)
  File "D:\cross-image-attention\run.py", line 21, in main
    run(cfg)
  File "D:\cross-image-attention\run.py", line 28, in run
    latents_app, latents_struct, noise_app, noise_struct = load_latents_or_invert_images(model=model, cfg=cfg)
  File "D:\cross-image-attention\utils\latent_utils.py", line 22, in load_latents_or_invert_images
    app_image, struct_image = image_utils.load_images(cfg=cfg, save_path=cfg.output_path)
  File "D:\cross-image-attention\utils\image_utils.py", line 11, in load_images
    image_style = load_size(cfg.app_image_path)
  File "D:\cross-image-attention\utils\image_utils.py", line 30, in load_size
    h, w, c = image.shape
AttributeError: 'WindowsPath' object has no attribute 'shape'

i'm on Python 3.10.6

The code is not designed to work with windows and I assume that pyrallis parsed the paths as str rather than Path, although it seems like the code should have handled both cases:
https://github.com/garibida/cross-image-attention/blob/f724d1aea1e0b91d8892b512d829cccbc2b046d8/utils/image_utils.py#L25-L28
I would assume that the problem is in the above lines. You can try debugging and see if you notice the problem. If you find a solution, feel free to let me know and I'll try uploading a fix. I can't test this myself since I don't have windows :)


support the 'reversed' function

This PR continues the work done in https://github.com/numba/numba/pull/6881. I address the comments made by the reviewer and add new tests.
The commit history is preserved.

Thanks for continuing this @guilhermeleobas. Coincidentally, as a result of #8442, I also wrote reversed() yesterday, it's here: https://github.com/stuartarchibald/numba/commit/0c02483bad1df3aa9bca555a2c455046c5de004f. The difference in approach being that the implementation in the aforementioned patch follows the Python protocol of checking for __reversed__ on an object and calling that ahead of performing a generic sequence protocol based reversal. This behaviour was enabled by implementing hasattr and making it cooperate with branch pruning in #8442.

Closing in favor of https://github.com/stuartarchibald/numba/commit/0c02483bad1df3aa9bca555a2c455046c5de004f