Fix - Distance - After tapping split expense with amount button, briefly "split expense" button shown

Details

Fixed Issues

$ https://github.com/Expensify/App/issues/52196
PROPOSAL: https://github.com/Expensify/App/issues/52196#issuecomment-2462652652
Tests

Open a room chat with few members invited
Tap plus icon left to chat input
Tap split expense - distance
Enter start and stop points
Tap next
Note tap split expense with amount button displayed
Tap on it
Verify that the split button text doesn't switch to split expense briefly

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

Offline tests

Same as above
QA Steps

Same as above

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

PR Author Checklist

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

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

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

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

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

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

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

[x] I verified all numbers, amounts, dates and phone numbers shown in the product are using the localization methods
[x] I verified any copy / text that was added to the app is grammatically correct in English. It adheres to proper capitalization guidelines (note: only the first word of header/labels should be capitalized), and is 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 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 the PR modifies the form input styles:

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

[x] If a new page is added, I verified it's using the ScrollView component to make it scrollable when more elements are added to the page.
[x] If the main branch was merged into this PR after a review, I tested again and verified the outcome was still expected according to the Test steps.

Screenshots/Videos

Android: Native

https://github.com/user-attachments/assets/95e06335-ccb8-4dc4-97b8-4e8a5c14791d

Android: mWeb Chrome

https://github.com/user-attachments/assets/941d5cb7-f4ba-46c2-9bf2-2cedce6fd499

iOS: Native

https://github.com/user-attachments/assets/d26530f0-675a-4099-b56f-7079e39c953a

iOS: mWeb Safari

https://github.com/user-attachments/assets/50089fc1-1838-495a-9509-6c9420352975

MacOS: Chrome / Safari

https://github.com/user-attachments/assets/b59a4457-086b-445b-89a0-1c86051f5ca0

MacOS: Desktop

https://github.com/user-attachments/assets/b59bb7d0-d645-4304-9899-ec03405d9e48

Reviewer Checklist

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

[ ] I verified the steps for local testing are in the Tests section
[ ] I verified the steps for Staging and/or Production testing are in the QA steps section
[ ] I verified the steps cover any possible failure scenarios (i.e. verify an input displays the correct error message if the entered data is not correct)
[ ] 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)

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

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

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

[ ] 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).
[ ] I verified that comments were added to code that is not self explanatory
[ ] 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.
[ ] I verified any copy / text shown in the product is localized by adding it to src/languages/* files and using the translation method
[ ] I verified all numbers, amounts, dates and phone numbers shown in the product are using the localization methods
[ ] I verified any copy / text that was added to the app is grammatically correct in English. It adheres to proper capitalization guidelines (note: only the first word of header/labels should be capitalized), and is either coming verbatim from figma or has been approved by marketing (in order to get marketing approval, ask the Bug Zero team member to add the Waiting for copy label to the issue)
[ ] 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.
[ ] I verified the JSDocs style guidelines (in STYLE.md) were followed

[ ] If a new code pattern is added I verified it was agreed to be used by multiple Expensify engineers
[ ] I verified that this PR follows the guidelines as stated in the Review Guidelines
[ ] I verified other components that can be impacted by these changes have been tested, and I retested again (i.e. if the PR modifies a shared library or component like Avatar, I verified the components using Avatar have been tested & I retested again)
[ ] I verified all code is DRY (the PR doesn't include any logic written more than once, with the exception of tests)
[ ] 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
[ ] If a new component is created I verified that:

[ ] A similar component doesn't exist in the codebase
[ ] All props are defined accurately and each prop has a /** comment above it */
[ ] The file is named correctly
[ ] The component has a clear name that is non-ambiguous and the purpose of the component can be inferred from the name alone
[ ] The only data being stored in the state is data necessary for rendering and nothing else
[ ] 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)
[ ] 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)
[ ] All JSX used for rendering exists in the render method
[ ] 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

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

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

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

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

[ ] 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.
[ ] 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)
[ ] 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.
[ ] 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.
[ ] If the PR modifies the UI (e.g. new buttons, new UI components, changing the padding/spacing/sizing, moving components, etc) or modifies the form input styles:

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

[ ] 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.
[ ] If the main branch was merged into this PR after a review, I tested again and verified the outcome was still expected according to the Test steps.
[ ] I have checked off every checkbox in the PR reviewer checklist, including those that don't apply to this PR.

Screenshots/Videos

Android: Native

https://github.com/user-attachments/assets/b11c2906-396a-47cb-93b9-bf9a4663bb21

Android: mWeb Chrome

https://github.com/user-attachments/assets/03d22fac-1bcc-4665-ac58-96fab12d1a2b

iOS: Native

https://github.com/user-attachments/assets/51ed5ef4-b8d8-47e9-9328-65a0a6e09cc1

iOS: mWeb Safari

https://github.com/user-attachments/assets/2edd26ae-94e2-4df6-9eb3-4bc9ced12b14

MacOS: Chrome / Safari

https://github.com/user-attachments/assets/04f34de6-e239-4782-8e12-3173036a0ba3

MacOS: Desktop

https://github.com/user-attachments/assets/31b80c65-0b13-478e-a5bb-534e687297ec

Jest is failing related with node version. I think we can proceed.


Fix json-rpc id to 1 for all tests

It's much easier to read test diffs when the id isn't changing with each fill.

Also it looks like I have generated some tests in #326 with invalid block hashes. Hivetest2 is failing and regenerating with id == 1 shows a different hash. I believe this PR will resolve the issue.


[Feature Request] Slim sidemeu

Feature Request/ Slim Side Menu
Slim side menu. It would be fantastic if the vertical side menu collapsed (if option enabled) into a slim icon on menu.
What I am trying to achieve
This would be a great UX and help give as much of the page to the main CRUD
How I see it implemented
I see it as being a optional width trigger and would be for smaller screens, but then on even small screens collapse as currently into the current hamburger menu
Here are some examples:
https://getbootstrap.com/docs/5.3/examples/sidebars/
https://usercontent.mdbootstrap.com/mdb-images/support/582c9113-cdf2-4443-84c4-fb3576d79bb4-SideBar.jpg

Hello @malek77z
Since the theme tabler does not have this functionality, I see it difficult to add it, since we try to keep the original as clean as possible so that it is easy to customize.
Cheers.

Thanks, that makes sense, but just in case it helps anyone I made this (hacky) style that works well..
``
All that you need to do to apply is ass slim-lg to the navbar and it will make the icons the nav etc etc

Great @malek77z
Thanks for sharing this. I will close the issue, but please feel free to re-open or create a new one if needed.
Thanks again.
Cheer.


Resolves issue #2 - Why static salt?

This pull request is to correct issue #2 wherein the salt used is static rather than a randomized value.
About the change... I had to do a bit of restructuring on the code to support what needed to be done, so there will be quite a few new files added, and quite a bit of the logic that was within Main has been lifted out to other classes. Hopefully this will make the tool easier to maintain and make changes to in the future.
A couple things:

I made sure tool still retains backwards compatibility for decrypt operations only, so it should be a minor upgrade rather than a major. It will also output a warning to the console (thereby showing up in builds) that a static salt was used to decrypt the value. I hope this will get people to re-encrypt their data.
The salt should be stored within secure environment variables along side the secret and passed into the tool. I've already made the necessary documentation changes to the README.md for this. Normally you'd store the salt near the value, but given the value is a file I made the assumption using another secure environment variable would be better.
I added FIPS compliance support if required people can use the new -fips option to enable this. This will cause it to use AES instead of Rijndael. Some companies may require using FIPS compliant algorithms.

If you have any questions, please feel free to ask!

What if we re-target the project to .NET Core 3.0 and try publishing it as a single self-contained executable? It's quite inconvenient that the tool requires the presence of .NET Core runtime on the machine.

You could very well choose to do so, I did a quick regression test targeting this for netcoreapp3.0 and it was able to decrypt the files using your existing deployed version along with encrypting and decrypting new files (using this version + .NET Core 3.0). So it should be fine if you wish to modify the target runtime in a separate change.

Just out of curiosity, are there plans to merge this or should I close the request?

Sorry about the delay with reviewing this PR! We've been busy with releasing some new stuff here. I'm going to finish with the PR this week.

@FeodorFitsner Will you give us a heads up when this is live? Or is it live already?

It should be live already, but it's fully backward compatible and shouldn't break existing builds. That's the trick.

I’m pretty sure your website documentation indicates to use the install.ps1 which is currently pointed at your 1.0.0 version. Which I didn’t update that, I wouldn’t have had access to create the release.

Correct. Release artifact was just updated with a newer version.


WRN-19179: Fixed Scroller to set initial focus to scrollbar in Panels

Checklist

[x] I have read and understand the contribution guide
[x] A CHANGELOG entry is included
[ ] At least one test case is included for this feature or bug fix
[x] Documentation was added or is not needed
[ ] This is an API breaking change

Issue Resolved / Feature Added
Initial focus is not set on the Scroller
Resolution
Add ScrollbarPlaceHolder node that delegate focus to other nodes.
Additional Considerations
Links
WRN-19179
Comments
Enact-DCO-1.0-Signed-off-by: Jeonghee Ahn<EMAIL_ADDRESS>

Please update the branch with the latest develop.


Web App doesn't save state (but Native does)

despite this:
    fn save(&mut self, storage: &mut dyn eframe::Storage) {
        eframe::set_value(storage, eframe::APP_KEY, self);
    }
    fn auto_save_interval(&self) -> std::time::Duration {
        std::time::Duration::from_secs(30)
    }

