Revise readme.md reflecting changes in sheet2linkml

Is your feature request related to a problem? Please describe.
The README.md is not up to date. We are no longer using ./vendor/sheet2linkml directory, which is also removed from the repo. We should revise the document reflecting the changes we made on ccdhmodel and sheet2linkml repos. The content on Automated generation of YAML can be moved to sheet2linkml repo, and rearranges remaining content.
How important is this feature? Select from the options below:
• Low - it's an enhancement but not crucial for work
When will use cases depending on this become relevant? Select from the options below:
• Mid-term - 2-4 months

Currently, only the Google Drive API is listed on README.md, but, Google Sheets API also should be enabled to run make generate-model.

I took a stab at fixing this in PR #164; I'll submit it for review once we've merged PR #127. I've also copied these instructions over to sheet2linkml in PR https://github.com/cancerDHC/sheet2linkml/pull/27.

Currently, only the Google Drive API is listed on README.md, but, Google Sheets API also should be enabled to run make generate-model.

Good catch! I notice that one set of the instructions (https://www.iperiusbackup.net/en/how-to-enable-google-drive-api-and-get-client-credentials/) refers only to the Google Drive API, while the other set of instructions (https://pygsheets.readthedocs.io/en/stable/authorization.html) refers only to the Google Sheets API. I checked my Google Developers Console, and I've only got the Google Sheets API enabled. I'll modify PR #164 to get rid of the reference to the first set of instructions, and to clarify that users only need to enable the Google Sheets API.

I think we need both documents.
The first document https://www.iperiusbackup.net/en/how-to-enable-google-drive-api-and-get-client-credentials/ refers to how to create and download the client credentials, which is not covered in the other document.
The second document (https://pygsheets.readthedocs.io/en/stable/authorization.html) also mentions the Google Drive API. The instruction is right above OAuth Credentials section: "4. Similarly enable the “Drive API”. We require drives api for getting list of spreadsheets, deleting them etc."


Show consistent name for 'Concierge'

Details

Fixed Issues

$ https://github.com/Expensify/App/issues/38764
PROPOSAL: https://github.com/Expensify/App/issues/38764#issuecomment-2020957569
Tests

Chat report case:

Open Concierge chat.
Verify that 'Concierge' is displayed as the name in the report including Header.
Now click on the header.
In the report details page verify that name is shown as 'Concierge'.

LHN case:

In the LHN confirm that 'Concierge' is shown as name for Expensify Concierge chat.

Search Page case:

Click on search icon at top of LHN.
Search for Concierge.
Verify that the name of the chat should only say 'Concierge'.

Composer case:

Open any chat.
In the composer, write '<EMAIL_ADDRESS>Verify that the name is shown as 'Concierge'

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

Offline tests

Same as Tests.
QA Steps

Chat report case:

Open Concierge chat.
Verify that 'Concierge' is displayed as the name in the report including Header.
Now click on the header.
In the report details page verify that name is shown as 'Concierge'.

LHN case:

In the LHN confirm that 'Concierge' is shown as name for Expensify Concierge chat.

Search Page case:

Click on search icon at top of LHN.
Search for Concierge.
Verify that the name of the chat should only say 'Concierge'.

Composer case:

Open any chat.
In the composer, write '<EMAIL_ADDRESS>Verify that the name is shown as 'Concierge'

[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: mWeb Chrome
[x] iOS: Native
[x] iOS: mWeb 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 either coming verbatim from figma or has been approved by marketing (in order to get marketing approval, ask the Bug Zero team member to add the Waiting for copy label to the issue)
[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 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(theme.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 the PR modifies a component or page that can be accessed by a direct deeplink, I verified that the code functions as expected when the deeplink is used - from a logged in and logged out account.
[x] If the PR modifies the UI (e.g. new buttons, new UI components, changing the padding/spacing/sizing, moving components, etc) or modifies the form input styles:

[x] I verified that all the inputs inside a form are aligned with each other.
[x] I added Design label and/or tagged @Expensify/design so the design team can review the changes.

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

Screenshots/Videos

Android: Native

Android: mWeb Chrome

iOS: Native

getting build errors for iOS.

iOS: mWeb Safari

MacOS: Chrome / Safari

https://github.com/Expensify/App/assets/53095363/19da8860-c776-48f1-a0cd-52ab7407af6c

MacOS: Desktop

https://github.com/Expensify/App/assets/53095363/e2d94bcc-659c-4b0e-bb4d-0d1e3f5620cf

@nexarvo For test steps, please try to identify the places where Concierge is displayed for the verification steps.

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: mWeb Chrome
[x] iOS: Native
[x] iOS: mWeb 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 either coming verbatim from figma or has been approved by marketing (in order to get marketing approval, ask the Bug Zero team member to add the Waiting for copy label to the issue)
[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(theme.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 the PR modifies a component or page that can be accessed by a direct deeplink, I verified that the code functions as expected when the deeplink is used - from a logged in and logged out account.
[x] If the PR modifies the UI (e.g. new buttons, new UI components, changing the padding/spacing/sizing, moving components, etc) or modifies the form input styles:

[x] I verified that all the inputs inside a form are aligned with each other.
[x] I added Design label and/or tagged @Expensify/design so the design team can review the changes.

[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 reviewer checklist, including those that don't apply to this PR.

Screenshots/Videos

Android: Native
https://github.com/Expensify/App/assets/4160319/3b692202-c694-4c06-be3f-ae2117058255

Android: mWeb Chrome
https://github.com/Expensify/App/assets/4160319/b4421873-fcd9-4342-8baf-f7cb0ddabb66

iOS: Native
https://github.com/Expensify/App/assets/4160319/c8844230-db0a-44ad-ae6c-89739f7c4df7

iOS: mWeb Safari
https://github.com/Expensify/App/assets/4160319/a8cd70b7-2b1f-480a-8b17-1470db5ab25f

MacOS: Chrome / Safari
https://github.com/Expensify/App/assets/4160319/14f957a6-4a56-4fb4-99ce-cab84bdc062b

MacOS: Desktop
https://github.com/Expensify/App/assets/4160319/64e545a5-119a-447e-a88d-7f88720ffec9

When I test this I am still seeing<EMAIL_ADDRESS>everywhere. What am I missing?

Ahh… I think it has something to do with me using the VM for my back-end instead of production. I switched my back end from local to prod and it all looks correct. Thanks!

We are currently on a merge freeze, so I will have to hold in merging this.

@deetergp I believe we can merge this now as the freeze is over.

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

🚀 Deployed to staging by https://github.com/puneetlath in version: 1.4.77-0 🚀

platform
result

🤖 android 🤖
success ✅

🖥 desktop 🖥
success ✅

🍎 iOS 🍎
success ✅

🕸 web 🕸
success ✅

🚀 Deployed to production by https://github.com/puneetlath in version: 1.4.77-11 🚀

platform
result

🤖 android 🤖
failure ❌

🖥 desktop 🖥
success ✅

🍎 iOS 🍎
success ✅

🕸 web 🕸
success ✅

🚀 Deployed to production by https://github.com/puneetlath in version: 1.4.77-11 🚀

platform
result

🤖 android 🤖
success ✅

🖥 desktop 🖥
success ✅

🍎 iOS 🍎
success ✅

🕸 web 🕸
success ✅


Add EusLisp

GitHub search result: https://github.com/search?utf8=✓&q=extension%3Al+eus+euslisp+roseus&type=Code&ref=searchresults
EusLisp GitHub Repo: https://github.com/euslisp/EusLisp

Your color is conflicting with Harbour, and you might want to check the other errors.

Also, most uses of .l may be Lex.

Hmm.. I'd like make .l files added syntax highlights as lisp filetype.
I also read #2060, and finally is that the only solution changing the extension to .lisp or .lsp?

Hello @wkentaro,
First, I'm not from GitHub, so I can't make any decisions on this.  However, this would be my advice:
Your search only results 74 files (currently).  If we do this:
https://github.com/search?q=extension%3Al+defun&type=Code
we find more than 6000 .l files which are probably Lisp.  That number if much more compelling for GitHub to make a change.
However, there are many other .l files which we need to consider.  Other users might complain if they were to display as Lisp.
Another option beside changing the file names may be to add a .gitattributes to your repository with this line:
*.l linguist-language=Lisp

Thanks for your information, and these're very helpful for me.
Considering other .l files which is not Lisp, I think I should use .gitattributes.
I tried using it and in stats of number of codes it works:

but there is no syntax highlight.
Is that possible to add syntax highlights using .gitattributes?

Is that possible to add syntax highlights using .gitattributes?

No, it's not.  You may use a "modeline" for that: https://github.com/github/linguist#using-emacs-and-vim-modelines

It works, and I think that's the best way for my request.
thanks!

Also, you only need one of either vim:... or -*- mode:....


Make formatWithSkeleton internal

Fixes: https://youtrack.jetbrains.com/issue/CMP-6777/Make-formatWithSkeleton-internal
Release Notes
Highlights - iOS

androidx.compose.material3.internal.formatWithSkeleton removed from public

Please fix Release notes before merge, it's quite misleading now especially for "Highlights". It wasn't in public in common yet.
I'd say it's a technical change that should go without mentioning in release notes at all. If you really want to mention it there, please write a proper explanation

Please fix Release notes before merge, it's quite misleading now especially for "Highlights". It wasn't in public in common yet.
I'd say it's a technical change that should go without mentioning in release notes at all. If you really want to mention it there, please write a proper explanation

@MatkovIvan, as this is an API change, it seems like it should go with the release note. I will update the wording, but it seems "Highlights" fits best here. See other available section titles:

Known Issues
Breaking Changes
Features
Fixes

### Fixes - iOS
- Fixed visibility of `androidx.compose.material3.internal.formatWithSkeleton` that was accidently marked as public


Add comment for String::size()

Make it easier to contribute to Godot.
Personally, I've been confused several times about size() and length(). Each time, I've had to consult the implementation to see the difference.
Using /// so that tools like LSP can pickup the comment when possible.

We should have a discussion about ///, as it may be useful to setup for the whole project.


How does repeat work exactly?

I'm wondering how does repeat work exactly. I've read the doc that says it can be used for majority_voting and I've tried to read the evaluation code but I don't think I understand how it works. Specifically,
1  Is it using temperature/top-k/beam search generation on the generate() function to get more than 1 solution?
2  How can we ensure the generated results are different?
3  Would parameters like temperature affect the diversity of repeated generation?

Hi @Some-random !
repeat itself just means that you make repeat separate calls to the model, using the specified generation_kwargs. We assume that one will use, typically, temperature sampling + top-k or top-p to ensure diversity + different model generations, and that these parameters will impact the diversity. In the case of beam search, one could optimize the code further to use num_return_sequences or something similar to not have to perform an entirely separate call to the model to receive repeat outputs.
I hope this is helpful!


INT-2334 Fix for MongoDbMessageStore storing MessageHistory as part of MessageHeaders

Sean
We are going to close this PR in favor of https://github.com/SpringSource/spring-integration/pull/281 which is a merge of your original PR with some of the polishing I did (some minor style changes as well as added tests)
In the future please provide the tests for any added functionality (you can see what I did in the PR)
Thanks for your contribution!

Closing this one since PR #281 builds upon it.


[HOLD for payment 2023-01-13] Settings - "You appear to be offline" message displayed on top of the page under Timezone

If you haven’t already, check out our contributing guidelines for onboarding and email<EMAIL_ADDRESS>to request to join our Slack channel!

Action Performed:

Launch the app
Log in with any account
Go to Setting - Profile
Disable the internet connection in the device
Go to Timezone

Expected Result:
"You appear to be offline" message displayed on the bottom of the page below the Timezone
Actual Result:
"You appear to be offline" message displayed on top of the page under Timezone
Workaround:
Unknown
Platforms:

Which of our officially supported platforms is this issue occurring on?

[ ] Android / native
[ ] Android / Chrome
[ ] iOS / native
[ ] iOS / Safari

Version Number: <IP_ADDRESS>
Reproducible in staging?: Yes
Reproducible in production?: Yes
Email or phone of affected tester (no customers):
Logs: https://stackoverflow.com/c/expensify/questions/4856
Notes/Photos/Videos: Any additional supporting documentation

Expensify/Expensify Issue URL:
Issue reported by: Applause - Internal Team
Slack conversation:
View all open jobs on GitHub
Upwork Automation - Do Not Edit

Upwork Job URL: https://www.upwork.com/jobs/~01ca39b8581a356b83
Upwork Job ID:<PHONE_NUMBER>139003392
Last Price Increase: 2022-12-28

this also seems like a easy fix I can take it, and yeah seems like a visual bug, it's weird that it there, should be at the bottom

will probably only work on it next week

will work on it his week

PR created and should be reviewing now

for some reason it did not link the PR here it is https://github.com/Expensify/App/pull/13927

@slafortune can you handle payment for the C+ @Santhosh-Sellavel

Paid  @Santhosh-Sellavel 🎉


[ThemeData cleanup 1/x] Introduce MaterialTheme, MaterialThemeData

This introduces a minimal (color only) theme for Material, in order to support https://github.com/flutter/flutter/issues/91772. The theme will be used in the framework in an upcoming PR.
Pre-launch Checklist

[x] I read the Contributor Guide and followed the process outlined there for submitting PRs.
[x] I read the Tree Hygiene wiki page, which explains my responsibilities.
[x] I read and followed the Flutter Style Guide, including Features we expect every widget to implement.
[x] I signed the CLA.
[x] I listed at least one issue that this PR fixes in the description above.
[x] I updated/added relevant documentation (doc comments with ///).
[x] I added new tests to check the change I am making, or this PR is test-exempt.
[x] All existing and new tests are passing.

If you need help, consider asking for advice on the #hackers-new channel on Discord.

Correct. In order, my plan is to

Introduce these 2 themes
Migrate framework usages of soon-to-be deprecated properties from ThemeData to the appropriate themes
Deprecate properties

CC @Piinks
When deprecating obsolete ThemeData properties, please be sure to follow https://github.com/flutter/flutter/wiki/Tree-hygiene#deprecations


eliminating kernel task duplication

code changes to avoid multiple kernel task entries in tasks list.

Signed-off-by: sunilkumarn417<EMAIL_ADDRESS>

Can one of the admins verify this patch?

okay to test

ok to test

@sunilkumarn417 can you add one of the test link from octo lab?

@sunilkumarn417 can you add one of the test link from octo lab?

@vasukulkarni tried scheduling test suite with PR changes, but there was some issue. Executed this locally and logs are stored at magna002:/home/sunnagar/teuth/test_kernel_patch-10-06-20-1591765428/teuthology.log

@susebot run deploy


[improve][broker] Avoid object create in RedeliveryTracker.getRedeliveryCount

Fixes #18353
Motivation
PositionImpl object is just use to pass parameter which can be avoid by direct pass.
Modifications
change method signature RedeliveryTracker.getRedeliveryCount
Verifying this change

[ ] Make sure that the change passes the CI checks.

(Please pick either of the following options)
This change is a trivial rework / code cleanup without any test coverage.
Does this pull request potentially affect one of the following parts:
If the box was checked, please highlight the changes

[ ] Dependencies (add or upgrade a dependency)
[ ] The public API
[ ] The schema
[ ] The default values of configurations
[ ] The threading model
[ ] The binary protocol
[ ] The REST endpoints
[ ] The admin CLI options
[ ] Anything that affects deployment

Documentation

[ ] doc
[ ] doc-required
[x] doc-not-needed
[ ] doc-complete

@WJL3333  You can trigger CI through close PR then reopen PR

Codecov Report

Merging #18352 (d513374) into master (67d9d63) will decrease coverage by 3.81%.
The diff coverage is 0.00%.

@@             Coverage Diff              @@
##             master   #18352      +/-   ##
============================================
- Coverage     40.29%   36.48%   -3.82%
+ Complexity     8685     1930    -6755
============================================
  Files           687      208     -479
  Lines         67441    14383   -53058
  Branches       7225     1570    -5655
============================================
- Hits          27175     5247   -21928
+ Misses        37257     8556   -28701
+ Partials       3009      580    -2429

Flag
Coverage Δ

unittests
36.48% <0.00%> (-3.82%)
:arrow_down:

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

Impacted Files
Coverage Δ

.../transaction/TransactionCoordinatorClientImpl.java
0.00% <0.00%> (ø)

...a/org/apache/pulsar/client/impl/TableViewImpl.java
0.00% <0.00%> (ø)

...che/bookkeeper/mledger/impl/ManagedCursorImpl.java

...rg/apache/bookkeeper/mledger/impl/OpReadEntry.java

...lsar/broker/service/InMemoryRedeliveryTracker.java

...pulsar/broker/service/PulsarCommandSenderImpl.java

...lsar/broker/service/RedeliveryTrackerDisabled.java

.../metadata/v2/TransactionBufferSnapshotIndexes.java

...r/common/naming/NamespaceBundleSplitAlgorithm.java

...ice/persistent/PersistentMessageExpiryMonitor.java

... and 633 more


fix: Make Git conflict markers check more precise

The https://github.com/super-linter/super-linter/pull/6113 introduced new Git merge conflicts linter check, that is error prone in some conditions (see screenshot).
This PR adjusts this check to be more precise and exact in a way that all three markers should be found to identify check as failed. Additionally improve Git merge conflict markers matchers.
Repro:

> grep -E '^(<<<<<<<|=======|>>>>>>>)' README.md
==========================================================
=============   MegaLinter, by OX.security   =============
=========  https://ox.security?ref=megalinter  ===========
==========================================================

Replaces https://github.com/super-linter/super-linter/pull/6374

Readiness checklist

In order to have this pull request merged, complete the following tasks.
Pull request author tasks

[ ] I checked that all workflows return a success.
[x] I included all the needed documentation for this change.
[x] I provided the necessary tests.
[x] I squashed all the commits into a single commit.
[x] I followed the
Conventional Commit v1.0.0 spec.
[ ] I wrote the necessary upgrade instructions in the
upgrade guide.
[ ] If this pull request is about and existing issue, I added the
Fix #ISSUE_NUMBER or Close #ISSUE_NUMBER text to the description of
the pull request.

Super-linter maintainer tasks

[x] Label as breaking if this change breaks compatibility with the previous
released version.
[x] Label as either: automation, bug, documentation, enhancement,
infrastructure.
[x] Add the pull request to a milestone, eventually creating one, that matches
with the version that release-please proposes in the
preview-release-notes CI job.

@ferrarimarco I noticed the tick was added for breaking change item in previous PR:

I believe this PR doesn't introduce breaking change for the previous released version as it only rectifies false positive from the previous released version (and improves overall capability of checking for Git conflict markers).

@ferrarimarco I noticed the tick was added for breaking change item in previous PR

That's for maintainers to state that they checked the PR and deemed that as non-breaking, in this case.

 We just need to wait for a dependency update.
Thanks!

super-linter/super-linter/actions/runs/11959522598/job/33342347913?pr=6379

Not really. We just need to wait for a dependency update.

Gotcha. Thanks. Please ping me if there's anything I need or can do about this PR.

Not really. We just need to wait for a dependency update.

npm-audit: @yarnpkg/core -> @yarnpkg/shell -> Depends on vulnerable versions of cross-spawn
Looks like either of these two should bring in an update once new version of @yarnpkg/core is released:

https://github.com/yarnpkg/berry/pull/6605
https://github.com/yarnpkg/berry/pull/6606

@yarnpkg/core is not a direct dependency:
# npm audit report

cross-spawn  7.0.0 - 7.0.4
Severity: high
Regular Expression Denial of Service (ReDoS) in cross-spawn - https://github.com/advisories/GHSA-3xgq-45jj-v275
fix available via `npm audit fix --force`
Will install<EMAIL_ADDRESS>which is a breaking change
node_modules/cross-spawn
  @yarnpkg/core  <=4.1.5
  Depends on vulnerable versions of cross-spawn
  node_modules/@yarnpkg/core
    renovate  0.0.0-semantic-release || 22.22.0 - 22.22.2 || >=22.23.0
    Depends on vulnerable versions of @yarnpkg/core
    node_modules/renovate

We'd need to wait for renovate to release a new version that either updates @yarnpkg/core, or widens the version requirements for that dependency, instead of requiring a fixed version (4.1.4 at the time of writing this).

Ah, I see. Tedious =)
So I can see it's on their Dependency Dashboard already (pending status checks (whatever that means)). Wondering if it can be expedited 🤔

I still couldn't update my repo to use 7.2.0, as it fails on patch files (diffs) we hold to apply on an external code. I don't see a way to configure that "linter". How would you suggest to handle patch files?

I still couldn't update my repo to use 7.2.0, as it fails on patch files (diffs) we hold to apply on an external code. I don't see a way to configure that "linter". How would you suggest to handle patch files?

Out of interest: how your patch files content looks like?
To the best of my knowledge they don't contain merge conflict markers usually.

I still couldn't update my repo to use 7.2.0, as it fails on patch files (diffs) we hold to apply on an external code. I don't see a way to configure that "linter". How would you suggest to handle patch files?

Out of interest: how your patch files content looks like?
To the best of my knowledge they don't contain merge conflict markers usually.

The PR: https://github.com/OSGeo/grass-addons/pull/1246
The run: https://github.com/OSGeo/grass-addons/actions/runs/11895745562/job/33146047065
The affected files:

[ ] https://github.com/OSGeo/grass-addons/blob/fae26d4dd0926e3ca29521ac0e8fec622c147fd7/src/gui/wxpython/wx.wms/core.diff (false positive)
[ ] A README.txt file, that is not a markdown file since it was older (from subversion), I think it complains about lines made of equal signs; this PR should be fixing it I think https://github.com/OSGeo/grass-addons/blob/fae26d4dd0926e3ca29521ac0e8fec622c147fd7/src/raster/r.green/README.txt
[ ] This file has comment blocks that has equal lines, so this PR should fix this too: https://github.com/OSGeo/grass-addons/blob/fae26d4dd0926e3ca29521ac0e8fec622c147fd7/src/raster/r.vol.dem/chull.c
[ ] This file I'm not sure if it is good or not, I don't understand the log output of it applied to this or not: https://github.com/OSGeo/grass-addons/blob/fae26d4dd0926e3ca29521ac0e8fec622c147fd7/src/gui/wxpython/wx.wms/Makefile.diff This patch was from 2011 (before it was on github)

I didn't go and read how this check is implemented here, I understand that it is made in-house, but how does it compare to a similar check from pre-commit hooks? Do they have the same problem? https://github.com/pre-commit/pre-commit-hooks?tab=readme-ov-file#check-merge-conflict

Out of interest: how your patch files content looks like?
To the best of my knowledge they don't contain merge conflict markers usually.

The affected files:

As of look of it, false positives for all those files should be resolved by this PR once it's merged into super-linter and released as v7.2.1

but how does it compare to a similar check from pre-commit hooks? Do they have the same problem? pre-commit/pre-commit-hooks#check-merge-conflict

Do they have the same problem: yes and now. They use a more stricter check than what this repo has in main branch. Though still might fall error prone in some conditions as they check merge conflict markers separately (whilst these markers have to be inspected all at once — and this is what I attempted to implement with this PR).
Fingers crossed it won't take long for v7.2.1 to get released as it also should bring other fixes and improvements

@yermulnik Can you please rebase this against the latest main? Thanks!

@yermulnik Can you please rebase this against the latest main? Thanks!

Done 👍🏻

@yermulnik Can you please rebase this against the latest main? Thanks!

Done 👍🏻

All checks completed successfully. Ready for review/merge. Thanks.

There are two issues with the commit messages to fix, and this should be good to go:
  ✖   body's lines must not be longer than 100 characters [body-max-line-length]
  ✖   subject must not be sentence-case, start-case, pascal-case, upper-case [subject-case]

  ✖   found 2 problems, 0 warnings
  ⓘ   Get help: https://www.conventionalcommits.org/

Thanks for working on this!

🤯

@ferrarimarco I'll leave it with you — please feel free to edit whatever you think still needs to be polished 👍🏻


Sanatize super-globals variables before use.

We will likely want to sanitize all the variables appropriately before we do anything else.

---
Want to back this issue? **[Post a bounty on it!](https://www.bountysource.com/issues/27622255-sanatize-super-globals-variables-before-use?utm_campaign=plugin&utm_content=tracker%2F10163092&utm_medium=issues&utm_source=github)** We accept bounties via [Bountysource](https://www.bountysource.com/?utm_campaign=plugin&utm_content=tracker%2F10163092&utm_medium=issues&utm_source=github).

From phoenix.php#L33:
// TODO Sanatize everything
// once.input.sanatize.php
// IF BINARY
if (
	isset($_GET['info_hash']) &&
	strlen($_GET['info_hash']) == 20
) {
	$_GET['info_hash'] = bin2hex($_GET['info_hash']);
}
if (
	isset($_GET['peer_id']) &&
	strlen($_GET['peer_id']) == 20
) {
	$_GET['peer_id'] = bin2hex($_GET['peer_id']);
}
// END IF BINARY

We should replace all super-global references with ones similar to $Sanatized['GET']['info_hash'].

once.input.sanatize.admin.php
once.input.sanatize.announce.php
once.input.sanatize.scrape.php
once.input.sanatize.tracker.php (both)

admin.php is done, I'm up to announce.php#L47

announce.php is done. Only scrape.php and it's associates to do.

Just de-duplication left. once.sanatize.tracker.php has two 20-bit binary or 40-bit hexadecimals that work the same, and


RSDK-2758 Consistent error handling & exception scheme

Ticket: https://viam.atlassian.net/browse/RSDK-2758
This provides a base ViamException class and a few derived classes. The purpose of these exceptions are threefold:

To provide a base to build on if we wish to pursue more advanced error creation in the future.
To help users easily understand if an error came from our code or not.
To facilitate error-catching and recovery behavior (ex: a DuplicateResourceException might be handled differently than a PermissionDeniedException)

This PR also creates ViamErrorCodes which are 1 to 1 compatible with the exceptions and can be used interchangeably (though conversion will lose the message inside the exception).
While working on this, I experimented with three main design options:
1)
   template <typename... Args>
    ViamException(Args const&... what)
        : std::runtime_error("ViamException: " + concat_varargs(what...)){};

I really liked this approach because it let me write very clean constructor calls. However this produced awful error messages (SFINAE was overkill for concat_varargs), and it required almost everything to live in the header files.

#define THROW_EXCEPTION(e_type, msg) throw e_type(__FILE__, __LINE__, __func__, msg)

// ex: THROW_EXCEPTION(DuplicateResourceException, "can't have two camera servers ...");

I really liked this approach because it gave very nice error messages; however, I am hesitant to suggest that we use macros. (we might also need to do some macro magic so that the full path of __FILE__ doesn't end up in the binary)

The simple
ViamException(const std::string& msg) : std::runtime_exception("ViamException: " + msg) {}

Ultimately, I landed on number 3 because number 1 didn't end up providing as many benefits as I wanted and we can do number 2 later if we want to give more detailed error messages.
Important Notes:

Some of the exception types are not being used right now. I still created them because they may be useful in the future (and because they line up roughly with the python sdk)
Conversion to and from error codes is a bit awkward. Wasn't sure about the best way to do this.

Closing due to 2 months of no activity. Happy to talk about or reopen this if there is renewed interest.


ceylon.json.stream.StreamParser documentation issue.

Peek does not seem to exist. Correct class should be LookAhead.

Thanks, fixed.


any idea how use with Angular 5 ?

Hi,
I guess this should be covered by TypeScript documentation:
how to import a JavaScript library that does not have type definition yet.
Looking at other type definitions, you should be able to write a *.d.ts file with contents like:
import * as L from 'leaflet';

declare module 'leaflet' {
  namespace tileLayer {
    function fallback(url: string, options?: any): any;
  }
}

Reference this definition file in your TypeScript project configuration, then in your script you can import and use:
import * as L from 'leaflet';
import 'leaflet.tilelayer.fallback';

L.tileLayer.fallback(url, options);

For further help on how to use this library, especially in a configuration with some framework (e.g. Angular), please ask for help on Stack Overflow. You will reach a much wider audience there.


don't enforce constraints on temporary input table

The table has a not-null constraint on a data column that is populated by a trigger. Ermrest needs to ignore the constraint so the request can be processed.
Here is the snippet of the error code:
'  File "/usr/lib/python2.7/site-packages/ermrest/ermpath/resource.py", line 474, in _load_input_data_json\\n    \\'json_proje

Investigating this further, I think this is really a client misbehavior.  In this request, Chaise is expecting the server to populate the Title column but did not include it in the defaults query parameter.
I think this is only an issue because of your peculiar scenario which cannot occur with normal use of the ERMrest apis:

The column is set NOT NULL
The column has a NULL default
The column is not being set by the client
There is a SQL trigger to populate the column before it hits the table and violates the NOT NULL constraint

Normally, the first three items would cause a client error. The introduction of the trigger fixes it by generating a value.
But, ERMrest doesn't accept this because it validates the NOT NULL constraint on its temporary input table holding the client request content, so it can rely on this property when forming the eventual insert or update statements it performs on the storage table. By relying on these properties, we generate better performing SQL with better error responses for normal REST clients.  This non-null property is only significant for our queries involving user-supplied values, so we already skip validation when columns are in the defaults parameter and we know the client input is going to be ignored.
As I understand it, Chaise has dropped the column from the defaults using a heuristic intended to prune this list when sending a client-supplied null is expected to produce the same result, i.e. when the column introspection indicates a default of null.  We have agreed to tighten this heuristic as a workaround, so that ERMrest does not need to water down its content validation for all clients.


Fix caddy-docker-proxy configuration

Previous configuration was throwing template: :1: malformed character constant: '{{upstreams 3001}}'
Fixed it based on caddy-docker-proxy's readme
https://github.com/lucaslorentz/caddy-docker-proxy/blob/master/README.md#reverse-proxy-examples

It seems that it had fixed by another pr: https://github.com/louislam/uptime-kuma-wiki/pull/39/files
Thanks anyway.


[Bug] How to disable the context menu

Before you submit this issue, have you checked the following

[X] Is this really a problem?
[X] I have searched the Github Issues for similar issues, but did not find anything.

Affected packages and versions
0.1.10
Reproduction link
the document does not provide a way to disable the context menu
Expected behavior
disable the context menu
Actual behavior
cannot disable the context menu
System information
System:
  OS: macOS 14.4.1
  CPU: (10) arm64 Apple M1 Pro
  Memory: 44.98 MB / 16.00 GB
  Shell: 5.9 - /bin/zsh
Binaries:
  Node: 21.6.0 - /usr/local/bin/node
  npm: 10.2.4 - /usr/local/bin/npm
  pnpm: 9.1.1 - ~/Library/pnpm/pnpm
Browsers:
  Chrome: 124.0.6367.208
  Safari: 17.4.1

Duplicate of https://github.com/dream-num/univer/issues/1343
Duplicate of https://github.com/dream-num/univer/issues/2061


[Adaptive Card iOS - Action.title.json]: Voice over does not convey the name for the button as name for the button is not defined under action.title screen.

https://microsoft.visualstudio.com/OS/_workitems/edit/37830248

Closing this issue as v1.0 is not available,


Update User and Developer Guides for v1.4

Coverage remained the same at 92.153% when pulling a1686eb719894ac43730988b3bff57e05e38e000 on pwenzhe:documentation into 2259ec924e47a8d9ad09d6f284fd07ce0a2d97d9 on CS2103AUG2017-T16-B3:master.


Prevent height set-point variations due to bad GPS

Fixes: https://github.com/PX4/Firmware/issues/6193
TODO
Code review
Compatibility testing with LPE

ECL is in.

I tested it in SITL, and it seems to work, but I cant see the output of the continuous integration right now.
I also would add the check if the vehicle hasnt armed yet, since the reference altitude is not changing once the vehicle armed (https://github.com/PX4/Firmware/pull/6197/files#diff-fc77c3ef569029d45764664c75d4b0c1R853) && !_control_mode.armed

I  need to test it a bit more, bc I think it could become an issue when flying in manual right after arming, and the switch to mission

@Stifael Can you please drive this one to completion this week?

Continued here: https://github.com/PX4/Firmware/pull/6459


Add gwt-core dependency for GWT.isProdMode()

This check lets us add some checks in dev mode, instead of reading the property, since that would conflict with gwt-core in a project that uses both.

Is only needed inside the GWT test module. I think, we can close the issue.

Probably should be fixed though, in case a later test ends up depending on gwt-core, or some later feature depends on gwt-core.


Assert::allIsInstanceOf evaluates to non iterables

Having something like
final class PhpStanTest
{
    /**
     * @return stdClass[]
     */
    public function foo(bool $bar): array
    {
        $result = $bar ? [new stdClass(), new stdClass()] : false;

        Assert::allIsInstanceOf($result, stdClass::class);

        return $result;
    }
}

falsely reports
Method PhpStanTest::foo() should return array<stdClass> but returns array<int, stdClass>|false.

It cannot be false though because the all* methods are internally checking for iterables in https://github.com/webmozarts/assert/blob/master/src/Assert.php#L1947
I would love to help out here but do not know yet where to start. Feel free to point me there or to any starter resources if you like :)

What I found out so far (which is not enough to create a PR as I don't understant PHPStans internals yet):

AssertTypeSpecifyingExtension::arrayOrIterable is called where
TypeUtils::getArrays($currentType) returns an empty array which leads to the elseif clause where
(new IterableType(new MixedType(), new MixedType()))->isSuperTypeOf($currentType)->yes() is returning false (the trinary internally is set to maybe) which leads to
return new SpecifiedTypes([], []); being returned

$currentType is

I guess it should enter the elseif where it would create an iterable type and I also guess the ConstantBooleanType should not even be there or be ignored because of all* internals or so.
To be continued hopefully..

What I found out so far (which is not enough to create a PR as I don't understant PHPStans internals yet):

AssertTypeSpecifyingExtension::arrayOrIterable is called where
TypeUtils::getArrays($currentType) returns an empty array which leads to the elseif clause where
(new IterableType(new MixedType(), new MixedType()))->isSuperTypeOf($currentType)->yes() is returning false (the trinary internally is set to maybe) which leads to
return new SpecifiedTypes([], []); being returned

$currentType is

I guess it should enter the elseif where it would create an iterable type and I also guess the ConstantBooleanType should not even be there or be ignored because of all* internals or so.
To be continued hopefully..

Fixed: https://github.com/phpstan/phpstan-webmozart-assert/commit/dcb38393a99d4562bd21137ecb179c43dff3fd70

Fixed: https://github.com/phpstan/phpstan-webmozart-assert/commit/dcb38393a99d4562bd21137ecb179c43dff3fd70


Update GeoIP2 City database

The tests had to be modified because the latest DB does not populate these fields for
test IP <IP_ADDRESS>

@suyograo LGTM :)

thanks @original-brownbear


ios purchase not working

Hi,
Is purchasePackage() supposed to bring up iOS in app purchase flow?  I can see the prnt('PURCHASE PACKAGE ', package) in my console with the package object data looking correct, but never see the ios purchase overlay / flow.  Am I missing something else?
Also not seeing any errors in try catch of purchasePackage...just the prnt and nothing else happens.
Testing on M1 ipad pro physical device.
In app purchase capability added to project in xcode
const products = vanX.reactive([])
const packages = vanX.reactive([])

let Purchases
async function setupIap () {
  Purchases = Capacitor.Plugins.Purchases
  await Purchases.configure({
    apiKey: 'apple_keyBlahBlah',
    appUserID: 'tester'
  })
  try {
    const offerings = await Purchases.getOfferings()
    if (offerings.current !== null && offerings.current.availablePackages.length !== 0) {
      for (const package of offerings.current.availablePackages) {
        packages.push(package)
        products.push(package.product)
      }
    }
  } catch (error) {
  }
}
async function purchasePackage (package) {
  prnt('PURCHASE PACKAGE ', package)
  try {
    const purchaseResult = await Purchases.purchasePackage({ aPackage: package })
    if (typeof purchaseResult.customerInfo.entitlements.active['pro'] !== 'undefined') {
      prnt('unlock pro')
    }
  } catch (error) {
    if (error.code === PURCHASES_ERROR_CODE.PURCHASE_CANCELLED_ERROR) {
      prnt('purchase cancelled')
    } else {
      prnt('purchase error', error)
    }
  }
}

const TestPurchases = () => {
  return vanX.list(div({ class: 'abs gap ', style: 'text-transform:none;left:50%;top:50%;' }), packages, ({ val: package }) => div({
    class: 'col uiCol paddingLg button radiusLg',
    style: 'padding:5rem;',
    onclk: () => purchasePackage(package)
  },
  div(package.product.identifier),
  div(package.product.description),
  () => package.product.pricePerMonthString ? div(package.product.pricePerMonthString + ' per month') : div(package.product.price),
  )
  )
}

👀 We've just linked this issue to our internal tracker and notified the team. Thank you for reporting, we're checking this out!

Update:  I think adding screenshot and localization for the subscription group in app store connect fixed it.

@HEAVYPOLY yes, that likely got the products into the 'Ready to Submit' state, which is what you need for testing. I'll close this issue, but feel free to re-open if you're still having trouble.


SPPM fixed radius

Hello!
Please explain, why pc_ray.radius is not used in shaders but used fixed pc_ray.ppm_base_radius?
I see in code, radius is calculated
        pc_ray.ppm_base_radius = config->base_radius;
	const glm::vec3 diam = pc_ray.max_bounds - pc_ray.min_bounds;
	const float max_comp = glm::max(diam.x, glm::max(diam.y, diam.z));
	const int base_grid_res = int(max_comp / pc_ray.radius);
	pc_ray.grid_res = glm::max(ivec3(diam * float(base_grid_res) / max_comp), ivec3(1));
	if (pc_ray.radius < 1e-7f) {
		pc_ray.radius = 1e-7f;
	}
	auto op_reduce = [&](const std::string& op_name, const std::string& op_shader_name, const std::string& reduce_name,
						 const std::string& reduce_shader_name) {
		uint32_t num_wgs = uint32_t((instance->width * instance->height + 1023) / 1024);
		instance->vkb.rg->add_compute(op_name, {.shader = Shader(op_shader_name), .dims = {num_wgs, 1, 1}})
			.push_constants(&pc_ray)
			.bind(scene_desc_buffer)
			.zero({residual_buffer, counter_buffer});
		while (num_wgs != 1) {
			instance->vkb.rg->add_compute(reduce_name, {.shader = Shader(reduce_shader_name), .dims = {num_wgs, 1, 1}})
				.push_constants(&pc_ray)
				.bind(scene_desc_buffer);
			num_wgs = (uint32_t)(num_wgs + 1023) / 1024;
		}

code from src/RayTracer/SPPM.cpp lines 78-98.
Is possible to use calculated radius as start radius, not fixed ppm_base_radius?

Thanks for pointing out, fixed now.


post: add go-ipfs 0.7 post

Pending final release of 0.7, https://github.com/ipfs/go-ipfs/issues/7560
It's ready!

@jacobheun should be updated based on the latest release notes (i.e. noting the build change)

The latest changes to the release notes have been added. I also added in links to the changelog, updated the total contributor count for this release and added an Intro focused on SECIO and noting the Peer ID change.


Opprette dct:language

#52
"This property refers to a language used in the textual metadata describing titles, descriptions, etc. of the Datasets in the Catalogue. This property can be repeated if the metadata is provided in multiple languages. "

Gjelder versjon 1.1


Cleanup the code of the MySQL connector

OK, I updated the PR based on our discussion and I think it is ready for a review.
I mentioned my concern regarding the renaming of the types ending in _t here
https://github.com/rbock/sqlpp11/issues/500#issuecomment-1661392856
So it probably makes sense to postpone the merging of this PR until it is clear what to do with the renaming of these types.
This PR cleans up the code of the MySQL connector as per our discussion here
https://github.com/rbock/sqlpp11/issues/500#issuecomment-1659571760
The PR makes the following changes to the MySQL connector:

The code for the classes connection_handle, prepared_statement_handle and result_handle.h are moved to separate files in the
include/sqlpp11/mysql/detail/ directory.
2. All class and struct type names ending in _t have that suffix removed from their names. In some cases this caused some local variables and/or function parameters to be renamed in order avoid confusion and/or name clashes.
sqlpp::mysql::connection_handle_t has been renamed to sqlpp::mysql::connection_handle as the other two connectors (PostgreSQL and SQLite3) have connection_handle without the _t suffix.
sqlpp::mysql::serializer_t has been renamed to sqlpp::mysql::context_t
Const qualifier has been added to sqlpp::mysql::context::escape() and its parameter has been changed from std::string to const std::string&.
Old-style assignment-style parentheses-style initialization has been replaced with brace-style initialization. The only place where assignment-style initialization remains is auto var = {value} where C++11 has problems.

After making the changes the project was built with tests for the MySQL, PostgreSQL and SQLite3 connectors and all tests passed successfully.

Thanks for experimenting with this. I think it makes sense to move code as suggested in the first three commits. I would prefer them as individual commits (if that makes sense, I have not checked them in detail).
The renaming requires more discussion, I think.

@rbock
OK, I made changes to the PR and left the _t suffixes unchanged except for connection_handle. The other two connectors have connection_handle without the _t suffix, so I removed it from the MySQL connection handle too.
I think the PR is ready for a review, so please take a look.

Looks good to me.
My only concern: This mixes several topics. In case something were broken with this CL, it would be easier to figure out the cause if they could be separate. The biggest change that is not related to moving code is the use of brace style initializers.
If this can be separated into its own PR easily, I would prefer that.

@rbock
OK, I removed the braced-init commit from the PR and tested it - all tests passed.
I will submit the braced-init changes in a separate PR.
Please review this PR and let me know if further changes are required.

Force-pushed an update that removed a braced init that sneaked into this PR from the other PR.
I think now this PR is ready for a review.

Thanks for separating the changes! This looks good to me.


Assemblies for other .NET Framework Versions

It would be good if there's a build for .NET 4.0 and 4.6

@GerardBalaoro, isn't the current version compatible with NET 4.6 ?

closing this out, since no feedback given


Where can I search for package?

Description

Expected Behavior

Actual Behavior

Possible Fix

Steps to Reproduce

Context

Your Environment

Version used:
Operating System and Architecture:

https://github.com/buckaroo-pm is a good start however any repository may contain a potential package.


Go.Compile fails with a message (image.Rectangle).Dx

Minimized test case:
http://ebiten-playground.github.io/#/bd945dbd8d2eb52059037e2679bedb0c15efd7f7085b9f3cda8ae6fb495b769a
package main

import (
        "github.com/hajimehoshi/ebiten"
)

var ebitenImage *ebiten.Image

func main() {
        if 0 > 320-ebitenImage.Bounds().Dx() {
        }
}

It looks like imported path is solved at g.importContext.Import and the panic happens just after compiling github.com/hajimehoshi/ebiten and before compiling image. I think using goroutines introduced unexpected behavior. This should be related to https://github.com/j7b/jsplayground/issues/2 .

Upstream playground fails similarly

OK so the problem is in playground.js.
I investigated other usages of compiler.ImportDependencie like https://github.com/gopherjs/gopherjs/blob/master/build/build.go.  The given unnamed function calls  buildImportPathWithSrcDir, that calls BuildPackage, that calls buildImportPathWithSrcDir for each imported package recursively. Thus, I think g.importContext.Import should do the same recursive thing instead of reading only one package. We would be able to keep goroutines, but I think we should remove not to introduce another unexpected behavior in the future.

It can't really do that asynchronously without doing a lot of inspection that gets kind of complicated.
A four line change to jsplayground that fixes it is to compile twice if any packages were fetched if err != nil which I think is intended in upstream's approach but fails in cases like this where the package is resolved but too late for another dependency. You'll note the 2nd time you press run it compiles.

You'll note the 2nd time you press run it compiles.

Yeah, that's true. I printf-ed at the import function and found how importing worked.
If you are busy, shall I fix this?

I got, fixing other issues too.

OK, I'll do tonight. What part are you fixing?

I fixed and fixed some other stuff will build soon.

https://github.com/j7b/jsplayground is not updated yet.

Yes will be pushing soon.

Fixed

👍
https://ebiten-playground.github.io/#/bd945dbd8d2eb52059037e2679bedb0c15efd7f7085b9f3cda8ae6fb495b769a should cause error (nil reference) but not. Is this a regression?

No, I don't think there was a panic handler.

But Go error should be shown on the console, right?

But Go error should be shown on the console, right?

Ah sorry the original state didn't handle such Go errors. Please ignore this.
Thank you for fixing.


Support loading CA certs with unsupported extensions (IDFGH-2307)

Hey hi,
This PR adds support for CA certificates with critical extensions unsupported by mbedtls (fixes esp-tls: mbedtls_x509_crt_parse returned -0x2562 when loading CA certificates with critical Name Constraints).

Added KConfig to mbedtls module
Added config option to mbedtls/esp_config.h

(It's be awesome if it was possible to land this in 4.0 but I wasn't sure what to open the PR against)

 Thank you for your submission, we really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.You have signed the CLA already but the status is still pending? Let us recheck it.

@ryankurte This is not recommended config option per https://github.com/ARMmbed/mbedtls/blob/development/include/mbedtls/config.h#L1875, I wonder if we should expose this through kconfig. Could you please help to elaborate requirement? (CC @projectgus)

Hey thanks for the reply, we use name constraints on our internal TLS infrastructure which are unsupported by mbed-tls, leaving us with the option to disable this or to re-issue our infrastructure without name constraints.
If y'all don't want it in the kconfig we can just define it globally in our projects, it was however pretty annoying to track down so might make a good addition to the TLS docs somewhere?

Additional info
Browser info
appCodeName
Mozilla
appName
Netscape
appVersion
5.0 (Linux; Android 7.0; H1711z) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/78.0.3904.108 Mobile Safari/537.36
cookieEnabled
true
onLine
true
platform
Linux armv7l
userAgent
Mozilla/5.0 (Linux; Android 7.0; H1711z) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/78.0.3904.108 Mobile Safari/537.36
userEmail
<EMAIL_ADDRESS>javaEnabled
false
pluginNames
Page info
URL
https://myaccount.google.com/locationsharing?hl=en
Page structure

@mahavirj @ryankurte What about adding a "Show configurations with potential security risks" option to the mbedTLS menu that defaults to n, and make any non-recommended items depend on this being set first?

seems reasonable, something like this?

Hi @ryankurte,
Yes, something like that! There is a way to do it without moving all these config items under the parent, something like visible if instead of depends. But I think it's fine either way.

@ryankurte Thanks for changes. I will put this up in our internal review queue.


Allow change max zoom

Hi,
I was using this library, a it's almost perfect for my project needs. But I have a little problem: some pdf files mi app handle have too small text, and I'd need to increase max zoom with pinch (not double tap).
Can you add this feature in future realeases?
thank you

It's all ready added constants.blah  max zoom min zoom etc read the text.

Thanks


"pointer" cursor showing on header icon and not on close button

Minor issue, but I noticed that the pointer cursor is showing when hovering over the header icon in the popup (which doesn't have any click/tap action so is a bit misleading) rather than the close button. It seems the cursor: pointer style is applied to the header-icon class rather than the close-pop-up class.

Thanks for the feedback, that is indeed something that I need to fix.

This is now fixed in the new beta:
https://github.com/Clooos/Bubble-Card/releases/tag/v0.0.1-beta.7


Add ability to change scripts npm registry

Our company has hubots that contain private functionality, so they're not on the main NPM registry. We're just now deploying our Rocket.Chat hubot adapter onto Docker (using a docker-compose file), and I've found that it's complicated to get the adapter to pull external scripts from our registry. I think it would be very easy to support an environment variable containing a registry URL and simply set the NPM registry as the first step in the Dockerfile command. I may have time to actually make this pull request, if everyone thinks it's worth adding. Is it worth my writing that fix?
Workaround
Here's the workaround I'm using right now, though I don't like it because I'm having to duplicate and manipulate the Dockerfile command, meaning if that command ever changes, I have to manually change my docker-compose:
In the docker-compose file I override the command with this:
command: bash -c "npm set registry http://my.company.registry && \
node -e 'console.log(JSON.stringify(process.env.EXTERNAL_SCRIPTS.split(`,`)))' > external-scripts.json && \
npm install $$(node -e 'console.log(process.env.EXTERNAL_SCRIPTS.split(`,`).join(` `))') && \
bin/hubot -n $$BOT_NAME -a rocketchat"

Another workaround option of course is to fork the repository and create a new Dockerfile.

Had the same issue, solved it by mounting a single file volume via docker-compose.yml like so:
  volumes:     - ${PWD}/.npmrc:/home/hubot/.npmrc
The .npmrc contains URL and user / pass for accessing our scoped private NPM repo.

Hi @jakawell
We're in the process of rebuilding this from the ground up and i've implemented your feature in the following PR - https://github.com/RocketChat/hubot-rocketchat/pull/289
There is still testing that needs to be done before this is pushed live, but you'll be able to do it by setting the NPM_REGISTRY environment var like so:
NPM_REGISTRY=https://my.company.registry


Remove Tasks heading from instructions.md

The ## Tasks heading should not be in instructions.md files.

/format


NodeJS SDK required + optional types

Now we can use best of both world:

required params are available directly in the function params
optional params are available through an object that lets you mix and match the options you want

- withExec(args: string[], stdin?: string, redirectStdout?: string, redirectStderr?: string, experimentalPrivilegedNesting?: boolean): Container {
-
+ export type ContainerWithExecOpts = {
+   stdin?: string
+   redirectStdout?: string
+   redirectStderr?: string
+   experimentalPrivilegedNesting?: boolean
+ }
+ withExec(args: string[], opts?: ContainerWithExecOpts): Container {

I believe we agreed to have objects only in Node.js, rather than mixing positional + objects
https://discord.com/channels/707636530424053791/1040027260155088956/1043084201316077598

I believe we agreed to have objects only in Node.js, rather than mixing positional + objects
https://discord.com/channels/707636530424053791/1040027260155088956/1043084201316077598

I was basing myself on this, finally: https://github.com/dagger/dagger/issues/3810#issuecomment-1324034289
As it was better in a DX way, the LSP displaying each arg info popup directly when typing inside the function parenthesis.
Once in an {}, no popups shows. You have to explicitly open the completion with CTRL+space. I can see that it's not a crazy blocker either.
We just need to all be aligned.

:x: flattened args, required or not. We all agree that it's not great. (current implementation)
mix: required args are flattened, optionals are wrapped in a type (current PR)
full object: required + optional types are wrapped in a type.

I lack the practice in TS to know which is more common (it would seem the full object? But then, I wonder why the DX is poorer by using this practice)

I believe we agreed to have objects only in Node.js, rather than mixing positional + objects
https://discord.com/channels/707636530424053791/1040027260155088956/1043084201316077598

We actually want to embrace both world. Like we said in Discord, full object is indeed very flexible.
However the cons of that is IDE autocomplete doesn't give you any idea of what args is at least required.
It's basically exactly like Axios
// url is required, but you can also pass optional config

axios.get(url[, config])

axios.get('/user', {
    params: {
      ID: 12345
    }
})

In our case
const image = await client
    .container()
    .from("alpine")
    .withExec(["apk", "add", "curl"], {
        experimentalPrivilegedNesting: true,
     })

TL;DR
I think positional arguments + optional object is a better solution for the current NodeJS SDK, but we shall not ignore the full object pattern because we may need to switch to it in the future (see My Opinion section for details).
Reactions

It would be exactly like Axios for instance

Other popular libraries like Prisma use full object patterns, both are valid and it mostly depends on the number of originally required parameters.

However the cons of that is IDE autocomplete doesn't give you any idea of what args is at least required.

It does on Webstorm

And if not, you shall have an error on build, for example:
provisioning/docker-provision/image.ts:179:10 - error TS2345: Argument of type '{}' is not assignable to parameter of type 'Test'.
  Property 'foo' is missing in type '{}' but required in type 'Test'.

179     test({})
             ~~

  provisioning/docker-provision/image.ts:172:7
    172       foo: string
              ~~~
    'foo' is declared here.

Found 1 error in provisioning/docker-provision/image.ts:179

My opinion
Overall
As long as operations have less than 3 required parameters and N number of optional, the better DX is to mix both positional arguments and objects for optional ones. This way, we keep a maximum of 4 arguments by operation.
More than 4 arguments are not acceptable... even 4 is already a lot IMO, but it shall still be possible to keep 80 characters
on a line.
However, if one operation does not fit these rules, we shall go for a full object pattern.
Default values problem
Another advantage of positional arguments is that we could have a default value. This does not make sense for our low-level operations, but I'm thinking about the future, and extensions may take advantage of this.
For instance
function op(cmd: string, args: string[], magicNumber = 42, opts?: OptionalOpts) {...}

The only problem with DX is that if you want to set opts, you will need to set magicNumber too.
This DX's problem is not possible with a full object pattern, but it's harder to define default values because you will need to also set values for every required parameter. At some point, this may lead to a bad DX with default parameters set to irrelevant values.
For instance
interface Opt {
   cmd: string
   args: string[]
   magicNumber: number
   stdin?: string
   stdout?: string
}

// Set magicNumber to 42 by default but this require to also set
// cmd and args
const defaultOpt: Opt = {
   cmd: "",
   args: [],
   magicNumber: 42
}

function op(opt: Opt = defaultOpt) { ... }

DX comparison
The difference of DX is the following in the worst case (4 arguments)
// Fake operation arguments, for the example
interface OptionalOpArgs {
   stdin?: string
   stdout?: string
}

// Positional is simpler in that case and requires fewer lines to call it.
function positionalOp(cmd: string, args: string[], magicNumber: number, opts?: OptionalArgs) { ... }

positionalOp("foo", ["bar, "baz", "bool", "dog"], 42, {
  stdin: "standard"
})

// Full object is way more verbose but much clearer when you inline arguments directly with values.
interface OpArgs {
  cmd: string,
  args: string[],
  magicNumber: number,
  stdin?: string,
  stdout?: string
}

function fullObjectOp(opts: OpAgs) { ... }

fullObjetOp({
  cmd: "foo",
  args: ["bar", "baz", "bool", "dog"],
  magicNumber: 42,
  stdin: "standard"
})

Conclusion
I compared the pros and cons of both solutions before, my final opinion is that we should choose positional arguments + optional objects for now.
I went through client.gen.ts of this PR, and the maximum number of arguments I've seen is 2, so there are no red flags about adopting this solution.
On top of that, this follows the current Go implementation, so we keep a consistent DX across all SDKs.
Indeed, we shall take advantage of Typescript default values if we can (maybe extract those from comments?), but the more we stick to one common DX, the better.
With the evolution of Dagger, this implementation may change to a full object, especially if users create extensions with more than three required arguments. However, they could add those arguments to the 4th object and make it required. This is not the best solution, but it's probably the best trade for now if this situation happens.
The main issue with the full object pattern is the limitation of default values which may become a problem in the future. We need to find a solution before adopting this pattern (if we have to) one day.

Nice and well exposed roundup.
Out of it, it seems this current approach is good, but it seems the full object is more future proof.
Especially when extensions will get out, we will lose control on the extension API, and with that, the number of argument people will use. But maybe it's their problem, then.
And maybe we can readjust when it happens?

Thanks @TomChv for the clarification.

Other popular libraries like Prisma use full object patterns, both are valid and it mostly depends on the number of originally required parameters.

True. But many other libraries use both required + object, Axios, Cypress, GraphQLClient from Graphql-request... What I mean is what is the best feat for us and what are we looking for.
In your example you are showing typescript error in Webstorm (which I also get on VSCode). What I wanted to highlight is the autocomplete:

Ok, what is Test, I need to browser the SDK to see what is required and what is not.
Versus:

Oh right, the url is required.

This DX's problem is not possible with a full object pattern, but it's harder to define default values because you will need to also set values for every required parameter. At some point, this may lead to a bad DX with default parameters set to irrelevant values.

But can't you just pick the value you want without the need of settings every other values ?
interface Opt {
  cmd: string;
  args: string[];
  magicNumber: number;
  stdin?: string;
  stdout?: string;
}

// Set magicNumber to 42 by default but this require to also set
// cmd and args
const defaultOpt: Pick<Opt, "magicNumber"> = {
  magicNumber: 42,
};

Nice and well exposed roundup. Out of it, it seems this current approach is good, but it seems the full object is more future proof. Especially when extensions will get out, we will lose control on the extension API, and with that, the number of argument people will use. But maybe it's their problem, then. And maybe we can readjust when it happens?

I would argue that this problem cover every SDK. We are proposing a way of writing pipeline. I guess we will provide a tutorial of how to write an extension.

In Python optional values are the ones with a default. So if the api has a default in a param just put it in opts, don’t make it positional.

Yes, for me, optional, or with a default value has the same semantic for me. You can optionally pass a value.
If not, a default value will be used: the zero value for the language, or a default passed in the signature
But, all in all, it is optional. I would put it into the options.

I tried to rebase on main, but got blocked when I resolved some conflicts. The spec test didn't pass:
#13 docker-entrypoint.sh yarn test
#13 0.433 yarn run v1.22.19
#13 0.482 $ mocha
#13 0.718 (node:40) ExperimentalWarning: Custom ESM Loaders is an experimental feature. This feature could change at any time
#13 0.718 (Use `node --trace-warnings ...` to show where the warning was created)
#13 4.195
#13 4.196
#13 4.196   NodeJS SDK api
#13 4.199     ✔ Build correctly a query with one argument
#13 4.200     ✔ Build correctly a query with different args type
#13 4.201     ✔ Build one query with multiple arguments
#13 4.202     ✔ Build a query by splitting it
#13 4.221     ✔ Pass a client with an implicit ID as a parameter
#13 4.222     ✔ Build a query with positionnal and optionals arguments
#13 4.222     ✔ Test Field Immutability
#13 4.224     ✔ Return a flatten Graphql response
#13 4.225     ✔ Return a error for Graphql object nested response
#13 4.225
#13 4.225   Provisioner
#13 4.225     Docker Image
#13 4.252       1) Should create a GQL client on call to connect
#13 4.253
#13 4.253   NodeJS sdk Connect
#13 6.774     ✔ Connect to local engine and execute a simple query to make sure it does not fail (2521ms)
#13 6.777
#13 6.778
#13 6.779   10 passing (3s)
#13 6.779   1 failing
#13 6.779
#13 6.780   1) Provisioner
#13 6.780        Docker Image
#13 6.780          Should create a GQL client on call to connect:
#13 6.780      Error: failed to copy engine session binary: Error: Command failed with ENOENT: docker run --rm --entrypoint /bin/cat ghcr.io/dagger/engine:v0.3.6@sha256:d124de285773409fd83d203d3f46364e20149ee46842c50eec6cc51c50fffb62 /usr/bin/dagger-engine-session-linux-amd64
#13 6.780 spawnSync docker ENOENT
#13 6.780       at DockerImage.pullEngineSessionBin (file:///workdir/provisioning/docker-provision/image.ts:199:13)
#13 6.780       at DockerImage.<anonymous> (file:///workdir/provisioning/docker-provision/image.ts:96:12)
#13 6.780       at Generator.next (<anonymous>)
#13 6.780       at file:///workdir/provisioning/docker-provision/image.ts:7:71
#13 6.780       at new Promise (<anonymous>)
#13 6.780       at __awaiter (file:///workdir/provisioning/docker-provision/image.ts:3:12)
#13 6.780       at DockerImage.Connect (file:///workdir/provisioning/docker-provision/image.ts:79:16)
#13 6.780       at Context.<anonymous> (file:///workdir/provisioning/test/provisioner.spec.ts:15:40)
#13 6.780       at Generator.next (<anonymous>)
#13 6.780       at file:///workdir/provisioning/test/provisioner.spec.ts:7:71
#13 6.780       at new Promise (<anonymous>)
#13 6.780       at __awaiter (file:///workdir/provisioning/test/provisioner.spec.ts:3:12)
#13 6.780       at Context.<anonymous> (file:///workdir/provisioning/test/provisioner.spec.ts:16:20)
#13 6.780       at processImmediate (node:internal/timers:466:21)
#13 6.780
#13 6.780
#13 6.780
#13 6.830 error Command failed with exit code 1.
#13 6.830 info Visit https://yarnpkg.com/en/docs/cli/run for documentation about this command.
Error: input:1: container.from.withWorkdir.withRootfs.withExec.withRootfs.withMountedDirectory.withExec.exitCode process "docker-entrypoint.sh yarn test" did not complete successfully: exit code: 1

Please visit https://dagger.io/help#go for troubleshooting guidance.
exit status 1

Running the command locally works
docker run --rm --entrypoint /bin/cat ghcr.io/dagger/engine:v0.3.6@sha256:d124de285773409fd83d203d3f46364e20149ee46842c50eec6cc51c50fffb62 /usr/bin/dagger-engine-session-linux-amd64 pulls an image and then output the binary in the stdout.
 Like we said in Discord, full object is indeed very flexible.
However the cons of that is IDE autocomplete doesn't give you any idea of what args is at least required.

SGTM.
Whatever makes most sense in TS/JS. The goal is to have the most native framework, not to copy what Go or Python are doing.
The approach was adopted in Go for very Go specific reasons: it's annoying to use structures in Go e.g. c.WithExec(dagger.ContainerWithExecOpts{Args: []string{"ls"}}) vs c.withExec({args: ["ls"]) in TS

@dolanor Please squash commits before merge. PRs should have 2-3 commits at most

Will squash.

Added the commits from #4031 since we're less in an urge to release now that v0.2.0 has been released.

Somehow, the connect method signature in the docs is:

We cannot merge this @aluzzardi until you re-review it. All yours now 💪

LGTM -- we should consider doing a release once this is in

Doing the rebase right now.

Well done all for pushing this through 💪


Global styles to support nested syntax

Currently global styles only support one level depth

Added support in 0.2


[Feature]: Check if a stack has been added twice in the config file

Describe the Feature
This feature checks if a stack or an application has been added twice in the config file and blocks user to deploy via that config.
Importance of the Feature
This feature restricts the user from deploying multiple stack applications via a single config file.

Hi @aliabbasjaffri , I'd like to tackle this issue for hacktoberfest. Could you assign it to me?
Thanks

Sure @RINO-GAELICO! Good luck!

@aliabbasjaffri would src/mlinfra/terraform/terraform.py be a good place to add the new function check_for_duplicates?
This is would be the beginning of it.
def check_for_duplicates(self, config: dict):
        """
        This function checks if there are duplicate stacks or applications in the config.
        :param config: The loaded configuration dictionary
        """
        seen = set()
        duplicates = []

        stacks = config.get("stack", [])
        applications = config.get("applications", [])

        # TO BE CONTINUED

I'd rather have this check be in one of the files in src/mlinfra/stack_processor/stack_processor/, depending which stack is getting deployed

I want to help, how can i assist?

hey @RINO-GAELICO are you still working on this task?

@aliabbasjaffri yes I am

@aliabbasjaffri please let me know

Sorry for missing this message, yes you're correct with that understanding.


Patch 4

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

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

You need to make sure you are not creating a new branch on freeCodeCamp.  Make sure you target master.  I am closing this PR.  Create a new PR and target the master branch of freeCodeCamp.
Thank you.


Updates to Frontier

This merge adds:

spack support for gnugpu and crayclang(gpu) on Frontier
It updates the number of cores per node to 64 to match the documentation and what slurm sees.

Testing
I was able to build Omega with gnu, crayclang and crayclanggpu on Frontier and run CTests.  I will test again with gnugpu shortly using the fixes suggested in https://github.com/E3SM-Project/Omega/issues/52#issuecomment-1915541592.
I was able to build MPAS-Ocean with gnu and crayclang (the latter with the fix in https://github.com/E3SM-Project/E3SM/pull/6193) and run the pr suite.


[bug] input-mask does not treat my regex as I would expect

Here is my codesandbox where I tried some experiments.
I just wanted to see if I can make the input accept any number between 0 and 255 and block the user's input whenever they're typing something that would result in an invalid value.
As you can see in the codesandbox, I've tried 3 different ways and they all fail to behave as desired in their own unique ways.

The issue here is that regex inside arrays are atomic, so they are removed if they do not match, which is the default behavior for input masks.
I would suggest a function mask style instead of regex/string array.

There is an issue: how should input mask behave if you edit inside the string, e.g. "127.0.0" is there and you move to the start of the second number and enter "192" before it, thus pushing the 0 beyond the boundary of the following dot. Should the number be moved out of the current number into the following one or removed?
I think the use case is more complex than it seems.


Disfrobulate Travis

:sigh:
Coming here from https://github.com/gratipay/gratipay.com/pull/4582 ...

Let's try moving the new security test to tests/ttw. We've kept BrowserHarness over there so far. Maybe there's some weird interaction?

Now for something completely different:
_________________ ERROR collecting tests/ttw/test_security.py __________________
import file mismatch:
imported module 'test_security' has this __file__ attribute:
  /home/travis/build/gratipay/gratipay.com/tests/py/test_security.py
which is not the same as the test file we want to collect:
  /home/travis/build/gratipay/gratipay.com/tests/ttw/test_security.py
HINT: remove __pycache__ / .pyc files and/or use a unique basename for your test file modules

Four failures, one the one we want, three from ttw/test_team_distributing, which was the source of some of the 15 earlier.
https://travis-ci.org/gratipay/gratipay.com/builds/268108613

Let's try turning off the new test. Do the old ones still fail?
https://github.com/gratipay/gratipay.com/pull/4582/commits/105df354adde2d4d81761c1e8f86d0d945164503
https://travis-ci.org/gratipay/gratipay.com/builds/268111905
https://travis-ci.org/gratipay/gratipay.com/builds/268111877

Well hot holy heck. Green! 🤔

And bringing our test back makes u go too red again Travis?
https://github.com/gratipay/gratipay.com/pull/4582/commits/83ec02c347aec778767bb55d285a3e4193c7b549
https://travis-ci.org/gratipay/gratipay.com/builds/268117598
https://travis-ci.org/gratipay/gratipay.com/builds/268117600

Yorp! Same four failures as at https://github.com/gratipay/gratipay.com/issues/4583#issuecomment-324737804.

Something about the alert frobulating the test browser?

If that is the case I guess we need to dismiss the alert?
https://github.com/gratipay/gratipay.com/pull/4582/commits/8991be9fbd8fd2fe57cfee901908c9d2f54e2e8e
https://travis-ci.org/gratipay/gratipay.com/builds/268122773
https://travis-ci.org/gratipay/gratipay.com/builds/268122769

Eureka!


Wip/cardiology intervals

Updated extended_timers in timers.genie and added them to remote_commands in thingtalk.genie. But the generated code wouldn't work yet because we still need to fix Timer in thingengine-core/lib/apps/timers.js to take frequency (see relevant PR by Ricky).

Ok, let's merge this and do a round of training, we can play with templates again if needed.


IBM - Job locations are not the same on solr.peviitor as they are on the company website

ENVIRONMENT: production
URL: https://solr.peviitor.ro/
Browser: Microsoft Edge
Device: Laptop
OS: Windows 10
STEPS TO REPRODUCE:

Open the URL in the browser
Execute Query for "IBM" Company
Check the city of the jobs
Open https://www.ibm.com/careers
. Check the city of the jobs

EXPECTED RESULTS:
The location of the jobs are the same on solr.peviitor.ro as on the company website
47 of the jobs have multiple locations as on the company website: Bucharest, Brasov, Cluj-Napoca, Timisoara
20 of the jobs have "Bucharest" as location
1 job has "Timisoara" as location
ACTUAL RESULTS:
Job locations are not the same on solr.peviitor as they are on the company website
46 of the jobs have "Brasov" as location
21 of the jobs have "Romania" as location
1 job has "Bucharest" as location

Fixed!


feat: CCIE-1662 hvm GitHub PAT support

CCIE-1662

Summary
HVM Github PAT support

Type

        Task

Status
In Review

Add support for github PAT auth
Fix some help text
Add support for a hvmconfig file
Fix bug installing non-happy github projects (works for fogg now! 🚀  )

Currently failing one of the checks because happy 101 isn't published as a release yet. Should work later on. Will check back later. Otherwise, I think this is ready for review.

Currently failing one of the checks because happy 101 isn't published as a release yet. Should work later on. Will check back later. Otherwise, I think this is ready for review.

This was fixed by upgrading the install-happy github action version for api. (Thanks for the pointer, Hayden!)


Choose URL matching the hash of the local artifact

This PR changes the behavior of mvn2nix such that it uses the URL which matches the hash of the artifact in the local repository. This should solve mismatches such as reported in Issue #29. The URL of an artifact is determined by retrieving the artifact from the URL, computing its SHA256 and comparing it to the SHA256 of the local artifact. As a consequence each artifact has to be downloaded at least once for the creation of the lockfile.
Furthermore, I have abstracted parts of the algorithm in order to make unit testing somewhat easier. In particular, the PR includes a test that produces a hash mismatch which is fixed by the new way to choose the artifact URL.

@jvierling -- I don't have too much time to review this.
Did you want to become a maintainer?
If so let me know -- reach out to me over email please.


New User Reg (Perhaps an Issue)

A newly registered user is prompted (actually forced) to register a new org on first registration. However, if you register, and then immediately logout/login, you are not (again) forced to register a new org. You can still do so, but it's now out of the thread I think the site expected.

site does enforce it later though as clicking on various things results in:
"Error Only members of active organization can perform this action"
so it's just a suggested improvement perhaps to redirect the newly logged in user back to the org creation page if they don't have one yet.

Hey @Rjrunner44!
The modal which appears on user's first login was designed this way.
It gives the user general info about registering an organization and allowing to quickly go there only once. In the following logins user can easily navigate to "Register Organization" in "Organizations" menu tab and proceed with registration.
Displaying this modal on each login until the user registers/joins organization could be annoying.


Add Assert feature

Based off of the GNU assert macros, if a statement/boolean is false then the assert will stop the program and print out debug information.

Maybe this would be more viable as a seperate file? The assert exits because that's what the traditional beahviour defined in POSIX says that it should do. I think a logging library is the ideal place for something like this, because the only other place for it is in a standard library implementation, and formatting it like this would make it POSIX incompliant.
The additional log-level is addmittedly unneccessary and can be removed. I can add the exit call to the macro instead.

This is short enough I don't think it should be a part of this library. It's easy enough to copy-paste into your own code.
You're free to add an example showing that you can do this if you'd like, I'd accept that.

Being short enough to paste into your own code goes for almost all of the standard library functions.
Personally I would get mileage out of this being part of CLog. Anyone can write a logging library, but what makes a library good is having the features you need when you need them.

pebis

Fair. Feel free to make a clog/extra.h with this macro in it, I have a feeling other useful stuff that doesn't quite fit the library's goal could go there as well in the future.

Should meet your checks now
- pebis

Should be all how you wanted it, I fixed up CMakeLists and added your little indicator

Looks all good now, thanks :)

Brilliant, when V2 is completed, this message can be overhauled to be a custom message rather than have [Error] Assert Failed: at the start of everything. Just [Assert Failed] will be nice.
- pebis


Rate limit only on failed requests.

Is there an easy way to use the existing httprate functionality but push it to the end resolution of the request/response chain instead of at the beginning.
We want to create a couple of open ended mutation endpoints that could be used maliciously so we want to limit the total number of bad requests in a short period of time, but not limit penalize a user who is submitted good data that returns 2XX responses.

Hi @chance-schultz,
This is an interesting feature request!
The current httprate pkg does rate-limiting only at the beginning of the request, which makes sense.
However I can imagine you could write a custom middleware that manipulates the limits after the handler is run and HTTP status is known.
Pseudo-code (not tested / might not compile):
rateLimiter := httprate.NewRateLimiter(1000, time.Minute, httprate.WithKeyFuncs(httprate.KeyByIP))

r := chi.NewRouter()

r.Use(rateLimiter.Handler)

r.Use(func(next http.Handler) http.Handler {
	return http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
		ww := middleware.NewWrapResponseWriter(w, r.ProtoMajor)
		next.ServeHTTP(ww, r)

		if ww.Status() >= 200 && ww.Status < 400 {
			key := httprate.KeyByRealIP(r)
			currentWindow := time.Now().UTC().Truncate(time.Minute)
			rateLimiter.Counter().IncrementBy(key, currentWindow, -1) // Put back
		}
	})
})

@VojtechVitek in your example imagine you set rate limiter to 5 requests per 1 minute.
The idea is to rate limit if number of bad requests exceed 5.
The side effect of suggested approach is that when user issues 6 simultaneous requests one of them is going to be rate limited as you only manipulate counter after the request finishes.

@kamilzzz Yes, you're right. You'd need to explicitly check and increment the HTTP 400 limits in a custom middleware. The package API is not really prepared for this use case right now. You'd need to adjust some of the https://github.com/go-chi/httprate/blob/master/limiter.go#L71 logic.
Pseudo code:
rateLimiter := httprate.NewRateLimiter(5, time.Minute, httprate.WithKeyFuncs(httprate.KeyByIP))

r := chi.NewRouter()

r.Use(func(next http.Handler) http.Handler {
	return http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
 		key := httprate.KeyByRealIP(r)
		currentWindow := time.Now().UTC().Truncate(time.Minute)
		previousWindow := currentWindow.Add(-time.Minute)

		prev, next, _ := rateLimiter.Counter().Get(key, currentWindow, previousWindow)
		// check if rate-limited and return HTTP 429

		ww := middleware.NewWrapResponseWriter(w, r.ProtoMajor)
		next.ServeHTTP(ww, r)

		if ww.Status() == 400 {
			rateLimiter.Counter().IncrementBy(key, currentWindow, 1) // Rate-limit requests with wrong payload
		}
	})
})


German I18n adjustments

[ ] Bugfix (non-breaking change which fixes an issue)
[ ] New feature (non-breaking change which adds functionality)

Proposed changes

A few German translations don't sound good at the moment. This PR changes them.
Changes were discussed in Slack channel "i18n-de".
Checklist

[x] I have read the contribution guidelines
[x] For non-bugfix PRs, I have discussed this change on the forum/slack team.
[x] I have run grunt to verify the unit tests pass
[ ] I have added suitable unit tests to cover the new/changed functionality

Coverage remained the same at 77.581% when pulling e46d8345db6fe2c063fc42c24f52af1a398275dc on neohelden:master into 9b6e798eb616ddac56e834ca1c83992ebaa404c6 on node-red:master.

LGTM

Looks good! 👏

GREAT!  :)

Sounds much better! Good Job

Makes sense :top:

Ausgezeichnet! :smile:

Thanks everyone for the contribution!


Documentaion of Custom metrics need to be update

I guess return type of custom metrics is changed, and document is not updated.
in keras/docs/templates/metrics.md

The function would need to take (y_true, y_pred) as arguments and return a single tensor value.

and in keras/keras/engine/training.py
# score_array has ndim >= 2
       score_array = fn(y_true, y_pred)

This codes explane that return type has been changed.
Lastest code https://github.com/fchollet/keras/blob/1f0f2bb307fbed3d53d7897c58bf6c058a9d3198/keras/metrics.py
def categorical_accuracy(y_true, y_pred):
    return K.cast(K.equal(K.argmax(y_true, axis=-1),
                          K.argmax(y_pred, axis=-1)),
                  K.floatx())

Old code
https://github.com/fchollet/keras/blob/8a50f5dfc80030b864ef24d6c562661c24fe7c2e/keras/metrics.py
def categorical_accuracy(y_true, y_pred):
    return K.mean(K.equal(K.argmax(y_true, axis=-1),
                          K.argmax(y_pred, axis=-1)))


Update

Update of the link of Discord on 'footer.jsx' file.

Deleting the link named 'forum' in the file 'index.js'

Update of the 2 'Discord' links in the 'index.js' file

Little modification of the naming of the links 'website', 'dashboard','github' and 'discord'.
'website' -> 'Website'
'dashboard' -> 'Dashboard'
'github' -> 'Github'
'discord' -> 'Discord'

Replace the word 'DESINATION' by 'DESTINATION'
Replace the word 'DESINATION' by 'DESTINATION' in the text 'ALWAYS VALIDATE YOUR DESTINATION ADDRESS BY SENDING SMALL AMOUNTS OF HUSH FIRST'

Update of the UI of index page
Simplification of the top menu
Enlarging data tables
Enlarging tables of entries

Update of the UI of 'guide' page
Simplification of the top menu
Deleted of forum link
Modification of Discord link
Modification of name link

Update of the UI of 'faq' page
Simplification of the top menu
Deleted of 'forum' link
Modification of Discord link
Modification of name link

Update of the HUSH logo  …
Put in place a lighter HUSH logo (255 KB -> 7 KB)

Capitalization of the first letter of a certain word
Capitalization of the first letter of the words 'Website', 'Dashboard', 'Github' and 'Discord

thank you :+1:


feat: support --install-deps flag in browser CLI

The new flag will attempt installing system dependencies required for Chrome using apt-get. Currently, only Debian and Ubuntu are supported.
The Docker image is updated to install dependencies using the new flag.

@Lightning00Blade do you think it needs to be a breaking change due to the dockerfile changes?


updated to Gradle JPI Plugin 0.12.2

Thank you for a pull request! Please check this document for how the Jenkins project handles pull requests


Add an option to return Task from async F# client functions instead of Async

Refs #31 - adds an 'asyncReturnType' option to the config which, when set to 'task' uses Ply to generate F# client functions that return Task instead of Async.
This is the same change as the commit I linked from #31, but with the suggested changes to case sensitivity in the 'async' string and additional piece of validation to make it an error to specify usage of tasks in Fable targets.

Awesome stuff @Numpsy 😍 I merged, then added some docs and integration tests for the option.
Published into Snowflaqe v1.25 🚀


Failed to Get Extension List

Source information
All
Source language
All
Steps to reproduce
When tried to install any extension or clicking the Browse→Extension small pop up will appears say "Failed to Get Extension List".
Expected behavior
On original tachiyomi got no problem, i can install any extension normally.
Actual behavior
On other tachiyomi apps i can't even browse any extensions.
Tachiyomi version
15.2
Android version
Android 11
Other details
This happened on Tachi SY, Tachimanga(iOS) already tried using any DNS but gave nothin.

Acknowledgements

[X] I have searched the existing issues and this is a new ticket, NOT a duplicate or related to another open or closed issue.
[X] I have written a short but informative title.
[X] I have updated the app to version 0.15.1.
[X] I have updated all installed extensions.
[X] I have tried the troubleshooting guide.
[X] If this is an issue with the app itself, I should be opening an issue in the app repository.
[X] I will fill out all of the requested information in this form.

 Does this look like app support to you?

sorry, I'm not sure whether this was an app issue or source issue. so mske one to app issue?

It works on one doesn't on another. What else can it be except an app issue?

Ok, sorry for makin mistake. I was thinking that your repo can be used with other tachi, sorry for bothering. ty

@a0repo I am sure you will notice that you get that message regardless of using this extension list or not. Most derivative applications such as SY, AZ, TachiManga, etc have a bug that they wait for the official extension list and timeout with an exception if it's not found. Authors of those applications have to update to address this new broken world we live in. Have patience those apps will get updated.
If you are using SY here is a workaround:

installing the main Tachiyomi app
add this extension list
install the sources you wish to use through Tachiyomi.
open SY again and you will see the source in your list
add it as trusted, you can now use that source but it will be listed as "Unofficial Source" or something like that.