Rewrite of self-tracing in Cassandra3 storage

Self Tracing used in combination with a Zipkin-tracing Cassandra installation does not work (recursion of traces).
This rewrites the self-tracing implementation from using a java.lang.reflect.InvocationHandler to subclassing the CQL driver's AbstractSession class.
Avoiding the repeated self-tracing of self-tracing generated spans is done through a combination of adding a binary annotation to the span and a flag to the statement's
outgoing payload.

This is as much an experiment and alternative approach and as improvement.
A point for discussion, if you like.
Whether it is merged or not I have no care about.

Thanks for putting this together. It made me think! long thoughts about the thing in general
Client-tracing in C* is not yet transparent
Regardless of how we coordinate, we need to coordinate. Ex you introduce a special binary annotation, before we also had to do work to control names (especially as datastax nixed the ability to have client-side metadata). I needed to use a proxy to make it drop-in (without collaboration code from the caller). This is a similar problem in Kafka, except easier in Cassandra as at least there's a server-hook.
I should have written tests on server tracing
A lot of things had to happen before the storage layer could be decoupled from the trace layer explicitly, with short, low-cardinality span names and without async bugs. It took more than a couple days to get this working. When thinking about tests, I realized it would likely take a few days to create them (as it needs to read back and forth to figure out things). I special-cased with flags, smaller entry scope instead, and zero coordination instead of investing more time to make this a real tracer. If I wrote tests, we'd know that this is a drop-in or not. Now, we don't.. at least not without eye-balling spans and running manually.
End notes
Regardless of which approach is used, it is probably mutually obvious that the code involved is probably better off as a library, particularly when it aims to act generically (ex work on any Statement). If such a library could drive changes in the datastax api to make it more transparent, far more than self-tracing would benefit.

gonna close this as from your description you seemed to be most interested in feedback. I'd like to keep the PR queue clean as possible. If I closed this too early, please re-open!


[Feature Request] Prioritize searches containing any of substrings by their defined order

Certain release groups are more likely to be cross seeded than others like NTb. So searching for those first would have cross seeding happen quicker when searching on a new indexer. I've implemented this on my own branch and it dramatically speeds up matches 10x.
Very simple change, only needs to sort results in pipeline.ts findSearchableTorrents():
...

// Prioritize searches that contain any of substrings by their defined order, case-sensitive
if (prioritizeSubstrings.length > 0) {
	filteredTorrents.sort((a: Searchee, b: Searchee) => {
		for (const substring of prioritizeSubstrings) {
			if (a.name.includes(substring) && !b.name.includes(substring)) {
				return -1;
			} else if (!a.name.includes(substring) && b.name.includes(substring)) {
				return 1;
			}
		}
		return 0;
	});
	logger.info({
		label: Label.SEARCH,
		message: `Prioritized searches containing any of [${prioritizeSubstrings}] by defined order`
	});
}

return { samples: filteredTorrents, hashesToExclude };

If accepted, will create the PR.

I'm not sure I understand what this accomplishes in practice. Given that initial searches would be what I think you are implying benefit from this, since most cadence level searches shouldn't take that long, on top of RSS or autobrr catching most of the potential cross-seeds, or being limited in # of searches with excluding...it would seem like the benefit of at most a few days, in the worst case, of seeding time on what would in almost every case be older stuff is pretty negligible?
I'd be interested to hear what this provides from someone who uses it (you) if you don't mind.

Yes, it would only be for initial searches / new database. The initial search for me takes about 4 weeks to complete as I use a 5min delay. By prioritizing certain groups, I would get 90% of the cross-seeds in a few days. Lots of places gives points based on seed size so this builds buffer quickly.
I know it's a pretty niche use case but very impactful when needed. It's low hanging fruit with no downsides, easy to maintain too. Just adds an array to the config and use a trivial sorting algorithm in a single place.
I've already gotten my use out of it and can easily maintain this feature in my fork. But I'm sure some else would love this.

Search order now matters with the caching and this isn't that useful. Not worth implementing.


Fix saving of refresh stats

Depends on:

[ ] https://github.com/ManageIQ/manageiq/pull/15761

The batch disconnected records were not stored in stats. Do batch update stats for the whole batch at once.

@miq-bot assign @agrare
@miq-bot add_label bug


(Syntax) Better method chaining

Say you had the following in Java:
int lines = sc.textFile("README.md").count();

The same thing in Eta (with appropriate imports) is:
lines <- sc <.> textFile "README.md"
             >- count

Suggestions for alternatives to <.> and >-?

We should find a way to overload <.> such that
lines <- sc <.> textFile "README.md"
            <.> count

does what's intended.


Fix grammar errors

Description
I noticed some grammar errors in the README.md, they were small grammar errors.
Motivation and Context
The docs' writing will be more understandable and readable.
How Has This Been Tested?
By looking at the README and reviewed.
Types of changes

[ x] Bug fix (non-breaking change which fixes an issue) EDIT: this fixes grammar errors in the README
[ ] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to change)

Checklist:

[ x] My code follows the code style of this project.
[x ] My change requires a change to the documentation.
[ x] I have updated the documentation accordingly.
[ x] I have read the CONTRIBUTING document.
[x ] I have added tests to cover my changes. No tests required for a README file
[ x] All new and existing tests passed. No tests required for a README file

Thank you 👍

Thank you for merging that pull request, that was my first ever pull request and it was accepted!


When is active, the Spotlight shortcut stopped working

The Cmd + Space shortcut, its not working.

@Aahung I have the same issue, here's the log for cmd spacebar:
1529660969.939110	 Key(49)	 Event(11) DISMISSED
1529660969.938952	 Key(49)	 Event(10) DISMISSED
1529660969.936624	 Key(49)	 Event(11)
1529660969.744665	 Key(49)	 Event(10)

@azeemmohd is it for a single "CMD+SPACE" hit or two?

Single.

@azeemmohd That's odd, on my Mac when I hit "CMD+SPACE", there are only two lines, and you get 4 lines, which means "keydown + keyup + keydown + keyup"
1529661297.247138	 Key(49)	 Event(11)
1529661297.192024	 Key(49)	 Event(10)

@azeemmohd can you try this version I just created? It will ignore "space" key for good.
Unshaky.app.zip

Perfect. Works like a charm. :)
On Fri, Jun 22, 2018 at 3:30 PM _sam<EMAIL_ADDRESS>wrote:

@azeemmohd https://github.com/azeemmohd can you try this version I just
created? It will ignore "space" key for good.
Unshaky.app.zip
https://github.com/Aahung/Unshaky/files/2127171/Unshaky.app.zip
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/Aahung/Unshaky/issues/1#issuecomment-399391317, or mute
the thread
https://github.com/notifications/unsubscribe-auth/AGcUCkyYDjWgCnUNwadSIAVxZgJtqs4pks5t_MBKgaJpZM4UyZ2e
.

@azeemmohd Cool I will update the release with this version.

Since I cannot let it reappear on my Mac, I will leave this issue open for now.

@valencar @azeemmohd , what are your OS versions? I wanna if it has something to do with it, like issue #5.

I believe this issue is related to #8. I user from reddit reported his log

I believe this issue is related to #8. I user from reddit reported his log below
First cmd + space (in that order)
1539852170.130042	 Key(55)	 Event(12)
1539852170.129072	 Key(49)	 Event(11) DISMISSED
1539852170.128513	 Key(49)	 Event(10) DISMISSED
1539852170.125920	 Key(49)	 Event(11)
1539852170.010203	 Key(49)	 Event(10)
1539852169.968837	 Key(55)	 Event(12)

Second
1539852217.898928	 Key(55)	 Event(12)
1539852217.882102	 Key(49)	 Event(11) DISMISSED
1539852217.881431	 Key(49)	 Event(10) DISMISSED
1539852217.878896	 Key(49)	 Event(11)
1539852217.752121	 Key(49)	 Event(10)
1539852217.677462	 Key(55)	 Event(12)

Third try
1539852269.224504	 Key(49)	 Event(11) DISMISSED
1539852269.223897	 Key(49)	 Event(10) DISMISSED
1539852269.222948	 Key(49)	 Event(11)
1539852269.214551	 Key(55)	 Event(12)
1539852269.070696	 Key(49)	 Event(10)
1539852268.983720	 Key(55)	 Event(12)