every time webpage opens, reset happens.
persistence feature is enabled
I've made the cache name in sw.js same as canvas id
Moreover (but this may be server side issue?) if I update the app, I need to delete cookies and reload, it won't automatically load the latest version (acting as if it's offline?)

could you double check if the native persistence is working? ive got a similar issues but native linux
fn save(&mut self, storage: &mut dyn eframe::Storage) {
    info!("saving data");
    storage.set_string(KEY_DEEPL_KEY, self.global.service.auth_key.clone());
    storage.flush();
}

if its not working, i would guess we using the wrong sets of feature flags or dont use it like it has to be used.
currently using the latest: egui = { version = "0.20.0", features = ["persistence"] }
if its working ill open an seperate issues to not conquer your report.
to make this report better i would suggest that you add your used version too.

I have the same problem regarding the weird caching behaviour. I have also removed the caching part from the index.html but still nothing. The browser just keeps loading old versions, and it is not even predictable which one of them.

eframe auto-saves every 30 seconds. eframe native also saves on exit. I just added this to eframe:

https://github.com/emilk/egui/pull/2927

please try latest egui master and see if it now works for you. Otherwise, try adding some tracing::info log calls in the surrounding the eframe web save code (AppRunner::save in crates/eframe/src/web/backend.rs) and check the browser dev console and see if you can figure out what is going wrong


split term or relabel?: infantile spasms (currently synonym of West syndrome)

