fix: Android - wrong location briefly shows before San Francisco upon first open of the Distance request page

Details
Adds a DistanceMapView component which wraps MapView, and adds an overlay with the blocking view on Android Native. Since the overlay is hidden when the map state is idle / ready, this prevents the wrong location from being displayed before the map centers on San Francisco.
Fixed Issues
$ https://github.com/Expensify/App/issues/27087
PROPOSAL: https://github.com/Expensify/App/issues/27087#issuecomment-1712564872
Tests

On Android native, close the app and remove the app from the recents menu
Launch the app
Tap the global create menu, and select Request money
Select the Distance tab if it is not already selected
Verify that the map displays San Francisco and there is no weird jumping after the blocking view overlay is automatically hidden
Select Start and Finish waypoints
Tap on Next and then select the target workspace
Verify that there is no weird jumping on the map on the confirmation screen after the blocking view overlay is automatically hidden. The map may zoom in on the route after the overlay is hidden, which is the expected behaviour.

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

Offline tests
N/A
QA Steps
Same as tests.

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

PR Author Checklist

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Screenshots/Videos

Web
https://github.com/Expensify/App/assets/4160319/de989fd2-d609-4edc-a981-1659216b3cb2

Mobile Web - Chrome
27087-android-chrome.webm

Mobile Web - Safari
https://github.com/Expensify/App/assets/4160319/15efdfce-9d52-4137-ad90-cdbfff4fe9b1

Desktop
https://github.com/Expensify/App/assets/4160319/befc7546-8a99-4ea7-bfba-35de85f0440b

iOS
https://github.com/Expensify/App/assets/4160319/a1ab722b-40b4-444d-a889-50988bd00a60

Android
27087-android-native.webm

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 / Chrome
[ ] iOS / native
[ ] iOS / 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 the left part of a conditional rendering a React component is a boolean and NOT a string, e.g. myBool && <MyComponent />.
[ ] 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 approved by marketing by adding the Waiting for Copy label for a copy review on the original GH to get the correct copy.
[ ] 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(themeColors.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 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

Web

Mobile Web - Chrome

Mobile Web - Safari

Desktop

iOS

Android

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

🚀 Deployed to staging by https://github.com/tylerkaraszewski in version: 1.3.71-0 🚀

platform
result

🤖 android 🤖
success ✅

🖥 desktop 🖥
success ✅

🍎 iOS 🍎
failure ❌

🕸 web 🕸
success ✅


hive: Don't log interrupt signal as error

Hive can be stopped by sending the process a INT or TERM signal to initiate the stop of the application. Hive was logging an error "Interrupt received" when this happened and this was causing CI jobs to fail as they were checking that no errors were logged. Since stopping via SIGINT/SIGTERM is not errornous, log the event at info level instead.
Fixes: #23637
Fixes: b407ffce15d1 ("hive: Reimplement on top of dig")

/test

/test

The changes are reviewed and they are trivial enough that compile test plus smoke tests should cover them. Merging.

Should we backport this to v1.13? The error message seems to cause CI flakes on v1.13 (since any error is considered fatal by Jenkins CI).


Partially investigated

please elaborate it more on how to restart or complete the investigation or why it failed to investigate. this informatio is not enough.

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

ID: c29309d2-562b-7136-b5a8-cade9a2bc90f
Version Independent ID: 7c460f4c-8808-9c39-9a49-61982cbc02ea
Content: Learn about the automated investigations dashboard in Microsoft Defender Security Center - Windows security
Content Source: windows/security/threat-protection/microsoft-defender-atp/manage-auto-investigation.md
Product: w10
Technology: windows
GitHub Login: @mjcaparas
Microsoft Alias: macapara

It has been suggested to check investigation logs for partially investigated actions.
This is suggested in the second article at the bottom of this one at the left navigation panel: https://docs.microsoft.com/en-us/windows/security/threat-protection/microsoft-defender-atp/auto-investigation-action-center#automated-investigation-status


adding a linked list in c++

I have add a linked list class that takes a template value.

Can i delete that pull request since i have forgot to rename my file and opened a new one? :D

could it be marked as invalid so it didn't count, it feels like i am spamming and i am not :DD


feat: Qdrant vector storage

Hey guys 👋. Greetings from Qdrant.
Qdrant is a high-performance, large-scale vector search engine/database.
Description
This PR

Introduces a new interface for vector storage providers called VectorStorage.
Creates 2 new implementations for this interface using Chroma(current and default) and Qdrant(new).

Hey @matteocargnelutti. Just bumping this PR.


Uncaught Error: EEXIST: file already exists, mkdir 'F:/Projekte\Personal-Piloten\contao3.5\templa...

[Enter steps to reproduce:]

want to open a file from the server for the first time
the file/path dosn't exist localy
cleared the local folder (maybe there was a hidden file or somthing)
after that it works fine

Atom: 1.27.2 x64
Electron: 1.7.15
OS: DESKTOP-9SS8SUC
Thrown From: remote-ftp package 2.2.0
Stack Trace
Uncaught Error: EEXIST: file already exists, mkdir 'F:\path\to\project'
At C:\Users\bla\.atom\packages\remote-ftp\node_modules\mkdirp\index.js:92

Error: EEXIST: file already exists, mkdir F:\path\to\project'
    at fs.mkdirSync (fs.js:895:18)
    at Object.fs.mkdirSync (ELECTRON_ASAR.js:669:16)
    at Function.sync (/packages/remote-ftp/node_modules/mkdirp/index.js:71:13)
    at Proxy.makeTreeSync (/packages/remote-ftp/node_modules/fs-plus/lib/fs-plus.js:385:23)
    at ConnectorFTP._getFile (/packages/remote-ftp/lib/connectors/ftp.js:194:8)
    at /packages/remote-ftp/lib/connectors/ftp.js:530:14
    at /packages/remote-ftp/lib/connectors/ftp.js:185:9
    at Object.cb (/packages/remote-ftp/node_modules/@icetee/ftp/lib/connection.js:368:5)
    at /packages/remote-ftp/node_modules/@icetee/ftp/lib/connection.js:122:20)
    at emitTwo (events.js:111:20)
    at Parser.emit (events.js:194:7)
    at Parser.write (/packages/remote-ftp/node_modules/@icetee/ftp/lib/parser.js:78:12)
    at Socket.ondata (/packages/remote-ftp/node_modules/@icetee/ftp/lib/connection.js:293:20)
    at emitOne (events.js:96:13)
    at Socket.emit (events.js:191:7)
    at readableAddChunk (_stream_readable.js:178:18)
    at Socket.Readable.push (_stream_readable.js:136:10)
    at TCP.onread (net.js:560:20)

Commands
  2x -0:49.5.0 remote-ftp:disconnect (ul.list-inline.tab-bar.inset-panel)

Non-Core Packages
atom-beautify 0.32.5
autoprefixer 3.7.1
minimap 4.29.8
monokai 0.24.0
monokai-dark 1.5.0
remote-ftp 2.2.0

Duplicate of #903


Fix a stack overflow error in DrainIterator

[x] I agree to follow the project's code of conduct.
[x] I added an entry to rstar/CHANGELOG.md if knowledge of this change could be valuable to users.

Fixes a stack overflow error when using RTree::drain_with_selection_function or any other method that uses DrainIterator.

Could we add a test-case to ensure it does not regress?  It's not clear what the bug was from the code diff.

Could we add a test-case to ensure it does not regress? It's not clear what the bug was from the code diff.

I've added the quick-and-dirty fuzz test that I've implemented in order to track down this bug. Unfortunately, I don't have a simpler test case - it seems that this bug doesn't manifest itself that often.

Could we add a test-case to ensure it does not regress? It's not clear what the bug was from the code diff.

I've added the quick-and-dirty fuzz test that I've implemented in order to track down this bug. Unfortunately, I don't have a simpler test case - it seems that this bug doesn't manifest itself that often.

I am not a fan of adding this library-specific fuzz test in this PR here. Especially since the change really is a quality of implementation issue, i.e. it is basically a manual tail call optimization.
I would like to include the fuzz test, but as a separate PR that can be reviewed without the time pressure of a bugfix release. For this PR, a single test case for example using a synthetic selection function would be fine for me, but I would also merge this without a test case triggering the stack overflow. (This depends on the environment in any case, i.e. I guess this is might be possible to trigger by running an existing test in a thread with an artificially small stack size set via thread::Builder::stack_size.)

Could we add a test-case to ensure it does not regress? It's not clear what the bug was from the code diff.

I've added the quick-and-dirty fuzz test that I've implemented in order to track down this bug. Unfortunately, I don't have a simpler test case - it seems that this bug doesn't manifest itself that often.

I am not a fan of adding this library-specific fuzz test in this PR here. Especially since the change really is a quality of implementation issue, i.e. it is basically a manual tail call optimization.
I would like to include the fuzz test, but as a separate PR that can be reviewed without the time pressure of a bugfix release. For this PR, a single test case for example using a synthetic selection function would be fine for me, but I would also merge this without a test case triggering the stack overflow. (This depends on the environment in any case, i.e. I guess this is might be possible to trigger by running an existing test in a thread with an artificially small stack size set via thread::Builder::stack_size.)

Sorry for the delay again. I've removed the commits containing the fuzz test from this PR.
As for manually setting the stack size, I haven't had much luck reproducing this bug with the existing tests or tests derived from them even with a 64kb stack. I suspect that it might only exhibit itself after a lot of interleaved inserts and removals of random leaves with loose-fitting AABBs.

Apologies, it took me a bit to understand that this is a tail-call optimization.  I'm okay with adding this without a test-case too.  Currently, I think we do not re-balance during removal, so our data-structure can get very deep (depth = O(nodes)) if used as a dynamic tree.

bors r=adamreichold,rmanoka


Handle all 404s with NotFoundRoute

Currently I'm using react-router client-side, but also using it to precompile all my index.html for all routes defined in routes.jsx
var routes = (
  <Route>
    <Route name="home" path="/en-US/"/>
    <Route name.../>
     <Route name.../>
    <NotFoundRoute .... />
  </Route>
);