Notice key 55, which is command key, is registered. While on my Mac (and some other users) the command key is never registered in debug mode. Maybe this is the reason why I can never make this issue appear on my Mac. I will look into it later.

I think I was wrong, 55 indeed showed up on my Mac :-(

More report from that user: option+space does not induce two consecutive spaces. So command key is the reason.
And here's option+space:
1539853598.433661	 Key(49)	 Event(11)
1539853598.418123	 Key(58)	 Event(12)
1539853598.325666	 Key(49)	 Event(10)
1539853598.272385	 Key(58)	 Event(12)

I worked around by setting the ms of delay for only the spacebar to 0. So far so good...

I just submitted pull request #18  for this issue. As you said @aahung , this is related to #8.
Key presses with CMD pressed results in double events in rapid succession, but it's possible to check event flags and ignore the duplicate if needed.

@ghost711 you found it out. That's awesome! I never could reproduce this problem on my Mac.

@aahung Somehow the build I have built for myself including all the latest commits from the dev branch still have the issue with CMD + space.

@daothanhduy305 Currently dev branch is a failed experiment 😞. The PR #19 might resolve the CMD+SPACE issue, but create other issues. So a fully working workaround will come in the (foreseeable) future.

Damn, that's too bad.  It's still working perfect for my machine. Guess there must be more variables than I thought at first.  Oh well.  Good luck!

As @ghost711 said, it might be ok now to try out #19 (just with a very small issue I think: possibly CMD+SPACE double press). I think I will soon come up with something adopting #19 method and in the meanwhile does not break the original functionality.

Guys, please try this version of Unshaky (v0.3.0) and turn on the option below:

Thanks, I'll try it later. Mine is currently at an AASP for a keyboard repair (Not only duplicating the spacebar but also it doesn't work for some pressing position).

@daothanhduy305 that is great!


EncryptedContent needs to be implicitly tagged and not explicit

Name of feature:
bug: EncryptedContent needs to be implicit but tagged explicit
Pain or issue this feature alleviates:
Against stricter parsers the emitted EncryptedContent fails to get parsed since it's considered explicit and not implicit
In what environments or workflows is this feature supported?
I am currently using: go version go1.20.7 darwin/amd64
Supporting links/other PRs/issues:
Issue filed: https://github.com/mozilla-services/pkcs7/issues/84
PR opened here as well: https://github.com/mozilla-services/pkcs7/pull/83
Related fix: https://github.com/fullsailor/pkcs7/commit/cddbb99c85db9a927ad8f22bedf5891e1c7fe934 But this is not sufficient to make the emitted EncryptedContent implicit.
💔Thank you!

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

➜  pkcs7 git:(dev/grk/rfc_deviation__EncryptedContent) ✗ GODEBUG=x509sha1=1 make test
go test -covermode=count -coverprofile=coverage.out .
ok  	go.mozilla.org/pkcs7	25.296s	coverage: 69.2% of statements

Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.

Just fyi, I have completed this requirement.

Thank you, @grk-it. Am going to take a look soon!

Closing this in favor of #19. @grk-it could you (re)approve the CLA?


Issue 17127 - bad example code for std.concurrency.Generator

Split-up of https://github.com/dlang/phobos/pull/5603 to see which test is failing for 32-bit on the auto-tester.

Seems like the Jenkins instance is running out of space:
/var/lib/jenkins/dlang_projects/rejectedsoftware/vibe.d/web/.dub/build/library-debug-linux.posix-x86_64-dmd_2077-1C2854E892D43B7F2EDB1600D2705677/: No space left on device

script returned exit code 2

The documentation examples are supposed to show the best practices of using the provided functionality,

Fair enough - rebased.


Added 'Download Data and Concepts' section

This is all I really wanted to add. I mainly wanted to make sure the download and concept links were together in at least one place. I would refer AMIA Datathon participants to this gh pages site for more info on Synthea/the synthetic data.
Anything else you think we should add?

If we're linking to the full 1 million patients we should probably indicate the file size and provide more clarity about what that file actually includes. People might click out of curiosity but not actually want to download a multi-GB file, or they may not want FHIR, etc.

How do you think we should present these links then? Maybe more download buttons on the sidebar for each file? Maybe we have links to download 1k, 10k, and 100k patients as well?

You don't actually have any files to download... don't you think those should be linked before we merge this?

The following are currently live and valid links:
concepts.csv:
https://syntheticmass.mitre.org/downloads/2017_03_20/concepts.csv
1k patients (25.7kB):
https://syntheticmass.mitre.org/downloads/2017_04_06/synthea_1k.tar.gz
1M patients (29GB):
https://syntheticmass.mitre.org/downloads/2017_02_27/synthea_1M.tar.gz
I'm not sure what happened to the 10k and 100k files but I'm re-generating them now. I'll post an update when those files are linked.

The files only need to be as up-to-date as the data on the FHIR server. Which we don't update continuously. They do not to be as up-to-date as master.

If you look at the links that Dylan added to the branch, you'll see that they link to href="#" which isn't going to be helpful. Please update those links in the code.

Closing this now that the new version of the site is up.


Contribution

I forked the original repo about a year ago and converted to webpack among other modifications and have also been making adjustments for myself along the way.

@shank-eric There are too many conflicts, it would be best to fork our work as a lot has been done to our main branch over boukestam's branch as we are 46 commits ahead of him. I don't want to work through the cleanup of code or changes we implemented since work on his branch stopped last year. I am going to close this out. I would recommend forking our main branch and implement your changes so we know they are not conflicting and submit them.

is it OK if I merge it into my branch instead and resolve the conflicts that way?

That's just fine

I believe I have a successful merge to my develop branch, but I know this is a huge injection of code, so I've looked into creating a merge back with when I first did the webpack restructuring.  I merged inbox-reborn:master into this branch and that brings the changes way down: https://github.com/team-inbox/inbox-reborn/pull/24.  Thanks for the patience while I figure out how to get things integrated! 🙂


Fix test EnvironmentsService_ListRecipes

Just a small test fix

Thanks.  That was one of the things I wanted to get to.  I also plan to change the tests to use assert instead of the somewhat random mix of reflect and other things we do now.


[CP Staging] fix(38362): add optional chain for stopasync video ref

Details

Fixed Issues

$ https://github.com/Expensify/App/issues/38362
PROPOSAL: https://github.com/Expensify/App/issues/38362#issuecomment-1998649634
Tests

Video regression testing:

Open a report with a video

Play the video

Navigate to a different report

Open a report with a video

play the video

scrub the video

open it in full screen

close it

open a report with multiple videos

Switch between pausing and stopping between videos

Play an existing video

Upload a video

Play it in the attachment preview

cancel upload

resume playing existing video

play an existing video

upload a video

play uploaded video

open a report with a video

Download from three dot button

Go to full screen, download from there

open a report with a video

Change playback speed with three dot button

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

Offline tests

We can perform the same happy path tests but after playing the video we go offline:
For example:

Open a report with a video
Play the video
Go offline
Navigate to a different report

QA Steps

Open a report with a video
Play the video
Navigate to a different report