Term to split:
MONDO:0018097 West syndrome
Name for new terms:
MONDO:0018097 West syndrome
NEW infantile spasms
I had a discussion with folks from CURE Epilepsy (https://cureepilepsy.org/) and they said infantile spasms can occur in West syndrome but may also happen independently of a West syndrome diagnosis.
It does seem like these terms are often used interchangeably though, see:

https://www.epilepsy.com/what-is-epilepsy/syndromes/infantile-spasms-west-syndrome

Evidence supporting a split or relabel:

https://www.ninds.nih.gov/health-information/disorders/infantile-spasms - they say "An epileptic spasm is a specific type of seizure seen in an epilepsy syndrome of infancy and childhood often called West Syndrome"
https://www.childrenshospital.org/conditions/infantile-spasms - "Infantile spasms, sometimes called West syndrome, are a type of seizure that occurs in babies.
https://www.chop.edu/conditions-diseases/infantile-spasms-syndrome-west-syndrome -" Previously, infantile spasms syndrome was also called West syndrome."
https://www.epilepsy.org.uk/info/syndromes/west-syndrome-infantile-spasms - "Infantile epileptic spasms syndrome (IESS), previously known as West syndrome, is a type of epilepsy syndrome that develops in infants under 2 years old."

Or maybe we should rename the term to 'infantile spams' and make West syndrome a historic (deprecated) synonym?

See this paper:
https://onlinelibrary.wiley.com/doi/10.1111/epi.17239
"Infantile epileptic spasms syndrome (IESS)
IESS is a term proposed to encompass both West syndrome as well as infants presenting with epileptic spasms who do not fulfil all the criteria for West syndrome (Table 7). West syndrome classically referred to the triad of epileptic spasms, hypsarrhythmia, and developmental stagnation or regression.121 However, infants with IESS often lack one of these three criteria. For example, the developmental impact may not be apparent or typical hypsarrhythmia may not be present. This concern was previously identified by the West Delphi group, who proposed the term Infantile Spasms syndrome for all cases of infantile spasms, regardless of EEG findings, and retained the term West syndrome for cases in which hypsarrhythmia was associated, regardless of developmental regression.122 This change emphasizes the importance of early diagnosis and therapy because shorter lag time to treatment is associated with a better outcome.123 The addition of the term “epileptic” to the name of the syndrome was done upon the request of many pediatric neurology/epilepsy experts in order to avoid any confusion with nonepileptic spasms and to emphasize the epileptic nature of this syndrome."


"next" should default to settings.LOGIN_REDIRECT_URL

Current, next defaults to '/', as shown here. I propose that it default to settings.LOGIN_REDIRECT_URL. Thoughts?

Good idea 👍


Added interface to CLASS

Fixes #44. Currently only CMB quantities are supported.

Codecov Report

Merging #53 (a2d13bf) into master (6c6a3e1) will not change coverage.
The diff coverage is n/a.

:mega: This organization is not using Codecov’s GitHub App Integration. We recommend you install it so Codecov can continue to function properly for your repositories. Learn more
@@           Coverage Diff           @@
##           master      #53   +/-   ##
=======================================
  Coverage   99.28%   99.28%
=======================================
  Files          12       12
  Lines        2527     2527
=======================================
  Hits         2509     2509
  Misses         18       18

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


Feature proposals

Hello,
We have been using the registry for a little while and some feature ideas came up, which I thought I'd share and see if they would make sense for the community.

Add service endpoint information to service definitions. The registry's DB model already has a notion of service. It could be augmented with endpoint information. This would allow a GraphQL Gateway that works with the registry to get all the information required about schemas, along with the endpoints where they can be reached, from the registry. In order to do this, the APIs of the registry would need to be modified to support passing in service endpoint info along with the already provided information (service name, version, schema). This endpoint information could be optional.
Add a view to the registry's web interface to see the federated graph. At the moment, schemas can be seen one by one. It would be interesting to have a way to see the whole federated graph.

Those features make sense for us in the way we operate. Let me know if they would make sense for the community as well, would be happy to contribute them.
Etienne

Depends what kind of information you want to add. If you add IPs, then it leads to redefining / duplicating what consul does - multiple IPs per service, their healthchecks.
Combined/federated graph would be nice indeed, but it would lead also to an assumption that it is composed out of latest versions of the service graphs, not actual versions that are running. It could be useful to add voyager there too.


libcurl and openssl minimum requrements

Query/Question
What is the minimum liburl and openssl version that is needed for the SDK?
Why is this not a Bug or a feature Request?
General question
Setup (please complete the following information if applicable):

OS: [SLES12SP3]
IDE : [e.g. IntelliJ]
[azure-storage-blobs_12.10.0]

Information Checklist
Kindly make sure that you have added all the following information above and checkoff the required fields otherwise we will treat the issuer as an incomplete report

[ ] Query Added
[ ] Setup information Added

We should support all supported OpenSSL versions, which in practice means versions greater than 3.0.
It's easier to answer the libcurl question if you can let us know which version of libcurl you're interested in targeting.

We are currently targeting libcurl version 7.37.0.

We have functionality which depends on Curl 7.77, but it is conditionally compiled on LIBCURL_VERSION_NUM. So hopefully 7.37.0 should be supported.
However, 7.37.0 is an extremely old (9 years) version and it's highly likely there are security bugs in that version so using a newer version is likely a good idea.

Thanks!

@LarryOsterman : the Storage SDK does not build with OpenSSL 3.1 because it uses deprecated MD5 API, is this being tracked? How about libcurl 8.8?

Reflecting an offline conversation: Current revisions of the Storage SDK build with OpenSSL 3. Older versions do not due to deprecated API changes during the OpenSSL 1->OpenSSL 3 conversion.
In @herveyw-msft's case he consumes the storage SDK via a cmake fetch-content directive (effectively pulling the Azure SDK as a submodule), the version of the storage SDK that he uses predates the OpenSSL 3 conversion, and he has challenges with newer SDKs due to additional dependencies for non-storage packages.


GET requests with "Content-Length" header

It seems the "Content-Length" header is added automatically, including on GET requests - I'm not completely sure where, but it's not in your code. I've seen some mentions of Apache adding it, but have not looked into their source code.
Anyway the Economic REST API does not support GET requests with a body (as indicated by the "Content-Length" header) - actually it's their load balancer blocking the requests, after they switched to Google Cloud. The reasoning (apparently) is, that it's not condoned in the RFC.
The only solution I've had working is, to manually set the "Content-Length" header to 0, for GET requests. Obviously this will not work for any type of requests with a body.
So the problem is, the "Content-Length" header must be set to 0 for GET requests (possible true for other types with no body, too), but as headers are set when initiating the client, it's not possible to change those later.

@sjoller The problem is within this library unfortunately.
I've just spent 2 days of debugging because of e-conomics change of loadbalancer.
The library does not implement curl_close itself, and headers are not reset properly. (My guess is because its a reuseable instance)
I fixed this by editting (pull request coming up) Request.php:get() inserting this
curl_setopt($this->client->ch, CURLOPT_HTTPGET, TRUE);
The better solution would most likely be to implement curl_close properly.
However I need to move on, and this made it work.

Thanks - I will test more to day

@stockholmz thanks for the solution.

@cjonstrup You are welcome. Thanks for a great package.


SOLR-17414: Multi-threaded search: don't throw RejectedExecutionException

https://issues.apache.org/jira/browse/SOLR-17414
This Executor is a bit special, and as such I don't think we should modify ExecutorUtil for the needs of one executor.   Backed out Christine's and Gus's change.  Instead, MDCAwareThreadPoolExecutor can be subclasses wherever -- did so in SolrIndexSearcher.
If we imagine this Executor is of general use, then its initialization should remain in CoreContainer.  I put it in SolrIndexSearcher but could move it.  IMO it is of general use; the multi-threaded faceting should use the same.

Barring benchmarks & CHANGES.txt, I think this is ready to merge.
I changed to using a blocking strategy instead of caller-runs.  It should be easier to manage a Solr node's CPU consumption; more queries aren't going to tip it over (within reason).  But to maximize a machine's resources, it may be necessary to configure a multiple of the number of available CPUs; we'll see I guess.
I could see follow-on work to ensure there's prioritization of an earlier request's submissions over that of another concurrently happening slightly after.  But I suppose it doesn't really matter.  Also, maybe the search itself (i.e. thread processing SearchHandler) should use this executor?  Although it's not necessarily CPU-bound (does distributed-search) whereas segment-search is.  But we could do the distrib=false requests here.  Hmm.  An experiment for another day.

CHANGES.txt: When searching with multiThreaded=true, the internal tasks may now block instead of enqueuing with a risk of rejection.  Solr will use less resources under stress but to get the most of your machine, you may want to increase the thread pool.


Trying to getObjects on a list with one unauthorized object fails strangely

If you attempt to do index.getObjects on a list of object IDs, and the requesting client is not authorized to view one of those objects, but is okay to view the rest, the JS client throws:
Method not allowed with this API key (nbObjects > hitsPerPage)
which is very cryptic and took me a while to track down. Can we change the behavior to just return as many objects as are allowed, or barring that, at least make the message more helpful? There's no way to route around damage besides just trying to query each object individually currently.

Hi @vincentwoo this message is not actually coming from the JS client but from the actual API. Could you send a support request to Algolia so an API engineer can have a look? Thanks!


Development: don't show IDE buttons if repository is null

Checklist
General

[x] I tested all changes and their related features with all corresponding user types on a test server.
[x] This is a small issue that I tested locally and was confirmed by another developer on a test server.
[x] Language: I followed the guidelines for inclusive, diversity-sensitive, and appreciative language.
[x] I chose a title conforming to the naming conventions for pull requests.

Client

[x] Important: I implemented the changes with a very good performance, prevented too many (unnecessary) REST calls and made sure the UI is responsive, even with large data.
[x] I strictly followed the client coding and design guidelines.
[x] I documented the TypeScript code using JSDoc style.
[x] I added multiple screenshots/screencasts of my UI changes.

Motivation and Context

After our migration from Bitbucket to LocalVC it could happen that some participations have no repositoryUri, to counter this and prevent confusion in the UI for students, we don't show buttons related to repositories, if the participation has no repo.
Steps for Testing

Prerequisites:

1 Instructor
1 Student
1 Programming Exercise

Log in to Artemis as a student
Open a participation of a programming exercise
Open your database and find your participation, remove the uri with update participation set repository_url = NULL where id = <your-participation-id>;
Reload the page, the buttons should be gone, the participation is now also not working anymore, so delete it to have a consistent state of your dev environment.

Testserver States

[!NOTE]
These badges show the state of the test servers.
Green = Currently available, Red = Currently locked

Review Progress

Performance Review

[ ] I (as a reviewer) confirm that the client changes (in particular related to REST calls and UI responsiveness) are implemented with a very good performance

Code Review

[ ] Code Review 1
[ ] Code Review 2

Manual Tests

[ ] Test 1
[ ] Test 2

Exam Mode Test

[ ] Test 1
[ ] Test 2

Test Coverage

Screenshots

Summary by CodeRabbit

New Features

Improved the display logic for certain buttons in the exercise details, ensuring they are shown only when relevant information is available.

How likely is this to happen? I'd like to add some information here to explain why nothing is shown. Just an empty field could confuse students trying to access their submissions.

Hi @Strohgelaender, It is very unlikely; after testing the migration with a production database dump, around 0,2% of the repositories could not be migrated. And I'd wager that those repositories are old and that a student will unlikely revisit their exercise from several years prior.


put login button to navbar

The button can be well-positioned in the navbar

Also, I'm not able to see the different options for logging in

A user can toggle between the sign in and logout button in the navbar, and the play game button is only displayed when one has logged in.

A user is able to toggle betweeen the sign in and logout button, and the play game button is displayed only when the user has logged in.

A user is able to toggle between the sign in and logout button.
The play game button only appears when a user is signed in.


[WIP] Updates for convox

Looking good.

 [QAE16IMP] Update docker image to not rely on environment variables for asset compilation


Bump version to 1.7.1

For contributor use:

[ ] Targeted PR against master branch
[ ] Linked to Github issue with discussion and accepted design OR link to spec that describes this work
[ ] Code follows the standards mentioned here
[ ] Updated relevant documentation
[ ] Re-reviewed Files changed in the Github PR explorer
[ ] Added appropriate labels

Codecov Report
All modified and coverable lines are covered by tests :white_check_mark:

Comparison is base (957cfde) 41.19% compared to head (ad58dcf) 41.19%.
Report is 2 commits behind head on master.

Additional details and impacted files
@@           Coverage Diff           @@
##           master    #1270   +/-   ##
=======================================
  Coverage   41.19%   41.19%
=======================================
  Files          39       39
  Lines        2068     2068
=======================================
  Hits          852      852
  Misses       1123     1123
  Partials       93       93

Flag
Coverage Δ

unittests
41.19% <ø> (ø)

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

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.


Retire the BrowserManager

While executing the E2E tests, I noticed that some pages where being opened & not closed, and the same goes for some contexts.
This all came from the BrowserManager class, since it made new contexts, which are not necessarily needed.
It has been replaced with native pytest decorators to override browser instantiation parameters
Same goes for the tests that used a Playwright instance to make a new context, then a new page whereas the same page instance can be used

Apparently this won't work either :/
The reason I didn't catch this locally is because I had forgotten that my pytest test templates in pycharm add the --headed flag automatically.
I'll just make the BrowserManager a context manager that closes the context properly.


Admin Redirects Index ✨  "Now with more convenience!™"

What's this PR do?
This pull request updates the Admin Redirects index page and adds some new functionality to help make it easier to find a specific redirect in the list by filtering using search terms. 🔍

How should this be reviewed?
👀
Any background context you want to provide?
Here's a video showing the new page in action:
https://user-images.githubusercontent.com/105849/135175590-f7aae4f2-5a23-43a6-a5e0-5a03b8399b0f.mp4
One additional note is that once you've filtered the list down to a single item, you can hit the "Enter/Return" key to submit the form and head directly to the Redirects Show page to view the item selected! Little convenience added ✨
Relevant tickets
References Pivotal #179677332.
Checklist

[x] This PR has been added to the relevant Pivotal card.

Side note: I also did a little bit of cleanup for the CloseButton component that I was in a wrong folder location 🤷♂

This also updates a bit of the overall styling decisions for tables (darker top header, and added striping without borders) and the "+ New Resource" button on Index page. I'll be either componentizing or copying the styles to other pages in upcoming PR.
Some of these styles change a bit as I proceed with more pages and the design problems they solved initially evolve as new pages are built.

Thanks for the 👀  @katiecrane 🙌


Lexer for other ed?

It is hard to make "lexer" for CudText for Kotlin? I can make small donate for it.

done now.


Select field cannot contain multiline html content after selection

When using data-content attribute on option elements to provide html multiline content
<option data-content="First line<br>second line">...
line 2 overflows the field after making a selection.
before selecting:

after making a selection:

Using latest versions via cdn - bootstrap 4.1.3, boostrap-select 1.13.2 and latest chrome.

Duplicate of #2109.


Can't make call

Hello,
here is my setup:

created an APP (voice permissions)

In Node-RED:
[Inject]
[Talk]

Text: some text
Voice name: Joey
[Create Call]
endpoint: phone
Number: 38***
From: 38***
Answer: msg.ncco

[Talk] outputs the JSON object
[Create Call] doesn't output anything
In the Noed-RED logs I can see I get an 500 error in response

Somehow I managed to put in the wrong API key (not sure if when creating the application or at some point later).
Either way it works now.

for anybody having problems - double check all your data
for owner - nodes (at least "make call" really doesn't put out any debug information, it would be great to have some feedback


branch filtering inconsistency

Description
Branch filtering works differently on different screens. It seems to be working fine on the "Code" page. On "New Pull Request" show branches that seem not to match the string we enter
Screenshots

Gitea Version
1.16.7
Can you reproduce the bug on the Gitea demo site?
Yes
Operating System
No response
Browser Version
Chrome

Yup exact would stop this fuzzy searching behaviour

It's caused by Dropdown's full-search behavior.
fomantic/Fomantic-UI#1737
https://github.com/go-gitea/gitea/blob/e31c6166ee92c378c84570b2959f2fdb040d438a/web_src/js/features/repo-common.js#L110-L115
Maybe it can be fixed by the suggestion of the discussion : fullTextSearch: 'exact'

Do you have plan to send a PR?

Use exact search instead of fuzzy search for branch filter dropdown #19885


Add support for drop_nan_value in Drop Rule resource

drop_nan_value allows you to drops datapoints if the datapoint
values are NaN. This change adds support for that field.

#6  👈
main

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

Join @aschepis and the rest of your teammates on  Graphite


"linker link.exe not found" fix

Warned windows users that they need C++ visual studio tools.
If not installed cargo with complain "linker link.exe not found".
Included /visualstudio.microsoft.com link

Thanks for the pull request, and welcome! The Rust team is excited to review your changes, and you should hear from @jamesmunns (or someone else) soon.
Please see the contribution instructions for more information.


(Mac OS) Grid: some hotkeys for selection/deselection are not working for columns

v1.19.2
Following combinations are not working as expected for columns:

Cmd-Shift-drag does not deselect columns
Excel-like hotkeys are not applicable for columns (Shift-click selects a single column only)

Expected result: update hotkeys for MAc OS, so that

Cmd-Shift-drag can be used to deselect columns
Excel-like hotkeys should be applicable for columns too. E.g. Cmd-click on col1 selects col1, Shift-click on col4 after that selects all columns between col1 and col4, col4 included.

This issue has been mirrored in Jira: https://reddata.atlassian.net/browse/GROK-16277


Make path.elements() method public

This makes it so that users can manipulate values based on paths.

What's the use case for this? I'm very unsure about the Path API at the moment so it would  be interesting to see what you need to do with it.

I was trying out something like being able to traverse a rust struct given the path, it got a bit difficult without being able to break down the path. It seems like we should have an open description of the path since it is used in quite a few public places and we may want to be able to use it in other libraries. I'm not saying that the current representation will always be there but at least for now being able to get the internal representation is useful.


Edit Config for integration

I was able to get everything configured, but I ended up having to delete the integration and re-add several times to get to the point of it all working. I wasn't able to find a way to edit the configuration in place.
When I got to configuration > integrations > recteq I get a mostly empty window with a check box.

Looks like you are already aware of this. Just saw this issue: https://github.com/pdugas/recteq/issues/11#issue-723478705


frequent releases

Is there a specific reason why a new version is released so often? If only the dev dependencies are updated, I see no reason for a new release, but maybe I'm missing something.

You bring up a valid point, @bmesuere, given that this package only has dev dependencies.
One tangible benefit might come into play if dev dependencies influence the build outputs, such as when updating the TypeScript version. However, such instances are infrequent, and the impact on end-users is likely minimal.
There are also a couple of indirect advantages:

It gives a clear indication that the package is actively maintained (in this case, based on your question, it might be a bit too much).
Regular updates help in preemptively addressing potential vulnerabilities. But given these are dev dependencies, the urgency is less pronounced, and it shouldn't raise any flags during package installation.

I've been applying this update strategy across all the packages I maintain. Some genuinely benefit from these consistent updates. But I'm considering a more tailored approach for this one, updating only when there's a substantial change.
Out of interest, what prompted the question? Is there an impact on your side, or is it just general curiosity?

We're using your package as a dependency for a vitepress website which has weekly dependabot updates enabled. This is mainly to keep vitepress up to date which is gearing towards a final release. This also means that every week a PR for this package is created, most of the time with an empty changelog. I was curious to why this was.
Now that I know that there are indeed hardly any changes, I may exclude it from dependabot updates.
(Thank you by the way for maintaining it!)

Thanks for the explanations. Here are the general rules I try to follow:

Non-impacting releases will use a patch version (I do this almost every week).
Releases with some impact but no breaking changes will bump the minor version (this could be for a bug fix).
Breaking changes will bump the major version.

You might consider configuring your Dependabot to ignore patch versions to reduce the notifications.
I will close this issue for now but don't hesitate to reach out if you have any questions or feedback!


feat: new stripTags option

🎫 RM-9982

🧰 Changes
For the most part, our sanitizer is automatically configured. But in certain instances– namely where we need to generate plaintext from a string of Markdown –it would errantly serialize <style> tag content.

[x] new RDMD stripTags option
Pass a list of tag names to force-strip them from the RDMD output. So to get rid of all style tags, you'd pass:
rdmd.hast(body, { stripTags: ["style"] });

🤷 Customer Changes
Once this hits the monorepo, customers should no longer see weird looking meta excerpts for their docs in Google.

This PR was released!
🚀 Changes included in v6.85.0


Request, HTTP/2, and Node.js Core

Hello request team,
I am currently heading up an effort to explore whether and how to implement HTTP/2 support directly in Node.js core. The question of If we should do this is still open. To help answer that question, as well as determine the best course forward should we decide to move ahead, I would love to get input from each of you with regards to what would be the best approach from the Request point of view.
(If this repo is not the correct place to discuss this, then please accept my apologies. I'll gladly move the conversation over to wherever you prefer it.)
Refs: https://github.com/nodejs/CTC/issues/6

I think this can be closed; HTTP/2 is now implemented in Node.js core (currently experimental, but seems on track to become non-experimental).


Initial skeleton of the cookbook in mdbook format

This creates an initial skeleton of the cookbook in mdbook format (the same format used by the rust cookbook).
The only content here is a copy of cookbook.md, but split up into multiple files.   Hopefully this layout matches what you had in mind for the cookbook.
Preview of the rendered book

What are your thoughts on the advantages of having this as a separate book vs just having it as a new section in the existing guides?

This comment which references the rust cookbook made me think that an mdBook was the target format.  But if that's not the case, then we can simply drop this PR.    On the other hand, if we want mdBook for everything (not just the cookbook), then I can easily modify the structure to bring everything under the mdBook structure.

mdbook provides links to run in the browser, expand hidden lines, and is backed by rust-skeptic.  It looks like your ci is integrated with tests, but I'm not sure how convenient they are running locally.

Ah, I was only referencing the rough structure (one page per category and many examples per page).
If mdBook can be made to integrate into the Tokio website's layout and CSS (https://tokio.rs), then I would be fine wity replacing the docs section entirely with mdBook.
My primary goal is to maintain a cohesive website feel.

That said, the sketch looks good at a glance 👍

@AndyGauge @eminence if you want, someone can open an issue here to discuss mdBook for the website.

let me take a stab at bringing in the tokio website style into this book skeleton to see how that looks.  then we can see how to move forward from there.


Do not block on opening catalogs

Closes #25
We were blocking the main thread on accessing sub-Catalogs. We already use create_worker (a nice wrapper around QRunnable that we vendored from napari) to access the items in a Catalog. This PR applies that approach to the initial sub-Catalog access as well, which is when MongoDB client--server connection happens and has the potential to hang for 30 seconds.
I tested this against this configuration file, which points to a nonexistent MongoDB deployment.
# ~/.local/share/intake/test_not_connectable.yml
sources:
  broken_example:
    driver: bluesky-mongo-normalized-catalog
    args:
      metadatastore_db: mongodb://localhost:55555/WRONG_PORT_CANNOT_CONNECT
      asset_registry_db: mongodb://localhost:55555/WRONG_PORT_CANNOT_CONNECT

When I select this item in the GUI, the combobox is immediately disabled but the GUI remains responsive. After 30 seconds (pymongo's default server selection timeout) the traceback is logged, the combox is re-enabled and reset to a blank value.
It would be nice if we could back out before waiting for the timeout---that is, to give the option to cancel the operation before it succeeds for times out. Cancellation is generally difficult to get right, so I would like to punt that to a future PR.
As is, this at least does not lock up the application and does leave it in a usable state after the failure.
Needs a unit test

P.S. This work reinforced my view that the Search abstraction, which currently includes sub-Catalog combo boxes and forms/results for searching a Catalog of Runs, needs to be refactored. Not a huge priority, but should make this easier to look at.

I pull this down, and it seems to have to have fixed the locking problem. Thanks!

I have let this languish because I have reconsidered this statement above:

It would be nice if we could back out before waiting for the timeout---that is, to give the option to cancel the operation before it succeeds for times out. Cancellation is generally difficult to get right, so I would like to punt that to a future PR.

If we refactor the model to accept absolute sub-catalog paths, rather than "Go down one level" or "Go up one level," it will be perfectly possible to do cancellation. I think it's important to not make the user wait for the timeout.

This is waiting on #62, in which I can easily implement the proposal in my comment above, and then this will work nicely.


Unable to locate image file, 'perform.html'

During the test conversion for issue #51, the following message was raised:
Unable to locate image file, 'docs/home/12c-ocp-upgrade/section-1-new-features-of-oracle-database-12c/emergency-monitoring-real-time-addm-compare-period-addm-and-active-session-history-ash-analytics/perform.html'

No occurrences were found by the following commands:
find ~/git-repositories/dfhawthorne.github.io/docs -name "*.html" -type f -print0 | \
    xargs -0 grep -l perform.html

scripts/bulk_convert_pages.sh reported:
perform-emergency-monitoring.html
Unable to locate image file, '/home/douglas/git-repositories/dfhawthorne.github.io/docs/home/12c-ocp-upgrade/section-1-new-features-of-oracle-database-12c/emergency-monitoring-real-time-addm-compare-period-addm-and-active-session-history-ash-analytics/perform.html'
Unable to locate image file, '/home/douglas/git-repositories/dfhawthorne.github.io/docs/home/12c-ocp-upgrade/section-1-new-features-of-oracle-database-12c/emergency-monitoring-real-time-addm-compare-period-addm-and-active-session-history-ash-analytics/perform.html'
Unable to locate image file, '/home/douglas/git-repositories/dfhawthorne.github.io/docs/home/12c-ocp-upgrade/section-1-new-features-of-oracle-database-12c/emergency-monitoring-real-time-addm-compare-period-addm-and-active-session-history-ash-analytics/perform.html'
Unable to locate image file, '/home/douglas/git-repositories/dfhawthorne.github.io/docs/home/12c-ocp-upgrade/section-1-new-features-of-oracle-database-12c/emergency-monitoring-real-time-addm-compare-period-addm-and-active-session-history-ash-analytics/perform.html'
Unable to locate image file, '/home/douglas/git-repositories/dfhawthorne.github.io/docs/home/12c-ocp-upgrade/section-1-new-features-of-oracle-database-12c/emergency-monitoring-real-time-addm-compare-period-addm-and-active-session-history-ash-analytics/perform.html'
Unable to locate image file, '/home/douglas/git-repositories/dfhawthorne.github.io/docs/home/12c-ocp-upgrade/section-1-new-features-of-oracle-database-12c/emergency-monitoring-real-time-addm-compare-period-addm-and-active-session-history-ash-analytics/perform.html'
Unable to locate image file, '/home/douglas/git-repositories/dfhawthorne.github.io/docs/home/12c-ocp-upgrade/section-1-new-features-of-oracle-database-12c/emergency-monitoring-real-time-addm-compare-period-addm-and-active-session-history-ash-analytics/perform.html'
Unable to locate image file, '/home/douglas/git-repositories/dfhawthorne.github.io/docs/home/12c-ocp-upgrade/section-1-new-features-of-oracle-database-12c/emergency-monitoring-real-time-addm-compare-period-addm-and-active-session-history-ash-analytics/perform.html'
Unable to locate image file, '/home/douglas/git-repositories/dfhawthorne.github.io/docs/home/12c-ocp-upgrade/section-1-new-features-of-oracle-database-12c/emergency-monitoring-real-time-addm-compare-period-addm-and-active-session-history-ash-analytics/perform.html'
Unable to locate image file, '/home/douglas/git-repositories/dfhawthorne.github.io/docs/home/12c-ocp-upgrade/section-1-new-features-of-oracle-database-12c/emergency-monitoring-real-time-addm-compare-period-addm-and-active-session-history-ash-analytics/perform.html'
Unable to locate image file, '/home/douglas/git-repositories/dfhawthorne.github.io/docs/home/12c-ocp-upgrade/section-1-new-features-of-oracle-database-12c/emergency-monitoring-real-time-addm-compare-period-addm-and-active-session-history-ash-analytics/perform.html'
Unable to locate image file, '/home/douglas/git-repositories/dfhawthorne.github.io/docs/home/12c-ocp-upgrade/section-1-new-features-of-oracle-database-12c/emergency-monitoring-real-time-addm-compare-period-addm-and-active-session-history-ash-analytics/perform.html'

I used the following command to find all images in perform-emergency-monitoring.html:
hxnormalize -xe perform-emergency-monitoring.html | \
    hxselect -s '\n' img

The IMG tags found were:

perform is a PNG file.
The perform file exists as found by the following command:
stat $( \
    hxnormalize -xe perform-emergency-monitoring.html | \
        hxselect -i -s '\n' img | \
        sed -nre 's!.*src="(\.{2}[^"]+)".*!\1!p' | \
        xargs -n 1 realpath | \
        sort -u \
    )

The result is:
  File: /home/douglas/git-repositories/dfhawthorne.github.io/docs/home/12c-ocp-upgrade/section-1-new-features-of-oracle-database-12c/emergency-monitoring-real-time-addm-compare-period-addm-and-active-session-history-ash-analytics/perform
  Size: 73407     	Blocks: 144        IO Block: 4096   regular file
Device: 803h/2051d	Inode: 49834621    Links: 1
Access: (0664/-rw-rw-r--)  Uid: ( 1000/ douglas)   Gid: ( 1000/ douglas)
Access: 2024-03-18 13:49:50.248832138 +1100
Modify: 2023-05-23 11:30:59.021167050 +1000
Change: 2023-05-23 11:30:59.021167050 +1000
 Birth: 2023-05-23 11:30:59.021167050 +1000

I used the file command to determine the contents of that file:
/home/douglas/git-repositories/dfhawthorne.github.io/docs/home/12c-ocp-upgrade/section-1-new-features-of-oracle-database-12c/emergency-monitoring-real-time-addm-compare-period-addm-and-active-session-history-ash-analytics/perform: PNG image data, 796 x 719, 8-bit/color RGB, non-interlaced

The HTML surrounding the first image in the page, perform-emergency-monitoring.html, is:

This should be converted to:

And the following commands should be issued:
git mv \
    'docs/home/12c-ocp-upgrade/section-1-new-features-of-oracle-database-12c/emergency-monitoring-real-time-addm-compare-period-addm-and-active-session-history-ash-analytics/perform-emergency-monitoring-and-real-time-addm/OEM_Emergency_Monitor_Access.png?attredirects=0' \
    'docs/home/12c-ocp-upgrade/section-1-new-features-of-oracle-database-12c/emergency-monitoring-real-time-addm-compare-period-addm-and-active-session-history-ash-analytics/perform-emergency-monitoring-and-real-time-addm/OEM_Emergency_Monitor_Access.png'
git rm \
     docs/home/12c-ocp-upgrade/section-1-new-features-of-oracle-database-12c/emergency-monitoring-real-time-addm-compare-period-addm-and-active-session-history-ash-analytics/perform

See design journal entry for 2024-03-21 for a full discussion.
Replaced all pages in sub-directory with their New Google Sites version.


Only triggering push builds for master.

Checklist

[x] I checked the Contributing Guidelines before creating this request.
[x] New extensions are written in Swift 4.
[x] New extensions support iOS 8.0+ / tvOS 9.0+ / macOS 10.10+ / watchOS 2.0+.
[x] I have added tests for new extensions, and they passed.
[x] All extensions have a clear comments explaining their functionality, all parameters and return type in English.
[x] All extensions are declared as public.
[x] I have added a changelog entry describing my changes.

          4 Messages

:book:
Thank you for submitting a pull request to SwifterSwift. The team will review your submission as soon as possible.

:book:
iOS: Executed 540 tests, with 0 failures (0 unexpected) in 17.668 (18.804) seconds

:book:
tvOS: Executed 506 tests, with 0 failures (0 unexpected) in 3.470 (4.606) seconds

:book:
macOS: Executed 370 tests, with 0 failures (0 unexpected) in 1.137 (1.457) seconds

  Generated by :no_entry_sign: Danger

Fixes #613
Only one build 👍
Seems like its good :))


[Github-Actions] fixing depricated env setup

Github action for publishing artifact has failed as Github deprecated set-env and restricted it from executing in Actions.
Action Failed -> https://github.com/jenkinsci/jenkinsfile-runner/runs/1457703982?check_suite_focus=true

Reference: https://github.blog/changelog/2020-10-01-github-actions-deprecating-set-env-and-add-path-commands/

beta-20 release is broken anyway, but thanks for this fix!

Thanks @babusekaran !


When using with Go 1.15, not able to import this package

when I run github.com/oracle/nosql-go-sdk, it prints go: found github.com/oracle/nosql-go-sdk/nosqldb in github.com/oracle/nosql-go-sdk v1.2.1. But  files in vendor folder are not synced.

Worked by removing //indirect comment in go.mod

Worked by removing //indirect comment in go.mod


Exclude test for getActiveThreadCount in ForkJoinPoolTest.java

Signed-off-by: Simon Rushton<EMAIL_ADDRESS>

Test run https://ci.adoptopenjdk.net/view/Test_grinder/job/Grinder/7206/consoleFull

Fixes https://github.com/AdoptOpenJDK/openjdk-systemtest/issues/408


update to v0.25.0 leads to "Uncaught TypeError: Cannot call a class as a function"

When I update from v0.24.0 to v0.25.0 my app breaks with above error.
This only happens in production, not in dev mode.
Here is my app: https://github.com/barbalex/brexit

This issue could be linked to #473. (I still don't get why the change was made).

Duplicate of #489

I changed the render = () => calls now and hope that production will work.
If I remember right, it is not necessary (as in other functions inside a class) because render binds this (please correct me if this is wrong).
But is there anything saying that binding a render function is wrong?
And I feel that this behavior is very bad as it breaks an app only in production. It really bit me hard.

We had the same issue in the past but with more rare case. As I wrote in related issue it will be good to provide additional checks at dev mode, it can be a good first PR ;-)
About render, Having that there is no documented way to check that something is react class we used undocumented method, and in latest release changed to 'duck typing' check method, both are bad, but latest allows users of Preact and Inferno to use recompose. We are open to better ideas.


AWS VPC site reported as destroyed masking destroy failure

while running terragrunt run-all destroy, the aws-appstack-site-1 module reported a successful destruction. When terragrunt subsequently tried to destroy aws-base-1, an error was returned that its subnets still had dependencies.
aws_subnet.f5-xc-services-internal["az1"]: Still destroying... [id=subnet-0758b315fde555be2, 20m0s elapsed]
╷
│ Error: deleting EC2 Subnet (subnet-0758b315fde555be2): DependencyViolation: The subnet 'subnet-0758b315fde555be2' has dependencies and cannot be deleted.
│       status code: 400, request id: 4c3bd14a-9062-4e9b-93e7-da6dd8e78dce
│
│
╵
╷
│ Error: deleting EC2 Internet Gateway (igw-0193033119e7a8755): error detaching EC2 Internet Gateway (igw-0193033119e7a8755) from VPC (vpc-0d67cd6e2397f6d6f): DependencyViolation: Network vpc-0d67cd6e2397f6d6f has some mapped public address(es). Please unmap those public address(es) before detaching the gateway.
│       status code: 400, request id: 14bd8f70-258d-4653-bbbf-41791f683495
│
│
╵
╷
│ Error: deleting EC2 Subnet (subnet-0f176f351fb7eadc5): DependencyViolation: The subnet 'subnet-0f176f351fb7eadc5' has dependencies and cannot be deleted.
│       status code: 400, request id: 35cba0e9-3f33-4f40-979f-100b39e45e1b
│
│
╵
╷
│ Error: deleting EC2 Subnet (subnet-04c0484d23a97cc9d): DependencyViolation: The subnet 'subnet-04c0484d23a97cc9d' has dependencies and cannot be deleted.
│       status code: 400, request id: 8e8767fb-5263-43fd-a8b8-c6127956bbb6
│
│
╵
ERRO[1224] Terraform invocation failed in /home/user/expensive.food/aws-base-1/.terragrunt-cache/AxdR91sFvJDz83Xpeya5EMk94PI/guhU0ixwR2xAA1bh1htXoRVtKtI  prefix=[/home/user/expensive.food/aws-base-1]
ERRO[1224] 1 error occurred:
        * exit status 1

The F5 Distributed Cloud console showed the AWS VPC site created by aws-appstack-site-1. Trying to run terragrunt destroy in aws-appstack-site-1 resulted in no change because it believed everything was destroyed. Manually requesting a destroy and then a delete, removed the AWS and XC artifacts of the AWS VPC Site.

Observed same error on 2nd TGRD of 2/27
aws_subnet.f5-xc-services-internal["az1"]: Still destroying... [id=subnet-0429baeef37161530, 20m0s elapsed]
╷
│ Error: deleting EC2 Internet Gateway (igw-0d6966c2a7b808bb9): error detaching EC2 Internet Gateway (igw-0d6966c2a7b808bb9) from VPC (vpc-04ad3d9289d06b266): DependencyVioltion: Network vpc-04ad3d9289d06b266 has some mapped public address(es). Please unmap those public address(es) before detaching the gateway.
│       status code: 400, request id: 60e9fb94-3266-4d8a-bf8c-9b68deaad7fa
│
│
╵
╷
│ Error: deleting EC2 Subnet (subnet-0429baeef37161530): DependencyViolation: The subnet 'subnet-0429baeef37161530' has dependencies and cannot be deleted.
│       status code: 400, request id: c2cf3f79-5ddf-4464-9752-6a02bc7b5d3b
│
│
╵
╷
│ Error: deleting EC2 Subnet (subnet-0f8af116204ff8e0f): DependencyViolation: The subnet 'subnet-0f8af116204ff8e0f' has dependencies and cannot be deleted.
│       status code: 400, request id: 4b282772-6dac-4aa0-b62f-db7403a6d661
│
│
╵
╷
│ Error: deleting EC2 Subnet (subnet-0f402de5740fc98db): DependencyViolation: The subnet 'subnet-0f402de5740fc98db' has dependencies and cannot be deleted.
│       status code: 400, request id: 59de21fc-b9ff-4483-a71d-510770e207db
│
│
╵
ERRO[2113] Terraform invocation failed in /mnt/c/Users/piyer/Desktop/GitHub Repos/expensive.food/aws-base-1/.terragrunt-cache/bXt4IiyuwMbb5oQKxHx3fcWSp2k/guhU0ixwR2xAA1bh1htxAA1bh1htXoRVtKtI  prefix=[/mnt/c/Users/piyer/Desktop/GitHub Repos/expensive.food/aws-base-1]
ERRO[2113] Module /mnt/c/Users/piyer/Desktop/GitHub Repos/expensive.food/aws-base-1 has finished with an error: 1 error occurred:
* exit status 1
prefix=[/mnt/c/Users/piyer/Desktop/GitHub Repos/expensive.food/aws-base-1]
ERRO[2113] 1 error occurred:
* exit status 1


Composer is only installing the latest 8.2.4 release though 8.3.x was set

So far I never set the up a proper workflow for testing new stuff with Drupal. So far I ran a standard install on DrupalVM and that worked fine. But when I needed to try a newer Drupal version I manually upgraded and it felt a bit of hacky and cumbersome. Today along the UX sprint day I started first time little steps towards core with a tiny ticket. But it ended while updating to Drupal 8.3.x manually and later copying changed files over to test the changes with a complete unaccessible vm. ;) So I wanted to change a few things. One VM for 8.3.x-dev related stuff and the others with regular. Problem is when I try to set up drupal/core to 8.3.x-dev or 8.3 or 8.3.x inside the durpal.composer.json I end up with 8.2.4anyway. :/ The drupal/core version is the only thing changed in comparison to example.drupal.composer.json.
Inconfig.ymlI basically only adjusted vagrant_hostname and vagrant_machine_name and the username and password for Drupal and MYSQL as well as the DB name. The rest is identical to the default.config.yml . The particular lines relevant for composer are:
build_composer_project: true
drupal_composer_project_package: "drupal-composer/drupal-project:8.x-dev"
drupal_composer_project_options: "--prefer-dist --stability dev --no-interaction"