Because I'm using Hapi, so there is a limitation in term of handling any 404s. What I used to be able in other Hapi app is just let a single index.html file handles any 404s pure client side, but this application is not possible because of how we setup our app, but Hapi is kind enough to allow me to use onPreResponse to catch any 404s any return a file.
server.ext('onPreResponse', function(request, reply) {
  if(request.response.output && request.response.output.statusCode === 404) {
    console.log(request.url.pathname)
    return reply.redirect('/?pathname=' + request.url.pathname);
  }
  return reply.continue();
});

Now I'm able to send 404 and preserve the route that it was requesting and let the client process there.
I was trying willTransitionTo to process what's coming there, but it doesn't seem to be the right approach or maybe I don't know what I'm doing here, but I can't seem to use <NotFoundRoute/> to handle any 404 pages at all?
What would be the best solution to handle 404s in this case?
Sorry if it's a bit confusing since it is a large code base and I'm trying to extract the most relevant bits to not confused people even more here.

in v0.13.x I handled it like this here: https://github.com/rackt/react-router-mega-demo/blob/master/app/server.js#L33
we'll have decent docs for this in 1.0.


Add dockerfile and travis config

Looks good. I am going to make go build using govendor for deps management and we should be good to go.


Switching between sessions clears harpoon entries

Yes, this is harpoon2.
So, I use the   session-lens and auto-session plugins from rmagatti to switch between my projects. But when doing so, all entries of harpoon are being cleared.
My neovim configuration is available here: https://github.com/sevi-kun/nvim

This could be due to your cwd changing. Changing the key function in the harpoon settings might help. The default is vim.uv.cwd().

This could be it. I will look into it as soon as I have a bit more time.

This could be it. I will look into it as soon as I have a bit more time.

Unfortunately, custom keys are broken right now. Which might actually be the root cause for your issue. Might be worth trying the branch from #572

No... I tried the pr but my harpoon entries are still completely empty after switching sessions. Maybe the sessions plugin actually removes some entries? I hope I can look into the source code soon.

Is there any update or solution to this?
I'm running into this issue as well using persistence.nvim. When restoring a session or switching to a new session it does not restore the saved list.
Works as intended if I cd to the project directory and open with nvim .
My config.

same issue here, is there a way to save the harpoon files in a session file @ThePrimeagen  ?

after taking a look at the code and understanding how harpoon is working, what worked for me was delaying the initialization of harpoon until the directory returned by vim.loop.cwd() is correctly updated by nvim-rooter (which in my case, happens after I select the session I want to open)


Avoid infinite loop

Workaround for https://github.com/vleue/polyanya/issues/45.
In some cases I was getting an infinite loop happening. This PR adds a limit to the loop to avoid this situation.
I'm not sure what a reasonable value for the limit is. I chose the number of polygons as I'm assuming that checking every polygon should not happen in normal circumstances (is that true?).
Note that this doesn't fix the cause of the loop, it only adds a failure condition to avoid crashing.

Ok I hit a case where using self.polygons.len() was too small and exited early when it shouldn't have. I could just make this  * 1000 but maybe there is a smarter way? Maybe that is fine for a quick band-aid while we look for the root cause.


Edit the README

Update the readme to reflect what this tool will be used for and how to use it.

We should continue to update the readme as we add in new features. We should also talk about how to install and run IRBeast including the possible commands it has.

Made the first update on the readme which can be seen in PR #32. Adds sections on Installation and Running IRBeast

Additions made in #32 are sufficient enough to close this issue.


onTap not firing

Hi there,
I just updated to 2.4.3. It seems that game.input.onTap(method, this) is not working anymore. My onDown, onUp and addMoveCallback all seem to work fine though.

This is already fixed in the dev branch. Here's a test case from the phaser examples:

var game = new Phaser.Game(800, 600, Phaser.CANVAS, 'phaser-example', this);

function preload() {

    game.load.image('TheEnd', 'assets/pics/TheEnd_by_Iloe_and_Made.jpg');
    game.load.image('BountyHunter', 'assets/pics/Bounty_Hunter_by_Anathematixs_Desire.png');

}

var pic;

function create() {

    pic = game.add.sprite(game.world.centerX, game.world.centerY, 'TheEnd');
    pic.alpha = 0.5;
    pic.anchor.set(0.5);
    pic.scale.set(0.6);

    game.add.text(16, 16, "tap or double-tap the image", { font: "32px Arial", fill: "#ffffff" });

    game.input.onTap.add(onTap, this);

}

function onTap(pointer, doubleTap) {

    if (doubleTap)
    {
        //  They double-tapped, so swap the image
        if (pic.key === 'TheEnd')
        {
            pic.loadTexture('BountyHunter');
        }
        else
        {
            pic.loadTexture('TheEnd');
        }
    }
    else
    {
        //  A single tap (tap duration was < game.input.tapRate) so change alpha
        pic.alpha = (pic.alpha === 0.5) ? 1 : 0.5;
    }

}


Problems using AWS IoT Device Client with Greengrass V2

Just like another issue in 2021, I am also trying to enable secure tunnelling in a Device using Greengrass v2, right now I only added the component in the deployment and declared the OS as "raspberry", yet I get errors with the settings with the certificates (Permissions not set to desired value) as well as an error that seems like a placeholder is not edited for the client:
2024-07-12T17:44:05.165Z [WARN]  {Config.cpp}: Path replace_with_root_ca_file_location to RootCA is invalid. Ignoring... Will attempt to use default trust store.. {scriptName=services.aws.greengrass.SecureTunneling.lifecycle.run.script, serviceName=aws.greengrass.SecureTunneling, currentState=RUNNING}
The documentation for the component does not specify anything aditional step therefore I am not sure if I am doing something wrong, any help is appreciated.
OS: Raspbian GNU/Linux 11 (bullseye)
Tunnelling component version:  1.0.19
Nucleus Version: 2.12.6
The only configuration merged into the recipe is: "OS_DIST_INFO": "raspberry"

Hey @feborja , can you share your setup steps? Just by reading the issue description, I think you might not be setting up the device correctly. Can you share all details and steps to reproduce the issue?

Of course, so as context this is a device that was created beforehand and contains another components, so it has already been deployed before, I had worked with the client with Greengrass V1 before following the steps in the readme from this repository, but I found that Greengass v2 added this as a component. So the only thing I did was revise the existing deployment, add the component, merge the configuration "OS_DIST_INFO": "raspberry" and deploy.
Now, the policies the device has now are:

{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": [
"iot:Connect",
"iot:Publish",
"iot:Subscribe",
"iot:Receive",
"greengrass:"
],
"Resource": ""
}
]
}
and

{
"Version": "2012-10-17",
"Statement": {
"Effect": "Allow",
"Action": "iot:AssumeRoleWithCertificate",
"Resource": "arn:aws:iot:us-east-1:979146024221:rolealias/GreengrassV2TokenExchangeRoleAlias"
}
}

I am not sure if this is the information you needed, please let me know

Just want to make sure, (a) you are using the Greengrass v2 on your device and (b) is your device is not able to connect to secure tunnel in device mode? Is that the case? From the logs you shared it shows the secure tunnel component is running and did not crash. Are you seeing any issues connecting to the end device via secure tunnel?
2024-07-12T17:44:05.165Z [WARN]  {Config.cpp}:  ... serviceName=aws.greengrass.SecureTunneling, currentState=RUNNING}

@HarshGandhi-AWS Tried with local proxy with docker, same type of error
2024-07-15T19:50:49.733Z [INFO] (Copier) aws.greengrass.SecureTunneling: stdout. [ERROR] 2024-07-15 15:50:49.729 [pool-3-thread-1] SubscribeResponseHandler - Secure Tunneling Process: 2024-07-15T19:50:49.675Z [WARN]  {FileUtils.cpp}: Permissions to given file/dir path '/tmp/' is not set to recommended value... {Permissions: {desired: 745, actual: 777}}. {scriptName=services.aws.greengrass.SecureTunneling.lifecycle.run.script, serviceName=aws.greengrass.SecureTunneling, currentState=RUNNING}
2024-07-15T19:50:49.735Z [INFO] (Copier) aws.greengrass.SecureTunneling: stdout. [ERROR] 2024-07-15 15:50:49.731 [pool-3-thread-1] SubscribeResponseHandler - Secure Tunneling Process: 2024-07-15T19:50:49.680Z [WARN]  {FileUtils.cpp}: Permissions to given file/dir path '/tmp/device-client-settings.json79754660964669720811721073030236' is not set to recommended value... {Permissions: {desired: 640, actual: 644}}. {scriptName=services.aws.greengrass.SecureTunneling.lifecycle.run.script, serviceName=aws.greengrass.SecureTunneling, currentState=RUNNING}
2024-07-15T19:50:49.736Z [INFO] (Copier) aws.greengrass.SecureTunneling: stdout. [ERROR] 2024-07-15 15:50:49.732 [pool-3-thread-1] SubscribeResponseHandler - Secure Tunneling Process: 2024-07-15T19:50:49.681Z [WARN]  {Config.cpp}: Path replace_with_root_ca_file_location to RootCA is invalid. Ignoring... Will attempt to use default trust store.. {scriptName=services.aws.greengrass.SecureTunneling.lifecycle.run.script, serviceName=aws.greengrass.SecureTunneling, currentState=RUNNING}
2024-07-15T19:53:49.385Z [INFO] (Copier) aws.greengrass.SecureTunneling: stdout. [ERROR] 2024-07-15 15:53:49.383 [pool-3-thread-1] SubscribeResponseHandler - Secure Tunneling Process: 2024-07-15T19:53:49.383Z [ERROR] {TcpForward.cpp}: TcpForward::OnConnectionResult error_code=1047. {scriptName=services.aws.greengrass.SecureTunneling.lifecycle.run.script, serviceName=aws.greengrass.SecureTunneling, currentState=RUNNING}

If you are using the latest version of localproxy to connect to device client can you try passing in destination-client-type V1 as an arg to your localproxy run command? This is a new requirement from v3.1.2 onwards