[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

https://github.com/Expensify/App/assets/157416545/fc9b0e48-87fd-407a-b137-0c8909c16542

Android: mWeb Chrome

https://github.com/Expensify/App/assets/157416545/d35106d0-6f5e-48b3-a820-b5d8c70854c1

iOS: Native

https://github.com/Expensify/App/assets/157416545/eb259fc1-6ace-45c2-a2f1-da4a950e06f6

iOS: mWeb Safari

https://github.com/Expensify/App/assets/157416545/89bf782f-66f4-4f14-80c0-904d5192f667

MacOS: Chrome / Safari

https://github.com/Expensify/App/assets/157416545/02383e56-338a-4836-ab92-850175757ab6

MacOS: Desktop

https://github.com/Expensify/App/assets/157416545/a45a489a-84c0-4614-bf77-492a3af9cdca

Reviewer Checklist

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

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

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

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

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

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

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

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

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

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

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

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

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

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

[x] If a new page is added, I verified it's using the ScrollView component to make it scrollable when more elements are added to the page.
[x] If the main branch was merged into this PR after a review, I tested again and verified the outcome was still expected according to the Test steps.
[x] I have checked off every checkbox in the PR reviewer checklist, including those that don't apply to this PR.

Screenshots/Videos

Android: Native

Android: mWeb Chrome

iOS: Native

iOS: mWeb Safari

MacOS: Chrome / Safari
https://github.com/Expensify/App/assets/108292595/a69898c2-ba00-42ea-a68a-9e16dff9a45c

MacOS: Desktop

Tests were passing

🚀 Cherry-picked to staging by https://github.com/luacmartins in version: 1.4.52-6 🚀

platform
result

🤖 android 🤖
success ✅

🖥 desktop 🖥
success ✅

🍎 iOS 🍎
success ✅

🕸 web 🕸
success ✅

@Expensify/applauseleads please QA this PR and check it off on the deploy checklist if it passes.

🚀 Deployed to production by https://github.com/Beamanator in version: 1.4.52-6 🚀

platform
result

🤖 android 🤖
success ✅

🖥 desktop 🖥
success ✅

🍎 iOS 🍎
success ✅

🕸 web 🕸
success ✅


query collection to documents

How do I query collections through dynamic ids to get to documents based on a dynamic route parameter?
   this.items = db.collection('items').valueChanges();

@famousTM , You can write like this.
this.items = this.activatedRoute.params
.switchMap(params =>
db.collection('items')
.doc(${variablename}) // <= how do I make this a dynamic id (AUTO-ID)
.valueChanges());
}
Template string syntax.

https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Template_literals
Reference this article


Per-service setting is not possible for annotated service

A user can configure per-service settings using fluent Route API.
However, this is only for the services which implement HttpService, not for the annotated service.
We should provide a way for annotated service as well.

Hi @trustin @minwoox @ikhoon ,
I think what we could do is, add an annotation called @Configuration that has properties/fields that reflect all the settings that Route api supports. For example a user can declare @Configuration(maxRequestLength = 1024, requestTimeoutMillis=5000) like this on a service method. Instead of creating a new Annotation(in this example @Configuration), we can also introduce route specific properties on @Path. What do you think?
If you guys have anything else in mind please feel free to share it so I can implement it.

How about just adding buildAnnotated(Object) to ServiceBindingBuilder?

Hello, @sivaalli! Thanks for the suggestion. However, I think adding more annotations is the last thing I want to do. 😄
Had a chat with @trustin and we thought adding a builder would be enough for this.
ServerBuilder sb = Server.builder()
                         .annotatedService() // Not sure this is the best name.
                         .requestTimeoutMillis(5000)
                         .contentPreview(...)
                         ...
                         .build(object); // Return to the ServerBuilder

All the properties that a service might want to set separately are gathered in AbstractServiceBindingBuilder thanks to @ikhoon.
However, the builder for annotated service just cannot inherit from it because of AbstractBindingBuilder which AbstractServiceBindingBuilder is inherited from.
- AbstractBindingBuilder
  - AbstractServiceBindingBuilder
    - ServiceBindingBuilder

So I think we have to tear off AbstractServiceBindingBuilder from AbstractBindingBuilder first. We can make an interface for the service configuration binding, so ServiceBindingBuilder implements the interface while extending AbstractBindingBuilder, and AnnotatedServiceBuilder(?) will implements the interface only.
What do you think?

Hi @trustin and @minwoox, I think I may have misunderstood this issue. So just want to reiterate the idea. For example, if this is my service:
class MyService{

    @Get("/foo")
    public HttpResponse foo(){
        return HttpResponse.of(200);
    }

    @Post("/bar")
    public HttpResponse bar(){
        return HttpResponse.of(200);
    }
}

and annotated service is registered using
Server server = new ServerBuilder().port(8080, SessionProtocol.HTTP).annotatedService("/hello", new MyService()).build();

Then, we should provide ability for user to

Configure different http settings for /hello/foo(for ex: requestTimeoutMillis =1000) and /hello/bar(for ex: requestTimeoutMillis =5000)
Configure http settings for anything under /hello

If I'm understanding this correct the point# 2 is what we are trying to achieve right?
But your idea sounds good. I just wanted to make sure I understand this correctly before I start writing any code.

If I'm understanding this correct the point# 2 is what we are trying to achieve right?

Yes, we are going to provide #2 because this is per-service configuration not per-method configuration. :-)

Configure different http settings for /hello/foo(for ex: requestTimeoutMillis =1000) and /hello/bar(for ex: requestTimeoutMillis =5000)

In this case, we are guiding like:
class MyService{
    @Get("/foo")
    public HttpResponse foo(ServiceRequestContext ctx) { // or RequestContext.current()
        ctx.setRequestTimeoutMillis(1000);
        return HttpResponse.of(200);
    }
}

Sorry If I'm saying things again and again but just wanted to make sure I understand this correctly before I start writing any code.

You are always welcome to ask us anything. :-)

Thank you @minwoox. I will start looking into this.


Update nodle

Update to V3 spec 55

I have just disabled CircleCI. We can ignore that incorrect check


Stratification sample

Add stratification sample

Pinging @chipotle for review

This is still worth merging, but needs examples for the other three languages. (I may be able to get to that on my own but no guarantees at this point…)

@srh What do you think if we add examples for Python/Ruby/Java? I think it would worth to include it as @chipotle said.

Seems fine to me.

Closing this PR in favor of https://github.com/rethinkdb/docs/pull/1244.


Still working?

Hi Just wondering if this still works with the new isolarcloud sungrow has changed too

Did you find an answer @rianbk ?


Create Dev Center wizard errors when resource group does not exist

Not sure where to report bugs on this preview service?
When I try to create a Dev Center resource through the Azure Portal wizard I get the following error when selecting a resource group that does not exist yet:
{"name":"RequestError","code":"ResourceGroupNotFound","originalStack":"Unknown: Resource group 'rg-dev-center' could not be found.\n at new t (https://afd.hosting.portal.azure.net/devcenter/Content/Dynamic/riIQqFmOWCf7.js:1:33723)\n at new t (https://afd.hosting.portal.azure.net/devcenter/Content/Dynamic/riIQqFmOWCf7.js:1:34302)\n at https://afd.hosting.portal.azure.net/devcenter/Content/Dynamic/riIQqFmOWCf7.js:1:40370\n at s (https://reactblade.portal.azure.net//Content/Dynamic/u79hl3VQ6nRP.js:14:2634)\n at Object.throw (https://reactblade.portal.azure.net//Content/Dynamic/u79hl3VQ6nRP.js:14:1927)\n at s (https://reactblade.portal.azure.net//Content/Dynamic/u79hl3VQ6nRP.js:14:1754)","httpStatusCode":404}
Same happens when running the Create project wizard:
{"name":"RequestError","code":"ResourceGroupNotFound","originalStack":"Unknown: Resource group 'dcp-dev-center-project' could not be found.\n at new t (https://afd.hosting.portal.azure.net/devcenter/Content/Dynamic/ajH3SxGuCtku.js:1:33838)\n at new t (https://afd.hosting.portal.azure.net/devcenter/Content/Dynamic/ajH3SxGuCtku.js:1:34417)\n at https://afd.hosting.portal.azure.net/devcenter/Content/Dynamic/ajH3SxGuCtku.js:1:40485\n at s (https://reactblade.portal.azure.net//Content/Dynamic/u79hl3VQ6nRP.js:14:2634)\n at Object.throw (https://reactblade.portal.azure.net//Content/Dynamic/u79hl3VQ6nRP.js:14:1927)\n at s (https://reactblade.portal.azure.net//Content/Dynamic/u79hl3VQ6nRP.js:14:1754)","httpStatusCode":404}

Document Details
⚠ Do not edit this section. It is required for learn.microsoft.com ➟ GitHub issue linking.

ID: 6ba8591f-2bd6-d95e-4618-d70c0138c657
Version Independent ID: 567f158a-2470-70d2-d46f-8bde5649e75c
Content: Configure the Azure Deployment Environments service
Content Source: articles/deployment-environments/quickstart-create-and-configure-devcenter.md
Service: deployment-environments
GitHub Login: @anandmeg
Microsoft Alias: meghaanand

#assign:@rosehjm