So the idea was provision the VM when I need the latest Drupal version and after I am done destroy it and in case I need again reprovision for the latest Drupal dev version. Reasonable approach? But regarding the sticking to 8.2.4 I have no idea at all why. :/ Any clues appreciated. :)
Oh and I am running on virtual box 5.1.10, vagrant 1.9.0 and ansible 2.2.0 on OSX 10.11.6. Thanks Ralf

Using build_composer_project: true wont actually use the drupal.composer.json file. It's only used when you have build_composer: true. You can follow the instructions in the docs on how to set it up.

@rpkoller - Yeah, basically, what @oxyc said—you should only use build_composer_project if you want to build a project based on the Composer template (https://github.com/drupal-composer/drupal-project)—that process completely ignores the drupal.composer.json file, and it would require some other work to try to grab a dev/HEAD release of Drupal core.
Please check the docs link @oxyc provided, and if you have any questions about that process, let us know and we can reopen the ticket and discuss. Thanks!

thanks and sorry @geerlingguy @oxyc after yesterdays confusion I was in doubt of everything and not clearly thinking anymore. ;) But reread the documentation in a calm state today and redid the configuration (I already tried parts before but failed). Now it works. Booted with 8.3.0-dev right now. :) thanks!

@rpkoller - Awesome, glad you got it working!