I get the same error, the localproxy shows:
[2024-07-24 05:36:05.925914] (0x00007f8e57eda840) [warning] Found access token supplied via CLI arg. Consider using environment variable AWSIOT_TUNNEL_ACCESS_TOKEN instead
[2024-07-24 05:36:05.927014] (0x00007f8e57eda840) [info] Starting proxy in source mode
[2024-07-24 05:36:05.939698] (0x00007f8e57eda840) [info] Attempting to establish web socket connection with endpoint wss://data.tunneling.iot.us-east-1.amazonaws.com:443
[2024-07-24 05:36:06.525095] (0x00007f8e57eda840) [info] Web socket session ID: 12232afffebbd6c9-000014d0-00008876-2b86524f69c959b5-0f1cf446
[2024-07-24 05:36:06.525205] (0x00007f8e57eda840) [info] Successfully established websocket connection with proxy server: wss://data.tunneling.iot.us-east-1.amazonaws.com:443
[2024-07-24 05:36:06.526631] (0x00007f8e57eda840) [info] Updated port mapping for v1 format:
[2024-07-24 05:36:06.526710] (0x00007f8e57eda840) [info] SSH = 23410
[2024-07-24 05:36:06.526726] (0x00007f8e57eda840) [info] calling setup from loop
[2024-07-24 05:36:06.527100] (0x00007f8e57eda840) [info] Listening for new connection on port 23410
[2024-07-24 05:37:45.689077] (0x00007f8e57eda840) [info] creating tcp connection id 1
[2024-07-24 05:37:45.689288] (0x00007f8e57eda840) [info] Accepted tcp connection on port 23410 from [::1]:45398

and my device shows the same logs as before:
2024-07-24T05:34:25.600Z [INFO] (pool-3-thread-50) aws.greengrass.SecureTunneling: shell-runner-start. {scriptName=services.aws.greengrass.SecureTunneling.lifecycle.run.script, serviceName=aws.greengrass.SecureTunneling, currentState=STARTING, command=["java -jar /greengrass/v2/packages/artifacts/aws.greengrass.SecureTunneling/1.0..."]}
2024-07-24T05:34:28.406Z [INFO] (Copier) aws.greengrass.SecureTunneling: stdout. [INFO ] 2024-07-24 05:34:28.398 [main] SecureTunneling - Starting secure tunneling component!. {scriptName=services.aws.greengrass.SecureTunneling.lifecycle.run.script, serviceName=aws.greengrass.SecureTunneling, currentState=RUNNING}
2024-07-24T05:34:29.003Z [WARN] (Copier) aws.greengrass.SecureTunneling: stderr. Jul 24, 2024 5:34:28 AM software.amazon.awssdk.eventstreamrpc.EventStreamRPCConnection$1 onConnectionSetup. {scriptName=services.aws.greengrass.SecureTunneling.lifecycle.run.script, serviceName=aws.greengrass.SecureTunneling, currentState=RUNNING}
2024-07-24T05:34:29.004Z [WARN] (Copier) aws.greengrass.SecureTunneling: stderr. INFO: Socket connection /greengrass/v2/ipc.socket:8033 to server result [AWS_ERROR_SUCCESS]. {scriptName=services.aws.greengrass.SecureTunneling.lifecycle.run.script, serviceName=aws.greengrass.SecureTunneling, currentState=RUNNING}
2024-07-24T05:34:29.165Z [WARN] (Copier) aws.greengrass.SecureTunneling: stderr. Jul 24, 2024 5:34:29 AM software.amazon.awssdk.eventstreamrpc.EventStreamRPCConnection$1 onProtocolMessage. {scriptName=services.aws.greengrass.SecureTunneling.lifecycle.run.script, serviceName=aws.greengrass.SecureTunneling, currentState=RUNNING}
2024-07-24T05:34:29.165Z [WARN] (Copier) aws.greengrass.SecureTunneling: stderr. INFO: Connection established with event stream RPC server. {scriptName=services.aws.greengrass.SecureTunneling.lifecycle.run.script, serviceName=aws.greengrass.SecureTunneling, currentState=RUNNING}
2024-07-24T05:34:29.173Z [INFO] (Copier) aws.greengrass.SecureTunneling: stdout. [INFO ] 2024-07-24 05:34:29.172 [main] SecureTunnelingExecutor - Starting secure tunneling.. {scriptName=services.aws.greengrass.SecureTunneling.lifecycle.run.script, serviceName=aws.greengrass.SecureTunneling, currentState=RUNNING}
2024-07-24T05:34:29.563Z [INFO] (Copier) aws.greengrass.SecureTunneling: stdout. [INFO ] 2024-07-24 05:34:29.561 [AwsEventLoop 1] SecureTunnelingTask - Successfully subscribed to topic: $aws/things/10000000e0570554/tunnels/notify. {scriptName=services.aws.greengrass.SecureTunneling.lifecycle.run.script, serviceName=aws.greengrass.SecureTunneling, currentState=RUNNING}
2024-07-24T05:35:38.310Z [INFO] (Copier) aws.greengrass.SecureTunneling: stdout. [INFO ] 2024-07-24 05:35:38.309 [AwsEventLoop 1] SubscribeResponseHandler - Received new tunnel notification message.. {scriptName=services.aws.greengrass.SecureTunneling.lifecycle.run.script, serviceName=aws.greengrass.SecureTunneling, currentState=RUNNING}
2024-07-24T05:35:38.379Z [INFO] (Copier) aws.greengrass.SecureTunneling: stdout. [ERROR] 2024-07-24 05:35:38.378 [pool-3-thread-1] SubscribeResponseHandler - Secure Tunneling Process: 2024-07-24T05:35:38.332Z [WARN]  {FileUtils.cpp}: Permissions to given file/dir path '/tmp/' is not set to recommended value... {Permissions: {desired: 745, actual: 777}}. {scriptName=services.aws.greengrass.SecureTunneling.lifecycle.run.script, serviceName=aws.greengrass.SecureTunneling, currentState=RUNNING}
2024-07-24T05:35:38.380Z [INFO] (Copier) aws.greengrass.SecureTunneling: stdout. [ERROR] 2024-07-24 05:35:38.379 [pool-3-thread-1] SubscribeResponseHandler - Secure Tunneling Process: 2024-07-24T05:35:38.332Z [WARN]  {FileUtils.cpp}: Permissions to given file/dir path '/tmp/device-client-settings.json5519849066001650531721799268640' is not set to recommended value... {Permissions: {desired: 640, actual: 664}}. {scriptName=services.aws.greengrass.SecureTunneling.lifecycle.run.script, serviceName=aws.greengrass.SecureTunneling, currentState=RUNNING}
2024-07-24T05:35:38.381Z [INFO] (Copier) aws.greengrass.SecureTunneling: stdout. [ERROR] 2024-07-24 05:35:38.380 [pool-3-thread-1] SubscribeResponseHandler - Secure Tunneling Process: 2024-07-24T05:35:38.333Z [WARN]  {Config.cpp}: Path replace_with_root_ca_file_location to RootCA is invalid. Ignoring... Will attempt to use default trust store.. {scriptName=services.aws.greengrass.SecureTunneling.lifecycle.run.script, serviceName=aws.greengrass.SecureTunneling, currentState=RUNNING}
2024-07-24T05:37:46.510Z [INFO] (Copier) aws.greengrass.SecureTunneling: stdout. [ERROR] 2024-07-24 05:37:46.510 [pool-3-thread-1] SubscribeResponseHandler - Secure Tunneling Process: 2024-07-24T05:37:46.509Z [ERROR] {TcpForward.cpp}: TcpForward::OnConnectionResult error_code=1047. {scriptName=services.aws.greengrass.SecureTunneling.lifecycle.run.script, serviceName=aws.greengrass.SecureTunneling, currentState=RUNNING}

I also checked if I the device has port 443 open, which it does:
root@<user>:/greengrass/v2/logs# sudo lsof -i :443
COMMAND    PID     USER   FD   TYPE DEVICE SIZE/OFF NODE NAME
aws-iot-d 1623 ggc_user    7u  IPv4  31670      0t0  TCP <user>:59562->ec2-3-213-214-212.compute-1.amazonaws.com:https (ESTABLISHED)


feat(simd): use simd-json for deserialization

Use simd-json for faster deserialization
Use  mimalloc instead of the default system allocator for performance

Based on the awesome feedback from @epage here ❤ !

For the record, this can't be used yet sadly since there's no way to preserve the order of the keys, see https://github.com/simd-lite/simd-json/issues/270.


Rename and expose preSendCheck from sdk

https://github.com/onflow/fcl-js/blob/master/packages/sdk/readme.md#example-pre-checking-before-sending-a-transaction

Some proposals for renaming

inspectVoucher
reviewVoucher
checkVoucher
reviewTxForSending
checkTxBeforeSending
useTxBeforeSending

useAdvancedVoucher, useAdvancedTx, getAdvanced__ ?

Not sure about the advanced descriptor.
I like the use prefix. How about calling it a hook
useVoucherHook or useTxHook

I think use and hook is a little redundant since in React use implies that it's a hook. After a bit more thinking, I'm wondering if use will cause confusion with someone using React?

pullAdvancedVoucher?

yeah, that makes sense @chasefleming use + Hook might be too close
leaning toward inspectVoucher__ checkVoucher__


[bug] MediaPlayerEndReached Event not thrown reliably

I am playing several videos after another in a loop. One of the videos is this one. After a while my video loop hangs because the EventManager does not receive the MediaPlayerEndReached even though the video has ended.
I do not know how to reproduce this issue but it does only happen to the linked video. Several others I tested work fine.

Another think I noticed on this specific video: ParseWithOptions does never sent any vlc.MediaParsedChanged events.

Hi @masseelch. Sorry for the late response. I cannot reproduce the issue you are having with the video you mentioned.
Both events are firing for me when using the player and media information examples with that video.
Does the issue reproduce for you using these examples?

Yes, the issue reproduces with that examples. The videos are running on a RPI 4, 4GB.

I am not able to reliably run vlc. I have even switched the hardware completely.
I am now doing it with omxplayer.


[VS Code] [Audio] Unable to download Live Share Audio, stuck on 'Finishing VSLS Audio Installation (downloading)...

