Fix page transition glitch when opening sign in modal from RHP

Details

When we open the sign-in modal from RHP, the navigation transition is glitching.
Fixed Issues

$ https://github.com/Expensify/App/issues/28610
PROPOSAL: https://github.com/Expensify/App/issues/28610#issuecomment-1743259152
Tests

Same as QA Steps

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

Offline tests

Same as QA Steps
QA Steps

Log out if you are signed in
Open public room (/r/8813851443373010)[1]
Press the room header
Press Settings/Private Notes
Verify you are navigated to a sign-in modal without any glitch
Verify the email field is focused (only on web)

[1]
Android: adb shell am start -a android.intent.action.VIEW -d "new-expensify://r/8813851443373010"
iOS: xcrun simctl openurl booted "new-expensify://r/8813851443373010"
make sure to open the deep link while the app is closed
Desktop: not able to deep link

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

PR Author Checklist

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Screenshots/Videos

Android: Native

https://github.com/Expensify/App/assets/50919443/cfaf6355-3aba-43a3-8c2f-d8f25e970d9d

Android: mWeb Chrome

https://github.com/Expensify/App/assets/50919443/869023ed-cd38-4a7c-bc1f-8c7625b85d2c

iOS: Native

https://github.com/Expensify/App/assets/50919443/d35beac8-4629-4d49-9b5f-6f53b4fecf69

iOS: mWeb Safari

https://github.com/Expensify/App/assets/50919443/c63336d2-7b82-446b-ac33-a19ed4e15b18

MacOS: Chrome / Safari

https://github.com/Expensify/App/assets/50919443/87bbba66-6847-4f11-adfc-2ef21cdb9698

MacOS: Desktop

: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 production by https://github.com/jasperhuangg in version: 1.3.83-11 🚀

platform
result

🤖 android 🤖
skipped 🚫

🖥 desktop 🖥
skipped 🚫

🍎 iOS 🍎
skipped 🚫

🕸 web 🕸
skipped 🚫

🚀 Deployed to production by https://github.com/jasperhuangg in version: 1.3.83-11 🚀

platform
result

🤖 android 🤖
skipped 🚫

🖥 desktop 🖥
skipped 🚫

🍎 iOS 🍎
skipped 🚫

🕸 web 🕸
skipped 🚫

🚀 Deployed to production by https://github.com/jasperhuangg in version: 1.3.83-11 🚀

platform
result

🤖 android 🤖
skipped 🚫

🖥 desktop 🖥
skipped 🚫

🍎 iOS 🍎
skipped 🚫

🕸 web 🕸
skipped 🚫

🚀 Deployed to production by https://github.com/jasperhuangg in version: 1.3.83-11 🚀

platform
result

🤖 android 🤖
failure ❌

🖥 desktop 🖥
success ✅

🍎 iOS 🍎
failure ❌

🕸 web 🕸
success ✅


Make comment with timestamp optional when using bundle add

This is not a big deal, but I dont think the timestamp comment adds a lot of value on the Gemfile.
At this point its almost certain that the developer will be using some version control system.
bundle add mygem --timestamp could be an option

I'd love to take a hand at this 👌🏼

This is definitely a leftover from the old inject command... we definitely want to change this. Ideally, we will eventually come up with some way for the add command to insert new gems into sorted lists of gems, if sorted lists exist, but this is a great first change. :)

@arbonap are you still working on this? If not, let us know incase someone else want's to work on this issue.

Hello, I'm looking to start contributing to a ruby project, and have chosen bundler. I'm going to try this "issue" for starters.
After a quick look, seems the "add" option ( lib/cli/add.rb ) is calling lib/injector.rb and I can see the line in there that creates the timestamp in Gemfile....

Probably not, i think we're just going to remove that piece of functionality entirely.

This was merged in #6300. Closing.


feature-request: Create a recommended workaround for files with match statements

Right now, if a file uses the match statement, you have to manually exclude the file from ruff in your environment. It would be better to have an official workaround, such as:

Ruff automatically falls back to running flake8 when the match statement is encountered
Providing a way to mark one function as noqa, but still lint the rest of the file
Some other workaround I haven't thought of?

The goal is not to have to manually create an appropriate special treatment for each file that is not compatible and to still have some code-quality checks on the offending file

We support match statements as of v0.0.250 -- so hopefully no longer an issue!


Order case insensitively

With this update the table will order in a Case insensitive way so that anyting and Anything end up close to one another. I think this "behaviour" is more intuitive.

I think you've just disabled the use of indexes when sorting results. LOWER will have to be run on each row that is sorted.
Instead, if you want case-insensitive ordering it's better to change the collation to something case-insensitive.


yarn build failed with a fresh created react ts app