Last Week in Pony - June 16, 2024

Version 0.2.1 of ponylang/pony-language-server has been released.
See the release notes for more details.

New Language Server
Try out the new Pony Language Server! Share your experience on the Zulip!
Try to get it to work with your editor of choice! Contribute installation instructions, if you can.
If something doesn't work as you'd want it to, please create a github issue at our repository.


[WIP] Pigpio spi

This patch makes it possible to use use the python pigpio spi api.
Summery:
The newer Raspberry Pi's (>=2) have two SPI interfaces. But because of a driver issue the second interface is only available  with a other API.
I used for that PIGPIO http://abyz.co.uk/rpi/pigpio/.
Warning: as it currently only a bool is given to decide which interface should be use I switched to a enum based attribute.
This will probably causes in incompatible with older code.
The code is not tested, but open for discuses.

All right - this pull request is in a state of badness!!  :-D
At least some of this has been checked in, right?
What can we do to make sure all this code is rescued and then close the pull request?

Nope. None of this has been pulled in anywhere.
I'll pull it in manually. Shouldn't be too bad.
On Sat, Dec 24, 2016 at 8:31 AM, Tom Swirly<EMAIL_ADDRESS>wrote:

All right - this pull request is in a state of badness!! :-D
At least some of this has been checked in, right?
What can we do to make sure all this code is rescued and then close the
pull request?
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/ManiacalLabs/BiblioPixel/pull/64#issuecomment-269084543,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AA6a6gO8yjMJys-KNIWeRNJ5Yzb3ZxXyks5rLR6egaJpZM4J35xn
.