Describe what happened:
Whenever I try to install Live Share Audio, I am unable to do so as I get the notification Downloading dependencies...: Finishing VSLS Audio installation (downloading)... which lasts for as long as I keep VS code open (has currently lasted an hour and a half).
This means that I am unable to download Live Share Audio. If I try to start a meeting, there is no audio option.
I have very slow wifi here (approx 1.5 Mbps download speed) but even then it shouldn't take that long.
What was your system configuration?
VScode version: 1.45.1
OS Version[macOS/Windows]: macOS Mojave 10.14.6
Live Share Extension Version: 0.1.85
Steps to Reproduce / Scenario:

Go to Extension Marketplace
Download Live Share
Install Live Share Audio
See infinite notifcation

Please attach logs to this issue:
showerror.zip
Screenshots
If applicable, add screenshots to help explain your problem.

Description:
I have the same error Downloading dependencies...: Finishing VSLS Audio installation (downloading)...
This message hangs for long time as long as have VSCode open.
System Configuration:
OS Version: Mac OS Catalina 10.15.4
VS Code Version: 1.46.0-insider
Live Server Version: 1.0.2236
Live Server Audio Version: 0.1.85
Steps to reproduce:

Install Live Share extension
Reload VSCode
Install Live Share Audio
An indefinite process icon at bottom of VSCode hangs with the message Downloading dependencies...: Finishing VSLS Audio installation (downloading)...

I tried removing globalStorage and extension folder for VSCode Insider.
Again did the installation as in Steps to Reproduce 1 to 3, hanging with message as in Step 4.
Log
VSClog.zip
20200527_155842_15905951228720_VSLSAudio.log
[2020-05-27 15:58:42.890 LiveShareAudio I] Installing dependencies for VSLS Audio... [2020-05-27 15:58:42.896 LiveShareAudio I] Downloading package 'electron-mac-x64-skype-4.2.7'
Screen Shots

I need to install the above extensions to collaborate with my peers.

So from what I can guess from looking over the logs, it's just taking a long time to download electron-mac-x64-skype-4.2.7. I managed to download it once and move on to the next stage, from what I checked on the logs, but then I accidentally quite VS code.
I will leave my computer running till morning, see the result and check the log, and then repost here.

Today I received a Repair dialogue box, with Repair message to restart the VSCode. When I started VSCode, the installation or the Dependency update for Audio, was not hanging for ever. The Repair message box which automatically fixed my installation, after 6 days.
Thanks!

So it turned out that I did manage to download electron overnight, apparently it is just a very big package with a slow download speed. Checking the logs shows that nothing went wrong, it was just stuck on downloading the package for a long time.


segfault error 14 in traffic_server of ATS 6.2.1 frequently

On production hosts, I found ATS 6.2.1 restart frequently and I found the following:
dmesg | grep --color 'traffic'
[22883596.321822] [ET_NET 1][29617]: segfault at 0 ip (null) sp 00002acf98802928 error 14 in traffic_server[400000+3c8000]
[22885805.115691] [ET_NET 1][15922]: segfault at 0 ip (null) sp 00002b7b2d6a2948 error 14 in traffic_server[400000+3c8000]
[22895153.822527] [ET_NET 2][9327]: segfault at 0 ip (null) sp 00002ba7d5fc9948 error 14 in traffic_server[400000+3c8000]
[22902520.266311] [ET_NET 2][24147]: segfault at 0 ip (null) sp 00002b229cc06928 error 14 in traffic_server[400000+3c8000]
[22948380.013123] [ET_NET 7][18770]: segfault at 0 ip (null) sp 00002b2276ac7ac8 error 14 in traffic_server[400000+3c8000]
[22950675.359225] [ET_NET 17][17355]: segfault at 0 ip (null) sp 00002b927500e948 error 14 in traffic_server[400000+3c8000]
[22971147.315881] [ET_NET 11][6596]: segfault at 0 ip (null) sp 00002b5b3d311948 error 14 in traffic_server[400000+3c8000]
[22971147.315906] [ET_NET 3][6588]: segfault at 0 ip (null) sp 00002b5b3cb09948 error 14 in traffic_server[400000+3c8000]
I failed to locate the reason，so any help with is appreciated!
Does anyone have any ideas on why this happens or a way to fix it?
Thanks in advance！

If this is still an issue please reopen.


sort out the floc.fmriprep submodule structure and add it as a submodule

The nested structure for the different cneuromod floc repositories seem like they may need an update.