Describe the bug
After creating a fresh new app using yarn create react-app my-app --template typescript the build process failed with an error from my_project/node_modules/react-scripts/config/webpack.config.js:664
Based on last releases of all componants inside node 16.13.0
Error is:
yarn build
yarn run v1.22.17
$ react-scripts build
/workspace/my_app/node_modules/react-scripts/config/webpack.config.js:664
        new MiniCssExtractPlugin({
        ^

TypeError: MiniCssExtractPlugin is not a constructor
    at module.exports (/workspace/my_app//node_modules/react-scripts/config/webpack.config.js:664:9)
    at Object.<anonymous> (/workspace/my_app/node_modules/react-scripts/scripts/build.js:58:16)
    at Module._compile (node:internal/modules/cjs/loader:1101:14)
    at Object.Module._extensions..js (node:internal/modules/cjs/loader:1153:10)
    at Module.load (node:internal/modules/cjs/loader:981:32)
    at Function.Module._load (node:internal/modules/cjs/loader:822:12)
    at Function.executeUserEntryPoint [as runMain] (node:internal/modules/run_main:81:12)
    at node:internal/main/run_main_module:17:47
error Command failed with exit code 1.
info Visit https://yarnpkg.com/en/docs/cli/run for documentation about this command.

Did you try recovering your dependencies?
Yes, getting de fresh project from git or from scratch, see "Steps to reproduce"
Environment

Gitpod
Node 16.13.0

Steps to reproduce
Easy to reproduce craete a fresh new project like this :
yarn create react-app my-app --template typescript
cd my-app
yarn install
yarn build

Using yarn start, the dev mode is working fine.
Expected behavior
A built app.
Actual behavior
Build failed and the app is not ready for production.

I had the same error using npm.
Here is my package.json
{
  "name": "personal-website",
  "version": "0.1.0",
  "private": true,
  "dependencies": {
    "@testing-library/jest-dom": "^5.16.1",
    "@testing-library/react": "^12.1.2",
    "@testing-library/user-event": "^13.5.0",
    "react": "^17.0.2",
    "react-dom": "^17.0.2",
    "react-scripts": "5.0.0",
    "web-vitals": "^2.1.3"
  },
  "scripts": {
    "start": "react-scripts start",
    "build": "react-scripts build",
    "test": "react-scripts test",
    "eject": "react-scripts eject"
  },
  "eslintConfig": {
    "extends": [
      "react-app",
      "react-app/jest"
    ]
  },
  "browserslist": {
    "production": [
      ">0.2%",
      "not dead",
      "not op_mini all"
    ],
    "development": [
      "last 1 chrome version",
      "last 1 firefox version",
      "last 1 safari version"
    ]
  }
}

And here is the error:
> react-scripts build

/Users/yasinosman/Desktop/personal-website/node_modules/react-scripts/config/webpack.config.js:664
        new MiniCssExtractPlugin({
        ^

TypeError: MiniCssExtractPlugin is not a constructor
    at module.exports (/Users/yasinosman/Desktop/personal-website/node_modules/react-scripts/config/webpack.config.js:664:9)
    at Object.<anonymous> (/Users/yasinosman/Desktop/personal-website/node_modules/react-scripts/scripts/build.js:58:16)
    at Module._compile (internal/modules/cjs/loader.js:1072:14)
    at Object.Module._extensions..js (internal/modules/cjs/loader.js:1101:10)
    at Module.load (internal/modules/cjs/loader.js:937:32)
    at Function.Module._load (internal/modules/cjs/loader.js:778:12)
    at Function.executeUserEntryPoint [as runMain] (internal/modules/run_main.js:76:12)
    at internal/main/run_main_module.js:17:47
npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR<EMAIL_ADDRESS>build: `react-scripts build`
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the<EMAIL_ADDRESS>build script.
npm ERR! This is probably not a problem with npm. There is likely additional logging output above.

npm ERR!      /Users/yasinosman/.npm/_logs/2022-01-14T18_40_00_572Z-debug.log

Same error with npm run build command:
`        new MiniCssExtractPlugin({
^
TypeError: MiniCssExtractPlugin is not a constructor
at module.exports (/Users/szisz/Documents/worx/rntools/test/node_modules/react-scripts/config/webpack.config.js:664:9)
at Object. (/Users/szisz/Documents/worx/rntools/test/node_modules/react-scripts/scripts/build.js:58:16)
at Module._compile (node:internal/modules/cjs/loader:1097:14)
at Object.Module._extensions..js (node:internal/modules/cjs/loader:1149:10)
at Module.load (node:internal/modules/cjs/loader:975:32)
at Function.Module._load (node:internal/modules/cjs/loader:822:12)
at Function.executeUserEntryPoint [as runMain] (node:internal/modules/run_main:81:12)
at node:internal/main/run_main_module:17:47
Node.js v17.2.0`

Problem is a change in the api coming from mini-css-extract-plugin which is versioned at ^2.4.5 in the react-scripts package.  It resolves to 2.5.0 at react-scripts install time which isn't good.  You can patch around this with this in your package.json temporarily.
{ "resolutions": { "mini-css-extract-plugin": "2.4.5" } }

Got the same error with npm run build in Azure DevOps pipeline.

env-cmd -f .env.deploy react-scripts build

/home/ec2-user/myagent/_work/17/s/node_modules/react-scripts/config/webpack.config.js:664
        new MiniCssExtractPlugin({
        ^

TypeError: MiniCssExtractPlugin is not a constructor
    at module.exports (/home/ec2-user/myagent/_work/17/s/node_modules/react-scripts/config/webpack.config.js:664:9)
    at Object.<anonymous> (/home/ec2-user/myagent/_work/17/s/node_modules/react-scripts/scripts/build.js:58:16)
    at Module._compile (internal/modules/cjs/loader.js:999:30)
    at Object.Module._extensions..js (internal/modules/cjs/loader.js:1027:10)
    at Module.load (internal/modules/cjs/loader.js:863:32)
    at Function.Module._load (internal/modules/cjs/loader.js:708:14)
    at Function.executeUserEntryPoint [as runMain] (internal/modules/run_main.js:60:12)
    at internal/main/run_main_module.js:17:47

Related: https://github.com/webpack-contrib/mini-css-extract-plugin/issues/896

Problem is a change in the api coming from mini-css-extract-plugin which is versioned at ^2.4.5 in the react-scripts package. It resolves to 2.5.0 at react-scripts install time which isn't good. You can patch around this with this in your package.json temporarily.
{ "resolutions": { "mini-css-extract-plugin": "2.4.5" } }
I suspect mini-css-extract-plugin should have major-version-bumped if they're going to change their api that much.

that didn't fix the error for mr

Problem is a change in the api coming from mini-css-extract-plugin which is versioned at ^2.4.5 in the react-scripts package. It resolves to 2.5.0 at react-scripts install time which isn't good. You can patch around this with this in your package.json temporarily.
{ "resolutions": { "mini-css-extract-plugin": "2.4.5" } }
I suspect mini-css-extract-plugin should have major-version-bumped if they're going to change their api that much.

that didn't fix the error for me

... you do need to do a 'yarn install' or the like to re-resolve and make sure that the current jq .version < node_modules/mini-css-extract-plugin/package.json is 2.4.5 before the error will disappear.

Problem is a change in the api coming from mini-css-extract-plugin which is versioned at ^2.4.5 in the react-scripts package. It resolves to 2.5.0 at react-scripts install time which isn't good. You can patch around this with this in your package.json temporarily.
{ "resolutions": { "mini-css-extract-plugin": "2.4.5" } }
I suspect mini-css-extract-plugin should have major-version-bumped if they're going to change their api that much.

that didn't fix the error for me

Just try to edit /node_modules/react-scripts/config/webpack.config.js in line 19:
const MiniCssExtractPlugin = require('mini-css-extract-plugin').default;
It works for me :)

Related: webpack-contrib/mini-css-extract-plugin#896

Thanks, It works!

Problem is a change in the api coming from mini-css-extract-plugin which is versioned at ^2.4.5 in the react-scripts package. It resolves to 2.5.0 at react-scripts install time which isn't good. You can patch around this with this in your package.json temporarily.
{ "resolutions": { "mini-css-extract-plugin": "2.4.5" } }
I suspect mini-css-extract-plugin should have major-version-bumped if they're going to change their api that much.

that didn't fix the error for me

Just try to edit /node_modules/react-scripts/config/webpack.config.js in line 19: const MiniCssExtractPlugin = require('mini-css-extract-plugin').default;
It works for me :)

You're not wrong, but you're also hacking edits into node_modules which is not a sustainable path for deployable software.

Problem is a change in the api coming from mini-css-extract-plugin which is versioned at ^2.4.5 in the react-scripts package. It resolves to 2.5.0 at react-scripts install time which isn't good. You can patch around this with this in your package.json temporarily.
{ "resolutions": { "mini-css-extract-plugin": "2.4.5" } }
I suspect mini-css-extract-plugin should have major-version-bumped if they're going to change their api that much.

that didn't fix the error for me

... you do need to do a 'yarn install' or the like to re-resolve and make sure that the current jq .version < node_modules/mini-css-extract-plugin/package.json is 2.4.5 before the error will disappear.

Easy fix if you are a new developer, or just not very good with node_modules or if you're like me and just don't get the lango the others are speaking:
Delete "mini-css-extract-plugin" from your node_modules folder.
Run the command: npm install<EMAIL_ADDRESS>Try building again and it should work.

Problem is a change in the api coming from mini-css-extract-plugin which is versioned at ^2.4.5 in the react-scripts package. It resolves to 2.5.0 at react-scripts install time which isn't good. You can patch around this with this in your package.json temporarily.
{ "resolutions": { "mini-css-extract-plugin": "2.4.5" } }
I suspect mini-css-extract-plugin should have major-version-bumped if they're going to change their api that much.

This seems to be the best fix right now. Thanks, guys!

Problem is a change in the api coming from mini-css-extract-plugin which is versioned at ^2.4.5 in the react-scripts package. It resolves to 2.5.0 at react-scripts install time which isn't good. You can patch around this with this in your package.json temporarily.
{ "resolutions": { "mini-css-extract-plugin": "2.4.5" } }
I suspect mini-css-extract-plugin should have major-version-bumped if they're going to change their api that much.

Thank's it is working for me (I tried with 2.4.7 too).
Good workaround, waiting for a fix.
It may be good thing to temporary lock the release of mini-css between 2.4.5 and 2.5 in the react-scripts package.json.


[benchmark] Legacy Factor

This PR adds optional legacyFactor to the BenchmarkInfo, which allows for linear modification of constants that unnecessarily inflate the base workload of benchmarks, while maintaining the continuity of log-term benchmark tracking.
For example, if a benchmark uses for _ in N*10_000 in its run function, we could lower this to for _ in N*1_000 and adding a legacyFactor: 10 to its BenchmarkInfo.
Note that this doesn’t affect the real measurements gathered from the --verbose output. The BenchmarkDoctor has been slightly adjusted to work with these real samples, therefore Benchmark_Driver check will not flag these benchmarks for slow run time reported in the summary, if their real runtimes fall into the recommended range.
This PR also modifies benchmarks with long runtimes to use the legacyFactor and lowers their base workloads, so that they run in around the 1ms mark.

@eeckstein Please run benchmark here.

SuffixCountableRangeLazy
11
12
+9.1%
0.92x

Array2D
6611
7207
+9.0%
0.92x

ReversedDictionary2
315
342
+8.6%
0.92x

Improvement

RangeIterationSigned
200
171
-14.5%
1.17x

RandomDoubleLCG
967
884
-8.6%
1.09x

SuffixCountableRange
12
11
-8.3%
1.09x

Code size: -Osize

TEST
OLD
NEW
DELTA
RATIO

Regression

main.o
45873
50385
+9.8%
0.91x

StringWalk.o
36440
37400
+2.6%
0.97x

DoubleWidthDivision.o
609
625
+2.6%
0.97x

COWArrayGuaranteedParameterOverhead.o
1355
1387
+2.4%
0.98x

ExistentialPerformance.o
60861
62285
+2.3%
0.98x

ArrayLiteral.o
2872
2936
+2.2%
0.98x

FloatingPointPrinting.o
5072
5184
+2.2%
0.98x

InsertCharacter.o
4719
4815
+2.0%
0.98x

ProtocolDispatch.o
846
862
+1.9%
0.98x

StringBuilder.o
7030
7158
+1.8%
0.98x

CharacterLiteralsLarge.o
932
948
+1.7%
0.98x

DataBenchmarks.o
21429
21781
+1.6%
0.98x

TestsUtils.o
18345
18627
+1.5%
0.98x

OpaqueConsumingUsers.o
2089
2121
+1.5%
0.98x

NSStringConversion.o
1050
1066
+1.5%
0.98x

ObjectiveCBridgingStubs.o
8797
8925
+1.5%
0.99x

ObjectiveCNoBridgingStubs.o
7807
7919
+1.4%
0.99x

RandomValues.o
3433
3481
+1.4%
0.99x

Exclusivity.o
3468
3516
+1.4%
0.99x

RecursiveOwnedParameter.o
1281
1297
+1.2%
0.99x

ArrayOfGenericPOD.o
2778
2810
+1.2%
0.99x

CharacterLiteralsSmall.o
1412
1428
+1.1%
0.99x

Substring.o
16962
17154
+1.1%
0.99x

DictionaryLiteral.o
1493
1509
+1.1%
0.99x

AnyHashableWithAClass.o
3149
3181
+1.0%
0.99x

Improvement

ArraySetElement.o
1183
1167
-1.4%
1.01x

How to read the data
The tables contain differences in performance which are larger than 8% and differences in code size which are larger than 1%.
If you see any unexpected regressions, you should consider fixing the regressions before you merge the PR.
Noise: Sometimes the performance results (not code size!) contain false alarms. Unexpected regressions which are marked with '(?)' are probably noise. If you see regressions which you cannot explain you can try to run the benchmarks again. If regressions still show up, please consult with the performance team (@eeckstein).

Hardware Overview
  Model Name: Mac Pro
  Model Identifier: MacPro6,1
  Processor Name: 12-Core Intel Xeon E5
  Processor Speed: 2.7 GHz
  Number of Processors: 1
  Total Number of Cores: 12
  L2 Cache (per Core): 256 KB
  L3 Cache: 30 MB
  Memory: 64 GB

@eeckstein It looks like the demonstration of legacyFactor has been successful: the modified benchmarks reported no changes.
I'm a bit worried by the amount of other noise reported here. Any thoughts what's causing it? Why are there so many code size changes? Somethings smells 🐟🐠🐡 here...

@eeckstein Let's land this as is and next I'll go through the whole Swift Benchmark Suite and apply the legacyFactor where appropriate. This will give us much more robust and more precise measurements when using Benchmark_Driver. As a side effect, it will also make running smoke bench faster.

The code size changes are clear: you added a field to BenchmarkInfo. That adds to the initialization code in basically every benchmark source file.
I'm also not surprised by the reported performance differences. That can be code alignment issues again.

@swift-ci smoke test

We already page-align all the benchmark modules. But that does not help if there are code changes inside the benchmark files.


Allow custom error type in server_fn return type for enhanced ergonomics and security

Is your feature request related to a problem? Please describe.

Any ? operator in the server function might inadvertently expose sensitive error messages from the server side because the From is implemented for ServerFnError which uses error.to_string().
Functions that return anyhow::Error are cumbersome to use because they need explicit conversion (e.g., using the server_fn_error! macro).
It's difficult to share structured error types between server and client because ServerFnError has its own serialization strategy utilizing FromStr and Display.
Since ServerFnError is an external type from applications and has tailored trait implementations, users cannot implement arbitrary traits such as From<MyError>.

Describe the solution you'd like
To address these issues, I propose the following:

Make ServerFnError only intended for using it in server_fn return type just for the ease of error conversion with ?.
Use ServerFnErrorErr instead of ServerFnError everywhere internally.
Allow users to specify any error type for the server fn result where E: Serialize + DeserializeOwned + From<ServerFnErrorErr> + Debug + Display.
Depricate ServerFnError(Err)::WrappedServerError variant, ViaError, server_fn_error!, and NoCustomError.

This maintains backward compatibility in the typical server_fn use case that uses ServerFnError.
Describe alternatives you've considered
An alternative solution could simplify the implementation further but would sacrifice backward compatibility. In this scenario, users can still use ServerFnError as the return type of server_fns, but error conversion with ? from any E: Error types is no longer available.

Remove the WrappedServerError variant, ServerFnErrorErr, and error conversion toolings, including ViaError.
Implement Error for ServerFnError. This removes the support of From<E: Error> for ServerFnError, but it's still allowed to use it as the error type because it fulfills the below bounds.
Allow users to specify any error type for the server fn result where E: Serialize + DeserializeOwned + From<ServerFnError> + Debug + Display.

Additional context

@ealmloff, @benwis, and @gbj on Leptos Discord: https://discord.com/channels/1031524867910148188/1031525141382959175/1289280751791247367
This feature request builds on a related proposal I made for the Dioxus project: https://github.com/DioxusLabs/dioxus/issues/3243
me and @ealmloff on Dioxus Discord: https://discord.com/channels/899851952891002890/1108097327475982386/1308637911813722152

This is definitely a tricky thing to play with.
The idea that ? makes it easy to return Errors is essentially the point, and the idea of storing sensitive data in Error messages seems silly to me.
By removing that impl we'll be breaking tons of people's apps that just use it, and forcing them to write From or map_err() in a bunch of places. Once someone does, it'll be just as easy anyway.
I'm not sure I understand how we can still use ServerFnError for the server function result and let them define an error
We can't just have a generic error return type because there are a bunch of errors returned from Leptos itself that would be incompatible
I've been considering trying to simplify the situation but I haven't found a good answer yet

Thank you for your feedback!
The purpose of this is to provide users with an additional option to use custom errors in the return type without breaking the existing code (in best effort), so it actually reduces the cases that users need to write manual error conversion with map_err() or server_fn_error!. For users who don't need custom errors, ServerFnError remains available without breakage of existing implicit error conversion with ?.

the idea of storing sensitive data in Error messages seems silly to me.

By "sensitive", I mean detailed internal information that users, including potentially malicious ones, should not have access to. I don't know the correct term for this.

I'm not sure I understand how we can still use ServerFnError for the server function result and let them define an error

The key idea is the ServerFnError itself satisfies the trait bounds required for the user-defined custom type.

We can't just have a generic error return type because there are a bunch of errors returned from Leptos itself that would be incompatible

From my understanding, requiring From<ServerFnErrorErr> for the user-defined errors is sufficient to convert Leptos's error both on the server-side and client-side as a server_fn result. Additionally, I plan to leverage the existing ServerFn::Error associated type in the ServerFn trait.

I think I'll have to discuss this with Greg, but that'd be easier with a PR to play with, so if you feel like trying it feel free

Thanks! I've started to work on it.

I'm a little confused -- Don't we already support custom error types in the ServerFnError type? (With the generic that defaults to NoCustomError?)

Yes, but there are several limitations:

Users cannot implement From<anyhow::Error> or any similar things for ServerFnError.
Users cannot limit automatic type conversion for only specific types since ServerFnError has blanket implementation for all E: Error.
Even if MyCustomError: From<ErrorA>, the user cannot use ? operator for Result<T, ErrorA>.


Documentation missing steps

Documentation assumes gem/pod plugin repo-art is installed. Must tell user:

Do sudo gem install cocoapods-art if necessary

Documentation missing registration step with repo such as:
2. Do pod repo-art add artifactory-local (THE URL HERE)
Currently fails on my system just on the command "repo-art", but that is fixed by step 1.
However, without step 2 (and the required URL), it still will fail with:
jamesh-mbp2:search-ios-demo-app jamesh$ pod repo-art update telenav-cocoapods
[!] Unable to find the Artifactory-backed repo called telenav-cocoapods.

Nevermind, I was informed to use navigation_sdk_integration branch


fix: Set focus on button in the message attachment modal

Contributing to Twilio

All third-party contributors acknowledge that any contributions they provide will be made under the same open-source license that the open-source project is provided under.

[x] I acknowledge that all my contributions will be made under the project's license.

The tooltip shows up because the Avatar component of the message attachment modal is focused. The download button seems to me a better candidate to be focused on load.


Throw Errors instead of using goog.asserts

Not urgent to review or merge this week.
Resolves
None
Proposed Changes
Mostly just pulling in these changes: https://github.com/google/blockly/commit/3909bd420a22fec4cc830b0d7a31e75c5d0ff244
Reason for Changes
Blockly is moving away from using closure library code where possible.  We're starting with the easy cases/places where modern browsers standardized so there's no need to hide special casing behind function calls.  The eventual goal is to remove the UI widgets and all other dependencies as well.
This change keeps scratch blocks in line with some of the recent blockly work.  There will be other related changes.
Test Coverage
I built and played with the vertical playground.

@NeilFraser can you comment on some of the RHS/LHS questions?  This PR is all code that you changed in Blockly.

@NeilFraser Thanks for answering all the questions!
@rachel-fenichel This change looks good to go, but I think we are holding off on making big changes while the new 3.0 banner is up on the scratch website.
cc/ @thisandagain

Friendly ping--can we merge this yet?

@rachel-fenichel, I just talked to Ray, and he said it should be okay to merge.


Add option to run agent container as privileged

Looks good, but im not sure if setting capabilities and setting privileged conflicts?

Why would it conflict?

Looks good, but im not sure if setting capabilities and setting privileged conflicts?

Why would it conflict?

Ah I guess I thought both options would be mutually exclusive in some way, either you can pick and choose or just get all. I see thats not the case


Fixing runs not being incremented.

I think this was the problem - runs was never updated.

Not working.  Looks like it is a timezone issue - ugh!  Use of moment probably causing problems.

Oh yes, the time zone stuff looks quite tricky. I’m in pacific time if that helps


[example] feature 20170118 pseudo classes

增加伪类demo

 Thank you for your submission, we really appreciate it. Like many open source projects, we ask that you all sign our Contributor License Agreement before we can accept your contribution.1 out of 2 committers have signed the CLA.:white_check_mark: kfeagle:x: sunjjbobo<EMAIL_ADDRESS>seems not to be a GitHub user. You need a GitHub account to be able to sign the CLA. If you have already a GitHub account, please add the email address used for this commit to your account.


Sid 127 contract locking

Signed-off-by: Peter  Robinson<EMAIL_ADDRESS>PR description
Added contract locking and unlocking (commit or ignore).
Fixed Issue(s)

Sorry everyone - opened this one on repo by mistake.


Doubly freed memory in the pipe_api test

While working on the new heap memory allocator, I stumbled across a test
failure that appears to be triggered by the new allocator that currently
checks for double-free occurrences.
In tests/kernel/pipe/pipe_api/src/test_pipe_contexts.c there is that
code:
static void tpipe_block_put(struct k_pipe *ppipe, struct k_sem *sema,
                            int timeout)
{
        struct k_mem_block block;

        for (int i = 0; i < PIPE_LEN; i += BYTES_TO_WRITE) {
                /**TESTPOINT: pipe block put*/
                zassert_equal(k_mem_pool_alloc(&mpool, &block, BYTES_TO_WRITE,
                                               timeout), 0, NULL);
                memcpy(block.data, &data[i], BYTES_TO_WRITE);
                k_pipe_block_put(ppipe, &block, BYTES_TO_WRITE, sema);
                if (sema) {
                        k_sem_take(sema, K_FOREVER);
                }
                k_mem_pool_free(&block);
        }
}

This code is invoked from test_pipe_block_put() with sema == NULL.
The call chain from k_pipe_block_put() is z_pipe_put_internal(),
pipe_async_finish(), k_mem_pool_free(). When execution returns, we call
k_mem_pool_free() on the same momery again in the loop above.

Was fixed in #19702 => closing


select allows for moving pinned futures

Sorry to be the bearer of bad news. Pinning is a tricky subject and can be quite subtle.
Describe the bug
The current implementation of select allows for moving a future which is assumed to be pinned. Among other potential issues, this enables reading freed memory in safe code.
To Reproduce
The following should showcase the issue:
Edit: More compact example, and a bit more comments.
use std::future::Future;
use std::pin::Pin;
use std::task::{Context, Poll};
use std::mem;
use futures::future;

use pasts::prelude::*;

async fn doit(leak: u128) {
    if leak == 42 {
        // Take a reference to leak which is a local variable to this function. And have it live across an await.
        let leak = &leak;
        println!("{} {:?}", leak, leak as *const _);

        let mut pending = true;

        // future that only returns pending the first time it's polled.
        future::poll_fn(move |_| if mem::take(&mut pending) {
            Poll::Pending
        } else {
            Poll::Ready(())
        }).await;

        println!("{} {:?}", leak, leak as *const _);
    } else {
        // do nothing to drive the select
    }
}

#[tokio::main]
async fn main() {
    let mut v = [doit(42), doit(0)];
    println!("old location of future: {:?}", v.as_ptr());

    v.select().await;

    // move the future.
    let a = std::mem::replace(&mut v[0], doit(0));
    println!("new location of future: {:?}", &a as *const _);
    a.await;
}

Running it in debug mode for me gives:
old location of future: 0x7ffe11d595b0
42 0x7ffe11d595c0
new location of future: 0x7ffe11d59618
2595995492391351414651693012353024 0x7ffe11d595c0

In effect: The second read of the reference to &foo uses an outdated memory location, since the future has been moved the second time it's polled.
Expected behavior
The select implementation should require the futures to be Unpin, or maintain Pin invariants in some other way to prevent this from compiling.

Well, thanks for finding this bug anyway!  I'll have to fix this.

Select now requires the futures to be Unpin.  This doesn't change the API or break any of my code using pasts, but it does break the above example.  I'll release pasts 0.2.0 later today.  Thanks, again.

Much obliged. Thanks for the fast response!

So I looked at the fix. It looks mostly good, what I'd be concerned of would be if SelectFuture can somehow be constructed manually. I don't think that's the case (since the module is private), but there has been cases in the past where you can access hidden types through traits. All though not as a return value position to my knowledge.
A "safer" fix in my view would be to constrain the Future implementation for SelectFuture with Unpin, which wouldn't change how it's used (since it's already constrained in the trait), and would even allow for getting rid of the unsafe code in it.
Another note is that I believe the join implementation has the same issue as here. All though I haven't produced code that showcases it yet. You can at least do:
let mut v = (fut,);
v.join().await;
// future can now be freely moved out of `v`.
let (fut,) = v;

So you'd probably want to add the same Unpin constraint there as well.

Oh wow, thanks!  For some reason I thought join was implemented differently, but it looks like it's the same.  I'll have to try that with Select, getting rid of the unsafe code in it would be nice!  Re openning as it's the same problem that needs to get fixed, even though a different type.

I made some changes that'll hopefully fix those problems.  I'll wait for you to let me know if it all "looks good" before I close the issue again and release a new version with the changes.  Thanks a ton!

Yeah, from a cursory glance it looks correct to me. Thanks!


Drop "full" suffix in CI

What does this PR do?
Since we deleted the Conda job, the "full" name is confusing. Especially because it doesn't run all tests.
This PR removes it.
Requires admin merge
Does your PR introduce any breaking changes? If yes, please list them.
None
cc @carmocca @akihironitta @borda

Requires admin merge

I don't think it will need admin merge, required-jobs is failing due to windows.2022, but it says nothing about these changes.


Add support for user information in templates

Hi,
Here is a minor change that allows users to information about the current user in queries.
Hope it is well received.
Regards,

Stefán

Added the ability to select natural breakdown of information based on the length of the period being visualized

Hi @acmeguy !
Sorry for the very late response.
Could you plz provide a few examples where user information and $naturalTimeSeries will be useful?

Dear @acmeguy, could you resolve conflicts, remove .dist from .gitignore, and provide jest unit tests that covered your and try to test your changes with grafana7 docker-compose environment?
Also we need improve README.md where explain when and why we need use $naturalTimeSeries
Unfortunately, we can't merge significant changes in query macros without coverage by a unit test

@acmeguy sorry for send you message again ;) maybe you can add permission for @Slach account in your repository and I could resolve conflicts for your branch?

I will gladly attend to this soon  I had not noticed earlier requests

Hello @acmeguy any news about this pull request?

@acmeguy any news about this PR?

@acmeguy according to
https://github.com/grafana/grafana/issues/4922
latest version of grafana succefully support embedded templating variables
${__user.email}
${__user.name}
${__user.login}
${__org.name}


Eliminated variable setting side effect in 'GetTransfersAsync'

This is a cute little bug that took me a while to understand: With e.g. pending as true the variables in and out get set to true as an unwanted side effect with the current checking statements.

Hahaha. Good catch!


Big lag spike / fps drop when crossing chunks in non otg world.

OTG Plugin or Mod

[ x ] OTG Mod for Forge

OTG Version

[ latest 1.16.5 ] Other - specify here

Forge or Spigot Versions
forge 36.2.8
What other plugins are you running?
Dregora plugin
around 110 other mods. Can provide a list if needed
Description
Two things to note:

Not sure if it's dregora fault or otg fault so I will report the issue on both.
The issue occurs in normal non otg worlds, any seed. Looks like in otg worlds it's fine.
I'm testing custom self made modpack and found an issue.
The thing is that when I cross chunks there is pretty big fps drop \ lag spike. Only in non otg worlds.
Removing the mod fixed the issue.

Hey @SzczurekYT, will need some more info, how exactly are you testing this? When you say it occurs in normal non-otg worlds, do you mean a world not created using the OTG world type / world creation menu? In that case, OTG shouldn't be doing anything ofcourse.

Exactly, I had set world type to default and passing chunks was laggy. I wasn't sure what mod causes this and one time I tried remioving otg and dregora and it worked. I can provide mods list or something else if need.

I've done some testing with Vanilla Vistas vs a default world and also without OTG installed, with a number of other mods installed. I don't see any difference in performance. In all cases, when exploring tps decreases until MC has caught up again generating chunks. I suspect this may be some interaction between specific mods, could you try to verify with just OTG and/or specific mod combinations? Thanks!

Yes, that's very probable that it's specific mod combination, when I will be at my pc I will do some more testing and try to find informations that might be useful for you.
Thanks

If you can find steps to reproduce this, or find the specific mod combination causing the issue, feel free to reopen this issue.
*Lycanites+Repurposed structures has been reported to cause lag, presets need to be updated to exclude modded nether/end biomes to fix this. This should no longer be a problem once Lycanites updates.


Add proposed centre ids

Most of these are preliminary and there was a request for feedback by February from the centres.
I also added two columns, one for "prefix" and the other for "status".
This is a more helpful diff: fec3c09.

@chenxiaoxia2019 @hhaddouch
This is the PR based on your proposed list of centre-ids. The TT-WISMD might talk about it on Wednesday.

Closing.  If we have an updated list of centre-id's we can re-issue a new PR.


[incubator/hue] Initial version of the chart

Signed-off-by: Romain<EMAIL_ADDRESS>
What this PR does / why we need it: Initial version of the Hue service (http://gethue.com)
Which issue this PR fixes
(optional, in fixes #<issue number>(, fixes #<issue_number>, ...) format, will close that issue when PR gets merged)

fixes #

Special notes for your reviewer:
Checklist
[Place an '[x]' (no spaces) in all applicable fields. Please remove unrelated fields.]

[ ] DCO signed
[ ] Chart Version bumped
[ ] Variables are documented in the README.md
[ ] Title of the PR starts with chart name (e.g. [stable/chart])

Ping?

@jlegrone @jlegrone, is there anything else I should do to help for the review?

Ping

/assign @davidkarlsen

hey @romainr
Have you considered hosting this chart and adding it to helm hub?
https://github.com/helm/hub/blob/master/Repositories.md

Is it the new recommended way? It might sounds less official but more lightweight.
Created https://github.com/helm/hub/pull/124

https://helm.sh/blog/intro-helm-hub/
it is ;)

I think this can be closed as we have https://hub.helm.sh/charts/hue/hue now


[Docs] Update docs with mesheryctl app command

Current State
Docs doesn't have meshery cli command mesheryctl app
Desired State
Update Docs with  app command
Implementation Guide
Describe / add command, flag & function in Docs  for
app onboard
app offboard
app view
app list
All the information can be found in Tracker

Contributor Guides and Resources

🛠 Meshery Build & Release Strategy
📚 Instructions for contributing to documentation

Meshery documentation site and source

🎨 Wireframes and designs for Meshery UI in Figma
🙋🏾🙋🏼 Questions: Layer5 Discussion Forum and Layer5 Community Slack

Duplicate of #3829


Make redshift.connect a context manager

With the current code base, users have to manually close a connection, often within a try...finally block. If redshift.connect were converted to a context manager we would much more easily be able to do something like:
with wr.redshift.connect(...) as conn:
   ...

And have the manager automatically clean up for us.
Both sqlalchemy and pyodbc have this, so should be familiar to many downstream users

Great idea, I am transferring the issue to the redshift connector team.


[Feature Request] Delete all old versions of selected files

Every time we upload a new version of a file, the old one is hidden but remains available (on a.web browser, right-click -> manage versions).
If we are not interested in keeping all those old versions, they may end up consuming a large chunk of drive space.
I assume that "drive stat" shows only the current version of the listed files, so right now we have no way of listing the IDs of all old versions.
I suggest to add an option to "trash" and "delete" commands such as "--old-versions" and also make both commands recursive with an "--r" option.

Sounds reasonable to me, but might be a little specialized. For starters we can begin with this request, a command to manage deleting versions that match a parameter.
Thanks for the suggestion @jean-christophe-manciot.


I want to make mdl template packs for django-crispy-forms.

Material Design Lite lets you add a Material Design look and feel to your websites. I want to add mdl templates for django-crispy-forms.
How can I do that and is it possible that crispy forms will also have options for mdl along with bootstrap, bootstrap3, foundation and uni-form.

Hiya,
I'm happy to link to any template packs from the docs, but I don't want to accept any more template packs as part of the core package.
Create your pack. Put it online (GitHub?) and open a PR linking to it from the docs. That's it. :-)
I'm going to close this as an issue.


Missing top module in verilog output

Input .json
connect_box_width_width_16_num_tracks_10_has_constant1_default_value7_feedthrough_outputs_1111101111.json.txt
Command
❯ coreir -i connect_box_width_width_16_num_tracks_10_has_constant1_default_value7_feedthrough_outputs_1111101111.json -o connect_box_width_width_16_num_tracks_10_has_constant1_default_value7_feedthrough_outputs_1111101111.v
VJSON for reg: {"definition":"reg [width-1:0] outReg;\nwire real_rst;\nassign real_rst = arst_posedge ? arst : ~arst;\nwire real_clk;\nassign real_clk = clk_posedge ? clk : ~clk;\nalways @(posedge real_clk, posedge real_rst) begin\n  if (real_rst) outReg <= init;\n  else outReg <= in;\nend\nassign out = outReg;","interface":["input clk","input arst","input [width-1:0] in","output [width-1:0] out"],"parameters":["init","arst_posedge","clk_posedge"],"prefix":"coreir_"}
metadata for reg: {"verilog":{"definition":"reg [width-1:0] outReg;\nwire real_rst;\nassign real_rst = arst_posedge ? arst : ~arst;\nwire real_clk;\nassign real_clk = clk_posedge ? clk : ~clk;\nalways @(posedge real_clk, posedge real_rst) begin\n  if (real_rst) outReg <= init;\n  else outReg <= in;\nend\nassign out = outReg;","interface":["input clk","input arst","input [width-1:0] in","output [width-1:0] out"],"parameters":["init","arst_posedge","clk_posedge"],"prefix":"coreir_"}}
Running Runningvpasses
In Run Generators
Done running generators
Creating verilog for corebit.mux
Creating verilog for corebit.const
Creating verilog for coreir.and
Creating verilog for global.and1_wrapped
Creating verilog for coreir.eq
Creating verilog for coreir.mux
Creating verilog for coreir.reg
Creating verilog for global.EQ8
Creating verilog for global._Mux2
Creating verilog for global.Mux2x32
Creating verilog for global._Mux4
Creating verilog for mantle.reg
Creating verilog for global.DFF_init1_has_ceTrue_has_resetTrue
Creating verilog for global.DFF_init0_has_ceTrue_has_resetTrue
Creating verilog for global.Register32CER_90007
Creating verilog for global._Mux8
Creating verilog for global._Mux16
Creating verilog for global.Mux16x16
Running vpasses
Modified?: Yes

Verilog output, notice that connect_box_width_width_16_num_tracks_10_has_constant1_default_value7_feedthrough_outputs_1111101111 is missing
connect_box_width_width_16_num_tracks_10_has_constant1_default_value7_feedthrough_outputs_1111101111.v.txt

Sorry, those files were too large to easily read the issue, i've attached them instead (needed to rename them to .txt so github would let me upload them into the issue).

Possibly related to https://github.com/rdaly525/coreir/issues/568?

Looks like this bug was introduced in the most recent dev->master merge.
Reverting to the previous release (git checkout git checkout f9c60fa44a3ac6f5bee85f628988716786a0fa9c) fixes the issue.

Sorry typo in the last comment, the working commit is dd081a2d6d1f8268cd4034fda88b28bd8ab33863

Should be fixed by #582

Fixed by #582

@adai you can now update your coreir installation to the latest master branch


fpga_tool: enable nakedret check

closes #388

Codecov Report

Merging #397 into master will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##           master     #397   +/-   ##
=======================================
  Coverage   58.94%   58.94%
=======================================
  Files          26       26
  Lines        2426     2426
=======================================
  Hits         1430     1430
  Misses        938      938
  Partials       58       58

Continue to review full report at Codecov.

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

@kad PTAL

@kad Could you please elaborate?
Here is an example playground for illustration https://play.golang.org/p/nfU28ZZv1Sk

@kad Could you please elaborate?
This refactoring uncovered issue with shadowing of err. However, errors returned from GetAPIVersion() or PortGetInfo() should not be lost and should be reported.

Ok. So in other words there are bugs in the original code. Will fix.

@kad please check the new version reflects the initial intention.

@kad merging requires your approval


add-school

hi can you add my school please? if you need help contact<EMAIL_ADDRESS>and if you add the school contact the same email if possible. thanks in advance

@alby13h2o Thank you for your patience while waiting for a review and processing your request. Pull request merged.
Please start requesting the licenses in about an hour, to let the changes to propagate through our system.

thank you very much!!!!
On Thu, 3 Oct 2024 at 11:33, Philip Torchinsky @.***>
wrote:

@alby13h2o https://github.com/alby13h2o Thank you for your patience
while waiting for a review and processing your request. Pull request merged.
Please start requesting the licenses in about an hour, to let the changes
to propagate through our system.
—
Reply to this email directly, view it on GitHub
https://github.com/JetBrains/swot/pull/24004#issuecomment-2390953086,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AYRGMK6AN5EKHXMSHCKHAL3ZZUFNZAVCNFSM6AAAAABPAXNRLCVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDGOJQHE2TGMBYGY
.
You are receiving this because you were mentioned.Message ID:
@.***>


[TIR] Convert if_then_else intrinsics to if-statements

I added a new pass to convert tvm_if_then_else intrinsics to IfThenElse statments. For example:
a[i] = tvm.te.if_then_else(x < y, x, y)

is now
if (x < y) {
    a[i] = x;
} else {
    a[i] = y;
}

Rationale:

tvm_if_then_else intrinsics can now enjoy the optimizations of the LoopPartition pass after tagged as likely. (My condition-heavy sparse application gains up to 2.85x speedup)
Code lines containing tvm_if_then_else is often too long to read. This improves readability.

Changes:

Add an IfThenElseIntrinToStmt pass, which runs just before LoopPartition. (Question 1: Should I run this pass with simple_mode on? Currently no. I don't know if the users like the IR to be more similar to what they write, or the lines to be not too long)
Added a test for the pass.
Enable access to the likely node in the Python API.
Fixed the breaking ThreadSync pass since it did not allow synchronizing threads in a conditional branch, which may be legal when there are synchronizations in both the then-case and the else-case, like the code piece below. Currently I simply deleted the branch check. (Question 2: Any better way?)

if (...) {
    __syncthread();
    a[i] = x;
} else {
    __syncthread();
    a[i] = y;
}

Fixed the breaking LowerWarpMemory pass by adding an extra branching, which handles the situation where there are only allocates of but no stores into a warp memory.

Algorithm for IfThenElseIntrinToStmt:

Find a statement.
Find the out-most tvm_if_then_else intrinsic in it.
Put the statement into a new IfThenElse statement, and remove the out-most tvm_if_then_else intrinsic.
Recurse until no more tvm_if_then_else.

Requesting reviews and thanks in advance. @tqchen @ZihengJiang @ajtulloch.

Well, CI for Relay is broken. Closing this PR for now until I fix it.

Fixed. The problem was that some ops consist of too may tvm_if_then_elses, such as stride_set. I added a threshold to control the max number of tvm_if_then_elses in one statement. If the threshold is exceeded, the conversion will not be performed.
Re-requesting reviews. @tqchen @ZihengJiang @ajtulloch.

There are two ways to convert cascading tvm_if_then_elses. For example,
a = tvm_if_then_else(..., w, x) + tvm_if_then_else(..., y, z)

can be converted to be
(1)
if (...) {
    if (...) {
        a = w + y;
    } else {
        a = w + z;
    }
} else {
    if (...) {
        a = x + y;
    } else {
        a = x + z;
    }
}

or
(2)
int tmp1
if (...) {
    tmp1 = w;
} else {
    tmp1 = x;
}
int tmp2
if (...) {
    tmp2 = y;
} else {
    tmp2 = z;
}
a = tmp1 + tmp2;

The current implementation is (1). Maybe I can change to (2).

Fixed the breaking fifo_buffer test by avoiding passing the same buffer as different arguments to a CUDA kernel.

Thanks @roastduck  if the goal is mainly to utilize LoopParition, perhaps a better way would be to insert likely into the condition and enable LoopPartition to deal with if_then_else. Given that it is a quit fundamental  construct that can leads to concise generated code(e.g. ? in CUDA).

Given that it is a quit fundamental construct that can leads to concise generated code(e.g. ? in CUDA), I think we should keep it throughout the lowering process by default. We can still merge the pass if it is an optional utility

I agree. I will make it default.

If the goal is mainly to utilize LoopParition, perhaps a better way would be to insert likely into the condition and enable LoopPartition to deal with if_then_else.

I think we are unable to insert likely automatically, because we don't know whether the condition is likely or unlikely, so likely must be written by users.
Besides, what do you think about the cascading if_then_else issue above?

Made the pass default when lowering.

I decided not to transform statements that load from or store into shared buffers, so we don't have to worry about the thread sync.

I found that even I disable this transformation when there are loading from or storing into shared buffers, the thread synchronization problem can still occur. I will close this PR until I find a better solution.


pythonPackages.atomman: init at 1.2.3

Motivation for this change
Material science python packages for molecular dynamics.
Things done
pythonPackages.numericalunits: init at 1.16
pythonPackages.DataModelDict: init at 0.9.4
pythonPackages.atomman: init at 1.2.3

[X] Tested using sandboxing (nix.useSandbox on NixOS, or option sandbox in nix.conf on non-NixOS)
Built on platform(s)

[X] NixOS
[ ] macOS
[ ] other Linux distributions

[ ] Tested via one or more NixOS test(s) if existing and applicable for the change (look inside nixos/tests)
[ ] Tested compilation of all pkgs that depend on this change using nix-shell -p nox --run "nox-review wip"
[ ] Tested execution of all binary files (usually in ./result/bin/)
[ ] Determined the impact on package closure size (by running nix path-info -S before and after)
[X] Fits CONTRIBUTING.md.

Package name normalize and ready for merge.

Package name normalize and ready for merge.

@dotlambda fixed merge conflict. I will create a new PR later to include tests if atomman adds them.

@GrahamcOfBorg build python2.pkgs.atomman python3.pkgs.atomman

Success on x86_64-darwin (full log)
Attempted: python2.pkgs.atomman, python3.pkgs.atomman
Partial log (click to expand)
Requirement already satisfied: setuptools in /nix/store/lzlwmzcg98hrvr1ri721sbm2jisir07l-python3.6-bootstrapped-pip-18.1/lib/python3.6/site-packages (from kiwisolver>=1.0.1->matplotlib->atomman==1.2.3) (40.4.3)
Installing collected packages: atomman
Successfully installed atomman-1.2.3
/private/tmp/nix-build-python3.6-atomman-1.2.3.drv-0/atomman-1.2.3
post-installation fixup
strip is /nix/store/g5r4apl0za012ffs6ladinwa5w0m1l3k-cctools-binutils-darwin/bin/strip
stripping (with command strip and flags -S) in /nix/store/jj7cy2vmr7vs24gn0pp5f348bzvl5l8a-python3.6-atomman-1.2.3/lib
patching script interpreter paths in /nix/store/jj7cy2vmr7vs24gn0pp5f348bzvl5l8a-python3.6-atomman-1.2.3
/nix/store/8wb5jdl6kyvfpm27jf2l1409md52j50n-python2.7-atomman-1.2.3
/nix/store/jj7cy2vmr7vs24gn0pp5f348bzvl5l8a-python3.6-atomman-1.2.3

Success on x86_64-linux (full log)
Attempted: python2.pkgs.atomman, python3.pkgs.atomman
Partial log (click to expand)
/build/atomman-1.2.3
post-installation fixup
shrinking RPATHs of ELF executables and libraries in /nix/store/sqfhz8pq0rm59mwfhh30xgm6kjrrvmmm-python3.6-atomman-1.2.3
shrinking /nix/store/sqfhz8pq0rm59mwfhh30xgm6kjrrvmmm-python3.6-atomman-1.2.3/lib/python3.6/site-packages/atomman/core/cythonized.cpython-36m-x86_64-linux-gnu.so
strip is /nix/store/vcc4svb8gy29g4pam2zja6llkbcwsyiq-binutils-2.30/bin/strip
stripping (with command strip and flags -S) in /nix/store/sqfhz8pq0rm59mwfhh30xgm6kjrrvmmm-python3.6-atomman-1.2.3/lib
patching script interpreter paths in /nix/store/sqfhz8pq0rm59mwfhh30xgm6kjrrvmmm-python3.6-atomman-1.2.3
checking for references to /build in /nix/store/sqfhz8pq0rm59mwfhh30xgm6kjrrvmmm-python3.6-atomman-1.2.3...
/nix/store/p6p4cy0d7vwp4qdqfsmmicv6mi2x1xns-python2.7-atomman-1.2.3
/nix/store/sqfhz8pq0rm59mwfhh30xgm6kjrrvmmm-python3.6-atomman-1.2.3

Failure on aarch64-linux (full log)
Attempted: python2.pkgs.atomman, python3.pkgs.atomman
Partial log (click to expand)
  /nix/store/qfdbglqq4rmjv33y3nhi5qlifgxyg34m-python3.6-pandas-0.23.4/lib/python3.6/site-packages/pandas/core/internals.py:312: FutureWarning: Using a non-tuple sequence for multidimensional indexing is deprecated; use `arr[tuple(seq)]` instead of `arr[seq]`. In the future this will be interpreted as an array index, `arr[np.array(seq)]`, which will result either in an error or a different result.
    return self.values[slicer]
  /nix/store/qfdbglqq4rmjv33y3nhi5qlifgxyg34m-python3.6-pandas-0.23.4/lib/python3.6/site-packages/pandas/core/indexes/datetimelike.py:428: FutureWarning: Using a non-tuple sequence for multidimensional indexing is deprecated; use `arr[tuple(seq)]` instead of `arr[seq]`. In the future this will be interpreted as an array index, `arr[np.array(seq)]`, which will result either in an error or a different result.
    result = getitem(key)

-- Docs: https://docs.pytest.org/en/latest/warnings.html
 5 failed, 16897 passed, 1027 skipped, 11896 deselected, 37 xfailed, 2 xpassed, 10 warnings in 595.77 seconds
builder for '/nix/store/k37vq3id2j6pmwr9dc64gghdk5yidw7x-python3.6-pandas-0.23.4.drv' failed with exit code 1
cannot build derivation '/nix/store/jzsaqg7lbr4jcr60fd78daxwly4mblp9-python3.6-atomman-1.2.3.drv': 1 dependencies couldn't be built
error: build of '/nix/store/jzsaqg7lbr4jcr60fd78daxwly4mblp9-python3.6-atomman-1.2.3.drv', '/nix/store/qpyphn5bvp9mwccv6xzq395wi8xgrh7l-python2.7-atomman-1.2.3.drv' failed


chek

Warnings

:warning:
Please include a description of your PR changes.

  Generated by :no_entry_sign: dangerJS against c55fd6d247da731734e533f645bd5e2fa223f968


Unexpected key(s) in state_dict: "epoch", "state_dict", "optimizer".

Thanks for you useful code，after I trained my dataset（1 class）, I use python demo.py to test, I occur this error,could you help me solve this problem?
I have cloned the lasted repo, and my config.yaml is as follows:
META_ARC: "siamrpn_r50_l234_dwxcorr"
BACKBONE:
TYPE: "resnet50"
KWARGS:
used_layers: [2, 3, 4]
ADJUST:
ADJUST: true
TYPE: "AdjustAllLayer"
KWARGS:
in_channels: [512, 1024, 2048]
out_channels: [256, 256, 256]
RPN:
TYPE: 'MultiRPN'
KWARGS:
anchor_num: 5
in_channels: [256, 256, 256]
weighted: true
MASK:
MASK: false
ANCHOR:
STRIDE: 8
RATIOS: [0.33, 0.5, 1, 2, 3]
SCALES: [8]
ANCHOR_NUM: 5
TRACK:
TYPE: 'SiamRPNTracker'
PENALTY_K: 0.05
WINDOW_INFLUENCE: 0.42
LR: 0.38
EXEMPLAR_SIZE: 127
INSTANCE_SIZE: 255
BASE_SIZE: 8
CONTEXT_AMOUNT: 0.5

I have met the same problem, the training result is 20 checkpoint_e{}.pth set, which weight do you use in the demo, i don't know why the model.pth can work in demo and how did it created.

Your weights was not properly loaded.

@yc-zc I also got same issues
After running

python tools/demo.py --config experiments/siamrpn_r50_l234_dwxcorr_8gpu/config.yaml --snapshot experiments/siamrpn_r50_l234_dwxcorr_8gpu/checkpoint_e9.pth

Unexpected key(s) in state_dict: "epoch", "state_dict", "optimizer".

Since no further question is asked, I'm closing it for now.
Please reopen it or create a new issue if you have further question.


Device add bdt_version field

For the sake of bdt protocol version compatibility, an additional field needs to be added to indicate the bdt protocol version of the protocol stack used by the current device.
Device body content needs to add a field as follows:
bdt_version: Option<u8>
Compatibility between old and new binary data layers needs to be considered

finish at commit 710c2a59


API get pages

I wanted to migrate to this node module from https://github.com/Datahero/node-hubspot
In the other module I am able to do something like:
api.get_pages({is_draft: false}.. )
Is there an equivalent method in this module?

it looks like the content object is not there.  I will fork and create a pull request today.  Thanks for this awesome module!

Awesome!


Error resolving plugins using Gradle 4.3

Upgraded a plugin project from Gradle 4.2.1 to Gradle 4.3. The build failed attempting to resolve the external plugin CheckStyle-IDEA:5.12.0. This builds fine using Gradle 4.2.1. My plugin dependencies are:
android
CheckStyle-IDEA:5.12.0
copyright
CSS
gradle
Groovy
JavaScriptLanguage
junit
properties
uml

The error output is rather confusing but it ultimately boils down to the external plugin CheckStyle-IDEA:
* What went wrong:
Could not resolve all files for configuration ':compileClasspath'.
> Could not resolve org.jetbrains.plugins:android:2017.2.5.
  Required by:
      project :
   > Could not resolve org.jetbrains.plugins:android:2017.2.5.
      > inconsistent module metadata found. Descriptor: com.jetbrains:ideaIU:2017.2.5 Errors: bad group: expected='org.jetbrains.plugins' found='com.jetbrains'
        bad module name: expected='android' found='ideaIU'
> Could not resolve org.jetbrains.plugins:copyright:2017.2.5.
  Required by:
      project :
   > Could not resolve org.jetbrains.plugins:copyright:2017.2.5.
      > inconsistent module metadata found. Descriptor: com.jetbrains:ideaIU:2017.2.5 Errors: bad group: expected='org.jetbrains.plugins' found='com.jetbrains'
        bad module name: expected='copyright' found='ideaIU'
> Could not resolve org.jetbrains.plugins:CSS:2017.2.5.
  Required by:
      project :
   > Could not resolve org.jetbrains.plugins:CSS:2017.2.5.
      > inconsistent module metadata found. Descriptor: com.jetbrains:ideaIU:2017.2.5 Errors: bad group: expected='org.jetbrains.plugins' found='com.jetbrains'
        bad module name: expected='CSS' found='ideaIU'
> Could not resolve org.jetbrains.plugins:gradle:2017.2.5.
  Required by:
      project :
   > Could not resolve org.jetbrains.plugins:gradle:2017.2.5.
      > inconsistent module metadata found. Descriptor: com.jetbrains:ideaIU:2017.2.5 Errors: bad group: expected='org.jetbrains.plugins' found='com.jetbrains'
        bad module name: expected='gradle' found='ideaIU'
> Could not resolve org.jetbrains.plugins:Groovy:2017.2.5.
  Required by:
      project :
   > Could not resolve org.jetbrains.plugins:Groovy:2017.2.5.
      > inconsistent module metadata found. Descriptor: com.jetbrains:ideaIU:2017.2.5 Errors: bad group: expected='org.jetbrains.plugins' found='com.jetbrains'
        bad module name: expected='Groovy' found='ideaIU'
> Could not resolve org.jetbrains.plugins:JavaScriptLanguage:2017.2.5.
  Required by:
      project :
   > Could not resolve org.jetbrains.plugins:JavaScriptLanguage:2017.2.5.
      > inconsistent module metadata found. Descriptor: com.jetbrains:ideaIU:2017.2.5 Errors: bad group: expected='org.jetbrains.plugins' found='com.jetbrains'
        bad module name: expected='JavaScriptLanguage' found='ideaIU'
> Could not resolve org.jetbrains.plugins:junit:2017.2.5.
  Required by:
      project :
   > Could not resolve org.jetbrains.plugins:junit:2017.2.5.
      > inconsistent module metadata found. Descriptor: com.jetbrains:ideaIU:2017.2.5 Errors: bad group: expected='org.jetbrains.plugins' found='com.jetbrains'
        bad module name: expected='junit' found='ideaIU'
> Could not resolve org.jetbrains.plugins:properties:2017.2.5.
  Required by:
      project :
   > Could not resolve org.jetbrains.plugins:properties:2017.2.5.
      > inconsistent module metadata found. Descriptor: com.jetbrains:ideaIU:2017.2.5 Errors: bad group: expected='org.jetbrains.plugins' found='com.jetbrains'
        bad module name: expected='properties' found='ideaIU'
> Could not resolve org.jetbrains.plugins:uml:2017.2.5.
  Required by:
      project :
   > Could not resolve org.jetbrains.plugins:uml:2017.2.5.
      > inconsistent module metadata found. Descriptor: com.jetbrains:ideaIU:2017.2.5 Errors: bad group: expected='org.jetbrains.plugins' found='com.jetbrains'
        bad module name: expected='uml' found='ideaIU'
> Could not resolve org.jetbrains.plugins:CheckStyle-IDEA:5.12.0.
  Required by:
      project :
   > Could not resolve org.jetbrains.plugins:CheckStyle-IDEA:5.12.0.
      > inconsistent module metadata found. Descriptor: com.jetbrains:ideaIU:2017.2.5 Errors: bad group: expected='org.jetbrains.plugins' found='com.jetbrains'
        bad module name: expected='CheckStyle-IDEA' found='ideaIU'
        bad version: expected='5.12.0' found='2017.2.5'

Are you on snapshot?

Filed an issue: https://github.com/gradle/gradle/issues/3330

Hi @zolotov I see that the Gradle issue has been closed and it looks like the suggested fix worked for you. Do you anticipate making a release with the fix for 4.3 soon?

Ah, I see that Gradle 4.3.1 has been released and appears to fix the problem. I will try out 4.3.1 and report back.

Should be fixed in 4.3.1 but I still want to make it work in 4.3, I think Gradle team did the right thing and I should to prepare to it in future

Sounds good. I have verified that 4.3.1 does fix the issue.


Issue with workflow path constraint

Looking at migrations.test.xml, we insert 3 workflows with the same path. I have updated it so that two of the workflows have a unique workflow path.
We should check to ensure that all of our table constraints are behaving how we expect them to.

Seems like this was an issue with the org and repo named the same, but the source control were different. The partial_workflow_name constraint doesn't make sense, and shouldn't exist.

If I recall correctly, there are two constraints in order to enforce when the workflow name is null (partial_workflow_name) and when the workflow is not null.

Ya and I'm pretty sure we overwrote them for when I added source control.

This is no issue since the database migration for tests has been fixed.


site=cn flag no longer working

I used a https://leetcode.card.workers.dev/MY-LEETCODE-USERNAME?site=cn&theme=default&font=baloo&extension=null
but recently it's not working

@STX5
Sorry for the late reply.
I just try the new API, and it seems work as expected now.
https://leetcard.jacoblin.cool/STX5?site=cn

If the problem has been fixed, please feel free to close the issue.
Thanks!

Yes it now works just fine!!
Maybe there was a network issue or a Cloudflare internal issue.
Thanks!


Proposal to introduce the /mentor slack NestBot command

/mentors [project-name]
Purpose: This command will help contributors easily find mentors for specific projects.
Output: A list of available mentors for the specified project, including their Slack handles and time zones, ensuring smooth and timely communication.

as discussed on slack

/assign

Can you help me regarding the backend because i not familiar with the tech stack used in the backend but i'm willing to contribute

/assign

Assigning this to me as per slack discussion.


Common Workflow Language Viewer repeated calls

Bug Report
Expected behaviour
If the Common Workflow Language Viewer is not selected, there shouldn't even be any POST or GET view.common.cwl calls.  It fails to get the image (because the cwl tool version is not supported), stop calling the GET method.  Additionally, possibly stop the GET calls when the page changes.
Actual behaviour
going to https://staging.dockstore.org/workflows/github.com/h3abionet/h3agatk:1.0.1?tab=dag (2.2.0-alpha.3) results in the maximum calls even though the response is
cwltoolStatus | ERROR
-- | --
message | Tool  definition failed initialization: Tool definition  file:///data/git/e9cccbaa54f2e73180bf13e2ae02cf2af4df51f7/tools/picard-CreateSequenceDictionary.cwl  failed validation:   The CWL reference runner no longer supports pre CWL v1.0 documents.  Supported versions are:    v1.0   v1.1.0-dev1 (with --enable-dev flag only)

Initial notes:
See https://github.com/dockstore/dockstore-ui2/blob/develop/src/app/workflow/dag/cwl-viewer/cwl-viewer.service.ts#L105

I wasn't expecting it to return a 200 (success) with an error message inside it.
I did want to eagerly request the image so that there was no delay when you clicked on the radio button, but maybe we shouldn't be doing that.

I think the eager request is fine, my understanding is that they have a queue for requests, so eventually everything on Dockstore should be known to their their system. The odd part was the frequency of the requests (so maybe it should be turned down to once per second, say) and I think we noticed persisting when browsing away to a different workflow (or tool even).

Looks fine to me, minimal calls every time we look at the DAG


LV-backed container that failed to completely start leaves mounted LV hanging

If a container fails to start after it has mounted its LV, the LV will remain mounted, which will break delete.
Error handling code in container creation should have a hook to allow storage backends to deactivate storage.

I'm planning to work on this this week sometime.

This will be fixed in the upcoming containers branch.


NIFI-12453, NIFI-12454: Allow easily determining cluster state of a n…

…ode by running nifi.sh cluster-status and allow decommissioning of nodes without shutting down

Summary
NIFI-00000
Tracking
Please complete the following tracking steps prior to pull request creation.
Issue Tracking

[ ] Apache NiFi Jira issue created

Pull Request Tracking

[ ] Pull Request title starts with Apache NiFi Jira issue number, such as NIFI-00000
[ ] Pull Request commit message starts with Apache NiFi Jira issue number, as such NIFI-00000

Pull Request Formatting

[ ] Pull Request based on current revision of the main branch
[ ] Pull Request refers to a feature branch with one commit containing changes

Verification
Please indicate the verification steps performed prior to pull request creation.
Build

[ ] Build completed using mvn clean install -P contrib-check

[ ] JDK 21

Licensing

[ ] New dependencies are compatible with the Apache License 2.0 according to the License Policy
[ ] New dependencies are documented in applicable LICENSE and NOTICE files

Documentation

[ ] Documentation formatting appears as expected in rendered files

Yeah fair, @exceptionfactory, I didn't really intend to include that in there, was just some doc updates that I was working on previously and forgot to stash them away :) Have moved them into a new PR.


texlab.lua incorrect default latex.build.args

Updated build.args with "%f" as shown here

Can you edit your commit message to be more descriptive
texlab: add %f to settings.latex.build.args

I cleaned up the commit message in #525 and merged this fix. Thanks for your contribution!

I cleaned up the commit message in #525 and merged this fix. Thanks for your contribution!


Show gateway landing page banner linking the other UI

Issue: AAP-23475
Design: figma

Only shown on the collections list page. Links to /. Only shown in gateway mode.

Merging to get some link back to the new ui, the message itself is likely going to change.


The property 'DecimalPlaces' can only be set if the property 'Type' is set to 'Decimal'

I have decimal variable in SourceExpr property of a page which is of type Decimal with DecimalPlaces property set.

Txt2Al converted them as Integer property which is causing issue

severity: 'Error' message: 'The property 'DecimalPlaces' can only be set if the property 'Type' is set to 'Decimal''

Until we push out a better solution, this issue can be circumvented by replacing 0 with 0.0.
When we determine the type, we consider numbers without a decimal point to be integers. The compiler determines that the type of the field is Integer and it returns the above error.

problem: Wront type is inferred
current state: Right now the type is inferred from the source type.
potential solution:  The only way to go around this is to have an explicit way of specifying explicitly the type of the field. Either add a type specifying syntax like (decimal)0 or (0 : Decimal) or a property in which you specify the type.
I don't believe any of these solutions are worth spending time and adding more complexity. A simple working solution is to specify that a number is decimal by using the decimal dot.


Problematic tty options

Hi. Thanks for sharing this project!
I'm trying to use this together with rofi and I found there is a problem when using lipsum-cli with pipes.
The docs says:
cat start-wars.txt | lipsum-cli
The Empire’s sinister agents, Princess.

But if you try to use lipsum-cli with xargs
echo "lipsum-cli -w 10" | xargs -i /bin/bash -c "{}"

You always get an empty response. I think this is because: if atty::isnt(Stream::Stdin) sets the input_source to stdin, and there is no stdin.
I think a possible solution would be change the precedence described here:
-t, --text-source <TEXT_SOURCE>    Text source to choose from. Ignored if stdin or -f is used
So if you specify a -t value, it won't read from stdin, and pipes can be used freely.

Hello.
Thanks for the detailed input. I'll have a look at it at the first opportunity.

Hey, @mariano-dagostino thanks for the feedback.
This should fix the issue. Instead of changing the priorities, I added a control to check if the stdin input is not zero length.
Please feel free to open another one if you find anything else.


mWeb - Predictive text feature avoids editing a message

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

Version Number: 9.0.40
Reproducible in staging?: Y
Reproducible in production?: Y
If this was caught during regression testing, add the test name, ID and link from TestRail: https://expensify.testrail.io/index.php?/tests/view/5007338
Issue reported by: Applause - Internal Team
Action Performed:

Navigate to any conversation
Send any message
Edit the sent message by adding a word or deleting characters
Tap the Check button

Expected Result:
The changes are saved and the edited message is displayed correctly in the conversation
Actual Result:
If a word is still underlined when I tap the Check button, the changes are not saved
Only changes on words that are not underlined are saved, whether I delete characters or add a word
Workaround:
Unknown
Platforms:

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

[ ] Android: Native
[ ] Android: mWeb Chrome
[ ] iOS: Native
[ ] iOS: mWeb Safari
[ ] MacOS: Chrome / Safari
[ ] MacOS: Desktop

Screenshots/Videos
Add any screenshot/video evidence

https://github.com/user-attachments/assets/dfcdf112-1fbb-47b9-9bdf-afa4442ee1ed
View all open jobs on GitHub

@VictoriaExpensify  FYI I haven't added the External label as I wasn't 100% sure about this issue. Please take a look and add the label if you agree it's a bug and can be handled by external contributors

Same root cause as https://github.com/Expensify/App/issues/49486

I can't reproduce this - I have tried on:
Android: Native
Android: mWeb Chrome
MacOS: Chrome / Safari
MacOS: Desktop

Posted in Slack:
https://expensify.slack.com/archives/C01GTK53T8Q/p1727741424696559

Tester used Samsung Keyboard, More information about this issue can be found in the comment.

Ah ok, understood. Based on the linked issue, it looks like this is something we want to fix.

Hello, Im Artem from Callstack and would like to help with this issue

MY update:
Couldn't reproduce at the beginning, but after several tries and different emulators I was able to reproduce it not only with Predictive text feature but also with a regular text

Not overdue

Since this looks to be resolved through this issue, I'm closing this out


Make it mobile friendly

I was planning to work on this but codemirror is a pain to work with (and its inside a dependency). Even currently you can't scroll on the left editor.

I think it doesn't make sense to make it mobile friendly. So I will close this for now. But the scrolling part definitely needs to be fixed.

Came here to ask for mobile friendly.
It makes sense not necessarily in the way "it will be used extensively on mobile" but, for example, someone shared this on twitter and I can't check right now if this works, can't test it, check if it solves my issue, etc.

@ritz078 Maybe some kinda demo page with fixed data would work?

I guess that makes sense since this is anyways not going to be useful on mobile. So I can actually replace this code part with features and an image.


project build and deploy to hosting on server

Hi.. All
I wat to know how i can make single bulild of my project and i want to know all dependancy (like node_modules)  compulsory also deploy on server thair are any process like J2EE application creating a single .war file which have all posible dependency in single file. How i can create single build file.

Please keep GitHub issues for bug reports / feature requests. Better avenues for troubleshooting / questions are stack overflow, gitter, mailing list, etc.


[Review App] Restructures artist tabs

Closes GRO-1662
Review app: https://revised-artist-tabs.artsy.net/
Specs will fail for now.
Still a bit more to do here; going to encapsulate that SeoDataForArtist stuff in a fragment container.
TODO

[ ] Sitemaps
[ ] Redirects for old routes (works-for-sale)
[ ] Check for existing internal links (works-for-sale)
[ ] Remove noindex

wondering if while this is WIP could I pull down your branch with the existing routing so that I can get a head start on /about tab work??

@TMcMeans You could just add an /about2 route; we'd have a merge conflict in the routes file but that's easy to deal with.

yep I was thinking while you are handling the review app I can just create an /about2 tab myself


CLI slow starting and constant high CPU

Everything was working fine on CLI 1.5.2 (I don't know exactly what version I used).
Today I updated to CLI 1.5.5. After updating CLI didn't want to start. I had to upgrade Node, from v10 to latest. I downloaded the latest version from Nodejs.org (v12.4).
Then more troubles, so I uninstalled Ionic and reinstalled again. This is the ionic info:
Cordova CLI: 5.0.0
Gulp version:  CLI version 3.9.0
Gulp local:   Local version 3.9.0
Ionic Version: 1.0.0
Ionic CLI Version: 1.5.5
Ionic App Lib Version: 0.2.2
OS: Windows 8.1
Node Version: v0.12.4
That looks I think, however, it takes about 3 minutes after this Console output before the website opens:
D:\Develop*_\App>ionic serve -p 8110
Gulp startup tasks: [ 'sass', 'watch' ]
[02:04:44] Using gulpfile D:\Develop_*\App\gulpfile.js
[02:04:44] Starting 'sass'...
[02:04:45] Starting 'watch'...
[02:04:45] Finished 'watch' after 13 ms
[02:04:46] Finished 'sass' after 1.58 s
And the whole time the Evented I/O for V8 Javascript process runs at ~ 35% CPU (Windows).
When the website is opened, the system idles, but this process still takes ~25% CPU.
No errors, warnings or whatever. I read some guy downgraded CLI, but I don't know if that would help. Also, I don't know how to downgrade. I also deleted the projects node_modules folder and ran npm install again.
Strange thing is that another project I had just works. What could be different?

So, I haven't figured out the problem, but it seems the same problem this guy is having:
http://forum.ionicframework.com/t/ionic-cli-1-5-2-update-running-really-really-slow-cpu-at-90/26448
I uninstalled ionic (npm uninstall ionic -g) and reinstalled with (npm install<EMAIL_ADDRESS>-g) and now it works again.
However, it seems there is some problem with the versions >1.5.0 (I also tried 1.5.2 with same problem).
My current ionic info:
Cordova CLI: 5.0.0
Gulp version:  CLI version 3.9.0
Gulp local:   Local version 3.9.0
Ionic Version: 1.0.0
Ionic CLI Version: 1.5.0
Ionic App Lib Version: 0.1.0
OS: Windows 8.1
Node Version: v0.12.4

I'm also facing same problem in OSX. Ionic process takes 65% of cpu (both ionic serve & emulate command). Here is my system info:
Cordova CLI: 5.0.0
Gulp version:  CLI version 3.8.11
Gulp local:   Local version 3.9.0
Ionic Version: 1.0.0
Ionic CLI Version: 1.5.5
Ionic App Lib Version: 0.2.2
ios-deploy version: 1.7.0
ios-sim version: 3.1.1
OS: Mac OS X Yosemite
Node Version: v0.12.2
Xcode version: Xcode 6.3.2 Build version 6D2105

Disabling the livereload on the CLI solved the slow CLI, not sure why yet:
ionic serve --verbose --nolivereload

Thanks @mark-veenstra, that fixed it for me too, but it would be nice to have livereload back. :/

Yep, ionic serve uses 100% CPU core using live-reload
Cordova CLI: 5.4.1
Gulp version:  CLI version 3.9.0
Gulp local:
Ionic Version: 1.2.4-nightly-1967
Ionic CLI Version: 1.7.12
Ionic App Lib Version: 0.6.5
ios-deploy version: Not installed
ios-sim version: Not installed
OS: Mac OS X El Capitan
Node Version: v5.3.0
Xcode version: Xcode 7.2 Build version 7C68

I face the same problem with ionic 2.0.0-beta.22.
ionic serve consumer 100% cpu.  adding --nolivereload fixed the problem.
my OS: 32bit ubuntu 14.04, node version: v0.12.7

@petervojtek What worked for me is setting the livereload interval from the default value (100 ms?) to 500 ms. You could try that. And btw, update your node version (if possible).
{interval: 500} in the config somewhere (I can't remember where exactly).

@DHFW thanks for hint.
the problem remains after updating node from v0.12.x to v5.8.0.
I managed to locate an interval somewhere in node_modules/gulp_watch (default value 100), but setting it to 500 made no difference (still 100% CPU occupied).
And actually after updating to node5.8 following behaviour started to appear:
ionic serve
WARN: ionic.config.js has been deprecated, you can remove it.
WARN: No gulpfile found!
If your app requires a build step, you may want to ensure it runs before serve.

Looks like you are using the deprecated ionic.config.js and have no gulpfile!
As of beta.21 the Ionic CLI relies on gulp hooks to build your web assets

? Would you like to download the default gulpfile? Yes
WARN: ionic.config.js has been deprecated, you can remove it.
Downloading default gulpfile from: https://cdn.rawgit.com/driftyco/ionic2-app-base/typescript/gulpfile.js
 ✓ Successfully downloaded gulpfile. Try running 'serve' again.

when I run again ionic serve, I again see the same WARN: No gulpfile found! and question if I want to download it (again?).
When I answer No intead of Yes,  ionic serve will start serving the gui on port 8100, but without live reload.

@petervojtek any way you could share your project setup? Sounds like a bug that it can't find the gulpfile after it's downloaded

I'm having the same problem
Cordova CLI: Not installed
Ionic Version: 2.0.0-beta.3
Ionic CLI Version: 2.0.0-beta.22
Ionic App Lib Version: 2.0.0-beta.12
OS: Distributor ID:	Ubuntu Description:	Ubuntu 14.04.3 LTS
Node Version: v5.4.1

And here is the actual project from a newly created ionic start --v2
https://github.com/palidanx/ionic2-cli-beta-21

I started having this problem after I added a decent number of images to www/img. If I had to guess the live reload is checking these files for changes and since they are images and there are hundreds it kills the frame-rates of the live reload.

I can confirm this is a problem on Windows.

None of tha above are acceptable solutions - we need live reload and we need to watch a bunch of files.

Here are details on the workaround - you want to add {interval: 1000} to this line: https://github.com/driftyco/ionic-app-lib/blob/master/lib/serve.js#L307
Usually it will be located in your local project ionic install at: <your_project>\node_modules\ionic\node_modules\ionic-app-lib\lib\serve.js
As for the solutions, I think for short-term Ionic should provide a setting in ionic.project and switch to using fs.watch() (gaze is using fs.watchFile()) for long-term.

I can also confirm this is fixed in ionic-cli 2.x.x (tried on latest).

still have the same issue, my enviroment is:
Cordova CLI: 6.1.1
Gulp version:  CLI version 3.9.1
Gulp local:   Local version 3.9.1
Ionic Framework Version: 2.0.0-beta.6
Ionic CLI Version: 2.0.0-beta.25
Ionic App Lib Version: 2.0.0-beta.15
OS: Windows 8.1
Node Version: v4.4.4
and it take about 3 min to start ::  ionic build android !!! and around 20 sec for the ionic info to show the result

106% CPU... ignoring images did not help

ah, it does not accept normal globbing syntax for ! i had to use
 "watchPatterns": ["www/**/*.js", "www/**/*.html","www/**/*.css"]

to only watch given extensions.

Hello all! After testing this does not seem to be an issue with the latest cli. Thanks for using Ionic!

@jgw96 what version of latest cli are you referring to? Unless the watch mechanism changed from interval polling to events, this problem will be still there.

This may be related: https://github.com/driftyco/ionic-app-lib/pull/117

I have the same problem when I use ionic serve command

Your system information:
Cordova CLI: 6.3.1
Gulp version:  CLI version 3.9.1
Gulp local:
Ionic Framework Version: 2.0.0-rc.1
Ionic CLI Version: 2.1.1
Ionic App Lib Version: 2.1.1
Ionic App Scripts Version: 0.0.36
ios-deploy version: 1.8.5
ios-sim version: 5.0.6
OS: Mac OS X Sierra
Node Version: v5.12.0
Xcode version: Xcode 8.0 Build version 8A218a

When I execute ionic serve --nolivereload is OK.

I had similar issues when I had accidentally created a large file structure in the folder ionic was watching for live reloads - keeping the number of files / folders that ionic is watching for live-reload purposes low seems to improve performance quite a bit.

I had similar problem, and the problem was that I had only about 10GB disk space free - you need more than 25GB apparently.

I had this same problem and additionally had a problem with my IDE (Webstorm) slowing down. I tried @gillarf 's suggestion after which my IDE stopped freezing, though the CPU % i still very high, around 74%. I do have 22 pages, so about 90 files in my app at the moment, not including the icons in my resources directory.

Hi @kentoj - I also found that my anti-virus software was a big problem. I had kaspersky installed and stopping that made ionic commands run even quicker.


fix a reader panic

fix a reader panic when the close function of the reader is called when no reader has been done

Would you be able to create a tag after reviewing and merging this PR please?

thanks guys!

A new KrakenD Community Edition version will be released very soon with these fixes, and some other improvements :)
Thank you


Pyang

Codecov Report

:exclamation: No coverage uploaded for pull request base (master@2f5a4d5). Click here to learn what that means.
The diff coverage is n/a.

@@            Coverage Diff            @@
##             master     #117   +/-   ##
=========================================
  Coverage          ?   37.99%
=========================================
  Files             ?       60
  Lines             ?    30514
  Branches          ?        0
=========================================
  Hits              ?    11594
  Misses            ?    17799
  Partials          ?     1121

Impacted Files
Coverage Δ

internal/pkg/config/bgp_configs.go
1.36% <ø> (ø)

Continue to review full report at Codecov.

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


Add lives_on_type/id to ContainerNode

I'd prefer to return a lives_on url rather than returning a type/id but was having issues getting this into the controller since it had already gone through as_json.
This will unblock the AI team and allow them to get started with their models /cc @bronaghs

Yeah, there are several places I think we should return a URL to reference other objects, but let's tackle that generically in a separate PR.


Add submission of request to omit and landing page on success

*Issue:*https://github.com/bcgov/entity/issues/22112
Description of changes:
Add all api endpoints to the ui store (get all, get one, push, put)
Set form to disabled while submitting
If submitting is successful route to landing page
if it isn't put error in console and do unlock form (this matches other forms)
By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of the namex license (Apache 2.0).

/gcbrun

Temporary Url for review: https://bcregistry-btr-dev--pr-212-lrsrpd7m.web.app

/gcbrun

Temporary Url for review: https://bcregistry-btr-dev--pr-212-lrsrpd7m.web.app