WTF... why does GitHub now show all commits we've done since this as part of the PR? Arg.

Sorry oversee the last new posts, I waited until the dev branch get more stable,
I saw today that that it get a beta version.

rebased, should now look a bit better.
I geht this driver up to work on an Orange PI lite with the SPIDev interface.
Will test in the next time the other backends.
I will also clean up the rest. Fix other driver depents, tests,...
I also wrote a WS2812 driver over spi, so i needed more outputs :).
The other driver should also been up on github in a few days. only cleanup and testing.
Is this Pull request ok for you? or you want to have the SPI api stable?

I currently not sure why I have different test results.

ok, after a few month later looking on the same problem
I realised that spi1 can also be enabled by a dtoverly
(dtoverlay=spi1-1cs for someone interessted)
so the dirty hack with pigpio isn't needed anymore and the SPI1 port can used as normal dev device
Do you like the new API that an external class is used for the background interface?
If not the pull request can be closed.
Probably i get a way to use an micro controller to have multiple SPI outputs.
So sorry for disturbing the projekt with this pull request.
Nice work so for with the new version, I really like it. Will test performance in the next days :)
thx @rec  @adammhaile

Oops!  Sorry for no response to this thread, I stupidly muted it.

Do you like the new API that an external class is used for the background
interface?

Sounds promising - which commit was this??
On 1 February 2017 at 01:58, TuxCoder<EMAIL_ADDRESS>wrote:

Closed #64 https://github.com/ManiacalLabs/BiblioPixel/pull/64.
—
You are receiving this because you were mentioned.

Same question as Tom. Certainly want to get this in if we can.
On Tue, Jan 31, 2017 at 8:03 PM, Tom Swirly<EMAIL_ADDRESS>wrote:

Oops! Sorry for no response to this thread, I stupidly muted it.

Do you like the new API that an external class is used for the background
interface?