[core] Type inference failed for a simple method

Hi, one more inference bug in class com.ebay.nautilus.kernel.crypto.CryptUtils
    /* JADX INFO: additional move instructions added (1) to help type inference */
    /* JADX WARN: Type inference failed for: r0v0, types: [java.io.Closeable, byte[]], assign insn: 0x0000: CONST  (r0v0 ? I:?[int, float, boolean, short, byte, char, OBJECT, ARRAY]) = (0 ?[int, float, boolean, short, byte, char, OBJECT, ARRAY]) */
    /* JADX WARN: Type inference failed for: r0v1, types: [java.io.Closeable], assign insn: PHI: (r0v1 ?) = (r0v0 ?), (r0v3 ?) binds: [B:3:0x0003, B:9:?] */
    /* JADX WARN: Type inference failed for: r0v3, assign insn: ?: MOVE  (r0v3 ?) = (r0v2 java.io.FileInputStream) */
    /* access modifiers changed from: protected */
    /* JADX WARNING: Multi-variable type inference failed */
    /* JADX WARNING: Unknown variable types count: 1 */
    public byte[] doDecrypt(javax.crypto.Cipher cipher, javax.crypto.SecretKey secretKey, byte[] bArr) throws java.lang.Exception {
        ? r0 = 0;
        try {
            if (this.iv == null) {
                if (!new java.io.File(this.context.getFilesDir(), this.cryptInstance).exists()) {
                    return r0;
                }
                java.io.FileInputStream openFileInput = this.context.openFileInput(this.cryptInstance);
                this.iv = com.ebay.nautilus.kernel.util.StreamUtil.streamToBytes(openFileInput);
                r0 = openFileInput;
            }
            cipher.init(2, secretKey, new javax.crypto.spec.GCMParameterSpec(128, this.iv));
            byte[] doFinal = cipher.doFinal(bArr);
            com.ebay.nautilus.kernel.util.StreamUtil.closeQuietly(r0);
            return doFinal;
        } finally {
            com.ebay.nautilus.kernel.util.StreamUtil.closeQuietly(r0);
        }
    }

APK: https://drive.google.com/file/d/1ICfL4A22K-KhVkw5RwvWdLJA8111iYvG/view?usp=sharing

And one more in com.google.android.gms.maps.internal.ILocationSourceDelegate
        /* JADX WARN: Type inference failed for: r3v2, types: [android.os.IInterface], assign insn: 0x0016: INVOKE  (r3v2 ? I:android.os.IInterface) = (r2v1 android.os.IBinder), ("com.google.android.gms.maps.internal.IOnLocationChangeListener") type: INTERFACE call: android.os.IBinder.queryLocalInterface(java.lang.String):android.os.IInterface */
        /* access modifiers changed from: protected */
        /* JADX WARNING: Multi-variable type inference failed */
        /* JADX WARNING: Unknown variable types count: 1 */
        public final boolean dispatchTransaction(int i, android.os.Parcel parcel, android.os.Parcel parcel2, int i2) throws android.os.RemoteException {
            com.google.android.gms.maps.internal.zzah zzah;
            if (i == 1) {
                android.os.IBinder readStrongBinder = parcel.readStrongBinder();
                if (readStrongBinder == null) {
                    zzah = null;
                } else {
                    ? queryLocalInterface = readStrongBinder.queryLocalInterface("com.google.android.gms.maps.internal.IOnLocationChangeListener");
                    if (queryLocalInterface instanceof com.google.android.gms.maps.internal.zzah) {
                        zzah = queryLocalInterface;
                    } else {
                        zzah = new com.google.android.gms.maps.internal.zzai(readStrongBinder);
                    }
                }
                activate(zzah);
            } else if (i != 2) {
                return false;
            } else {
                deactivate();
            }
            parcel2.writeNoException();
            return true;
        }

The same error is reproducible for all Android interface declarations in all tested apps

@skylot
I just experienced an error in a similar method. Can you please check if it's hard to fix?

@skylot
I just experienced an error in a similar method. Can you please check if it's hard to fix?

@skylot
Ping :) May you check it, please?

@skylot
Ping :) May you check it, please?

@bagipro looks like there is issue in finally extraction (disabling MarkFinallyVisitor resolve issue). So I think that can be fixed.

@bagipro looks like there is issue in finally extraction (disabling MarkFinallyVisitor resolve issue). So I think that can be fixed.

@bagipro I made fix, but it looks more like a workaround.
finally code duplication is a mess and I found tons of other related issues :sob:

@bagipro I made fix, but it looks more like a workaround.
finally code duplication is a mess and I found tons of other related issues :sob:

@skylot
Thanks for the fix!
The only issue I see is replaced constants outside finally blocks. Example is in androidx/databinding/ViewDataBinding.java
    public boolean updateLiveDataRegistration(int i, LiveData<?> liveData) {
        this.mInLiveDataRegisterObserver = true;
        boolean z = false; // replaced constant
        try {
            return updateRegistration(i, liveData, CREATE_LIVE_DATA_LISTENER);
        } finally {
            this.mInLiveDataRegisterObserver = z;
        }
    }

The code before
    public boolean updateLiveDataRegistration(int i, LiveData<?> liveData) {
        this.mInLiveDataRegisterObserver = true;
        try {
            return updateRegistration(i, liveData, CREATE_LIVE_DATA_LISTENER);
        } finally {
            this.mInLiveDataRegisterObserver = false;
        }
    }

@skylot
Thanks for the fix!
The only issue I see is replaced constants outside finally blocks. Example is in androidx/databinding/ViewDataBinding.java
    public boolean updateLiveDataRegistration(int i, LiveData<?> liveData) {
        this.mInLiveDataRegisterObserver = true;
        boolean z = false; // replaced constant
        try {
            return updateRegistration(i, liveData, CREATE_LIVE_DATA_LISTENER);
        } finally {
            this.mInLiveDataRegisterObserver = z;
        }
    }

The code before
    public boolean updateLiveDataRegistration(int i, LiveData<?> liveData) {
        this.mInLiveDataRegisterObserver = true;
        try {
            return updateRegistration(i, liveData, CREATE_LIVE_DATA_LISTENER);
        } finally {
            this.mInLiveDataRegisterObserver = false;
        }
    }

@bagipro yeah, I know about this. I even change test to allow this,  because I have no idea how to fix it, sorry :cry:

@bagipro yeah, I know about this. I even change test to allow this,  because I have no idea how to fix it, sorry :cry:


SPARK-5669 [BUILD] Reverse exclusion of JBLAS libs for 1.3

CC @mengxr

Test build #27820 has started for   PR 4715 at commit b27ffa9.

This patch merges cleanly.

Test build #27820 has finished for   PR 4715 at commit b27ffa9.

This patch passes all tests.
This patch merges cleanly.
This patch adds no public classes.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/27820/
Test PASSed.

Merged.


ios finds most devices only once

I recently changed my code from 5 seconds scanning and manual refresh to continuous scanning and automatic removal of devices that haven't been seen for more than 5 seconds from the list.
On android this works fine, on iOS this fills my list with all nearby devices matching the filter (between 5 and 9), but then I only seem to receive update for exactly 1 device. So after 6-7 seconds I have only one remaining entry in the list.
After stopping the scan and restarting it again after a while, the same happens again. It's even always the same device which remains to get updates, and it's not the closest one.
All this with @nativescript-community/ble version 3.0.13, @nativescript/core version 7.2.1 and @nativescript/ios version 7.1.1 or 7.2.0.

this lib won't send you scan updates for devicea already seen. this is intended.
ble discovery is a big power drain, this lib is not intended to be continuously be discovering.
that being said PRs are welcome. you could either add an optional continuous mode where you would get every device scan update. or you could add a method to "forget" a discovered device so that you would get a new device discovery event

Without finding a sensor more than once you cannot calculate an average to guess which one is nearest.
Why do I get continuous updates for 1 sensor on iOS then?
And on Android the behavior is as expected, I get continuous scan results for all sensors nearby.
Also: not passing on messages for devices you've seen once does not reduce the power drain.

I tried to add an option to get duplicate results as you suggested with
this.centralManager.scanForPeripheralsWithServicesOptions(services, {"CBCentralManagerScanOptionAllowDuplicatesKey": "true"});