[x] Check the existing floc.stimuli repo. Some of the .jpg images in the stimuli directory are symbolic links, while others are .jpg files you can see on github. Is this due to size below/above gitannex threshold?
[x] Make sure the cneuromod.floc repo (main branch) exists (I can only find this one, is this the right one?), and that it has a submodule called stimuli that links to floc.stimuli (main branch).
[x] Make sure the cneuromod.floc repo (main branch) contains the correct *events.tsv files under each sub-0*/ses-0*/func/* folder (with trial-wise info). I have local copies of the .tsv saved under projects/rrg-pbellec/mstlaure/cneuromod-things/fLoc/fmriprep/sourcedata/floc that could be merged into it, if need be (they're NOT saved in a repo, just nested folders).
[x] I can't seem to locate the floc.fmriprep repo on the cneuromod github (is it private?). I do have an older version installed under projects/rrg-pbellec/mstlaure/things_memory_results/data/floc.fmriprep which I used for analyses, though. Could you validate that the floc.fmriprep repo is accessible publicly on github?
[x] Could you also validate that floc.fmriprep 's main branch points to the correct cneuromod.floc branch (as its submodule) under sourcedata? (i.e., fmriprep/sourcedata/floc -> cneuromod.floc)
[x] Once the nested structure is validated, install floc.fmriprep as a submodule called fmriprep under cneuromod-things/fLoc to replace the fmriprep placeholder directory.

couple of things:

do we want to make all floc.stimuli all symbolic links in the main branch?
on floc branch, current cneuromod-things/fLoc/fmriprep/sourcedata/cneuromod.floc points to cneuromod.floc dev branch (not main branch); can we merge into main, update submodule to point to main branch, and rename it so the path is cneuromod-things/fLoc/fmriprep/sourcedata/floc ?
I need to double check that the events.tsv files are the ones with the rows per trial (like on elm) on cneuromod.floc main branch

Ongoing: merge PR from dev to main branch for cneuromod.floc repo (then update floc.fmriprep to point to updated submodule head (updated main branch))
https://github.com/courtois-neuromod/floc/pull/2


Support for Solus

Hey all!
I'm currently trying to figure it out myself but if it's not super difficult, would there be a chance of this being developed for Solus?

I won't be actively developing for it, but feel free to create a port if you have the time.

As interest has seemed very low, i'm closing this issue now. Thanks for the suggestion!


[Identity] Add UsernamePasswordCredential for username/password authentication

This change adds username/password authentication as described in the AAD OAuth documentation:
https://docs.microsoft.com/en-us/azure/active-directory/develop/v2-oauth-ropc
Resolves #4310.

I don't force it right now, but I probably should. So long as it doesn't negatively impact test scenarios it'll be easy to throw when http is used.

Added the https check in b6c7194

I'll go ahead and merge this and then will update the https check in a new PR if @schaabs thinks it should be changed.  Thanks all!


[OBS]: Folder creation and management fix

FIx folder creation and deletion for OBS.
Includes:

create_object
delete_object

Refers to: #401
Unit tests
pep8: OK (33.97=setup[20.29]+cmd[12.12,1.56] seconds)
py3: OK (24.78=setup[15.43]+cmd[9.13,0.22] seconds)
congratulations :) (58.84 seconds)

Regate

Regate


Graphics data can overwrite PPC code/data

When not having a lot of gfx memory (read: voodoo card) and playing the Quake II intro (which is rather big) PPC code and/or data residing in Sonnet memory gets overwritten if you let the intro play long enough. This does not happen on a Radeon card with 256MB.
I'm guessing that the graphics driver assumes it has all $2005 memory for itself. And that allocating memory for bitmaps does not go through the normal memory allocation functions but through P96 or CGX.
Will look into it.

I believe pci.library has VoodooMem and RadeonMem environment variables (both in EnvArc:Mediator/), which are supposed to limit how much memory will Picasso96 use.

Seeing how things get overwritten, I think it is the other way around. Those variables indicate how much memory is NOT available for system memory. I already raised RadeonMem to 32MB but still see screens getting allocated beyond the 32MB. Plenty of memory in a Radeon so it doesn't clash as it does with the Voodoo.

These variables existed long before Elbox started supporting using graphics card memory as system memory.
Since you have the Mediator, you can check the bundled CD. There you will find some files with documentation (AmigaGuide format if I remember correctly), one of these explains how this variable works. Of course, it might lie or be outdated, one could only be 100% sure after further reverse engineering of pci.library.

Yes, now I remember. They are there to leave some space for 'DMA' memory for spider and/or fastethernet (1 or 2 MB).

I thought the way it works is this for a 16MB Voodoo:
Voodoomem=12 Voodoo uses 12mb for display buffer
Spiderbuf=1 1MB for Spider USB buffer
Leaving 3MB as Amiga PCI RAM

This was probable a stack overflow problem as a result of the memory release problems as I haven't seen it anymore after the fix.


mm_main: delete realloc boundary test

Summary
It's better to add DEBUGASSERT in mm code to check the unaligned problem instead add a complex test case.
BTW, there are other memory implementation(e.g. sim use the host heap manager directly), it isn't good to test the internal data struct in common code.
Impact
no impach
Testing
sim:nsh config mm test pass

CI Failed and seemed unrelated to this PR.
====================================================================================
Configuration/Tool: nucleo-h743zi2/pysim,CONFIG_ARM_TOOLCHAIN_GNU_EABI
------------------------------------------------------------------------------------
  Cleaning...
  Configuring...
  Disabling CONFIG_ARM_TOOLCHAIN_GNU_EABI
  Enabling CONFIG_ARM_TOOLCHAIN_GNU_EABI
  Building NuttX...
  Normalize nucleo-h743zi2/pysim
72a73
> CONFIG_POSIX_SPAWN_DEFAULT_STACKSIZE=2048
75d75
< CONFIG_POSIX_SPAWN_DEFAULT_STACKSIZE=2048
Saving the new configuration file
On branch master
Your branch is up to date with 'origin/master'.

Changes not staged for commit:
  (use "git add <file>..." to update what will be committed)
  (use "git restore <file>..." to discard changes in working directory)
	modified:   boards/arm/stm32h7/nucleo-h743zi2/configs/pysim/defconfig

no changes added to commit (use "git add" and/or "git commit -a")

CI Failed and seemed unrelated to this PR.
====================================================================================
Configuration/Tool: nucleo-h743zi2/pysim,CONFIG_ARM_TOOLCHAIN_GNU_EABI
------------------------------------------------------------------------------------
  Cleaning...
  Configuring...
  Disabling CONFIG_ARM_TOOLCHAIN_GNU_EABI
  Enabling CONFIG_ARM_TOOLCHAIN_GNU_EABI
  Building NuttX...
  Normalize nucleo-h743zi2/pysim
72a73
> CONFIG_POSIX_SPAWN_DEFAULT_STACKSIZE=2048
75d75
< CONFIG_POSIX_SPAWN_DEFAULT_STACKSIZE=2048
Saving the new configuration file
On branch master
Your branch is up to date with 'origin/master'.

Changes not staged for commit:
  (use "git add <file>..." to update what will be committed)
  (use "git restore <file>..." to discard changes in working directory)
	modified:   boards/arm/stm32h7/nucleo-h743zi2/configs/pysim/defconfig

no changes added to commit (use "git add" and/or "git commit -a")

please run:
./tools/refresh.sh --silent nucleo-h743zi2/pysim

and send a PR, thanks.

related patch: https://github.com/apache/incubator-nuttx/pull/7495


Forward unhandled messages to optional subscriber handle_info callback

The motivation for adding handle_info callbacks is to allow subscriber worker processes which are spawned by brod to participate in message passing, supporting a variety of use cases utilizing async acking and committing.
An example use case:

Start a group subscriber using brod_group_subscriber_v2
In a partition worker spawn a new process for every message under a supervisor specific to the worker's topic-partition
When the supervisor has <= N processes, ack last seen offset to fetch new messages. When the supervisor has > N processes, messages are not acked to apply backpressure
When all processes up to offset O1 have completed, commit offset O1

Allowing arbitrary message passing in the topic and group subscriber workers supports not only that use case but many others.

I'll make a PR upstream after approved here.


Inefficient dataloader query with many-to-many

Describe the bug
Let's say we have Video and Category entities with m:n relation.
With graphql we need use dataloaders. If client asks for videos with categories the dataloader with video.categories.load() ends up with this kind of find call:
await orm.em.find(Category, { videos: { $in: ['videoId'] } }, { populate: ['videos'] });

which leads to this kind of sql query:
SELECT `c0`.*,
       `v1`.`id` AS `v1__id`,
       `v1`.`name` AS `v1__name`
FROM `category` AS `c0`
LEFT JOIN `video_categories` AS `v2` ON `c0`.`id` = `v2`.`category_id`
LEFT JOIN `video` AS `v1` ON `v2`.`video_id` = `v1`.`id`
LEFT JOIN `video_categories` AS `v3` ON `c0`.`id` = `v3`.`category_id`
WHERE `v3`.`video_id` IN (1)

where the third left join is not relevant and may lead up to thousands of identical rows and query time is many seconds. In my usecase, I have about 100 categories and about 5000 video_category relations and it takes ~18 seconds if I it ends up in the categories dataloader.
I wasn't able to figure out myself if there is anything that could be done so hope to get some help.
Reproduction
import { Collection, Entity, ManyToMany, MikroORM, PrimaryKey, Property } from '@mikro-orm/core';
import { SqliteDriver } from '../../packages/sqlite/src';

@Entity()
class Video {

  @PrimaryKey()
  id!: number;

  @Property()
  name!: string;

  @ManyToMany(() => Category)
  categories = new Collection<Category>(this);

}

@Entity()
class Category {

  @PrimaryKey()
  id!: number;

  @Property()
  name!: string;

  @ManyToMany(() => Video, video => video.categories)
  videos = new Collection<Video>(this);

}

describe('Dataloader m:n', () => {

  let orm: MikroORM;

  beforeAll(async () => {
    orm = await MikroORM.init({
      entities: [Video, Category],
      dbName: ':memory:',
      driver: SqliteDriver,
      debug: true,
      dataloader: true,
      allowGlobalContext: true,
    });
    await orm.getSchemaGenerator().refreshDatabase();
  });

  afterAll(() => orm.close(true));

  test('Load m:n', async () => {
    const video = orm.em.create(Video, { name: 'video1', categories: [{ name: 'category1' }] });
    await orm.em.flush();
    orm.em.clear();

    // Similar find query for comparison
    // await orm.em.find(Category, { videos: { $in: [video.id] } }, { populate: ['videos'] });
    // orm.em.clear();
    const video1 = await orm.em.findOneOrFail(Video, video.id);
    await video1.categories.load();
  });

});

What driver are you using?
@mikro-orm/postgresql
MikroORM version
6.3.13
Node.js version
20.12.2
Operating system
MacOS
Validations

[X] Read the Contributing Guidelines.
[X] Read the docs.
[X] Check that there isn't already an issue that reports the same bug to avoid creating a duplicate.
[X] Check that this is a concrete bug. For Q&A open a GitHub Discussion or join our Discord.
[X] The provided reproduction is a minimal reproducible example of the bug.

@B4nan this reminds me one of the issues we've discussed when v6 was in development, probably one of the following I guess:
https://github.com/mikro-orm/mikro-orm/issues/5019
https://github.com/mikro-orm/mikro-orm/pull/5031
https://github.com/mikro-orm/mikro-orm/issues/5014


New release?

Can we get a new release? Would love to update to a version with https://github.com/pinterest/esprint/commit/fa407b9f5942b83c05cbe6810357c69b5caf9b7d.

@omerzach We're looking into cutting a release today. Thanks for the nudge :)

<EMAIL_ADDRESS>(non-beta) is out! Feel free to update and let us know if you have any other issues!


How to search data from Elastic search using angularjs 1.6.4

I'm submitting a ...

[ x] bug report
[ ] feature request
[ ] other

Current behavior:

I tried elastic search with angularjs 1.6.4  Elastic search documentation
Expected / new behavior:

if elastic search with angularjs well documented
Minimal reproduction of the problem with instructions:
 Here is my code:
const elasticsearch = require('elasticsearch');
const hostname = process.argv[2] || 'localhost';
const password = process.argv[3] || 'password';
const host = http://user:${password}@${hostname}/elasticsearch;
var client = new elasticsearch.Client({
host: host,
log: 'trace',
header: {
'Access-Control-Allow-Origin': '*',
'Access-Control-Allow-Credentials': 'true',
'Access-Control-Allow-Headers':'Origin, Content-Type, X-Auth-Token',
'Access-Control-Allow-Methods':'GET, POST, PATCH, PUT, DELETE, OPTIONS',
'cache-control': 'no-cache',
'content-type': 'application/json',
}
});
client.ping({
// ping usually has a 3000ms timeout
requestTimeout: 1000
}, function (error) {
if (error) {
console.trace('elasticsearch cluster is down!');
} else {
console.log('All is well');
}
});
client.search({
index: 'myindex',
q: 'title:test'
}, function callback(error, response) {
if (error) {
client.create({
index: 'myindex',
type: 'mytype',
id: '1',
body: {
title: 'test',
tags: ['y', 'z'],
published: true,
published_at: '2013-01-01',
counter: 1
}
}, function (error, response) {
if (error) {
console.trace(error);
} else {
console.log(Created myindex: ${JSON.stringify(response)});
}
});
} else {
console.log(Found myindex: ${JSON.stringify(response)});
}
});
AngularJS version: 1.6.4

Browser: [all | Chrome XX | Firefox XX | Edge XX | IE XX | Safari XX | Mobile Chrome XX | Android X.X Web Browser | iOS XX Safari | iOS XX UIWebView | iOS XX WKWebView ]

Anything else:

Thanks in advance,
Subrata Nandi

This looks like either something that belongs to the elastic-search repo/community or just a CORS issue.
Nevertheless, it doesn't seem to be related to AngularJS.
Please do note, GitHub issues are reserved for bug reports and feature requests related to AngularJS. If you need assistance regarding AngularJS, please try one of the appropriate channels.


minor: remove test code that's in the arrow library now

Which issue does this PR close?

Closes #.
Rationale for this change

Handling of the FixedSizeList datatype is in the arrow array_value_to_string() function, it doesn't need special case handling in DF test code anymore.
What changes are included in this PR?

Are there any user-facing changes?

Codecov Report

Merging #3206 (928c10b) into master (929eb6d) will increase coverage by 0.00%.
The diff coverage is n/a.

:exclamation: Current head 928c10b differs from pull request most recent head 19e16f5. Consider uploading reports for the commit 19e16f5 to get more accurate results

@@           Coverage Diff           @@
##           master    #3206   +/-   ##
=======================================
  Coverage   85.87%   85.88%
=======================================
  Files         291      291
  Lines       52885    52879    -6
=======================================
- Hits        45415    45413    -2
+ Misses       7470     7466    -4

Impacted Files
Coverage Δ

datafusion/core/tests/sql/mod.rs
97.77% <ø> (+0.82%)
:arrow_up:

datafusion/expr/src/logical_plan/plan.rs
77.60% <0.00%> (-0.18%)
:arrow_down:

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


Handle concurrent calls at the QueryProfiler

The QueryProfiler must be thread-safe as it needs to handle concurrent access. Otherwise, this may lead to unexpected exception when profiling queries using EXPLAIN ANALYZE statements
Relates to https://github.com/elastic/elasticsearch/commit/947234a8ce2e3fae3605ee7b55075e0787ed986f.

What I do not completely understand is how the profiler is called concurrently as afaik we do not support parallel searches on segments. But I could prove that there are indeed concurrent calls on it by running some customer provided (thus not added here) EXPLAIN ANALYZE statements.


Only display uncreated exhibits.

Closes #86

Coverage remained the same at 100.0% when pulling 0f3b5addf784fd138614c58e23780c45ecab5318 on only_display_uncreated_exhibits into 6c55047e40a1128dc40262b7d066ffd54d0653c9 on master.


Improve migration performance

⚠ WIP

Context
Ticket: https://dfedigital.atlassian.net/browse/CPDNPQ-000
[Why are we making this change?]
Changes proposed in this pull request
[What has been changed?]
Guidance for review
Script to grab runtime by model type:
Migration::DataMigration
  .all
  .group_by(&:model)
  .transform_values do |migrations|
    earliest_started = migrations.map(&:started_at).compact.min
    latest_finished = migrations.map(&:completed_at).compact.max

    if earliest_started.nil? || latest_finished.nil?
      nil
    else
      latest_finished - earliest_started
    end
  end
  .compact
  .sort_by(&:last)
  .reverse
  .map { |(model, duration)| [model, ActiveSupport::Duration.build(duration).inspect] }

Closing spike


What's the proper way of updating the script?

Is running the "pip install ofscraper" command all that's needed? I tried that, but I can't tell what version I'm actually on. My existing config file hasn't been updated with any of the new stuff (e.g., mp4decrypt), either.

Yes
ofscraper -v should give you a basic version

pip install ofscraper --upgrade


Configure Zap logging

This enables some log messages to be shown by default and the log level
is configurable via CLI arguments.

Does klusterlet-addon-operator need to be udpated?

Does the chart in klusterlet-addon-operator need to be udpated?

I wasn't thinking so yet. That will be handled in:
https://github.com/stolostron/backlog/issues/19030
For now, I just wanted to get logs working in development/canary tests.
What do you think @ycao56 and @JustinKuli?


Fixes

Add local tests.
Add scripts to ease the execution of Ssyft: ssyft_run.sh. Since the SYNTCOMP benchmarks are written in TLSF format, I added the support to TLSF for Ssyft. Finally, I added a test folder (with around 70 test cases) along with scripts for running the tests.

Thanks!


Add s2opc (OPC UA implementation) module to Zephyr

Introduction
s2opc is an open-source implementation of the OPC UA protocol.
Zephyr and S2OPC have some common points:

focused on security and safety (it is written to get certifications)
Apache 2.0 license
tailored for embedded systems

S2OPC nano server has been certified by the OPC Foundation.
On the security aspect, a CSPN evaluation is in progress at the initiative of the ANSSI (https://www.ssi.gouv.fr/en/).
Problem description
OPC UA is the machine to machine protocol of industry 4.0. If Zephyr target is IOT products, it is important to have an OPC UA library and if possible, a library which share its concerns (safety, security, open-source, ...).
Proposed change
S2OPC, hosted on Gitlab used to run on Linux, Windows, FreeRTOS or VX Works.
We ported the library on Zephyr. The result is available on the Gitlab.
There are still some modifications/improvements to be done but we would like to share our first results.
Detailed RFC
S2OPC sources contain a directory src/Common/helpers_platform_dep which contain all platform dependent code (timers, threading, etc ...). There is sub-directory per supported platform.
A Zephyr sub-directory has been created and we tried to map our abstraction layer to Zephyr API.
OPC UA contains two different mechanisms:

the classic client/server which is connected and based on TCP
the PubSub which is not connected and based on UDP, MQTT, AMQP or Raw Ethernet.

A demo server, result of the porting activity has been successfully tested on imx1064 with Zephyr 2.2.
We plan to test qemu_x86 and others hardware architectures using Renode.
Proposed change (Detailed)
We suggest using S2OPC for the name of the module.
The project is hosted on Gitlab but we have a GitHub mirror.
In order to facilitate future maintenance, our favorite option would be the creation of the branch zephyr on Gitlab which is mirrored on GitHub and you can integrate into Zephyr but we are open to discussion.
At first, we suggest submitting the library code plus a demo server as a sample.
It is running successfully on Zephyr zephyr-v2.3.0-520-gba0a791635c9 with imx 1064 and native_posix
Dependencies
s2opc main dependencies are:

mbedtls for cryptographic operations
operating systems services, and especially communication (TCP, UDP, ...)

Concerns and Unresolved Questions
We have still some unresolved issues including:

s2opc needs the system time to check the date of certificates. We tried to use the POSIX API to get system time we encountered an issue (https://github.com/zephyrproject-rtos/zephyr/issues/24730). As a temporary workaround, we use binary build date as current system date.
UDP PubSub is based on multicast UDP. This feature doesn't seem to be managed by Zephyr (https://github.com/zephyrproject-rtos/zephyr/issues/2336). We modified the Kernel to support UDP multicast at least for native Posix and imx1064 (See https://github.com/zephyrproject-rtos/zephyr/issues/26584 and suggested  patch for imx1064 https://github.com/zephyrproject-rtos/zephyr/issues/26585)

Alternatives
N/A

cc @carlescufi @puchm. Request for a module sent.

To test the module (at your own risk, it is a beta version).
1/ Add the following lines into west.yml:
name: s2opc
path: modules/lib/s2opc
url: https://gitlab.com/systerel/S2OPC
revision: plu_poc_zephyr_imx6_rebase

2/ run west update
3/ go to directory zephyrproject/modules/lib/s2opc/samples/ClientServer/zephyr/toolkit_test_server and run west build. Note: the default board is imx1064.
The generated application is a demo server OPC UA which is exposed on URL opc.tcp://<IP_ADDRESS>:4841.

* UDP PubSub is based on multicast UDP. We tried to port it with IPv4 but stopped as this feature doesn't seem to be managed by Zephyr (#2336)

It would not be a big issue to create IPv4 join/leave multicast support. Atm I am quite busy with other areas but I can help if someone wants to implement this.

@vla3913 the revision "plu_poc_zephyr_imx6_rebase" is not in the repo anymore... Which should I use instead? I tried "zephyr" but that got me an error when building.
And is it possible to simply supply -b qemu_x86 to the build command in order to build it for Qemu? Or are there some other things that make it default to imx1064?

@puchm. Yes you are right: the branch was renamed this morning to be closer to Zephyr standard. I am going to update the content of the issue.
The default target is imx1064 because it is our development target and we have not tested yet others ones.
But you can test others architectures. For examples for imx1020, the following command successfully build a binary I cannot test:
west build -p auto -b mimxrt1020_evk

@puchm which Zephyr revision do you use ? We develop against Zephyr revision 2.2.

However, if i am not wrong, QEMU x86 emulator doesn't support Ethernet so I don't think it's the good platform to test the library.

QEMU x86 emulator doesn't support Ethernet

qemu_x86 most definitely supports Ethernet. We have Intel e1000 driver in Zephyr which is also supported by Qemu. You can setup TAP Ethernet device in Linux and connect that to Zephyr running in Qemu, this is very useful in testing.

@jukkar, it's really good news !
Reading https://docs.zephyrproject.org/2.2.0/boards/x86/qemu_x86/doc/index.html, and seeing Ethernet in the unsupported features list, I thought it was not the case but it looks like I have missed something.

@vla3913 Ethernet seems to be missing from supported features list, but if you scroll down, the networking support is mentioned separately.
https://docs.zephyrproject.org/2.2.0/boards/x86/qemu_x86/doc/index.html#networking

@vla3913 I was using Zephyr 2.2.99, I switched to 2.2.0 and it worked.
What I think would be quite useful is an explanation on how to access OPC UA that runs in QEMU from "outside". So for example one could set up a server in their Qemu environment and then try to access it, for example using opcua-client-gui. From what I have been reading, I think that it is somehow necessary to set up a network bridge but I didn't really succeed.
I guess developing in an emulation like Qemu is quite important for many developers because it could speed up the workflow.

From what I have been reading, I think that it is somehow necessary to set up a network bridge but I didn't really succeed.

The zephyr documentation describes how to setup qemu<->host communication using Ethernet here https://docs.zephyrproject.org/latest/guides/networking/networking_with_host.html

I was using Zephyr 2.2.99, I switched to 2.2.0 and it worked.

Was there something in 2.2.99 that did not work, or did you just want to use the 2.2?

I think that it is somehow necessary to set up a network bridge but I didn't really succeed.

Bridging is only needed if you want to connect two Zephyr instance (for example two Qemu) to each other.

@puchm, you are absolutely right, we are working on the subject. Following the advice of @jukkar, I compiled in qemu-x86 and added a zeth interface.
The good news is the connection part works perfectly. I am able to communicate between the OPC UA server in QEMU and an OPC UA client on my desktop.
The bad news is the connection is not established because (Thanks GDB by the way) mbedtls refuses to initialize (mbedtls_ctr_drbg_seed returns an error). We are going to investigate this issue.

Sorry for the late reply.
@jukkar compiling didn't work with Zephyr 2.2.99 for some reason and I didn't investigate it further. It worked in 2.2.0 which is why I decided to use that. It may be worth trying it in 2.3.0 when that's done but that's something I don't have time for right now.
I tried using the networking stuff (I used "Native Posix Internet", https://docs.zephyrproject.org/latest/samples/net/eth_native_posix/README.html) but I am getting an error when compiling:
In file included from /usr/include/bits/errno.h:26:0,
                 from /usr/include/errno.h:28,
                 from /home/moritz/zephyrproject/zephyr/include/kernel.h:18,
                 from /home/moritz/zephyrproject/zephyr/arch/posix/core/offsets/offsets.c:26:
/usr/include/linux/errno.h:1:10: fatal error: asm/errno.h: No such file or directory
 #include <asm/errno.h>

What I did is I ran Zephyr net-tool's net-setup.sh with sudo and then I built the usual way with the board parameter being native_posix.
How did you get this to run @vla3913 ?
Also, I didn't really understand what you mean by saying the connection works but is not established... What does this mean for the functionality of S2OPC?

@jukkar, we run into structure and functions prototypes which seem to be modified since revision 2.2 (aka _k_thread_stack_element structure or k_sleep function ). What do you suggest: always align to the master or stick to 2.2 ?
@puchm, i get this to run by compiling in qemu-x86 and using e1000 driver:
west build -p auto -b qemu_x86 -- -DOVERLAY_CONFIG=overlay-e1000.conf

then, launch net-tool in a terminal:
net-setup.sh

and finally run the binary:
west build -t run

What I mean is that I am able to exchange Ethernet messages with the Zephyr application running in Zephyr but the OPC UA communication is not established because of an mbedtls initialization error i do not have on real hardware (mbedtls_ctr_drbg_seed initialization error)

we run into structure and functions prototypes which seem to be modified since revision 2.2 (aka _k_thread_stack_element structure or k_sleep function ). What do you suggest: always align to the master or stick to 2.2 ?

The 2.3 release will contain big changes for timeout functionality so functions like k_sleep are affected. If you still want to use the old timeout code, just enable CONFIG_LEGACY_TIMEOUT_API.
I am probably biased but I would use always the master, but I am not building products that use Zephyr. So it really depends what are your goals and how you are using Zephyr.

Thanks, I just updated the code to be compliant with 2.3rc1 (although I have seen some items which will need a little additional cleanup). Non regression tests ok on omx1064 with this new version.

I have difficulties with qemu x86 entropy pool for mbedtls. Do you know who I can contact on the subject ?

* UDP PubSub is based on multicast UDP. We tried to port it with IPv4 but stopped as this feature doesn't seem to be managed by Zephyr (#2336)

It would not be a big task to create IPv4 join/leave multicast support. Atm I am quite busy with other areas but I can help if someone wants to implement this.
We started working on the subject too and would be happy to help.

I have difficulties with qemu x86 entropy pool for mbedtls. Do you know who I can contact on the subject ?

@ceolin is probably the best contact here

@ceolin, is it possible to contact you with some quick questions on the subject ?

@ceolin, is it possible to contact you with some quick questions on the subject ?

of course :) just let me know how can I help you.

@ceolin, Hello. I am trying to access hardware entropy device to get entropy for mbedtls. I use this code:
dev = device_get_binding(CONFIG_ENTROPY_NAME);

With CONFIG_ENTROPY_NAME equal to TRNG, it is working fine on imx 1064.
However, I can't get the device on qemu x86. I think that entropy device is not supported on qemu x86 but i don't find the written confirmation. Same question with native_posix and native_posix_64.
Thank you very much for your help.

@ceolin, Hello. I am trying to access hardware entropy device to get entropy for mbedtls. I use this code:
dev = device_get_binding(CONFIG_ENTROPY_NAME);

With CONFIG_ENTROPY_NAME equal to TRNG, it is working fine on imx 1064.
However, I can't get the device on qemu x86. I think that entropy device is not supported on qemu x86 but i don't find the written confirmation. Same question with native_posix and native_posix_64.
Thank you very much for your help.

We don't have entropy drivers for qemu and native posix. AFAIK qemu can export an entropy source through VIRTIO device but we never implemented a driver for that.
Do you really need access the entropy device ? Can't you use the random subsystem ? we do have  CSPRNG and PRNG  APIs. You can select the entropy device as backend for the random number generator for productions and use a non-secure version when developing on qemu.

@ceolin , thanks for your reply. I am going to try to take it into account.

Before this module is created we need to decide if we want to support both S2OPC and open62541 or just one of them.

In my opinion it would be better to support both. open62541 seems like it needs some more work until it works on Zephyr but S2OPC does not have a free-to-access documentation.

We have made further progress:
PubSub based on multicast UDP is now working on native_posix and imx_1064.
In order to achieve it, we have modified the multicast UDP Zephyr functions:

identified one common issue : https://github.com/zephyrproject-rtos/zephyr/issues/26584
and suggested a patch for imx1064 https://github.com/zephyrproject-rtos/zephyr/issues/26585
Note: this patch is hardware specific and others Ethernet drivers probably need to be adapted too.

We also have added signature and encryption mechanisms on PubSub exchanges.
Doing so, we encountered one issue we reported:
https://github.com/zephyrproject-rtos/zephyr/issues/26435

* UDP PubSub is based on multicast UDP. This feature doesn't seem to be managed by Zephyr (#2336).

I just saw the Zephyr S2OPC presentation in Zephyr Developer summit, and want to comment that the IPv4 multicast support (IGMP) is now supported in upstream Zephyr 2.6. I hope this helps with S2OPC Zephyr integration.

@nashif @MaureenHelm This issue is unrelated to OSDP, and we still need to come to a conclusion on OPC UA,.

* UDP PubSub is based on multicast UDP. This feature doesn't seem to be managed by Zephyr (#2336).

I just saw the Zephyr S2OPC presentation in Zephyr Developer summit, and want to comment that the IPv4 multicast support (IGMP) is now supported in upstream Zephyr 2.6. I hope this helps with S2OPC Zephyr integration.

Great ! Thanks for you feedback. we are going to try this out.

New supported boards including:

stm32h735g_disco
stm32h747
see https://gitlab.com/systerel/S2OPC/-/wikis/compilation/compilation_zephyr for guidelines.

@vla3913
First of all, thanks a lot for a very relevant enhancemt proposal!
Was there any reason to choose s2opc implementation over open62541 ?

@AndreyDodonov-EH Thanks !
I think S2OPC and Zephyr share common objectives such as safety and cybersecurity certification so it really make sense to bind the two products.
However, as my team and myself are S2OPC maintainers, my opinion cannot be called truly objective ;-).

S2OPC is now compliant with Zephyr 3.2.

This issue has been open for a long time. @vla3913 are you planning to submit the code to upstream?

Hello @jukkar,
S2OPC can run on Zephry (see https://gitlab.com/systerel/S2OPC/-/wikis/compilation/Zephyr-compilation) and we maintain it.
When I have created the ticket some time ago, I have tagged it as RFC because I though it can be offered to Zephyr user as an OPC UA module.

Having it as an outside module is fine and if you have everything working ok, I think we can close this one then.

Ticket closed as module is external to Zephyr. See https://gitlab.com/systerel/S2OPC/-/wikis/compilation/Zephyr-compilation


Add GitHub action to compare binary size of the Demo app

Platforms Impacted

[X] iOS
[ ] macOS

Description of changes
See https://github.com/huwilkes/fluentui-apple/pull/2 for a history of the actions on each(ish) commit.
Adding a new action that will compare the size of the release, device builds of the demo app from the base and head commits of a PR. I couldn't figure out what trickery Apple uses to get Finder to be able to show the size down the the byte, so we'll have to settle for the size in kilobytes derived from the size in blocks.
Verification
Added some bloat in the PR from my fork, saw the script reporting a difference in sizes.
Pull request checklist
This PR has considered:

[ ] Light and Dark appearances
[ ] iOS supported versions (all major versions greater than or equal current target deployment version)
[ ] VoiceOver and Keyboard Accessibility
[ ] Internationalization and Right to Left layouts
[ ] Different resolutions (1x, 2x, 3x)
[ ] Size classes and window sizes (iPhone vs iPad, notched devices, multitasking, different window sizes, etc)
[ ] iPad Pointer interaction
[ ] SwiftUI consumption (validation or new demo scenarios needed)
[ ] Objective-C exposure (provide it only if needed)

Microsoft Reviewers: Open in CodeFlow

As discussed offline, I'd prefer that we be able to fetch old build sizes by pulling old build artifacts. But if that doesn't look feasible, then I'd rather take this than not.

While I think it's possible, it isn't possible with just upload/download artifacts, and seems to require adding some extra steps I wasn't able to get to this week: https://docs.github.com/en/rest/actions/artifacts
I'll check in for now, since I think this adds plenty of value as is, and we can revisit in the future to try and optimize.


annotation hints for softDeletes

Description
Currently, some php ide does not hint the methods SoftDeletes trait macroed.
Demo

related laravel/ideas issue https://github.com/laravel/ideas/issues/1593


PHP 8.1: fix deprecation warnings

Came across these:
    [phpab] PHP Deprecated:  Return type of TheSeer\DirectoryScanner\IncludeExcludeFilterIterator::accept() should either be compatible with FilterIterator::accept(): bool, or the #[ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in phar:///home/runner/work/phpunit/phpunit/tools/phpab/vendor/theseer/directoryscanner/src/includeexcludefilter.php on line 91
    [phpab] PHP Deprecated:  Return type of TheSeer\DirectoryScanner\FilesOnlyFilterIterator::accept() should either be compatible with FilterIterator::accept(): bool, or the #[ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in phar:///home/runner/work/phpunit/phpunit/tools/phpab/vendor/theseer/directoryscanner/src/filesonlyfilter.php on line 55

These type of deprecation notices relate to the Return types for internal methods RFC in PHP 8.1.
Basically, as of PHP 8.1, these methods in classes which implement PHP native interfaces are expected to have a return type declared.
The return type can be the same as used in PHP itself or a more specific type. This complies with the Liskov principle of covariance, which allows the return type of a child overloaded method to be more specific than that of the parent.
As this package has a minimum PHP requirement of PHP 5.3 based on the composer.json file, the return type can not be added, so I've added the attribute instead.
While attributes are a PHP 8.0 feature only, due to the syntax choice for #[], they will be ignored in PHP < 8 and can be safely added.

sigh

@theseer I presume the sigh is at PHP 8.1 ? and not at this PR ?

Most definitely.
PHP 8.1 is breaking a lot with the additional type checking at compile time - apart from these.

True that and the "passing null to non-nullable" change is also a massive pain in the neck.


[NIGNX-LUA] e2e test for Nginx lua agent

One hand, we will initial a new e2e in the main repo, to test the nginx with java agent.  I have added this suggestions in #4399 to @JaredTan95
Also, in the nginx lua repo, we should consider how to test it, right now, the example/nginx.config could be a tracing tier1 + tier2 LBs, mock backend service and mock OAP backend. The trace will be reported and output in the nginx log.
@kezhenxu94 @dmsolr @arugal @aderm Any suggestion about how to do this?
My idea is trying to output the trace into the file, and use some trace check tool to do this? Such as the main repo test tool? @dmsolr I think you are quite familiar with this. Could you consider to lead this part?

I am happy to do this.
We have 2 parts here, right?

set up IT/UT nginx-agent on the skywalking-nginx-lua repo.
set up e2e (like java agent plugin) on the main repo.

Most UT has been included and tested in the   nginx-lua repo. I have added.
This issue is only about e2e in the lua repo.
E2e in main repo should be a part of @JaredTan95 HTTP PR.

@dmsolr about the e2e in the nginx lua repo, I hope we could do that in the lightweight way. Just use a container to run openresty, and output the existing trace into the file. Then we could use the existing tool to check.
But the tool codes have to been copied to there, right?

to validate the log file, the Nginx printed, is not difficult. We can re-use the validation-tools.
I ran the nginx-lua, but I cannot found the trace information in the log.

Have provided by @dmsolr . Once the 7.0.0 HTTP APIs are ready, I am going to initial the release. FYI @JaredTan95 @arugal


Feature/promise tests

Why
While adding few tests on promises to better understand their behaviour, a bug was found.
Changes
No API changes
Tasks

[x] Add relevant tests, if needed
[ ] Add documentation, if needed
[ ] Update README, if needed
[ ] Ensure that all the examples (as well as the demo) work properly

@alextosatto you could try and submit the same fixes to https://github.com/malcommac/Hydra


Update bookings-in-outlook.md

Added a new section that talks about how to create a bookings with me page as it was not mentioned in the document.

Issue#https://github.com/MicrosoftDocs/microsoft-365-docs/issues/9650

@JohanFreelancer9 Please copy review

Docs Build status updates of commit a8ee1a2:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

microsoft-365/bookings/bookings-in-outlook.md
:white_check_mark:Succeeded

For more details, please refer to the build report.
Note: Broken links written as relative paths are included in the above build report. For broken links written as absolute paths or external URLs, see the broken link report.
For any questions, please:Try searching the docs.microsoft.com contributor guidesPost your question in the Docs support channel

Docs Build status updates of commit 0772206:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

microsoft-365/bookings/bookings-in-outlook.md
:white_check_mark:Succeeded

For more details, please refer to the build report.
Note: Broken links written as relative paths are included in the above build report. For broken links written as absolute paths or external URLs, see the broken link report.
For any questions, please:Try searching the docs.microsoft.com contributor guidesPost your question in the Docs support channel

Docs Build status updates of commit a25290a:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

microsoft-365/bookings/bookings-in-outlook.md
:white_check_mark:Succeeded

For more details, please refer to the build report.
Note: Broken links written as relative paths are included in the above build report. For broken links written as absolute paths or external URLs, see the broken link report.
For any questions, please:Try searching the docs.microsoft.com contributor guidesPost your question in the Docs support channel

@JohanFreelancer9

@kwekuako Please merge this PR. Thanks.

Docs Build status updates of commit a31d348:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

microsoft-365/bookings/bookings-in-outlook.md
:white_check_mark:Succeeded

For more details, please refer to the build report.
Note: Broken links written as relative paths are included in the above build report. For broken links written as absolute paths or external URLs, see the broken link report.
For any questions, please:Try searching the docs.microsoft.com contributor guidesPost your question in the Docs support channel

Docs Build status updates of commit a492d1c:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

microsoft-365/bookings/bookings-in-outlook.md
:white_check_mark:Succeeded

For more details, please refer to the build report.
Note: Broken links written as relative paths are included in the above build report. For broken links written as absolute paths or external URLs, see the broken link report.
For any questions, please:Try searching the docs.microsoft.com contributor guidesPost your question in the Docs support channel

@kwekuako it is not merged yet. Please review.

@kwekuako Gentle reminder.

Learn Build status updates of commit 1ce43d2:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

microsoft-365/bookings/bookings-in-outlook.md
:white_check_mark:Succeeded

For more details, please refer to the build report.
Note: Broken links written as relative paths are included in the above build report. For broken links written as absolute paths or external URLs, see the broken link report.
For any questions, please:Try searching the learn.microsoft.com contributor guidesPost your question in the Learn support channel

Learn Build status updates of commit ffdf271:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

microsoft-365/bookings/bookings-in-outlook.md
:white_check_mark:Succeeded

For more details, please refer to the build report.
Note: Broken links written as relative paths are included in the above build report. For broken links written as absolute paths or external URLs, see the broken link report.
For any questions, please:Try searching the learn.microsoft.com contributor guidesPost your question in the Learn support channel

Learn Build status updates of commit 4ee1494:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

microsoft-365/bookings/bookings-in-outlook.md
:white_check_mark:Succeeded

For more details, please refer to the build report.
Note: Broken links written as relative paths are included in the above build report. For broken links written as absolute paths or external URLs, see the broken link report.
For any questions, please:Try searching the learn.microsoft.com contributor guidesPost your question in the Learn support channel


Error with latest react builds

18.3.0-canary-e91142dd6-20230705 works, but 18.3.0-canary-fdc8c81e0-20230707 fails.

[vite] Error when evaluating SSR module /src/components/App.tsx: failed to import "/src/components/Counter.tsx"
|- Error: The React Server Writer cannot be used outside a react-server environment. You must configure Node.js using the --conditions react-server flag.

It seems like https://github.com/facebook/react/pull/27033 changes to use import {registerServerReference} from "react-server-dom-webpack/server"; in the transformed file with packages/react-server-dom-webpack/src/ReactFlightWebpackNodeLoader.js, which might cause the error.
Not yet sure how to fix it.

I seem to encounter the same error in waku dev
env<EMAIL_ADDRESS><EMAIL_ADDRESS>> waku dev --with-ssr

(node:3894) ExperimentalWarning: Custom ESM Loaders is an experimental feature and might change at any time
(Use `node --trace-warnings ...` to show where the warning was created)
Listening on 3000

node:internal/event_target:1083
  process.nextTick(() => { throw err; });
                           ^
Error: The React Server Writer cannot be used outside a react-server environment. You must configure Node.js using the `--conditions react-server` flag.

but it's ok in<EMAIL_ADDRESS>

Source code?
https://github.com/facebook/react/blob/2807d781a08db8e9873687fccc25c0f12b4fb3d4/packages/react-server-dom-webpack/src/ReactFlightWebpackNodeLoader.js#L63-L86

source code:
https://github.com/facebook/react/blob/2807d781a08db8e9873687fccc25c0f12b4fb3d4/packages/react-server-dom-webpack/package.json#L50C1-L62
https://github.com/facebook/react/blob/2807d781a08db8e9873687fccc25c0f12b4fb3d4/packages/react-server-dom-webpack/npm/server.js#L3-L6

I found that in lib/middleware/rsc/worker-impl.ts, changing import RSDWServer from "react-server-dom-webpack/server" to import RSDWServer from "react-server- dom-webpack/server.node.unbundled" solves the problem for me, although I don't really understand the difference.

I found that in lib/middleware/rsc/worker-impl.ts, changing import RSDWServer from "react-server-dom-webpack/server" to import RSDWServer from "react-server-dom-webpack/server.node.unbundled" solves the problem for me, although I don't really understand the difference.

If you use /server, vite will automatically try to resolve the file using exports in react's packages.json

I believe this will fix the issue. Just waiting for the merge https://github.com/vitejs/vite/pull/13487


z3 for osx

Since z3 had an osx release last week I took a crack at getting it to compile on my mac. A few of the tests fail though:
[info] SatSolver:
[info] - Sat solver *** FAILED ***
[info]   java.util.NoSuchElementException: None.get
[info]   at scala.None$.get(Option.scala:274)
[info]   at scala.None$.get(Option.scala:272)
[info]   at SatSolver$$anonfun$1$$anonfun$DPLL$1$4.apply(SatSolver.scala:53)
[info]   at SatSolver$$anonfun$1$$anonfun$DPLL$1$4.apply(SatSolver.scala:53)
[info]   at scala.collection.TraversableLike$$anonfun$map$1.apply(TraversableLike.scala:194)
[info]   at scala.collection.TraversableLike$$anonfun$map$1.apply(TraversableLike.scala:194)
[info]   at scala.collection.mutable.HashMap$$anonfun$foreach$1.apply(HashMap.scala:93)
[info]   at scala.collection.mutable.HashMap$$anonfun$foreach$1.apply(HashMap.scala:93)
[info]   at scala.collection.Iterator$class.foreach(Iterator.scala:660)
[info]   at scala.collection.mutable.HashTable$$anon$1.foreach(HashTable.scala:157)
[info]   ...
[info] - Arrays *** FAILED ***
[info]   Some(1) did not equal Some(42) (Arrays.scala:64)
[info] - Literals *** FAILED ***
[info]   3 did not equal 4 (Literals.scala:60)

Sorry, I didn't comment on the tests: that's unrelated to the platform, we need to clarify what's wrong with them anyway (i.e. is it Z3, the bindings or the test itself).


Thread leak

Hi everyone.
I found out that, whenever the USB cable is disconnected and reconnected and UsbSerialDevice.createUsbSerialDevice is called again, the threads created by the previous call remain running and new ones are created. It seems that, on each call, the number of created threads increase, such that they pile up quite quickly after a few calls.
After some research (maybe related), I thought that calling UsbSerialDevice.close would be enough, but it wasn't.
Digging deeper, I downloaded the source code and used it in my project. Since I'm using a CH34x device, I edited CH34xSerialDevice and added the following method:
    @Override
    protected void finalize() throws Throwable {
        close();
        super.finalize();
    }

That fixed it without having to call UsbSerialDevice.close. Only one thread remained running at once.
I don't have other devices to test it the issue exists with the other classes or, if it does, if this patch fixes it, so please take a look into it.
I tested with an Android 7.1.1.
Thanks in advance.

I will take a look.
Thank you very much for reporting this


Fix/CustomVocab PreDefinedList

Fix for Custom Vocabulary as identified in https://voicebase.jira.com/browse/V2-5312

to the wrong branch.


fixes #196 Move open before manipulating responseType to fix IE 11 bug.

fixing hinting: https://github.com/pretenderjs/pretender/pull/202


Python - support for headers inspection

see #2963 and related pull requests

depends on #3430

Resolved by https://github.com/microsoft/kiota-http-python/pull/255


Release SQL 0.6.0-alpha9.1 with the fix for type cast error

Description:
Release sql 0.6.0-alpha9.1 with the fix for https://github.com/ballerina-platform/ballerina-standard-library/issues/1759

Following patches have been released,
SQL - 0.6.0-alpha9.1 [1]
JDBC - 0.6.0-alpha9.1 [2]
MySQL - 0.7.0-alpha9.2 [3]
[1] https://central.ballerina.io/ballerina/sql/0.6.0-alpha9.1
[2] https://central.ballerina.io/ballerinax/java.jdbc/0.6.0-alpha9.1
[3] https://central.ballerina.io/ballerinax/mysql/0.7.0-alpha9.2