Sounds promising - which commit was this??
On 1 February 2017 at 01:58, TuxCoder<EMAIL_ADDRESS>wrote:

Closed #64 https://github.com/ManiacalLabs/BiblioPixel/pull/64.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/ManiacalLabs/BiblioPixel/pull/64#event-944070395,
or mute
the thread
<https://github.com/notifications/unsubscribe-auth/
AAPdssPkas5aj6DLPcdBowY3eiNMeSUiks5rX9i0gaJpZM4J35xn>
.

--
/t
http://radio.swirly.com - art music radio 24/7 366/1000
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/ManiacalLabs/BiblioPixel/pull/64#issuecomment-276543733,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AA6a6oSghiDUmTxNqoqB7qFinWBW-7kZks5rX9n_gaJpZM4J35xn
.


Add metadata in getRegion tiff output

Currently, when getRegion outputs a tiff image file, it doesn't have any metadata.  It could have pixel size and geospatial information where appropriate.  Perhaps some of this information could be added for png and jpeg as well.

Added in #594.


iOS marker selection

Marker selection for iOS.
To go in #1161

Does this need a rebase to get the circle builds working?

Yes it does, in the process of rebasing the whole thing :)


Dependency management for Cloud compatibility

@kaushalmall @davidjgonzalez
Tested and working on AEM 6.5.0

@davidjgonzalez this is building fine in local but not on CI. I don't see any errors in logs. This started happening after adding sdk dependency to core pom.

Replaced by #577


Automated cherry pick of #90: Make KFCTL E2E tests self contained in repo

We deleted kfctl testing codes in kubeflow repo but in v0.7 kfctl repo E2E tests depend on them.
Notebook test was disabled because the fix was in #142

This change is

/lgtm
/approve

/retest

@gabrielwen instead of commenting out the tfjob and notebooks test, can we mark them as expected to fail?
Can you call this out in the PR description please? Do we have issues tracking fixing and enabling the tests that we can link to?

@gabrielwen instead of commenting out the tfjob and notebooks test, can we mark them as expected to fail?
Can you call this out in the PR description please? Do we have issues tracking fixing and enabling the tests that we can link to?

we don't have tracking issues for them.  both tests are fixed in master branch, do you think we need to cherrypick those PRs to v0.7 branch as well?  or should we leave 0.7 branch only testing on build and deploy as it is right now?

/retest

@jlewi the test is fixed.

/lgtm


get context of next customElement ancestor

Just wanna share a quick and dirty solution of getting the context kinda working.
Needs a new method in the wrapper class:
getAncestorContext( node = false )  {
    while ( node.parentNode ) {
        if ( node._root?.elem?.$$?.context  ) {
            return node._root?.elem?.$$?.context
        }
        node = node.parentNode
    }
    return false
}

And then adopt the context in the opts.component constructor:
connectedCallback(){
    let props = opts.defaults ? opts.defaults : {};

    // ...

    props.$$slots = createSlots(slots)
    this.elem = new opts.component({
        target: this._root,
        context: this.getAncestorContext(this?._root), // add the context to the component
        props
    });
}

Usage for example with a writable:
Parent:

{$yourName}

Child:

{$yourName}

<button on:click={updateName}>Update the Name</button>

Hi @Vanillabacke! Thanks for making this suggestion.
Just wanted to let you know that context support is now available for custom elements in Svelte! Thanks to svelte-retag starting in version 1.3.0 :slightly_smiling_face: See demo @ https://svelte-retag.vercel.app/ and implemented in https://github.com/patricknelson/svelte-retag/pull/18
IMHO, this is a huge leap toward bridging the gap between legacy apps (like ebayinc.com which is a PHP based website) and modern JS component-based front-ends by utilizing a hybrid approach with web components. You keep things composable and continue to populate the data into your front-end by taking a tag-based approach like you might already be doing in other server-side languages like PHP, Ruby, Python, Java and etc. It includes support for light DOM as well as support for slots (something Svelte itself notably doesn't yet support!). I'm so pumped about this last feature because we're going to be using it very heavily in the redesign of the ebayinc.com homepage, which will be implemented using Svelte, particularly with the carousels we will be building.

Hi @patricknelson finally I had some time for testing it.
In short I love it! 😅
As far as I've tested it, this gives a huge advantage. Thanks a lot for implementing it! I can see a lot of usecases, especially for small projects, where you just simple reuse alle the stuff easily without heavy scripts ❤

Cool! I'm using it heavily in production myself, so I plan on supporting it long term. If you encounter any issues, you know what to do.


CrashPlanEngine keeps restart loop even after reducing backup size

I have A 2GM RAM Synology and didn't know that would be an issue to make a backup larger than 2Tb.
So I realized my Docker container has been rebooting for many days. Since I cannot allocate more RAM I reduced the backup size by removing folders from the backup on the website hence reducing the backup to 1.5Tb.
But the container is still stuck and keeps on rebooting. What can I do?

It seems that 2GB of RAM is not enough when running CrashPlan on Synology (especially with a huge amount of data to backup).  See https://github.com/jlesage/docker-crashplan-pro/issues/82 and https://github.com/jlesage/docker-crashplan-pro/issues/160.
CrashPlan recommends 1GB or memory per TB or storage.  Also, don't forget that CrashPlan is not the only one using memory on the system...

Ok, this should help a lot.
I'm closing the issue, please reopen if needed.


Try CodeMirror source code editor

Trying to use https://codemirror.net/
@mdinsmore Do you think this looks OK?

I have put the JS and CSS files in the base app.
Does the CodeSnippet model belong in the cms app?

My notes: https://www.pkimber.net/open/dev-codemirror.html

Moved to compose


[Help]: How do I use the fast MaskGCT model?

I see a dev has uploaded a fast MaskGCT model. How do I use it?
https://huggingface.co/Hecheng0625/fast_maskgct

We are actively developing it together with more fast tts models, thanks for the attention and we'll release them soon before new year

We are actively developing it together with more fast tts models, thanks for the attention and we'll release them soon before new year

Thank you for your work. There is a 'fast_soundstorm' folder in HF, will this be your implementation of Google's SoundStorm? It's another TTS model, right?
Will the new Fast MaskGCT version have the same VRAM requirements or will it be more optimized?
Lastly, is there any change in the release date? If so, any new ETA?
Sorry for the bother and thank you again.

We are actively developing it together with more fast tts models, thanks for the attention and we'll release them soon before new year

Thank you for your work. There is a 'fast_soundstorm' folder in HF, will this be your implementation of Google's SoundStorm? It's another TTS model, right? Will the new Fast MaskGCT version have the same VRAM requirements or will it be more optimized? Lastly, is there any change in the release date? If so, any new ETA? Sorry for the bother and thank you again.

Thanks for asking!
You can already find the soundstorm NAR module in current MaskGCT codes.
VRAM requirements will be reduced
For the ETA, we try our best to do a major release in January, this means a slight delay but more codes, checkpoints, and experiment results are coming.


TCP payload size

If the NATS server has a backlog of messages to send to the client, or the next message is larger than the read size the parser will fail. If the library used some kind of internal buffer larger than the largest reasonable message size expected (max payload bytes + boiler plate + header expectation) then this would be somewhat self healing, at least in the case of many messages, since some of the messages would be popped from the buffer, leading to more writes to the buffer (hopefully getting to the end of a message).
This does add some complexity, and there doesn't seem to be a good way to predict the largest message size since headers have been added.

I think the best way of dealing with this might be to make it configurable to the end user i.e. configure the library to expect messages of x bytes. That way the end user can define how much memory will be used to buffer the socket.


As standard user I can't edit cluster I created

As Admin:

Create user with Standard-User Global Permissions

As user:

Create RKE2 cluster: Cluster Management -> Create -> RKE2 (DO)
Refresh page in browser
Open Cluster Management -> cluster -> Edit Config

Result: Page is stack at Loading...
Error in console: TypeError: object null is not iterable (cannot read property Symbol(Symbol.iterator))
Tested on: v2.6-head (9d2e086)

403 when fetching digitaloceanconfigs.rke-machine-config.cattle.io (/v1/rke-machine-config.cattle.io.digitaloceanconfigs/fleet-default/nc-richard-cox-rke2-user-pool1-gwlj7)
client.js?06a0:97 TypeError: object null is not iterable (cannot read property Symbol(Symbol.iterator))
    at _createForOfIteratorHelper (rke2.vue?4a6e:51)
    at VueComponent.nodeTotals (rke2.vue?4a6e:501)

I think this is a problem with construction of the resource type, rke-machine-config.cattle.io.digitaloceanconfigs exists, not the other way around. Will investigate

On refresh I can't see the edit option for the cluster, but when viewing the config get a similar error when tryn
/v1/rke-machine-config.cattle.io.digitaloceanconfigs/fleet-default/nc-richard-cox-rke2-user-pool1-gwlj7
message from response was message: "digitaloceanconfigs.rke-machine-config.cattle.io "nc-richard-cox-rke2-user-pool1-gwlj7" is forbidden: User "u-bvws9" cannot get resource "digitaloceanconfigs" in API group "rke-machine-config.cattle.io" in the namespace "fleet-default": RBAC: [role.rbac.authorization.k8s.io "crt-minikube-cluster-member" not found, role.rbac.authorization.k8s.io "crt-richard-cox-rke2-user-cluster-owner" not found, role.rbac.authorization.k8s.io "crt-c-7r2dg-cluster-owner" not found]"_

I'm not sure what was causing the previous error, but i cleared out all clusters and tried again.
It doesn't look like the permissions to rke-machine-config.cattle.io.digitaloceanconfigs are getting updated following a user gaining access to their first cluster (even after many minutes and refreshes).
/v1/schemas/rke-machine-config.cattle.io.digitaloceanconfig contains no resourceMethods GET, only collectionMethods POST
/v1/rke-machine-config.cattle.io.digitaloceanconfigs returns an empty list
as per above /v1/rke-machine-config.cattle.io.digitaloceanconfigs/<namespace/<id> returns 403
The user has a management.cattle.io.clusterroletemplatebindings with cluster-owner
@dramich Could you assist?

Adding this as a release blocker as it effects the non-admin cluster experience stories

I shall take a look

@richard-cox The backend for this is in.

Looking good! Moving to... to test

Works fine on v2.6.0-rc3, I can open Edit Config menu as user


Logo tweak

Could we tweak the logo so it says just "---CLOUD---" instead of "---JUPYTERHUB---"?

the logo has been changes to say  CLOUD

Cool, thanks!


[cucumber-expressions] Handle multiple capture group regexps for matching

Summary
When creating a new transform with multiple capture group regexps, cucumber fail to match expressions that are not using the first capturing regexp.
For instance, a transform with the captureGroupRegexps with the value ['red', 'yellow'] would fail to match an expression containing yellow.
Details
The matching expression is now a disjonction of all the capturing regexps using non capturing group (with (?:...)).
Motivation and Context
I had an issue when using multiple regexps for the same transform as it was only matching the first one. This commit fix it.
How Has This Been Tested?
I added one test that use the second regexp of the captureGroupRegexps option of a transform (and that is not matching a subset of the first regexp).
Types of changes

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

Checklist:

[x] I've added tests for my code.
[ ] My change requires a change to the documentation.
[ ] I have updated the documentation accordingly.

Thanks for this! I'll merge it as after I've implemented a Java and Ruby implementation too.

What a great patch @gpichot - really well done.

Thanks for the merge @aslakhellesoy ! :)