but that did not change anything.
Did I do something wrong when trying to supply the option?

@ray007 Then i must not understand what you want.
ON android we only trigger discover if not already discovered https://github.com/nativescript-community/ble/blob/master/src/bluetooth.android.ts#L512
Indeed on iOS we always trigger.

Very strange, this does not match my observation.
I have
var BTI = getBluetoothInstance();
and later in my scanning function:
BTI.startScanning({
	filters: [{serviceUUID: "78a....."}],
	onDiscovered: dev => {
		... do some stuff here ...
	}
});

The onDiscovered callback is called repeatedly for all nearby devices on android, but not on iOS.
I tried to find the caller with the debugger, but the source mapping data seems to be wrong/corrupt, so no luck there.

@ray007 sourcemap is good, i use it here. The issue is on the "client" side which must be wrongly translating the source map.
as for your issue i cant help you if i cant reproduce it here. The best would be for you to debug through the js side of this plugin and see where it fails.

I have no idea what going wrong here with webpack, both @nativescript/webpack version 3 and 4 do not show me the correct lines in the debugger when going back the call stack of onDiscovered.
And I am confused about another point:
You point me to the onLeScan function passed to the super contructor of class LeScanCallbackImpl (around line 512), while my onDiscovered callback seems to be called from the ScanCallBackImpl.onScanResult method (see https://github.com/nativescript-community/ble/blame/master/src/bluetooth.android.ts#L639)
The 2 methods looks quite similar, but the if (!stateObject) closes much earlier in the latter.

you are correct I pointed you to the preview lollipop version. but the other one does the same (not trigger if already discovered)

Did you do anything special to make debugging this work for you? I also see devtools are displaying the .js files from the ble module distribution, but the tab title suggests it wants to display the .ts source files.
As for my apple-question above, apple documentation for the scanning function shows an options parameter.
And CBCentralManagerScanOptionAllowDuplicatesKey looked like the solution to my problem.
But either I misread the documentation or my try to supply the parameter as key in an object is wrong.
And while I understand your argument about the power drain, I'd have thought the solution to that would be to stop scanning, not to skip calling the discover-callback.
The idea here is that the user can walk through the house with the "Discover" tab of the application open, and choosing a sensor opens another tab and stops scanning.

@ray007 your use case is very different from the simple connect a ble device use case. In most cases you dont need to get continuous scan updates. But i understand what you want.
Which is why i told you i would gladly accept PR to add that feature.
Now about debugging i dont use any "debugger" simply the console so cant help there.

I'd be happy/willing to make a PR for this once I know how to.
For Android this seems to be rather straight forward, but I cannot do so for iOS since I do not yet know what I would have to change there. Any hint maybe if I did something wrong with setting the scanning options?
Which brings us back to debugging:
Looking at the .js.map files from installation with npm, they all have a property "sourceRoot": "../src/".
And the src directory is not published to npm.

@ray007 first we should move that discussion to slack or even better to discord if you are there.
sourcemap: does not make a difference really. it is normal for the path. The thing is to get the line number right.

I don't have a slack-account, but getting on discord should not be a problem. Got an invite for me or should I start something?
Sourcemap: it's definitely the .js.map files that are the problem. If I remove those before the build, going back the call stack in the debugger brings me to the correct place in the js files.

@ray007 https://discord.gg/6rUSWKCu

Hi @farfromrefug, sorry to dig up this old issue but I'm in the same case than @ray007: I get multiple scan results for the same device on Android and only one on iOS.
I have a solution to make it report duplicates also on iOS:
This line: https://github.com/nativescript-community/ble/blob/a81ffcffdb6121559aaa3ad0cb5046845635410c/src/bluetooth.ios.ts#L827
becomes:
const options = new NSMutableDictionary([true], [CBCentralManagerScanOptionAllowDuplicatesKey]);
this.centralManager.scanForPeripheralsWithServicesOptions(services as any, options);

I wanted to add a allowDuplicates argument to the startScanning method. But when I'm reading your comments saying that you don't have duplicates also on Android, it makes me doubt. Arre you sure that this is the default behavior on Android? I try to search this on Google but did not find anything. I ended up reading code in the BLE Cordova plugin and they implement it logically to avoid duplicates reported several times: https://github.com/don/cordova-plugin-ble-central/blob/a9259ba6d7305890bec3985b16d3928ac6f4c6f6/src/android/BLECentralPlugin.java#L868-L871
I can make a PR if you think such a system would be good for this plugin.

Ok great! PR should be ready shortly.

@sebj54 thanks a lot!

Seems to work fine, thanks a lot!


[Feature Request] Adding option to follow PyTorch API in GELU initalization

In mlx/nn/layers/activations.py, the approximation options denoted by the approx argument are 'none'(default), precise and fast. In PyTorch API the precise approximation is denoted by tanh,
$\textrm{GELUApprox}(x) = 0.5x \left(1 + \tanh\left(\sqrt{\frac{2}{\pi}}(x + 0.044715x^3)\right)\right)$
We could change line 555 to:
elif approx == "precise" or approx == "tanh":

line 561 to:
f"The approximation should be in ['none', 'precise'/'tanh', 'fast'] but '{approx}' was given"

and line 547 to:
approx ('none' | 'precise'/'fast' | 'fast'): Which approximation to gelu to use if any.

(and add tests where relevant) to allow for matching the torch API and easier code migration, if that is within the scope of MLX. I can add tests and open a PR if that's something we want to do?

I don't have a problem with adding this. If  you send a PR we can take a look.


Handle multiple routes config files

Feature proposal
The routes are read for a single JSON file.
The app should be able to read its configuration from a conf.d directory in which multiple route files may be stored.
This would allow to increase readability of routes files.

Closed by #236


[v2] Alternative way for handling code tabs or add docs preprocessing hook

💥 Proposal
It would be nice to have an alternative way of defining code-tabs that doesn't rely on MDX Tabs/TabItem. This is specially interesting for teams that don't have MDX knowledge or that don't want to use it (for portability, readability…).
E.g. if one or more code blocks are next to each other convert them into code-tabs:
    ```kotlin
    // Some code
    ```

    ```typescript
    // Some code
    ```

👆 In this case there should be a way also to map code-block language hint to tab name. e.g. typescript => TypeScript.
Alternatively, there could be a way to hook to the markdown loading step so that the developers could modify the markdown content programatically. e.g. search via regex and add the required Tabs/Tabitem code.
[load markdown] => [hook modifies markdown content] => [render]

Have you read the Contributing Guidelines on issues?
Yes.

E.g. if one or more code blocks are next to each other convert them into code-tabs

Hard to tell if code blocks should be grouped together. One possible way is to add in metadata into the first line to define the group.
But overall I'm not very keen on adding more syntax if MDX can do the job. If you're going to have a new syntax, MDX can be that syntax. MDX is easy to use and is very expressive.

Agree with @yangshun that it can be difficult to tell if code blocks should be grouped or tabbed. Someone else might want them as individual code blocks without tabs.
This feels like getting into the territory of markdown parser and that's not what Docusaurus is for/does.

What about adding a hook to be able to pre-process docs? The idea would be that before generating the docs it could pass through the hook, this would modify the content and then it goes to rendering.

Not sure I understand the proposal on hooks. But it still doesn't answer the fact that not everyone may not want consecutive code blocks as tabs. They could be a series of code samples that needs to be presented/executed sequentially.
I'm also a bit worried about the this tool modifying the actual markdown content behind the scene. Again, this tool is not meant to be a markdown parser, as far as I understand.

What about adding a hook to be able to pre-process docs?

For this purpose, you can write your own plugin for Remark (Markdown processor, which is used in D2) and then include it to the config file.


S3 streaming and zero size fixes

Removes our wholesale buffering of s3 uploaded artifacts into memory by using PutReader (which is what goamz is doing under the hood anyway), and patches an issue introduced by newer Golang's net/http which was fixed upstream in https://github.com/goamz/goamz/pull/135.
From net/http docs:

ContentLength records the length of the associated content.
For client requests, a value of 0 with a non-nil Body is  also treated as unknown.

This is not an issue in master (v3 beta) because we've replaced goamz with the official aws-sdk.

Thanks for merging, @lox!


Not able to download checkpoints

Hello, I was trying to download [FoodSeg103-SETR-MLA] checkpoint but the share  point is not available and  the link you give to baidu only works for people that have a chinese phone number, as it is required for the login on there.
Is there any possible solution to this ?

#11


chore(deps): update ci dependencies

This PR contains the following updates:

Package
Type
Update
Change

common-dev-assets

digest
2e77009 -> 8fe90ac

github.com/terraform-ibm-modules/ibmcloud-terratest-wrapper
require
patch
v1.35.3 -> v1.35.4

Release Notes

terraform-ibm-modules/ibmcloud-terratest-wrapper (github.com/terraform-ibm-modules/ibmcloud-terratest-wrapper)
v1.35.4
Compare Source
Bug Fixes

bug with stack arrays (#843) (4e09e9c)

Configuration
📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).
🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.
♻ Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
👻 Immortal: This PR will be recreated if closed unmerged. Get config help if that's undesired.

[ ] If you want to rebase/retry this PR, check this box

This PR has been generated by Renovate Bot.

/run pipeline

/run pipeline

:tada: This PR is included in version 0.1.1 :tada:
The release is available on GitHub release
Your semantic-release bot :package::rocket:


log4j CVE-2021-44228 vulnerabilities in BTP Cloud Foundry applications

Hi,
I assume you are aware of the Zero Day exploit for the JAVA Log4j library:
https://github.com/advisories/GHSA-jfh8-c2jp-5v3q
There is a SAP Note also on this :  https://launchpad.support.sap.com/#/notes/3130476
reported on org.apache.logging.log4j:log4j-api (maven) Affected versions < 2.15.0
We are getting this version from com.sap.cloud.security.xsuaa:xsuaa-spring-boot.
https://github.com/SAP/cloud-security-xsuaa-integration/blob/main/spring-xsuaa/pom.xml#L36-L39
I think 2.11.5 is latest supported version from xsuaa as 2.11.6 not working

com.sap.cloud.security.xsuaa
xsuaa-spring-boot-starter
2.11.5

com.sap.cloud.security.xsuaa:xsuaa-spring-boot-starter:jar:2.11.5:compile
[INFO]    - com.sap.cloud.security.xsuaa:spring-xsuaa:jar:2.11.5:compile
[INFO]       - org.apache.logging.log4j:log4j-to-slf4j:jar:2.13.3:compile
[INFO]          - org.apache.logging.log4j:log4j-api:jar:2.13.3:compile
Are you planning to mitigate this issue for example by updating log4j version  > 2.15 & other options are posted in https://launchpad.support.sap.com/#/notes/3130476
Regards,
Showkath.

Duplicate https://github.com/SAP/cloud-security-xsuaa-integration/issues/750 --> closing


fix build on x86_64.

Please squash commits while merging and edit the commit message. Thanks!

Thanks!


Create a custom VM image for circleci VM testing

xref: https://circleci.com/docs/2.0/vm-service/
￼￼￼￼￼
(from @costinm in slack)

It seems Circle can now customize the image used for the machine executor. So we can do the same tricks we do for the 'build' image - pre-install all the tools we need at the same version used for build. And I guess we can enable docker layer caching too - which will save even more time. The current machine executor uses go 1.9 - so it may be worth doing this just to get to 1.11. I would also bring the circle docker image at the same level and  include a stable goimports/gofmt, etc. Maybe even a stable linter - pretty much all the stuff we 'go get' or download (except envoy) can be cached and reused

@ayj not sure if this is needed any longer. @costinm, @hklai can you confirm?

No longer needed, we have migrated to prow


Fixing links

Last link checker report #149
Fixing:
✗ [ERR] https://blog.squadcast.com/intent-based-capacity-planning-autoscaling-kubernetes/ | Network error: error:1416F086:SSL routines:tls_process_server_certificate:certificate verify failed:ssl/statem/statem_clnt.c:1921: (Hostname mismatch)
URL has changed: https://www.squadcast.com/blog/intent-based-capacity-planning-and-autoscaling-with-kubernetes
✗ [404] https://www.youtube.com/watch?v=JLkr6UHXN44&nohtml5=False | Network error: Not Found
Salesforce made it private. I found this one on their website: https://www.salesforce.com/video/193050/
✗ [404] https://blog.newrelic.com/2018/07/05/site-reliability-engineering-sre/ | Network error: Not Found
Page is gone, but the videos are still up. Pointing to the first video of the serie: https://www.youtube.com/watch?v=rmY8_PHanuI
✗ [ERR] https://blog.squadcast.com/how-to-avoid-on-call-burnout/ | Network error: error:1416F086:SSL routines:tls_process_server_certificate:certificate verify failed:ssl/statem/statem_clnt.c:1921: (Hostname mismatch)
URL has changed: https://www.squadcast.com/blog/how-to-avoid-on-call-burnout
✗ [404] http://pages.catchpoint.com/DEVOPS-SRE-AMA-mkty.html | Network error: Not Found
Video is available on Vimeo: https://vimeo.com/179914447
✗ [ERR] https://www.apress.com/us/book/9781484205129 | Network error: error following redirect for url (https://idp.springer.com/transit?redirect_uri=https%3A%2F%2Flink.springer.com%2Fbook%2F10.1007%2F978-1-4842-0511-2&code=98d2c822-12c6-43b1-9cc2-ab6110bf3d00): too many redirects
Redirect to: https://link.springer.com/book/10.1007/978-1-4842-0511-2
✗ [ERR] http://blogs.atlassian.com/2016/02/inside-atlassian-sre-use-chatops-run-incident-management/ | Network error: error following redirect for url (http://www.atlassian.com/incident-management/devops/chatops): too many redirects
Domain Change: https://www.atlassian.com/blog/2016/02/inside-atlassian-sre-use-chatops-run-incident-management
Also fixed: https://www.atlassian.com/blog/it-teams/inside-atlassian-site-reliability-engineers-incident-management
Deleting:
✗ [404] https://twitter.com/i/moments/924656333495898112 | Network error: Not Found
Tweet doesn't exist anymore. Title was: 20 SRE / Devops / System Engineer Tricks
Left Alone:
✗ [404] https://blog.box.com/blog/a-tale-of-postmortems/ | Network error: Not Found
Cached on Google!
✗ [404] https://twitter.com/The_SRE_Dev | Network error: Not Found
profile is gone, but it was just getting SRE info from dev.to
⧖ [TIMEOUT] https://rachelbythebay.com/w/ | Timeout
It's working here, so it might be some instability. Let's wait for the other ones
✗ [404] https://www.cruform.com/sre-capability-map/ | Network error: Not Found
cruform is now sre path and it asks for your email.
✗ [404] https://www.youtube.com/watch?v=bwt6TZjefGM | Network error: Not Found
Google made it private.

Ping @dastergon

Thanks a lot @franciscoed


Can't trigger while using render()

Version
1.0.0-beta.29
Steps to reproduce
let wrapper;
beforeEach(async () => {
wrapper = await render(MyComponent, {});
});
it('My test', () => {
// Not working
wrapper.trigger('my_event');
});
Error in console when i run tests :
TypeError: wrapper.trigger is not a function

What is expected?
The trigger correctly work and wrapper.emitted('focus') return true.
What is actually happening?
wrapper.trigger('focus') return error

render only returns a cheerio wrapper around a rendered string. It doesn't support methods like trigger.


Improve and formalise the audit log format

MODSEC-26:     * Note partial request and response bodies.
* Note the transformations (e.g. dechunked).
* Add relevant processing information (e.g. why isn't there a response body?)
* Did client disconnect? Did we interrupt processing?
* Record the canonical hostname (Apache-specific information).
* Add directive to create arbitrary headers in the H part.
* Add new part to store routing information.
* Add new part to store debug log.
* Sensor information is not present in the record.
* Add header folding support.
* Determine if LF is good enough, or should we go CRLF for line endings.
* Why did we log the transaction (because logging was on, because the transaction was marked as relevant, because the user explicitly enabled logging).
* What needs to be done to log intermediate response headers, actual response bodies?
* Decide on max. line length
* Document the format.
* Consider adding support for encryption and/or signing.
* Consider adding support for free-text comments.
* When part I is used (to replace C) we don't have information on the files that were in the original request body.
* Have a part to store encrypted sensitive parts that were removed from the plain-text storage. This would allow for two levels of access: everyone could have access to the entry (without a performance penalty), but an additional password/clearance would be needed to access the sensitive stuff.
* Add Apache-Hostname trailer header to tell us which host Apache used to process request (i.e. the canonical host). Possibly incude the canonical port.
* Register the type with IANA.  Maybe "application/modsecurity-audit-entry" or similar.

I think most of the issues are covered by: JSON-Audit + unique id related to the server log. With that a SIEM easily connect the dots and show all the information suggested here.


docker: Got permission denied

Hello,
I'm facing an issue, I'm not sure if I'm using the right token or not. Would you please clarify how to generate the Github feeds token. I'm using the Github personal access token but I'm getting the issue below:
$ packer build -var github_feed_token=XXXX images/linux/ubuntu1804.json
docker: output will be in this color.

==> docker: Creating a temporary directory for sharing data...
==> docker: Pulling Docker image: buildpack-deps:18.04
    docker: Got permission denied while trying to connect to the Docker daemon socket at unix:///var/run/docker.sock: Post http://%2Fvar%2Frun%2Fdocker.sock/v1.40/images/create?fromImage=buildpack-deps&tag=18.04: dial unix /var/run/docker.sock: connect: permission denied
==> docker: Error pulling Docker image: Bad exit status: 1
Build 'docker' errored after 71 milliseconds 304 microseconds: Error pulling Docker image: Bad exit status: 1

==> Wait completed after 71 milliseconds 340 microseconds

==> Some builds didn't complete successfully and had errors:
--> docker: Error pulling Docker image: Bad exit status: 1

==> Builds finished but no artifacts were created.

Thanks in advanced

I tried it on another system and seems working now. closing this. Thanks.


[ENH] Proximity forest minor fixes

goes someway to fixing #1715, and has not changed the constructor, so no need for deprecation, but does not solve the pickling issue. Pickling is tricky, because its failing due to two locally defined functions which are hard to untangle without a major restructuring. This is a big job I'm not willing to take on, so this is an interim measure. If anyone wants to take it on, be my guest!

Do you have a link to a run where the pickling error occurs, or a printout?

Did you close this by accident?
I think this contains useful fixes.

no, I have time for it, if you want to take it over please do, I have other stuff to do,. I an really am not a fan of this code, so knock yourself out

@fkiraly I cant see check_X and check_X_y anywhere, its not imported into proximity forest. I tried converting inner type to numpy3d, but there are too many uses of dataframe operations to make it completely trivial. I also tried using convert but it doesnt work, it wont create a 2D array from a single instance in a dataframe. I'll leave it as is for now, perhaps we can persuade someone to convert the inner type to numpy as with the rest and sort out the pickling. Would like to get this merged asap

it seems check_X etc are indeed not used? Not sure why I thought so. Or did you remove them?

removed it in the first conversion a loooong time ago, not sure where you got that from, maybe looking at a different PR.

you mention the test_fit_does_not_overwrite_hyper_params is covered in https://github.com/alan-turing-institute/sktime/issues/2490, but it does not seem to be. test_fit_does_not_overwrite_hyper_params is not pickling based, while in https://github.com/alan-turing-institute/sktime/issues/2490 you say the reason for failure is pickling? Could you kindly explain?

hmm, I cant remember what the problem was there or why this is failing, I will take another look.

init does not need a docstring, the parameters should be described in the class docstring. You seem to have both, and the two docstrings are inconsistent.

yep, just legacy docs left there, I've removed them

re conversion, did you try this, and it did not work?
replace from_nested_to_2d_array with the corresponding datatypes.convert call, convert(instance_x, from_type="nested_univ", >to_type="numpyflat")

yes, this code straight swap,

gives this error

ok, indeed it is a pickling problem. Then we have all discussion points resolved now.

yes, this code straight swap,
gives this error

That should 1:1 map to the function from_nested_to_2d_np_array. The error you get may come from somewhere else? For instance, why did you change the return statement, that does not look like an 1:1 swap.

I found hte bug related to convert: direct conversions were overwritten by indirect conversions
https://github.com/alan-turing-institute/sktime/pull/2517
Although, even if indirect conversions are used, this should pass.
Could you tell me what instance_a is, once it reaches the conversion function?
We don´t need to fix it in this PR, but it may indicate there is a bug somewhere.

pushed the convert change, and merged from main, for convenience - feel free to revert if you don´t like.

pushed the convert change, and merged from main, for convenience - feel free to revert if you don´t like.

could you revert this please? You have broken something

I have reverted it to the pre-convert state, but I do not think the problem is on my plate.
The error that you posted to me on slack is coming from infinite recursion depth being the standard parameter of ProximityForest.
This PR https://github.com/alan-turing-institute/sktime/pull/2518 has the combination of this PR and the convert fix, and all tests run.

As discussed on slack, this is an improvement - some tests fail and are escaped due to pickling, but that´s better than no tests.
Runtime issues persist, so we should probably open an issue so it´s recorded, but not spend too much time on it anymore right now?

yep, if you approve it when clear I will merge it and update the PF issue

yep, if you approve it when clear I will merge it and update the PF issue

I've already approved this, see above


Fix project.pbxproj file

Summary
Trying to fix build issue with project.pbxproj file.   Reference Carthage issue here
Tested using Cartfile which references my fork:
github "bfaist/swift-sdk" "master"

Thank you!! Just cloned your repo and tested it, looks like it should be good.


Get different image_features in different environment?

`import torch
import clip
from PIL import Image
device = "cuda" if torch.cuda.is_available() else "cpu"
model, preprocess = clip.load("ViT-B/32", device=device)
image = preprocess(Image.open("CLIP.png")).unsqueeze(0).to(device)
text = clip.tokenize(["a diagram", "a dog", "a cat"]).to(device)
with torch.no_grad():
image_features = model.encode_image(image)`
This feautures are different in different environment, is there a method to fix it?

Unfortunately there are slight numerical differences depending on which hardware the model was run on. See #114 and #13.


[WIP] Tweak scroll behavior for narrow viewports

This change means that when the viewport is narrow, scrolling to (or navigating to) a fragment doesn't put the top of the actual target fragment behind the top nav.
Compare https://kubernetes.io/docs/concepts/storage/persistent-volumes/#resizing-an-in-use-persistentvolumeclaim to its preview, and then try both with a narrow viewport.
Want to try on your mobile device?

(before and after)
/area web-development
Fixes #29909

OK, let me try some more.
I'd be very happy to see someone else fix this. Ideally: with only CSS changes.
/retitle [WIP] Tweak scroll behavior for narrow viewports

I tried with jQuery and it worked. With CSS, I tried many ways to solved it but didn't work. Will have a look again with CSS only.

With those changes @niteshseram I can still replicate the symptoms (which is annoying, but that's how it is).

Did you try locally because Netlify hasn't deployed the latest changes yet. In my local, it is working fine.

If all these don't work with CSS, we can give it a try with jQuery once.

With those changes @niteshseram I can still replicate the symptoms (which is annoying, but that's how it is). The changes improve things from the status quo though.
I will take another look later / hope to so do.

With those changes @niteshseram I can still replicate the symptoms (which is annoying, but that's how it is). The changes improve things from the status quo though.
I will take another look later / hope to so do.

Sure

@sftim is this still WIP? If not, do we want to get it in as-is and open an issue?

I don't think I found the right fix. I might just close this one, leaving the branch in place.
/close


Does the library support bootstrapping for ckks

Pyfhel does not currently support bootstrapping, since the underlying SEAL library does not provide such a functionality (https://github.com/microsoft/SEAL/issues/616)


Issues with current 2.1.1 build talking to Millumin3

Just a note that there seems to be issues with Millumin 3 and the current 2.1.1 build (probably earlier builds too).
Communication on my CompanionPi setup is working - I can rewind timelines and go next and back on cues in the dashboard and also receive feedback of which column I'm on.
Things that don't work - Time remaining feedback and play/pause on a timeline don't.

+1 for remaining time remaining feedback not functioning.
Millumin 3.18.e
Companion experimental build v2.2.0-91c9a35-2845

It should be fixed now


feat!: don't create subnet association

Should be created during subnet creation instead.

How would the creation of subnet make subnet assocation ? @hknutsen

A few reasons for this change:

It'll standardize the way we do subnet to NAT gateway associations. Currently you can create an association in either the network module or this module. With this change, all associations will be created in the network module.
It'll ensure that all subnet associations are created in the network module.
The preifx azurerm_subnet_* of the Terraform resource azurerm_subnet_nat_gateway_association implies that it's an extension of the subnet, not the NAT gateway, thus it should be created in the network module, not this module.

sounds really good 👍🏽 and very benefical for future work as well 💯

Had to update complete example to make it valid, but tests pass now 🎉
Re-requesting review.


Motion Detected Delayed

The problem
I've used this integration for years but a few months ago it started taking a couple minutes for motion to show up in HA. If I reload the integration, it immediately shows motion as detected, but left to it's own it take a few minutes. I'm guessing this may be true for other sensors as well, but obviously can't easily test this. I've found it to be true for multiple Nests, I assume all of them (all of mine are mains powered). I have multiple instances of this error in my logs and I suspect the 5 minute timeout may be to blame.
What version of this integration (ha-nest-protect) has the issue?
0.4.0b5
What version of Home Assistant Core has the issue?
2024.6.4
Device / Model
Nest Protect (wired)
Diagnostics information
config_entry-nest_protect-1c5c7254310722dbacc74f6a942d246c.json
Home Assistant log
This error originated from a custom integration.
Logger: custom_components.nest_protect
Source: custom_components/nest_protect/init.py:208
integration: Nest Protect (documentation, issues)
First occurred: August 3, 2024 at 7:52:51 PM (143 occurrences)
Last logged: 7:43:55 AM
Unknown exception. Please create an issue on GitHub with your logfile. Updates paused for 5 minutes.
Traceback (most recent call last):
File "/config/custom_components/nest_protect/init.py", line 208, in _async_subscribe_for_data
dict(b, **buckets.get(b.object_key, {})) for b in [data.updated_buckets]
^^^^^^^^^^^^
AttributeError: 'list' object has no attribute 'object_key'
Additional information
No response

Most likely a duplicate of https://github.com/iMicknl/ha-nest-protect/issues/347

I'm having this issue too. How can I help troubleshoot? I can provide logs or anything you'd like.

Duplicate of #347


Dynamic add MappedPipe to Silo unable to read

Hey,
So I wrote a little tool you can see code here: https://github.com/microsoft/hcsshim/compare/main...jterry75:hcsshim:dynamic_hotadd_pipe that dynamically adds a MappedPipe to a Silo context. (Note this is an internal func so wrote a cmd to help us. We can talk about how to surface this as an api later). This actually works great! We can see that a pipe is created in the container when you do a pipe list. Unfortunately however if you attempt to Dial that pipe it will hang timing out on the dial context. Could you help me to understand what we are doing wrong here for pipes?
Note2: We switched that sample code to be a MappedDirectory and a MappedDirectorySiloResourcePath and the dir was shared with proper read/write permissions exactly how we would have expected. So seems something unique to pipes.

@katiewasnothere - FYI

Side note, we discovered that if you do a:
ctr run -m \\.\pipe\a:\\.\pipe\a -m \\.\pipe\a:\\.\pipe\a ... <- IE: the same named pipe twice you end up with a failure on the create call because the "file already exists".
But if you run the above tool multiple times on the same path it succeeds each time. And in the container namespace pipelist will actually show you multiple pipes with the same path. So it seems like the wiring step is being skipped for dynamic add since the 2nd call does not fail in the same way with "file already exists"

Tried with HostPathType: AbsolutePath and with RequestType: Add neither seemed to have any change.
On host:
ctr run -t --rm --mount "src=c:\Program Files\containerd,dst=c:\Program Files\containerd" mcr.microsoft.com/windows/servercore:ltsc2019 test powershell

In container:
PS C:\Windows\system32> [System.IO.Directory]::GetFiles('\\.\pipe')
\\.\pipe\InitShutdown
\\.\pipe\lsass
\\.\pipe\ntsvcs
\\.\pipe\scerpc
\\.\pipe\Winsock2\CatalogChangeListener-1ae8-0
\\.\pipe\Winsock2\CatalogChangeListener-1bf4-0
\\.\pipe\LSM_API_service
\\.\pipe\eventlog
\\.\pipe\Winsock2\CatalogChangeListener-be8-0
\\.\pipe\wkssvc
\\.\pipe\Winsock2\CatalogChangeListener-c80-0
\\.\pipe\winreg
\\.\pipe\Winsock2\CatalogChangeListener-1af4-0
\\.\pipe\PSHost.133355794647322100.6744.DefaultAppDomain.powershell
\\.\pipe\Winsock2\CatalogChangeListener-1808-0

On host:
C:\Users\Administrator\Desktop>bind.exe --container-id test --host-pipe-path \\.\pipe\containerd-containerd --container-pipe-path \\.\pipe\containerd-containerd
successfully mapped pipe

Back in container
PS C:\Windows\system32> [System.IO.Directory]::GetFiles('\\.\pipe')
\\.\pipe\InitShutdown
\\.\pipe\lsass
\\.\pipe\ntsvcs
\\.\pipe\scerpc
\\.\pipe\Winsock2\CatalogChangeListener-1ae8-0
\\.\pipe\epmapper
\\.\pipe\Winsock2\CatalogChangeListener-1bf4-0
\\.\pipe\LSM_API_service
\\.\pipe\eventlog
\\.\pipe\Winsock2\CatalogChangeListener-be8-0
\\.\pipe\wkssvc
\\.\pipe\Winsock2\CatalogChangeListener-c80-0
\\.\pipe\winreg
\\.\pipe\Winsock2\CatalogChangeListener-1af4-0
\\.\pipe\PSHost.133355794647322100.6744.DefaultAppDomain.powershell
\\.\pipe\Winsock2\CatalogChangeListener-1808-0
\\.\pipe\containerd-containerd
PS C:\Windows\system32> & 'C:\Program Files\containerd\ctr.exe' t ls
ctr: failed to dial "\\\\.\\pipe\\containerd-containerd": context deadline exceeded: connection error: desc = "transport
: error while dialing: dial \\\\.\\pipe\\containerd-containerd: timeout"

So you can see the pipe shows up above, but you still can't dial it.

Btw, updated the code in my GH commit link to have the HostPathType and GuestRequest if you want to repro on your own with the above

Note also if you run that bind tool multiple times you get no errors and the container looks like this:
PS C:\Windows\system32> [System.IO.Directory]::GetFiles('\\.\pipe')
\\.\pipe\InitShutdown
\\.\pipe\lsass
\\.\pipe\ntsvcs
\\.\pipe\scerpc
\\.\pipe\Winsock2\CatalogChangeListener-1928-0
\\.\pipe\epmapper
\\.\pipe\Winsock2\CatalogChangeListener-1a80-0
\\.\pipe\LSM_API_service
\\.\pipe\eventlog
\\.\pipe\Winsock2\CatalogChangeListener-1bb8-0
\\.\pipe\wkssvc
\\.\pipe\winreg
\\.\pipe\Winsock2\CatalogChangeListener-1a8c-0
\\.\pipe\Winsock2\CatalogChangeListener-1bd8-0
\\.\pipe\PSHost.133355799683714125.6620.DefaultAppDomain.powershell
\\.\pipe\Winsock2\CatalogChangeListener-1854-0
\\.\pipe\containerd-containerd
\\.\pipe\containerd-containerd
\\.\pipe\containerd-containerd

Which is really odd that it gets mapped the same over and over. I dont even know how that could work since its the same name I would have expected a file already exists error here

IT WORKED!!!
Here is the issue:
bind.exe --container-id test --host-pipe-path \\.\pipe\containerd-containerd --container-pipe-path containerd-containerd

Note that I did not end up needing to set: HostPathType or RequestType. But what you do need to do is remove the \\.\pipe\ prefix from the container path. You just specify it as a path name like in the above.
Inside the container:
PS C:\Program Files\containerd> .\ctr.exe t ls
TASK    PID     STATUS
test    3376    RUNNING