Fix: multi level blockquote HTML to Markdown

Details

This is follow up from https://github.com/Expensify/expensify-common/pull/693
Fixed Issues

$ https://github.com/Expensify/App/issues/40571
PROPOSAL: https://github.com/Expensify/App/issues/40571#issuecomment-2070373808
Tests

On Workspace description, use ">>> ABC"
save the new description and edit it again
verify that the displayed value to edit is the same ">>> ABC" and not "> ABC"

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

Offline tests

QA Steps

On Workspace description, use ">>> ABC"
save the new description and edit it again
verify that the displayed value to edit is the same ">>> ABC" and not "> ABC"

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

PR Author Checklist

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

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

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

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

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

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

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

[x] I verified all numbers, amounts, dates and phone numbers shown in the product are using the localization methods
[x] I verified any copy / text that was added to the app is grammatically correct in English. It adheres to proper capitalization guidelines (note: only the first word of header/labels should be capitalized), and is either coming verbatim from figma or has been approved by marketing (in order to get marketing approval, ask the Bug Zero team member to add the Waiting for copy label to the issue)
[x] I verified proper file naming conventions were followed for any new files or renamed files. All non-platform specific files are named after what they export and are not named "index.js". All platform-specific files are named for the platform the code supports as outlined in the README.
[x] I verified the JSDocs style guidelines (in STYLE.md) were followed

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

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

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

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

[x] If the PR modifies code that runs when editing or sending messages, I tested and verified there is no unexpected behavior for all supported markdown - URLs, single line code, code blocks, quotes, headings, bold, strikethrough, and italic.
[x] If the PR modifies a generic component, I tested and verified that those changes do not break usages of that component in the rest of the App (i.e. if a shared library or component like Avatar is modified, I verified that Avatar is working as expected in all cases)
[x] If the PR modifies a component related to any of the existing Storybook stories, I tested and verified all stories for that component are still working as expected.
[x] If the PR modifies a component or page that can be accessed by a direct deeplink, I verified that the code functions as expected when the deeplink is used - from a logged in and logged out account.
[x] If the PR modifies the UI (e.g. new buttons, new UI components, changing the padding/spacing/sizing, moving components, etc) or modifies the form input styles:

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

[x] If a new page is added, I verified it's using the ScrollView component to make it scrollable when more elements are added to the page.
[x] If the main branch was merged into this PR after a review, I tested again and verified the outcome was still expected according to the Test steps.

Screenshots/Videos

Android: Native

Android: mWeb Chrome

iOS: Native

iOS: mWeb Safari

MacOS: Chrome / Safari

MacOS: Desktop

@dragnoir Looks like we always reference the commit hash rather than using the version number (not entirely sure why!). If you can try that and see if it works, that'd be great. We can then move forward with testing & screenshots, but I think we need to hold on actually merging this until this issue is resolved cc @MonilBhavsar

Looks like the version is gonna be bumped in this PR, let's close this @dragnoir.

https://github.com/Expensify/App/pull/42387 was just merged 🚀


PoC: stop gap for pausing/resuming timeouts

For an explanation of how to fill out the fields, please see the relevant section
in PULL_REQUESTS.md
Description:
Risk Level:
Testing:
Docs Changes:
Release Notes:
[Optional Fixes #Issue]
[Optional Deprecated:]

I know this is only a PoC, but just wanted to call out that resetting the timeout on an interval can be done in C++ as well, and if we go that route, that has the advantage of only requiring a single implementation of the timing aspect. Naturally, not a requirement though.

@goaway Yeah, I recognize that could be a solution here. I'm still kind of weighing the cost/benefit of implementing this. For now, I think we can hold off on a change like this since it is primarily to help improve the testability of the application code

Going to close this PR for now


High Memory Usage on Ubuntu

Ubuntu 16.04.1 and 14.04.5 - installed from latest docker image.
Each instance of powershell shows as using ~80MB of RAM - 3-4x the amount it uses on Win10 on the same hardware:
PS /> top -b
top - 12:38:47 up 1 day, 22:01,  0 users,  load average: 0.23, 0.12, 0.07
Tasks:   4 total,   1 running,   3 sleeping,   0 stopped,   0 zombie
%Cpu(s):  1.0 us,  0.2 sy,  0.0 ni, 98.6 id,  0.2 wa,  0.0 hi,  0.0 si,  0.0 st
KiB Mem :  2048456 total,    93428 free,   671832 used,  1283196 buff/cache
KiB Swap:  2095100 total,  1992348 free,   102752 used.  1129180 avail Mem

  PID USER      PR  NI    VIRT    RES    SHR S %CPU %MEM     TIME+ COMMAND
    1 root      20   0   18236   3268   2796 S  0.0  0.2   0:00.00 bash
  459 root      20   0 2992440  85504  53208 S  0.0  4.2   0:02.78 powershell
  556 root      20   0 2983392  77372  50192 S  0.0  3.8   0:01.93 powershell
  575 root      20   0   36532   3052   2692 R  0.0  0.1   0:00.00 top

This seems like an unnecessarily high amount of usage

https://www.youtube.com/watch?v=8iztXdjBDMw&feature=youtu.be

Virtual memory is only allocated in physical RAM and/or swap, then it is used.

True, but I'm referring to real memory in this instance, not virtual.

I'm running ConEMU on a Windows 10 Pro 1803, and the latest pwsh binary takes around 82.4MB per instance, whereas the default Windows Powershell (5.1.17134.165) takes only 42.3MB. Cmd takes a paltry 1.5MB.

@SteveL-MSFT @daxian-dbw We need to close the issue or update because we already is on .Net Cor 3.0.

@elliotd123 please comment or reopen this issue if this is still an issue with PS7 Preview.  Thanks.


Unclear on how to install/use GPU for this

Hi there,
Thanks for open sourcing this project, it's a super cool tool you've built, I'm having lots of fun playing with it.
I'm having a go at running DeepForest over a big area and was hoping to use a Google Cloud based VM with GPU attached for this purpose.
However, the version of TensorFlow that DeepForest uses (v1.14) seems to be quite old and isn't supported by GC anymore, so I can't use any of their off-the-shelf deeplearning VM images (which come with CUDA and cuDNN installed and working).
I've tried to make my own VM to the same effect, but when I install Deepforest, it uses tensorflow=1.14 not tensorflow-gpu=1.14 (which is likely what is missing based on https://www.tensorflow.org/install/gpu).
I'm curious as to if anyone has any experience/recommendations for getting DeepForest working with GPU.
My thoughts are either:

using a more recent version of TF (does that still work with DeepForest, or are there non-backwards compatible API changes or similar that break DeepForest?),or;
changing the environment.yml to tensorflow-gpu and then installing from a local version of the repo.
Has anyone tried these and had success?

Any other thoughts/tips/warnings in general about DeepForest with GPU?
Thanks!

Mike

Hey Mike I didn't see this until today.  There is no issue using deepforest on GPU, we do it daily. Any machine that installs tensorflow 1.14.0 will detect it like normal. Yes, there is a more recent tf version, but there are many thousand open source projects using pre 2.0 code. We will update it sometime next year, its a bit of a chore. Just install in a conda env and pin the tensorflow version.
I just did
conda create --name test python=3.7
conda activate test
pip install DeepForest
pip install tensorflow-gpu==1.14.0

and you should be good to go. Drop some code in here if you need help.