Display all errors in the UI while in development

Description
I think area of error handling can be improved for better DX.
I create a React component with intended error
export function Content() {
  return (

      <Item>
        Name
        <Control name="name">
          <InputText />
        </Control>
      </Item>
      <Item>
        Status
        <Control name="status">
          <InputSelect options={options} /> // not defined and will trigger error
        </Control>
      </Item>
      <Item className="col-span-2 lg:col-span-2">
        Template
        <Control name="template">
          <InputEditor />
        </Control>
      </Item>

  )
}

And I just got error page like this Something went wrong. Sincere apologies. Try again (later). by following this guide but I can get what error occurs in terminal console.
8:23:46 AM [vike][request(77)] Following error was thrown by the onRenderHtml() hook defined at vike-react/__internal/integration/onRenderHtml
ReferenceError: options is not defined
    at Content (/Users/forte/Workspace/apps/src/client/features/internal/setting/user/detail/content.tsx:18:24)
    at renderWithHooks (/Users/forte/Workspace/apps/node_modules/react-dom/cjs/react-dom-server-legacy.node.development.js:5662:16)
    at renderIndeterminateComponent (/Users/forte/Workspace/apps/node_modules/react-dom/cjs/react-dom-server-legacy.node.development.js:5736:15)
    at renderElement (/Users/forte/Workspace/apps/node_modules/react-dom/cjs/react-dom-server-legacy.node.development.js:5961:7)
    at renderNodeDestructiveImpl (/Users/forte/Workspace/apps/node_modules/react-dom/cjs/react-dom-server-legacy.node.development.js:6119:11)
    at renderNodeDestructive (/Users/forte/Workspace/apps/node_modules/react-dom/cjs/react-dom-server-legacy.node.development.js:6091:14)
    at renderNode (/Users/forte/Workspace/apps/node_modules/react-dom/cjs/react-dom-server-legacy.node.development.js:6274:12)

And I think the error page can be enhanced for better UX with display which part of code cause the errors and button for retry

I think the error page can be enhanced for better UX with display which part of code cause the errors and button for retry

I agree, in development, it would be nice to display all errors in the UI.
I ain't sure I understand the first part your post; feel free to elaborate.

I think for DEV purpose.. display error like nextjs

like nextjs

Neat, I like that Next.js shows the first error message first. Although I think it should show all errors without forcing the user to use pagination.


Add limit on the tilt movements when position is not at 100%

Describe you new feature you'd like
Would it be possible to get a limit on the tilt position when the position is not at 100%?
I have 7 Vertical Blinds by Benthin using the RTS protocol and am able to use your system. But the tilt does not go to 0 or 100% on the position travel but only 30%(Closing) and 70%(Opening). They only tilt to 0 and 100% when the position is at 100%.
There is a total of 6 positions and 7 steps on a round trip, example from shortest blind:
Position: 100%. Tilt: 70%. Parked at end position when running up on remote.
Position: 100%. Tilt: 30%. Pressing Down moves blinds from position 1-2 (Tilt moves from 70% to 30%) 5.23sec
Position: 0%. Tilt: 30%. From position 2-3 (Position moves from 0% to 100% ) 7,17sec
Position: 0%. Tilt: 0%. From position 3-4 (Tilt moves from 30% to 0%) This is the end position when pressing down on remote 2,3sec
Position: 0%. Tilt: 100%. Pressing Up on remote moves blinds from position 4-5 (Tilt moves from 0% to 100%) 7,59sec
Position: 0%. Tilt: 70%. From position 5-6 (Tilt moves from 100% to 70%) 2,07sec.
Position: 100%. Tilt: 70% From position 6 -1 (Position moves from 0% to 100%) 7,08sec
Info can be found here: https://community.home-assistant.io/t/esp-somfy-rts-integration/543401/465?u=linax

I need to get this clear in my head so I am going to make some assertions below and you can let me know if they are correct.
When the vertical blind is 100% closed and 100% tilted closed.  Then if you short press the up button once it will first rotate the slats open to 70% then begin moving to the full open position.   When it reaches the end it will then be at 0% with 70% tilt.
Then if you short press the down button.  It will first rotate the slats to 30% then begin moving to the full closed position.  When it reaches the end it is then at 30% or does it rotate to 0% when it reaches the end.

Sorry for the late reply buy for some reason the mail went to spam.
It is not fully correct on the tilt as it goes to the end on the tilt fist and then to 70%, And it is a bit confusing in my head also so i think the easyest way to get on the same page is if you have a look on this video of one of the blinds here (Can only upload 10mb to github so had to use google) Here you can se the full motion from opened to closed and from closed to open.

I took a look at your video and while it seemed to answer some of the questions I need to get it clear in my head before making modifications that might support this.  It seems like there is a separate motor for the slat position.  Is that the case or are we dealing with something mechanical.
It looks like when closing it simply runs to the 70% position then starts moving.   However, when opening it seems like it first moves to 0% then back to 30% then starts moving open.  I assume that while it is doing the tilt movement if you press the my button after the up it will stop in that position.  Does it then go back to 100% on the tilt if you press the down button again?


SSR nested queries broke with apollo-client 0.5.3

Nested queries on the client are showing the checksum error with 0.5.3...
Warning: React attempted to reuse markup in a container but the checksum was invalid... etc
The server is generating the correct markup with the nested queries results, and it looks like the initalState is correct - but the client initial render shows loading state and re-fetches them.
Working in 0.5.2 + 0.6.0

This is only happening with the development build, NODE_ENV=production is fine.

Fixed in 0.5.5


Added newlines to text files missing newlines

In POSIX, a line is defined as "A sequence of zero or more non-
 characters plus a terminating  character."
Reference: https://pubs.opengroup.org/onlinepubs/9699919799/basedefs/V1_chap03.html#tag_03_206
The lack of a newline can cause problems with command line tools, and
therefore, it is a best practice to add newlines to all text files.
In order to add newlines to text files only, this command was used:
git ls-files -z | while IFS= read -rd '' f; do tail -c1 < "$f" | read -r _ || echo >> "$f"; done

Command Source: https://unix.stackexchange.com/a/161853/383290

Sure, why not? But you've managed to catch some non-text files in the process (notably, a bunch of images). These files shouldn't be touched.

Sure, why not? But you've managed to catch some non-text files in the process (notably, a bunch of images). These files shouldn't be touched.

Just addressed that in a commit.

oops, you just pushed a commit to address that. Never mind.

I have a feeling coveralls is failing due to the large change in file numbers

Coveralls traceback:
Error: Parallel webhook error:Error: {"error":"No build matching CI build number 84321263 found"}, {"error":"No build matching CI build number 84321263 found"}
    at Request._callback (/home/runner/work/_actions/coverallsapp/github-action/master/lib/run.js:75:31)
    at Request.self.callback (/home/runner/work/_actions/coverallsapp/github-action/master/node_modules/request/request.js:185:22)
    at Request.emit (events.js:210:5)
    at Request.<anonymous> (/home/runner/work/_actions/coverallsapp/github-action/master/node_modules/request/request.js:1161:10)
    at Request.emit (events.js:210:5)
    at IncomingMessage.<anonymous> (/home/runner/work/_actions/coverallsapp/github-action/master/node_modules/request/request.js:1083:12)
    at Object.onceWrapper (events.js:299:28)
    at IncomingMessage.emit (events.js:215:7)
    at endReadableNT (_stream_readable.js:1184:12)
    at processTicksAndRejections (internal/process/task_queues.js:80:21)

Sure, why not? But you've managed to catch some non-text files in the process (notably, a bunch of images). These files shouldn't be touched.

Just addressed that in a commit.

Coveralls traceback:
Error: Parallel webhook error:Error: {"error":"No build matching CI build number 84321263 found"}, {"error":"No build matching CI build number 84321263 found"}
    at Request._callback (/home/runner/work/_actions/coverallsapp/github-action/master/lib/run.js:75:31)
    at Request.self.callback (/home/runner/work/_actions/coverallsapp/github-action/master/node_modules/request/request.js:185:22)
    at Request.emit (events.js:210:5)
    at Request.<anonymous> (/home/runner/work/_actions/coverallsapp/github-action/master/node_modules/request/request.js:1161:10)
    at Request.emit (events.js:210:5)
    at IncomingMessage.<anonymous> (/home/runner/work/_actions/coverallsapp/github-action/master/node_modules/request/request.js:1083:12)
    at Object.onceWrapper (events.js:299:28)
    at IncomingMessage.emit (events.js:215:7)
    at endReadableNT (_stream_readable.js:1184:12)
    at processTicksAndRejections (internal/process/task_queues.js:80:21)

This seems to be consistently occurring. I don't know how to fix it though.

I think it's probably caused by https://github.com/coverallsapp/github-action/commit/198c7931d32bc4bfa3768f698af3332214dae75f. I'm going to try temporarily limiting the version of that CI runner to see if that fixes the issue.

#1402 is a bandaid. I'll merge that, and then hopefully CI here should pass.

For this CI to pass, you may need to rebase on top of master.

Please don't add newlines to the cassettes unless they are automatically generated by betamax with said newlines.

As I wrote above, while they can be read by scripting languages such as Python, they would not be able to be manipulated by UNIX utilities that rely on newlines. An example was the URL replacement operation I ran with sed.

As I wrote above, while they can be read by scripting languages such as Python, they would not be able to be manipulated by UNIX utilities that rely on newlines. An example was the URL replacement operation I ran with sed.

I'm okay with them not being easily manipulated. Unless we're explicitly replacing something in a cassette, I'd prefer for them to remain as they were generated.
If you'd like to improve betamax so that it outputs trailing newlines, I think that'd be great. Then we can adapt our cassettes to follow.

As I wrote above, while they can be read by scripting languages such as Python, they would not be able to be manipulated by UNIX utilities that rely on newlines. An example was the URL replacement operation I ran with sed.

I'm okay with them not being easily manipulated. Unless we're explicitly replacing something in a cassette, I'd prefer for them to remain as they were generated.
If you'd like to improve betamax so that it outputs trailing newlines, I think that'd be great. Then we can adapt our cassettes to follow.

I just copied the code from the betamax_serializers module. Furthermore, we can get rid of a dependency now. It honestly does not make sense to install a package for 7 lines of code.

@PythonCoderAS I see that you requested my review but I believe this can be merged, as it got an approving review from bboe and there are no outstanding requested changes.


getBoundingBoxAsync() returning incorrect values

I'm running getBoundingBoxAsync() on a large Viro3DObject the values returned are incorrect as the model itself is a massive architectural rendering. When I change the glb file to something smaller, for example, a keyboard rendering, I get accurate measurements for that model. Any thoughts here?
{
maxX: 1,
maxY:0.3968750238418579,
maxZ:0.583332896232605,
minX:-1,
minY:-0.3968750536441803,
minZ:-0.5833330154418945
}

Hey @bryantAXS, thanks for reaching out.
Could you share the code snippet of how you are constructing, and then grabbing the  bounding box of the 3d object? If possible, could you also share the glb file you are using (you can email us at our support email the file if need be.
I'm wondering if the above is occurring because getBoundingBoxAsync() is being called too early (before the model is fully loaded and computed, leading to incorrect results). Your smaller model may have loaded much quicker and thus not run into the same issues.

So here's where I'm calling it. You'll notice that I've already got a 2 second timeout on the method itself to help with the rendering.
/**
   * When our object has loaded
   */
  _onLoadEnd() {

     console.log("OBJ loading has finished");

     var self = this;

     // a quick method we need to calculate the absolute difference of two integers
     var difference = function(a, b){ return Math.abs(a - b); };

     // adding a timeout to allow for some rendering time
     setTimeout(function(){

       self.refs.object.getBoundingBoxAsync().done(function(obj){

         self.props.setLoading(false);

         var boundingBox = obj.boundingBox;

         console.log("Bounding Box:");
         console.log(boundingBox);

         var xLength = difference(boundingBox.minX, boundingBox.maxX);
         var zLength = difference(boundingBox.minZ, boundingBox.maxZ);

         console.log(xLength, zLength);

         self.setState({
           objectX: xLength,
           objectZ: zLength,
         }, function(){
           self._showModel();
         });

       });

     }, 2000);

  }

And here's the model
acoma.glb.zip

Hey @bryantAXS, after loading up the model in AR at it's default scale (1,1,1), the model seems to be table size (i am able to walk around it). This may explain the smaller than expected bounding box size.
Can you please verify if the above acoma.glb zip file is the actual representation of a full sized massive architectural rendering? Thanks!

Closing this issue due to inactivity. Please re-open if you are still encountering issues with additional comments. Thanks


[jetson-nano] Jetson Nano NMI watchdog: BUG: soft lockup - CPU#0 stuck for 22s! [kworker/0:4:4202]

Hey,
I'm working with yocto zeus and meta-tegra to build image for jetson-nano. Today I had issue with booting nano. It didn't boot at all and UART log told me just
Starting kernel ...

<hit enter to activate fiq debugger>

and then boots again.
I tried this SD card in another nano and it works fine. I put new sd card in this 'broken' nano and I also boots but after ~80s ow working it reboots with error
[   80.221608] NMI watchdog: BUG: soft lockup - CPU#0 stuck for 22s! [kworker/0:4:4202]

I'm attaching full booting log below.
I'm wondering what could gone wrong and how to fix this nano (if it is possible)
Do you have any idea what could cause it?
original_sd_card.log
good_sd_card_but_rebooting.log
Thank you

I have the same issue trying to use enc28j60 driver with jetson nano/yocto distro.
Thread is here: https://forums.developer.nvidia.com/t/enc28j60-ethernet-module-interfacing-with-jetson-nano/129254
No solutions are available yet.
I suspect this is caused by faulty interrupt config, in my case. The problem happens on yocto distro for me, so if there is any suggestions from this thread too, Id very much want to try them out.
Thanks.

@mozcelikors Will DT update fix my nano?

@mozcelikors This isn't exactly the same situation as yours.  Based on your forum post, I'm not sure the falling-edge irq flag is getting propagated to the irq subsystem, so it could be expecting level trigger, which could cause the interrupt storm... I don't remember off-hand, but a call to of_irq_get() might be needed in the driver.
@przemyslaw-chwiala From the log it look like you have some kind of NVME device connected via PCI.  Does the Nano boot OK without that device connected? What carrier board are you using?

No activity on this for several months, so I assume you got this figured out.  Closing.


Handle Macros

Add code in main.py to handle any macro file in format macro_#.txt. These files should have content that is a valid command, ending with a new line. Running a macro will run through each command with a 0.2 delay.
Currently the "start" and "back" buttons handle a series of arbitrary zeroing commands. These macros should be changed, and the button mapping could easily be updated to accommodate more of them.

#71


BotDirector

BotDirector is responsible for managing SentientCore-based bots across various game modes. It handles tasks such as deploying bots to practice scenarios, replacing missing players temporarily, or balancing teams in competitive modes. This module ensures that bot behavior aligns with game objectives and provides a seamless experience for players interacting with bots.

Waiting for SentientCore


Update Composer dependencies (2021-07-30-00-09)

Visual regression test passed!
View the visual regression test report


Typo fix in README.md

Pull Request Test Coverage Report for Build 155

0 of 0   changed or added relevant lines in 0 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage remained the same at 99.434%

Totals

Change from base Build 154:
0.0%

Covered Lines:
703

Relevant Lines:
707

💛  - Coveralls

Pull Request Test Coverage Report for Build 155

0 of 0   changed or added relevant lines in 0 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage remained the same at 99.434%

Totals

Change from base Build 154:
0.0%

Covered Lines:
703

Relevant Lines:
707

💛  - Coveralls

Since this was a trivial change, I've made it another way.


Docs: .NET Updates

(docs): Making some documentation updates for the new .NET-related changes to Amplication

Hey @PazYanoverr, this PR makes changing to the following important pages concerning .NET:

About Page
The Home Page
The First Service Page
The Generated Service Page

Here are some additional changes we can make:

Update Licensing.md to include information about the differences between the Node.js open-source licensing and the .NET licensing.
Add a new top-level .NET page that explains the key differences and similarities with the Node.js offering.

What are your thoughts?

@dericksozo - I agree we need to update the license page. Regarding the "new top-level .NET page", I agree it can be beneficial. However, we can start now without it, and explain the key differences and similarities with the Node.js offering- in the specific pages which talk about node.js. The rest of the pages should be shared between the languages (or at least we should aim to it)

Hi @PazYanoverr, I've implemented your latest feedback.

@dericksozo - What about the "licensing" page? Can you please adjust it as well to the new definitions/updates?

Definitely, @PazYanoverr. I just implemented a new Licensing page. This one should be much more aligned, but let me know your thoughts!

@dericksozo - Added comments regarding the licensing page. Thanks!

@yuval-hazaz - Per @mulygottlieb's suggestion- can you please review the updated licensing page?

@yuval-hazaz - Per @mulygottlieb's suggestion- can you please review the updated licensing page?

@PazYanoverr  LGTM

@PazYanoverr, the latest commit should do it. What are your thoughts?


zmq.EVENT_HANDSHAKE_FAILED_AUTH not present on Ubuntu 20.04?

When deploying a project using pyzmq to an AWS intstnace running the following OS

ubuntu@ip-172-31-84-106:~/git/cress$  lsb_release -a
No LSB modules are available.
Distributor ID:	Ubuntu
Description:	Ubuntu 20.04.2 LTS
Release:	20.04
Codename:	focal

I got the following error when attempting to access the zmq.EVENT_HANDSHAKE_FAILED_AUTH constant
ubuntu@ip-172-31-84-106:~/git/cress$ python3
Python 3.8.5 (default, Jan 27 2021, 15:41:15)
[GCC 9.3.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import zmq
>>> zmq.EVENT_HANDSHAKE_FAILED_AUTH
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
AttributeError: module 'zmq' has no attribute 'EVENT_HANDSHAKE_FAILED_AUTH'
>>> zmq.pyzmq_version()
'22.2.1'
>>>

Just wondering if this is expected behaviour? Is there a way to know which constants should be defined so I can ensure code checks which constants to expect before attempting to use them?

Ok, I think I've answered the second part of my question above. Found that there is a module...
zmq.constants

which has attributes named for all zmq constants, like
>>>hasattr(zmq.constants, "EVENT_HANDSHAK_FAILED_AUTH")
True

The above is actually false on ubuntu 20.04.02, not sure why. But at least I can now use this to only use the constants that are actually defined for a particular OS. It just seems weird that the particular one I am asking about in this question isn't defined on Ubuntu.
So that question still stands, should it?

ZMQ_EVENT_HANDSHAKE_FAILED_AUTH is a draft event, so only present when building libzmq + pyzmq with drafts enabled (i.e. compiled yourself, not installed from a pyzmq wheel)

Wow, ok, lol! It's here on macOS in the latest wheels!
jimbosmaccypro:cress jamescrowther$ python3
Python 3.9.2 (v3.9.2:1a79785e3e, Feb 19 2021, 09:06:10)
[Clang 6.0 (clang-600.0.57)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> import zmq
>>> zmq.EVENT
zmq.EVENT_ACCEPT_FAILED              zmq.EVENT_CONNECT_DELAYED            zmq.EVENT_HANDSHAKE_FAILED_PROTOCOL
zmq.EVENT_ACCEPTED                   zmq.EVENT_CONNECT_RETRIED            zmq.EVENT_HANDSHAKE_SUCCEEDED
zmq.EVENT_ALL                        zmq.EVENT_CONNECTED                  zmq.EVENT_LISTENING
zmq.EVENT_BIND_FAILED                zmq.EVENT_DISCONNECTED               zmq.EVENT_MONITOR_STOPPED
zmq.EVENT_CLOSE_FAILED               zmq.EVENT_HANDSHAKE_FAILED_AUTH      zmq.EVENTS
zmq.EVENT_CLOSED                     zmq.EVENT_HANDSHAKE_FAILED_NO_DETAIL
>>> zmq.EVENT
zmq.EVENT_ACCEPT_FAILED              zmq.EVENT_CONNECT_DELAYED            zmq.EVENT_HANDSHAKE_FAILED_PROTOCOL
zmq.EVENT_ACCEPTED                   zmq.EVENT_CONNECT_RETRIED            zmq.EVENT_HANDSHAKE_SUCCEEDED
zmq.EVENT_ALL                        zmq.EVENT_CONNECTED                  zmq.EVENT_LISTENING
zmq.EVENT_BIND_FAILED                zmq.EVENT_DISCONNECTED               zmq.EVENT_MONITOR_STOPPED
zmq.EVENT_CLOSE_FAILED               zmq.EVENT_HANDSHAKE_FAILED_AUTH      zmq.EVENTS
zmq.EVENT_CLOSED                     zmq.EVENT_HANDSHAKE_FAILED_NO_DETAIL
>>> zmq.EVENT_HANDSHAKE_

hm, maybe the constant is defined, but the actual event won't occur.

Its no biggy, since there's an easy enough way to figure out what events are actually there via
zmq.contants
I did this for example...
ZMQ_EVENTS = {
        "EVENT_ACCEPTED": (
        "CONNECTION ACCEPTED",
        """The zmq_socket has accepted a connection from a
        remote peer. The event value is the FD of the underlying network zmq_socket.
        Warning: there is no guarantee that the FD is still valid
        by the time your code receives this event."""
    ),
        "EVENT_ACCEPT_FAILED": (
        "CONNECTION NOT ACCEPTED",
        """The zmq_socket has rejected a connection
        from a remote peer. The event value is the errno generated by the accept
        call."""

        ... etc}

    ZMQ_EVENTS = {getattr(zmq.constants, event_name):description for event_name, description in ZMQ_EVENTS.items()\
    if hasattr(zmq.constants, event_name)}

And this prevents the error of running into events which aren't defined for a particular platform.
So I'm happy to close if you are?

Yeah, I think so. Thanks!


[v1.32.0] launchApp command affecting iOS simulator's ability to retrieve current location

I've been experiencing an issue with the launchApp command in Maestro UI Tests tool, which leads to a malfunction in the iOS simulator's ability to obtain its current location.
Steps to reproduce:

Manually set a custom location in the iOS Simulator using the path: iOS Simulator > Features > Location > Custom location.
Launch an app, like Apple Maps, and verify the correct location is shown.
Use the Maestro flow with the following commands:

- launchApp:
    clearState: false
    clearKeychain: false
    permissions:
      location: inuse
      usertracking: allow
      notifications: allow

Launch the same app (or another one) and observe that the simulator fails to retrieve the current location.

Additional observations:

When attempting the same with Apple Maps using the flow:

appId: com.apple.Maps
---
- launchApp:
    clearState: false
    clearKeychain: false
- tapOn:
    id: "UserLocationButton"

I received a location error (screenshot attached: Simulator Screenshot - iPhone 14 Pro - 2023-09-14 at 12.53.53.png).

I tried both manually setting the location and using the setLocation command from Maestro (setLocation reference), but the issue persisted.
It seems that there might be an underlying issue with how the launchApp command or possibly the idb-companion interacts with the simulator's location services.
Expected behavior
launchApp command not interfering with the ability to retrieve current location in the iOS simulator and, in consequence, be able to set different locations while running tests.
Environment information (please complete the following information):

Maestro version: v1.32.0 (⚠  but I faced this issue in other Maestro versions)
Platform: iOS 16.4 and iOS 17
Framework: Native iOS
Device model and OS version: iPhone 14 Pro with iOS 16.4 or iOS 17
Simulator
Host: MacBook Pro M1 with macOS Ventura 13.5.1 (22G90)

Bugreport output

2023-09-19_113823.zip
xctest_runner_2023-09-19_113759.log

Attachments

Screen Recording: https://github.com/mobile-dev-inc/maestro/assets/3541185/7658ec1e-1fb9-4146-81a2-df6cecb6e2df

Thank you for looking into this ❤

I have a similar problem in my react native app.
I use IOS simulator with maestro.
Inside the app i use @react-native-community/geolocation to retrive user location with getCurrentPosition method.
It always returns me an error saying "Unable to retrieve location.".
I have checked that user granted permission before asking for location.
Also tried setting the location using setLocation, and this doesn't seem to work properly

I have the same issue with the Flutter application. When I tried to run the app I could give the permission but could not retrieve any location data.

+1 Still having this issue on my react native app - any solutions?

No 😞 I'm still having trouble setting different locations while running Maestro.


Only adding zarrRootPath field to datasets that use Zarr

Changelogs
Updating the client.upload_dataset method to only add the zarrRootPath field to datasets which make use of Zarr. Otherwise, datasets which do not use make use of Zarr will fail a validation check and cannot be uploaded.

Checklist:
~- [ ] Was this PR discussed in an issue? It is recommended to first discuss a new feature into a GitHub issue before opening a PR.~
~- [ ] Add tests to cover the fixed bug(s) or the newly introduced feature(s) (if appropriate).~

[x] Update the API documentation if a new function is added, or an existing one is deleted.
[x] Write concise and explanatory changelogs above.
[x] If possible, assign one of the following labels to the PR: feature, fix, chore, documentation or test (or ask a maintainer to do it for you).

discussion related to that PR

I'm okay with merging this to unblock everyone, but this piece of code feels brittle to me (my bad!).
Maybe we should instead improve the check on the Hub side to use the usesZarr field? This is already part of the payload anyways. And maybe the Hub should actually create and return a zarrRootPath to upload to? Something to think about!

I'll merge this and create a ticket to improve how we handle validation on the Hub side when it comes to Zarr datasets.


Add level attribute

Please also add level attribute as done here https://github.com/chnuessli/defikarte.ch/issues/44#issuecomment-1236297176

I will have a look at this and try to add it.


Add new utilities and plotting tools

New plotting tools and utilities could be added asap, so they are ready for students before they start the P&O course.
Here is the current list of tools to be added:
Plotting:

[ ] Add a function to create matplotlib plots with a dual y-axis (#31)
[ ] Add a function to create 3D matplotlib plots to show the trajectory of different bodies (#32)
[ ] Add a function to create matplotlib plots comparing two objectives, adding a Pareto front, and possibly a third objective through a colormap.

Utilities:

[ ] Mute any terminal messages when enclosed by a with statement (#29)
[ ] Add a tool to compare states and dependent variable histories interpolated over time (#27)
[ ] Add a function to return a boolean mask stating whether each multi-dimensional point in a set is a Pareto optimum (#30)

In addition, some content on the use of matplotlib for post-processing can be added to the user guide (#41).

@DominicDirkx @FilippoOggionni @jo11he @transferorbit : please all feel free to add your suggestions and thoughts on this.


Add Experiment view page

global search -> searched for "hypoxia" -> clicked on one of the experiments -> when to
https://www.alpha.patricbrc.org/view/Experiment/354496
The header says "loading..." but it actually never loads the results.
We need Experiment view page, similar to that on production:
https://www.patricbrc.org/portal/portal/patric/SingleExperiment?cType=taxon&cId=2&eid=315319

This page was not implemented. I added the page and made a pull request. This will be included in the next build.

I reviewed the page and it looks good.


Support for OpenTelemetry instrumentation aiohttp-client

Hello, may I ask whether you could add support for aiohttp instrumentation [1]? Thanks.
[1] https://github.com/open-telemetry/opentelemetry-python-contrib/tree/main/instrumentation/opentelemetry-instrumentation-aiohttp-client

This is not currently a estimated date at which point this will be added as part of the distro. However, you can still trigger the instrumentation yourself after calling configure_azure_monitor. For instance, SQLAlchemy is not a part of the distro, but you can still use it with the distro. See the associated sample here

Migrating to Azure sdk: https://github.com/Azure/azure-sdk-for-python/issues/32497


rsize wsize options

I've had my storage team inform me that Infinidat advises 64 as the optimal buffersizes for both.   The mount is good.  Please update or correct me/us.

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

ID: d98186ad-af7e-d25d-2135-f0c65ffd5288
Version Independent ID: 55c29643-935f-7eab-6a3a-8814f96e8669
Content: mount
Content Source: WindowsServerDocs/administration/windows-commands/mount.md
Product: windows-server
Technology: windows-commands
GitHub Login: @Xelu86
Microsoft Alias: wscontent

We hugely appreciate your contribution, feedback, and support to our technical documentation.
We’ve phased out GitHub Issues on this repository as the feedback mechanism for content and have replaced it with a new feedback system. For more information see, Content User Feedback. As part of this rollout, we are migrating your issue where our team will use your comments to improve the documentation experience. Unfortunately, this does mean you won't be able to access this issue after the migration is complete.
All issues will be migrated by Thursday 29th August 2024.
Once again, thank you for your valuable feedback, we hope you’ll continue to contribute using our new feedback system.


async-branch build image failure

I see
[ERROR] Failed to execute goal com.spotify:docker-maven-plugin:0.3.2:build (build) on project gke-debian-openjdk: Exception caught: The command [/bin/sh -c echo 'deb http://httpredir.debian.org/debian jessie-backports main' > /etc/apt/sources.list.d/jessie-backports.list  && apt-get -q update  && apt-get -y -q --no-install-recommends install     ca-certificates     openjdk-8-jre     netbase     wget  && wget http://ftp.us.debian.org/debian/pool/main/o/openssl/libssl1.0.0_1.0.2d-1_amd64.deb http://ftp.us.debian.org/debian/pool/main/o/openssl/openssl_1.0.2d-1_amd64.deb  && dpkg -i openssl_1.0.2d-1_amd64.deb libssl1.0.0_1.0.2d-1_amd64.deb  && rm openssl_1.0.2d-1_amd64.deb libssl1.0.0_1.0.2d-1_amd64.deb  && apt-get clean  && rm /var/lib/apt/lists/_] returned a non-zero code: 8 -> [Help 1]
Is it because the same command installs wget and uses wget now to install openssl?

nope....log just before the error:
.....
[91m....
[91m..... ...
[91m       100% 63.2M=0.3s

[91m2015-11-10 10:04:58 (4.71 MB/s) - 'libssl1.0.0_1.0.2d-1_amd64.deb' saved [1273692/1273692]

[91mconverted 'http://ftp.us.debian.org/debian/pool/main/o/openssl/openssl_1.0.2d-1_amd64.deb' (ANSI_X3.4-1968) -> 'http://ftp.us.debian.org/debian/pool/main/o/openssl/openssl_1.0.2d-1_amd64.deb' (UTF-8)

[91m--2015-11-10 10:04:58--  http://ftp.us.debian.org/debian/pool/main/o/openssl/openssl_1.0.2d-1_amd64.deb

[91mReusing existing connection to ftp.us.debian.org:80.

[91mHTTP request sent, awaiting response...
[91m404 Not Found
2015-11-10 10:04:58 ERROR 404: Not Found.

error: openssl_1.0.2d-1_amd64.deb is not there anymore.
It is
http://ftp.us.debian.org/debian/pool/main/o/openssl/openssl_1.0.2d-3_amd64.deb
Did it disappear?

I wonder if we should make this build more durable by mirroring such wget targets as a maven artefact.  Eg have a appengine-java-vm-runtime-dependencies module that publishes those debs as artefacts.     Thus once we do a release they will be published in a durable repository and our builds will not suddenly fail if debian changes their repo.
or is there a more durable location to fetch debs directly?

I'm closing this for now.  Will open a new issue if durability of debs becomes a problem


iPython notebooks for API

1. intro.ipynb

Check connection
Search database
"What do I have?"

2. get and display data

get area
xarray functions
plot 1 band

plot rgb
stretch bands & plot

3. simple analysis 1

pixel drill

4. simple analysis 2

stack statistics

5. simple analysis 3

band maths
NDVI

6. Glueviz Example

Hovmöller plot

Note we're happy to provide copies of or links to your demo ipynbs from the NCI training course for AGDC/VDI :)

We already have a set of these for AE/EE - why another set or is this the same set?

These notebooks are here:
https://github.com/data-cube/agdc-v2-examples/tree/master/notebooks/analytics_execution_engine

I can't speak for everyone, but I hadn't seen those examples before since I've only been watching the main repo.
What's the reason for the separate repository? I think they'd be more discoverable and easier to maintain and use if they were kept in the main repo.

Have created a link from the training page to that repo. Thanks Rob!

Peter and I announced the examples repo when it was created a couple of weeks back. It was separated so others, who are EO AGDC users, but not core developers can create examples (different permissions on repos is needed).The main repo can have proper unit tests and integration tests (the examples that were there were out of date). If this is an issue, this can be changed, we just avoided cluttering the main repo in the first instance.
Regardless, the planning was that the AE/EE API be used for ipython notebooks and was on its work program. Why would it appear in a different work program? Would have been discussed at daily stand up and in slack as well from what I've heard. I raised an issue with the PM regarding potential duplicate work over two weeks ago on these.
Rather than duplicating work it would better to fix the tests that don't pass due to storage unit API and metadata changes which have been disabled in commit: n3b0dfacfae78eb13143e2bb7663d029fb74bcd04
@petewa and @jeremyh  were unable to reintegrate this as the breaking changes were discovered just prior to him going on leave. The test was added to flag the problem so someone could fix the change - instead it was disabled which isn't very useful at the moment. The entire AE/EE and examples work against the milestone 2 storage API but not against what appears to be this weeks milestone 3 API. @peterwa is on leave so the milestone will not be met - which is reminiscent of milestone 2's outcome with late breaking changes on the API boundary.

Updating issue to reflect scope of API examples.


[Feature Request] add hyperkit as a VM driver for mac

for unseen reasons hyperkit is not a supported driver (yet)?
If there are technical reasons, please tell which one? I can't find anything about this.

We're not planning to add anymore features to docker-machine at this point.


Sussy Scan: update domain

Closes #3567
The non-old domain is under maintenance ¯\_(ツ)_/¯
Checklist:

[x] Updated extVersionCode value in build.gradle for individual extensions
[x] Updated overrideVersionCode or baseVersionCode as needed for all multisrc extensions
[x] Referenced all related issues in the PR body (e.g. "Closes #xyz")
[x] Added the isNsfw = true flag in build.gradle when appropriate
[x] Have not changed source names
[x] Have explicitly kept the id if a source's name or language were changed
[x] Have tested the modifications by compiling and running the extension through Android Studio
[x] Have removed web_hi_res_512.png when adding a new extension

Release the att for us ADM, please!


picard: 2.5.4 -> 2.5.5

Automatic update generated by nixpkgs-update tools. This update was made based on information from passthru.updateScript.
meta.description for picard is: "The official MusicBrainz tagger"
meta.homepage for picard is: "https://picard.musicbrainz.org/"
meta.changelog for picard is: ""
Updates performed

Ran passthru.UpdateScript

To inspect upstream changes

Release on GitHub

Compare changes on GitHub

Impact

Checks done (click to expand)

built on NixOS

The tests defined in passthru.tests, if any, passed

0 of 0 passed binary check by having a zero exit code.

0 of 0 passed binary check by having the new version present in output.

found 2.5.5 with grep in /nix/store/gn9grbshkh8swh1rns24gm4dhfkh5i92-picard-2.5.5

directory tree listing: https://gist.github.com/c7105e6698746fb3c3f70b0fad577519

du listing: https://gist.github.com/86d16b09aa09dcfb27ebe79fbea90b6c

Rebuild report (if merged into master) (click to expand)

4 total rebuild path(s)

1 package rebuild(s)

1 x86_64-linux rebuild(s)
1 i686-linux rebuild(s)
1 x86_64-darwin rebuild(s)
1 aarch64-linux rebuild(s)

First fifty rebuilds by attrpath
picard

Instructions to test this update (click to expand)

Either download from Cachix:
nix-store -r /nix/store/gn9grbshkh8swh1rns24gm4dhfkh5i92-picard-2.5.5 \
  --option binary-caches 'https://cache.nixos.org/ https://nix-community.cachix.org/' \
  --option trusted-public-keys '
  nix-community.cachix.org-1:mB9FSh9qf2dCimDSUo8Zy7bkq5CX+/rkCWyvRCYg3Fs=
  cache.nixos.org-1:6NCHdD59X431o0gWypbMrAURkbJ16ZPMQFGspcDShjY=
  '

(The Cachix cache is only trusted for this store-path realization.)
For the Cachix download to work, your user must be in the trusted-users list or you can use sudo since root is effectively trusted.
Or, build yourself:
nix-build -A picard https://github.com/r-ryantm/nixpkgs/archive/a9823d228a661430e449e75cf372897e36f35fcf.tar.gz

After you've downloaded or built it, look at the files and if there are any, run the binaries:
ls -la /nix/store/gn9grbshkh8swh1rns24gm4dhfkh5i92-picard-2.5.5
ls -la /nix/store/gn9grbshkh8swh1rns24gm4dhfkh5i92-picard-2.5.5/bin

Pre-merge build results
We have automatically built all packages that will get rebuilt due to
this change.
This gives evidence on whether the upgrade will break dependent packages.
Note sometimes packages show up as failed to build independent of the
change, simply because they are already broken on the target branch.
Result of nixpkgs-review run on x86_64-linux 1

1 package built:

picard

Maintainer pings
cc @ehmry for testing.

Result of nixpkgs-review pr 107357 run on x86_64-linux 1

1 package built:

picard


flutter create --template=plugin now include swift unit test

Similar to #26456 and #26466

Same feedback here as on the other - we really should have a test to do a proper review of this.
/cc @amirh @cyanglaz

Hi @truongsinh, since this PR hasn't been updated in awhile I'm going to go ahead and close it, but please feel free to re-open if you'd like to continue working on it. Thanks!


Allow for multiple namespace resolutions

Addresses #567
Changes the namespace regex to take the namespace key into account, so that multiple namespaces can be resolved.

This is the kind of PR I like, one that addresses the issue the puller raised :) Thanks!


Repair application settings

Describe the bug
Application settings aren't synchronized between versions.

Resolved in 9a1497abef76c5d89c1a08bfec538646da8406fe.


address filtering relations comment

This change allows us to pass filters to the relatinoships of the query.
Sample usage:
        query.relations[usersAssociationTable].query = {
          relations: [{
            name: 'user', query: {
              filter: {
                uuid: { eq: 'e405f151-bd78-4f61-b7e9-23ca4b89b6c2' }
              },
            }
          }]

        } as any

Output SQL
SELECT "Table"."id", "Table"."some_identifier"
FROM myTable "Table"
LEFT JOIN "public"."user" "user" ON "user"."id"="users_association"."user_id"
LEFT JOIN "public"."users_association" "users_association" ON "users_association"."division_id"="Table"."some_identifier"
WHERE ("user"."uuid" = $1);

 -- PARAMETERS: ["e405f151-bd78-4f61-b7e9-23ca4b89b6c2"]

Previously, the relations' filters would not be passed down, and would result in the below query instead:
SELECT "Table"."id", "Table"."some_identifier"
FROM myTable "Table"
LEFT JOIN "public"."user" "user" ON "user"."id"="users_association"."user_id"
LEFT JOIN "public"."users_association" "users_association" ON "users_association"."division_id"="Table"."some_identifier";

Shit, this is a good one. Thanks!

Could you check the linting and please use conventional commits for the changelog.
There is also no need to bump the package.json :)

Could you check the linting and please use conventional commits for the changelog.
There is also no need to bump the package.json :)

I've no idea what i'm doing, in regards to commit history, haha. let me know if it needs to be cleaned up. Usually i'm the type of person that does test, test, oops, test, test, fixed a thing, so this styling is new to me!

Thanks for your work on this already 🔥 !

Codecov Report
Attention: 1 lines in your changes are missing coverage. Please review.

Comparison is base (3ceb52d) 79.15% compared to head (0eff5c7) 79.06%.
Report is 1 commits behind head on master.

Files
Patch %
Lines

...es/query-typeorm/src/query/filter-query.builder.ts
66.66%
0 Missing and 1 partial :warning:

Additional details and impacted files
@@            Coverage Diff             @@
##           master     #207      +/-   ##
==========================================
- Coverage   79.15%   79.06%   -0.09%
==========================================
  Files         688      688
  Lines        9748     9750       +2
  Branches      857      858       +1
==========================================
- Hits         7716     7709       -7
- Misses       1288     1295       +7
- Partials      744      746       +2

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

@TriPSs  this is ready for your approval. As a side question - once this is merged, will it auto increment the version in package json ? If not, when/how do i pull down the new version with the changes


Remove hard-coded override of cable driver flag

Don't pass cable driver flag, instead use new Shipyard using= flag.
As a side effect, this will change the default cable driver in this repo
from strongswan to libreswan.
Relates-to: submariner-io/shipyard#364
Signed-off-by: Daniel Farrell<EMAIL_ADDRESS>

This needs a version of Shipyard with https://github.com/submariner-io/shipyard/pull/365.

The tests fails because of
[submariner-operator]$ [cluster2] validate_equals .spec.cableDriver libreswan
[submariner-operator]$ [cluster2] validate_equals .spec.cableDriver libreswan
[submariner-operator]$ [cluster2] local json_filter=.spec.cableDriver
[submariner-operator]$ [cluster2] local expected=libreswan
[submariner-operator]$ [cluster2] local actual=null
[submariner-operator]$ [cluster2] jq -r -M .spec.cableDriver /tmp/submariner.cluster2.json
[cluster2] Expected 'libreswan' but got 'null'


Validate declaration questions for DOS 5

Trello: https://trello.com/c/Oqg9AUup/328-3-update-conditional-logic-for-declaration-question-q53-for-dos5
For DOS 5, we've renamed primaryContactEmail to contactEmail. Add a new validator for DOS 5 (+?) to handle this renamed field.
Also add validation for the new percent question - it's a number between 0 and 100. We need a new validator because the existing one used for the DUNS number validates numbers with a fixed length, which is not right for a percentage.

My review checklist
I've:

[ ] looked at the code
[ ] tested locally
[ ] run functional tests locally


Feature/vmq http client

Proposed Changes
Implementation of a HTTP POST Interface so that HTTP(S) clients can POST messages to VerneMQ directly. The plugin provides the following features:

Three different "formats" for publishing data:

Payload in body and MQTT Information in header
Payload in body and MQTT Information as query parameters
JSON Format

Integrates nicely into VerneMQ authentication schemes

Can protect endpoint with API Key
Can post "on-behaf-of", in that case the integrated authorization/authentication plugins are used
Supports mountpoints
Supports setting topic, QoS and retain flag
Supports UserProperties (for MQTT5 subscribers)

Types of Changes
What types of changes does your code introduce to this project?
Put an x in the boxes that apply

[ ] Bugfix (non-breaking change which fixes issue #XXXX)
[X] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to not work as expected)
[ ] Documentation (correction or otherwise)
[ ] Cosmetics (whitespace, styles...)
[ ] DevOps (Build scripts, pipelines...)

Checklist
Put an x in the boxes that apply. You can also fill these out after creating
the PR. If you're unsure about any of them, don't hesitate to ask on the
mailing list. We're here to help! This is simply a reminder of what we are
going to look for before merging your code.

[ ] I have read the CODE_OF_CONDUCT.md document
[ ] All tests pass locally with my changes
[ ] I have added tests that prove my fix is effective or that my feature works
[ ] I have added necessary documentation (if needed)
[ ] Any dependent changes have been merged and published in related repositories
[ ] I have updated changelog (At the bottom of the release version)
[ ] I have squashed all my commits into one before merging

Further Comments
If this is a relatively large or complex change, kick off the discussion by
explaining why you chose the solution you did and what alternatives you
considered, etc.

Not yet ready for review. A small preview of a plugin I am preparing. Let me know if you think this fits into the main VerneMQ distribution.
It is a small interface for publishing data to VerneMQ via HTTP(S). Compared to what I found elsewhere, the main goal is to integrate into VerneMQ (authentication, mountpoints, metrics...). It is meant to be used as a bridge for occasionally sending data to VerneMQ via an integrated mechanism. It is not designed for a lot of clients, nor a lot of traffic.

This sounds good to me, in principle.
So, on-behalf-of would do authorization, but other otherwise not, ie a component could just post to all topics?
Or would we need a non-MQTT user concept? ("admin" user). So far we have avoided this.

My current thoughts are:
"on-behalf-of":

The pw/client_id/user are part of the request (in either body, header or query string).
The information is send through the authorization plugins.
If ok, it will publish on behalf of what-ever-was-in-there
I guess typically you would at least use a own client_id for rest based clients (I even thought about enforcing that)

endpoint-authorization:
Not yet sure, what is better. I considered:

"God mode", maybe restricted to some topic tree (most likely not such a good idea security wise)
"Fixed user": The endpoint uses a fixed (configured) pre defined user/client pair. We use the ACLs of that pair.
Mapping API Key to user/client, so the API Key selects also the MQTT user/client

The last option is most likely the most flexible one. Once we have JWT there would also be the option to encode ACLs in the JWT token.

@mths1 an "on-behalf-of" MVP looks like a good option. Then we can always add to it later.

The module is now feature-complete. It is waiting for the api key pull request for finalization. Needs some tests cases, but manual tests go throuh fine. Any comments are welcome.

@mths1 would you have a minimal example... let's say a minimal config of the plugin in the vernemq.conf and some sort of curl -x POST example for a message publish?

I will push a new version later today or tomorow which is ready to test. I am still puzzled how to properly write test cases. Currently, I have some smoke tests (as in I can publish and it returns 200 ok), but also only with authorization disabled and without checking if the data really made it to verne.
Here is the documentation (80% finished), so you can see what you can test tomorrow :-)
https://github.com/mths1/vmq-docs/blob/docu/http_pub_plugin/configuration/http-pub.md

Should be ready for testing, some notes:

It does a auth_on_register for every push/pop => this works good enough, as long as you do not use a slow hash (as in slow by design, as bycrpt). In a later version of the plugin, we might want to cache sucessfull on_auth_register for a while.
I still lack a good way of unit test the authentication overrides (topic, qos...). I did this manually, but it is easy to miss something while refactoring code at the same time.
Is there an easy way of checking what has actually been posted?

@mths1 awesome, let me get through the docs you provided, set things up locally, and then I can look into the PR and your above questions.

I cannot yet make this work. If I create an API key with vmq-admin api-key create shouldn't I be able to use this in an authorization header? (I get a malformed header exception from Cowboy)
curl --request POST \
  --url https://<IP_ADDRESS>:3001/restmqtt/api/v1/publish \
  --header 'Authorization: Basic LRq6kKehiQqD6UKyImlG1AwbzOxHdiX' \
  --header 'Content-Type: application/json' \
  --data '{
	"topic": "T1",
	"user": "myuser",
	"password": "test123",
	"client_id": "myclient",
	"qos": 1,
	"retain": false,
	"payload": "asddsadsadas22dasasdsad",
	"user_properties": [{"a":"b"}]
}'

Oh, this happend to me as well, frequently. Basic auth needs to have a ":" at the end and then base64 encode that stuff. The following should work
echo -n 'api-key-here': | base64
It bothered me that much that I added the x-api-key header in the api-key-pull-request  just because of this.
--header 'x-api-key: api-key-just-as-is'
will work without the base64 encoding.
My personal recommendation: https://insomnia.rest/

@mths1 Thanks, gets me a step further :)
I missed the point that I need to create an API key with a scope: vmq-admin api-key create scope=httppub
This gets me past the initial error (with your hints about base64) but then I have below exception:
2023-03-10 10:33:54.571 [error] <0.893.0>@vmq_http_pub:auth_conf:180 Cowboy stream 1 with ranch listener {{127,0,0,1},3001} and connection process <0.892.0> had its request process exit with reason: no case clause matching [] in vmq_http_pub:auth_conf/1 line 180

Maybe I missed some config setting.
I tried with the following minimal plugin config:
plugins.vmq_http_pub = on
vmq_http_pub.mqtt_auth.mode = on-behalf-of
listener.http.http_pub = <IP_ADDRESS>:3001
listener.http.http_pub.http_module.vmq_http_pub.auth.mode = apikey
listener.http.http_pub.http_modules = vmq_http_pub

Could you try adding the auth-mode to the listener?
listener.http.http_pub.http_modules.vmq_http_pub.mqtt_auth.mode = on-behalf-of
?

listener.http.http_pub.http_modules.vmq_http_pub.mqtt_auth.mode = on-behalf-of

This works.
Another discovered point: We should discuss whether we want to respect allow_anonymous=on setting for the given (MQTT) username/pw/client_id.
allow_anonymous lets you disable authentication completely. For consistency reasons, we might allow it here too.

I added a new push. Meanwhile, I was able to add some actual tests that also check authorization/authentication. I'd say the test coverage is quite good now. I will play a little bit more with it and then move it into review state

@mths1 will do more testing soon. Thanks for the added tests (and your patience :)

Moved from draft to for review. Most likely there is, both feature-wise and coding style, plenty of room for improvement. At least from a feature point of view, it should be "good enough" and in case there is interest from the community it can always be improved.

@mths1 sure, improvements can always be incremental. As is, I think we still want to do a little initial refactoring: the supervisor is unused as is but we could use it handle metrics (or not use at all). As a minimum we should also add the PublishFun to the state of vmq_http_pub and not create one for every publish we do.  Stuff like that.

@ioolkos: Did some changes, made the code look nicer. Let me know if you have any further comments at the moment. I am not actively working on this PR at the moment.


Bug: Google Blocks Access to Interface from Social Media Apps

Bug Description
When users try to navigate to the ivrit.ai interface from within social media applications such as LinkedIn, Twitter, and Facebook, they encounter a Google block error. An example of the error message is attached as an image with this issue.
Steps to Reproduce

Open LinkedIn, Twitter, or Facebook app.
Try to follow a link to the serve.ivrit.ai .
Observe the error message from Google stating that the user agent is disallowed (403).

Expected Behavior
The link should open the ivrit.ai interface without any blocks, allowing users to interact with the service as intended.
Screenshots

Possible Cause
This could be related to the robots.txt file or other server configuration that specifies how Googlebot and other user agents should interact with the site, potentially blocking certain user agents unintentionally.
Suggested Next Steps

Review server settings and the robots.txt file to ensure that there are no rules that would block legitimate user agents.
Verify if the issue is with the configuration on Google's side or with the way the links are being shared on social media platforms.
It may also be helpful to check the server logs to see if there are any additional details about the requests that are being blocked.

We need to resolve this to ensure users have seamless access to ivrit.ai regardless of where they're coming from.
Thank you for looking into this issue.

I investigated this to the best of my ability.
Per my current understanding, as the native application is not under our control (example: LinkedIn app), possible solutions such as opening the link in a web browser application, or having it the application masquerade as a different browser is not possible (at least not under Google's guidelines).
For now, I'm unfortunately closing this issue as Won't Be Fixed. 😞
If you or others have specific suggestions about how to resolve this, please reopen and we'll give it another shot.


Features/background location update

Reopening this change in order to make it works with the oder PR closed here
Thanks,
Dario

Thanks, I'll look at it soon.

Looks good, thanks for the cleanup.


Every state change slider re-rendering and back to first slide.

When I want to change the state in my component its re-render the slider again and again. How can I fixed this issue ?

Can no one solve this problem?

Having same issue.

I've solved for just dragging the carousel by doing the following:

store the startPosition in state:
this.state = {      startPosition: '0'    };

Pass startPosition to OwlCarousel as prop
startPosition={this.state.startPosition}

Pass this as well as a prop:
onDragged={(object) => this.updateCarouselPosition(object)}

Function:

updateCarouselPosition(object){       if(object.item.index != this.state.startPosition){         this.setState({           startPosition: object.item.index         },function(){         });       }     }

How to fix step by step -:

Pass ref={(el) => { this.slider = el; }} to OwlCarousel as prop

Inside function componentDidUpdate set
componentDidUpdate() { this.slider.owlCarousel.trigger('refresh.owl.carousel'); }

3.Good luck.

Problem fixed with iamtomhanks's solution. You do need to manually keep count of the startPosition to avoid resetting the index everytime onChange is triggered on owlCarousel.

I've solved for just dragging the carousel by doing the following:

store the startPosition in state:
this.state = { startPosition: '0' };
Pass startPosition to OwlCarousel as prop
startPosition={this.state.startPosition}
Pass this as well as a prop:
onDragged={(object) => this.updateCarouselPosition(object)}
Function:

updateCarouselPosition(object){ if(object.item.index != this.state.startPosition){ this.setState({ startPosition: object.item.index }); } }

nice, but your solution doesn't work with infinite loop slideshow

  const startPosition = useRef(0);
  return (
    <OwlCarousel
      startPosition={startPosition.current}
      onDragged={({ item, page }) => {
        startPosition.current = item.index - page.size;
      }}
    >
        ...
    </OwlCarousel>
    )

This seems to work for the infinite loop slideshow.
Using a ref instead of state since we don't actually want a rerender on the value update, but we do want to keep track of the value for the next render

anyone know how to get this working for Angular?

I've solved for just dragging the carousel by doing the following:

store the startPosition in state:
this.state = { startPosition: '0' };
Pass startPosition to OwlCarousel as prop
startPosition={this.state.startPosition}
Pass this as well as a prop:
onDragged={(object) => this.updateCarouselPosition(object)}
Function:

updateCarouselPosition(object){ if(object.item.index != this.state.startPosition){ this.setState({ startPosition: object.item.index }); } }

But this causes some flickering

@iamtomhanks solutions works for me.


container-utils: Add TestNewContainerRuntimeClient

We should be able to initialze runtimeclient.ContainerRuntimeClient even if the underlying runtime isn't available e.g socketPath not found etc. I added a test to ensure we can track this intention.

Thanks for the reviews!


Hover in Logo

I think there shouldn't be hover for the logo of infusion

@coderbabu10 you'll need to provide more information here. Steps to reproduce, screen shot if possible, details about why it is an issue and etc.

i think the logo doesn't needs any hover.
what are your views ? @jobara

@jhung any thoughts?

i think that making the logo not hover would be a better option from my views i think that hovering of the logo is not required as the user knows that the clicking of the logo will send them to the main page.

Hover styling tends to help with accessibility as it helps with additional visual cues; for example which elements are interactive.


capture process failure: websocket: close sent

Hi,
I've been trying to get captures working with no luck and not much to go on.
I've got the edgeshark and gostwire containers up and running. The web ui works, I can access it on http://ip:5001. I've also got the wireshark extension and the external interfaces are shown, the mobyshark one fetches the containers properly too.
However, anytime I try to start a capture, wireshark immediately just ends up in this state.

There are only 2 errors that I've seen, the first is in the edgeshark container logs (i've enabled debug logs to try and troubleshoot). This happens every time I try to start a capture.
DEBU[2023-11-17T12:55:16Z] (pleasant-calf) /capture URL path handler started...
DEBU[2023-11-17T12:55:16Z] (pleasant-calf) beginning websocket upgrade...
DEBU[2023-11-17T12:55:16Z] (pleasant-calf) websocket upgrade successful
DEBU[2023-11-17T12:55:16Z] (pleasant-calf) updating container meta data from local discovery service (at port 5000)
DEBU[2023-11-17T12:55:17Z] (pleasant-calf) updating information about docker edgeshark
DEBU[2023-11-17T12:55:17Z] (pleasant-calf) docker to capture from: api.Target{Name:"edgeshark", Type:"docker", NetNS:4026532514, NetworkInterfaces:[]string{"eth0", "lo"}, Prefix:"", StartTime:3429142349, Pid:23249, NodeName:"", Cluster:(*api.Cluster)(nil), CaptureService:"", CapturePort:0}
DEBU[2023-11-17T12:55:17Z] (pleasant-calf) capturing from docker network interfaces: eth0, lo
DEBU[2023-11-17T12:55:17Z] (pleasant-calf) referencing netns:[4026532514] as "/proc/23249/ns/net"
DEBU[2023-11-17T12:55:17Z] (pleasant-calf) starting capture command...
DEBU[2023-11-17T12:55:17Z] (pleasant-calf) running /usr/bin/dumpcap inside locked net:[4026532514]
DEBU[2023-11-17T12:55:17Z] (pleasant-calf) watching websocket connection...
DEBU[2023-11-17T12:55:17Z] (pleasant-calf) capture process: Capturing on 'eth0' and 'Loopback: lo'
DEBU[2023-11-17T12:55:17Z] (pleasant-calf) capture process: File: -
DEBU[2023-11-17T12:55:17Z] section in packet capture stream is little endian
DEBU[2023-11-17T12:55:17Z] section header block: version 1.0
DEBU[2023-11-17T12:55:17Z] signalled unknown section length
DEBU[2023-11-17T12:55:17Z] option type 2: "Intel(R) Core(TM) i5-7500 CPU @ 3.40GHz (with SSE4.2)"
DEBU[2023-11-17T12:55:17Z] option type 3: "Linux 5.10.28-Unraid"
DEBU[2023-11-17T12:55:17Z] option type 4: "Dumpcap (Wireshark) 4.0.10 (Git commit f5c7c25a81eb)"
DEBU[2023-11-17T12:55:17Z] creating fresh SHB comment with container meta information
DEBU[2023-11-17T12:55:17Z] (pleasant-calf) capture client closing with code 1000, reason "ciao"
DEBU[2023-11-17T12:55:17Z] (pleasant-calf) acknowledging close (ciao!)
DEBU[2023-11-17T12:55:17Z] (pleasant-calf) signalling capture process to terminate...
DEBU[2023-11-17T12:55:17Z] (pleasant-calf) websocket closed
DEBU[2023-11-17T12:55:17Z] (pleasant-calf) capture process: Packets captured: 0
DEBU[2023-11-17T12:55:17Z] (pleasant-calf) capture process: Packets received/dropped on interface 'eth0': 0/0 (pcap:0/dumpcap:0/flushed:0/ps_ifdrop:0) (0.0%)
DEBU[2023-11-17T12:55:17Z] (pleasant-calf) capture process: Packets received/dropped on interface 'Loopback: lo': 0/0 (pcap:0/dumpcap:0/flushed:0/ps_ifdrop:0) (0.0%)
DEBU[2023-11-17T12:55:17Z] websocket broken: websocket: close sent
DEBU[2023-11-17T12:55:17Z] pcapng stream broken: websocket: close sent
ERRO[2023-11-17T12:55:17Z] (pleasant-calf) capture process failure: websocket: close sent
DEBU[2023-11-17T12:55:17Z] (pleasant-calf) /capture handler finished after 0:00:00

The gostwire container has a warning and error but they don't happen when I start a capture, so unsure if relevant:
WARN[2023-11-17T12:33:00Z] master network interface is not a bridge, but of type 'bond'
INFO[2023-11-17T12:33:00Z] found 6 Docker networks related to net:[4026531992] ⚙  init(1), …
ERRO[2023-11-17T12:33:00Z] cannot resolve CNI plugins configuration path, reason: lstat /proc/20847/root/etc/cni: no such file or directory

In the UI, clicking the wireshark button does nothing, I've tried to copy the link behind it to use it with the packetflix interface in wireshark and got the exact same result as above.
The host with docker is an unraid system and the client with wireshark is osx. Not sure what other information would be useful for you, but happy to provide.
I'm not sure where to go from here, so any help would be appreciated.

Immediately after posting it, I tried it on a windows machine and the capture works there, so I'm assuming the issue is either an osx setting or the osx wireshark extension. I'm going to close the issue since I can move on, but if you're interested in fixing it I'm happy to work with you to troubleshoot why it doesn't work on the OSX client.

Hi @mitom, thank you for the helpful bug report!

From the screenshot I guess that you're on an Apple/Darwin system: one-click capture start from the web UI unfortunately doesn't work on Darwin. As my limited understanding of the Darwin platform goes, the registration of URL scheme handlers is very different from Windows and Linux. Unfortunately, I don't have a Darwin system at hand, but the large road block for me is that I have absolutely zero working knowledge in these Darwin areas. I would be very thankful for a Darwin PR in this area...
There's still the "Docker host capture" plugin available to you: start Wireshark and it should be listed in addition to the packetflix extcap. Make sure to specify the Edgeshark service endpoint using HTTP, not HTTPS.

regarding logs: the packetflix logs indicate that the websocket session was successfully established, and then terminated by the client:
DEBU[2023-11-17T12:55:17Z] (pleasant-calf) capture client closing with code 1000, reason "ciao"
DEBU[2023-11-17T12:55:17Z] (pleasant-calf) acknowledging close (ciao!)

This, in combination with other log messages let me suspect a problem on the client/plugin side.
The cshargextcap plugin binary can be instructed via an environment variable CSHARK_LOG (yes, that one still spells "shark" correctly) to log its invocations to a file. Can you please set CSHARK_LOG to a path/filename of a logging file in your system so that the plugin picks it up when run by Wireshark? The file does not need to exist, it will be created automatically. Hopefully, this can give more insight.

regarding WARN[2023-11-17T12:33:00Z] master network interface is not a bridge, but of type 'bond': now that's an interesting one 😁 I need to ponder about and probably ask for more details later. This looks like I need to add bonding topology discovery support to G(h)ostwire. That should be hopefully easy to mock with dummy network interfaces, as this would allow easy unit testing.

I wonder if my pipe break checking for Darwin is broken and immediately falsely triggers; the code is in https://github.com/siemens/cshargextcap/blob/main/pipe/checker_notwin.go

Hi @thediveo - I didn't get notifications after the issue was closed I think, sorry for the delay.
I have tried to set the env var but it is either ignored or doesn't do anything - or maybe I'm meant to set it in a different way?
export CSHARK_LOG=/tmp/cshark.log
wireshark
 ** (wireshark:51463) 14:10:54.673148 [Capture MESSAGE] -- Capture Start ...
 ** (wireshark:51463) 14:10:55.377004 [Capture MESSAGE] -- Capture started
 ** (wireshark:51463) 14:10:55.377111 [Capture MESSAGE] -- File: "/var/folders/8b/mj328b7x4v56rjlkm81vc40h0000gn/T/wireshark_Docker host capture (0.9.8)O2NXE2.pcapng"
 ** (wireshark:51463) 14:10:55.410346 [Capture MESSAGE] -- Capture stopped.
 ** (wireshark:51463) 14:10:55.410377 [Capture WARNING] ui/capture.c:722 -- capture_input_closed():
^C
cat /tmp/cshark.log
[bat error]: '/tmp/cshark.log': No such file or directory (os error 2)

Is that the correct way to set it or is it meant to be somehow set explicitly for the plugin?

@mitom you're doing everything correctly; I've found and fixed the bug in the cshargextcap CLI and just released new packages.  It confirms my suspicion with the capture fifo (pipe) handling between Wireshark and the extcap plugin, but unfortunately I don't know what exactly isn't working as expected.
[13:15:02] DEBUG capture fifo broken, stopped monitoring.
[13:15:02] DEBUG initiating graceful websocket close
[13:15:02] DEBUG waiting for graceful close to be finished...

I suspect that the Select reporting differs on Darwin compared to Linux, but I don't have a Darwin system I could test and drill down into this issue.
Would it be possible to run the unit test just on the pipe package, that is, after cloning the cshargextcap repo and in its top-level directory, run a go test -v ./pipe?

Looks like it passes.
go test -v ./pipe

go: downloading github.com/onsi/gomega v1.30.0
go: downloading github.com/sirupsen/logrus v1.9.3
go: downloading golang.org/x/sys v0.14.0
go: downloading github.com/onsi/ginkgo/v2 v2.13.1
go: downloading github.com/thediveo/success v1.0.2
go: downloading github.com/go-logr/logr v1.3.0
go: downloading golang.org/x/net v0.18.0
go: downloading github.com/google/go-cmp v0.6.0
go: downloading gopkg.in/yaml.v3 v3.0.1
go: downloading golang.org/x/text v0.14.0
=== RUN   TestContainerSharkExtCap
Running Suite: cshargextcap/pipe - /Users/mitom/projects/cshargextcap/pipe
==========================================================================
Random Seed:<PHONE_NUMBER>

Will run 1 of 1 specs
time="2023-11-28T14:30:12Z" level=debug msg="constantly monitoring packet capture fifo status..."
time="2023-11-28T14:30:14Z" level=debug msg="capture fifo broken, stopped monitoring."
•

Ran 1 of 1 Specs in 2.002 seconds
SUCCESS! -- 1 Passed | 0 Failed | 0 Pending | 0 Skipped
--- PASS: TestContainerSharkExtCap (2.00s)
PASS
ok  	github.com/siemens/cshargextcap/pipe	2.184s

While it doesn't help fixing it, I've tried replacing https://github.com/siemens/cshargextcap/blob/main/capturestream.go#L73 with just a sleep and with that I am able to capture packets as long as the sleep is running - so the issue is definitely there.
I've also tested that the condition in https://github.com/siemens/cshargextcap/blob/main/pipe/checker_notwin.go#L35 that ends it is the n != 0, rather than there being an err.
I'm not really all that familiar with Go so the rest of it is a bit cryptic for me but I'll try to debug it more a bit later.

@thediveo I've not really gotten anywhere with this.
I've tried to mess around with the way the descriptor is passed in but the only thing I concluded is any lower number than the actual descriptor hangs it and any higher breaks the check (which makes the capturing work, same as if we just didn't do this check).
Also tried adding in some delays before the first check just in case it's some sort of race condition, which gives a few seconds of capture until the check runs once and then the same thing happens so that's also not it.
Basically, the code seems fine to me and I'd assume the issue would be some behaviour of wireshark being different than what it expects. I have no idea how to approach that unfortunately.
If you have any ideas to try I'll give it a go, but not sure where to go from here.

@thediveo Sorry - I hadn't have a chance a to respond.
As above given that the capture works with the check commented out, the higher fd basically achieves the same I believe.
To expand why I think the issue is some other circumstance that's not in the code is because the test seems correct to me, and that works as expected too. Hence my assumption that either wireguard does something that makes this pipe appear closed to the code or maybe it's the wrong pipe to check (although I think in this case the capture wouldn't work either based on the code). Not sure, I certainly don't have any smoking guns - just an assumption.
I've not had any ideas to try to go further on this, and unless we have some sort of new steps to try I'll probably leave it as is. Thank you for trying to resolve it and in general for the project.
If you do have something you'd like me to try feel free to let me know though!

Thank you very much anyway! I've now asked about potential differences in Wireshark/Darwin in the Wireshark developer discord channel.
Just to have this information ready: which version of Wireshark are you using?
I will keep this issue open; hopefully we still find the solution.

I am using 4.2.0, the macos arm version.

I've now got my fingers on an Intel-based MacBook and am trying to drill into this perplexing issue.

At least I seem to now be able to reproduce the issue also in the unit test -- the unit test has used a os.Pipe instead of a named pipe using unix.Mkfifo and I can trigger the readable situation on the write end by writing some data into the write end (sic!), thus prematurely terminating the pipe watch. I still don't understand what is wrong, but at least the test now reproduces the situation and macos, yet passes as observed so far on Linux.

That sounds like pretty good progress!

well, it's still unclear why the unix.Select behavior differs on macos; an attempt using unix.Poll is yet unsuccessful, so I'm stilling trying to figure out where the bug is.

I just tried this software today and ran into same problem using M1 mac. But...I got some good news I think? After reading through the posts here I figured I'd give a go at building the executable myself, trying it out, then seeing if I could maybe just ignore errors for now 😎 . Turns out, just building it on my mac fixed it! I can now see packet captures for all containers.
FYI my build process was simply:

clon the repo (https://github.com/siemens/cshargextcap.git)
check out branch "macos"
use vscode devcontainer image mcr.microsoft.com/devcontainers/go:1-1.21-bullseye  (no other mods to conf needed)
run "make dist", it fails trying to do windows things, but darwin executable is created
download "dist/default_darwin_arm64/cshargextcap" and put in wireshark extcap dir

Not sure what that means for you build pipeline, but hope this helps in some way!

Ah, I just noticed macos branch was updated two days ago using poll. Based on your last comment @thediveo, is it unexpected to work?  Many thanks for that.

The macos branch is experimental. At the moment, we can reproduce the issue, but we haven't yet any fix for it. We also did not get a unix.Poll version working either. Would it be possible for you to have a closer look at the pipe break checker in the pipe/ folder/package?

Oh, you can manually build an executabl3 using go build -tags netgo,osusergo ./pipe and then move the resulting cshargextcap into the extcap folder inside the Wireshark app. However, atm this won't work correctly due to the open issue with pipe break detection.

@baileys-am ... wait, it does work for you?? can you please run the unit test using go test -v ./pipe -ginkgo.v and post the result? Which macos version and which go version do you use? I'm asking because I don't get it working on an Intel macbook pro with macos 12.something...

That test passes for me.
vscode ➜ /workspaces/cshargextcap (macos) $ go test -v ./pipe -ginkgo.v
=== RUN   TestContainerSharkExtCap
Running Suite: cshargextcap/pipe - /workspaces/cshargextcap/pipe
================================================================
Random Seed:<PHONE_NUMBER>

Will run 1 of 1 specs
------------------------------
pipes detects on the write end when a pipe breaks
/workspaces/cshargextcap/pipe/checker_notwin_test.go:20
  STEP: creating a temporary named pipe/fifo and opening its ends @ 12/17/23 20:54:21.333
  STEP: waiting for pipe to break @ 12/17/23 20:54:21.345
time="2023-12-17T20:54:21Z" level=debug msg="constantly monitoring packet capture fifo status..."
  STEP: continously draining the read end of the pipe into /dev/null @ 12/17/23 20:54:21.345
  STEP: writing some data into the pipe @ 12/17/23 20:54:21.346
  STEP: closing read end of pipe @ 12/17/23 20:54:23.346
  STEP: pipe draining done @ 12/17/23 20:54:23.347
time="2023-12-17T20:54:23Z" level=debug msg="poll: [{Fd:7 Events:9 Revents:8}]"
time="2023-12-17T20:54:23Z" level=debug msg="capture fifo broken, stopped monitoring."
• [2.014 seconds]
------------------------------

Ran 1 of 1 Specs in 2.015 seconds
SUCCESS! -- 1 Passed | 0 Failed | 0 Pending | 0 Skipped
--- PASS: TestContainerSharkExtCap (2.02s)
PASS
ok      github.com/siemens/cshargextcap/pipe    2.023s

I'm using a M1 Pro with Ventura 13.6.2

@baileys-am sadly, we cannot reproduce this on our macos Macbooks (Intel w/ 12.7.x; Intel w/ 13.x; ARM w/ 13.x). We additionally tried this to reproduce on an Intel macbook using the devcontainer you listed, building the unit test using GOOS=darwin GOARCH=amd64 go test -v -tags netgo,osusergo -c ./pipe and then downloading the resulting pipe.test and running it. In all cases, we got the unit test failing as it runs into the timeout that is now used in the improved unit test (the unit test passes okay on Linux though). This is totally dazzling.

@thediveo that's frustrating. I just attempted to run the pipe.test per

using the devcontainer you listed, building the unit test using GOOS=darwin GOARCH=amd64 go test -v -tags netgo,osusergo -c ./pipe and then downloading the resulting pipe.test and running it.

It hangs. Not sure if it's helpfull, but I'll put the output below after sending a CTRL+C.
Just to clarify, previously you asked if I could run go test -v ./pipe -ginkgo.v, I did so running it in the container. I don't have Go installed on the Mac.
Running Suite: cshargextcap/pipe - /Users/scantrell7/Downloads
==============================================================
Random Seed:<PHONE_NUMBER>

Will run 1 of 1 specs
DEBU[0000] constantly monitoring packet capture fifo status...
^C  ------------------------------
  Interrupted by User
  First interrupt received; Ginkgo will run any cleanup and reporting nodes but will skip all remaining specs.  Interrupt again to skip cleanup.
  Here's a current progress report:
    pipes detects on the write end when a pipe breaks (Spec Runtime: 10m47.887s)
      /workspaces/cshargextcap/pipe/checker_notwin_test.go:20
      In [It] (Node Runtime: 10m47.887s)
        /workspaces/cshargextcap/pipe/checker_notwin_test.go:20
        At [By Step] closing read end of pipe (Step Runtime: 10m45.874s)
          /workspaces/cshargextcap/pipe/checker_notwin_test.go:61

        Spec Goroutine
        goroutine 10 [syscall]
          syscall.syscall(0x49db6c40?, 0x1f40a68?, 0x10?, 0xc000080900?)
            /usr/local/go/src/runtime/sys_darwin.go:23
          golang.org/x/sys/unix.poll(0x8?, 0x1377dc0?, 0xc0002b2001?)
            /go/pkg/mod/golang.org/x/sys@v0.14.0/unix/zsyscall_darwin_amd64.go:323
          golang.org/x/sys/unix.Poll({0xc00029e080?, 0x1?, 0x1?}, 0x3e8?)
            /go/pkg/mod/golang.org/x/sys@v0.14.0/unix/syscall_bsd.go:595
        > github.com/siemens/cshargextcap/pipe.WaitTillBreak(0xc0000b0000)
            /workspaces/cshargextcap/pipe/checker_notwin.go:34
        > github.com/siemens/cshargextcap/pipe.glob..func1.1()
            /workspaces/cshargextcap/pipe/checker_notwin_test.go:74
          github.com/onsi/ginkgo/v2/internal.extractBodyFunction.func3({0x0, 0x0})
            /go/pkg/mod/github.com/onsi/ginkgo/v2@v2.13.1/internal/node.go:463
          github.com/onsi/ginkgo/v2/internal.(*Suite).runNode.func3()
            /go/pkg/mod/github.com/onsi/ginkgo/v2@v2.13.1/internal/suite.go:889
          github.com/onsi/ginkgo/v2/internal.(*Suite).runNode in goroutine 6
            /go/pkg/mod/github.com/onsi/ginkgo/v2@v2.13.1/internal/suite.go:876

        Goroutines of Interest
        goroutine 33 [syscall]
          syscall.syscall(0xf?, 0xf?, 0x800000?, 0x7ffff800000?)
            /usr/local/go/src/runtime/sys_darwin.go:23
          syscall.read(0xc00029c000?, {0xc0000ba000?, 0x0?, 0x0?})
            /usr/local/go/src/syscall/zsyscall_darwin_amd64.go:1209
          syscall.Read(...)
            /usr/local/go/src/syscall/syscall_unix.go:181
          internal/poll.ignoringEINTRIO(...)
            /usr/local/go/src/internal/poll/fd_unix.go:736
          internal/poll.(*FD).Read(0xc00029c000, {0xc0000ba000, 0x8000, 0x8000})
            /usr/local/go/src/internal/poll/fd_unix.go:160
          os.(*File).read(...)
            /usr/local/go/src/os/file_posix.go:29
          os.(*File).Read(0xc00029a000, {0xc0000ba000?, 0xc0000b0008?, 0x1381aa0?})
            /usr/local/go/src/os/file.go:118
          io.copyBuffer({0x14a5c80, 0xc0000b0008}, {0x14a5d20, 0xc00029a000}, {0x0, 0x0, 0x0})
            /usr/local/go/src/io/io.go:430
          io.Copy(...)
            /usr/local/go/src/io/io.go:389
          os.genericReadFrom(0x13ea620?, {0x14a5d20?, 0xc00029a000?})
            /usr/local/go/src/os/file.go:161
          os.(*File).ReadFrom(0x0?, {0x14a5d20?, 0xc00029a000?})
            /usr/local/go/src/os/file.go:155
          io.copyBuffer({0x14a5ce0, 0xc0000b0008}, {0x14a5d20, 0xc00029a000}, {0x0, 0x0, 0x0})
            /usr/local/go/src/io/io.go:416
          io.Copy(...)
            /usr/local/go/src/io/io.go:389
        > github.com/siemens/cshargextcap/pipe.glob..func1.1.3()
            /workspaces/cshargextcap/pipe/checker_notwin_test.go:54
        > github.com/siemens/cshargextcap/pipe.glob..func1.1 in goroutine 10
            /workspaces/cshargextcap/pipe/checker_notwin_test.go:49
  ------------------------------
• [INTERRUPTED] [647.896 seconds]
pipes [It] detects on the write end when a pipe breaks
/workspaces/cshargextcap/pipe/checker_notwin_test.go:20

  Timeline >>
  STEP: creating a temporary named pipe/fifo and opening its ends @ 12/18/23 09:02:13.156
  STEP: waiting for pipe to break @ 12/18/23 09:02:13.168
  STEP: continously draining the read end of the pipe into /dev/null @ 12/18/23 09:02:13.168
  STEP: writing some data into the pipe @ 12/18/23 09:02:13.168
  STEP: closing read end of pipe @ 12/18/23 09:02:15.169
  [INTERRUPTED] in [It] - /workspaces/cshargextcap/pipe/checker_notwin_test.go:20 @ 12/18/23 09:13:01.039
  Interrupted by User
  First interrupt received; Ginkgo will run any cleanup and reporting nodes but will skip all remaining specs.  Interrupt again to skip cleanup.
  Here's a current progress report:
    pipes detects on the write end when a pipe breaks (Spec Runtime: 10m47.887s)
      /workspaces/cshargextcap/pipe/checker_notwin_test.go:20
      In [It] (Node Runtime: 10m47.887s)
        /workspaces/cshargextcap/pipe/checker_notwin_test.go:20
        At [By Step] closing read end of pipe (Step Runtime: 10m45.874s)
          /workspaces/cshargextcap/pipe/checker_notwin_test.go:61

        Spec Goroutine
        goroutine 10 [syscall]
          syscall.syscall(0x49db6c40?, 0x1f40a68?, 0x10?, 0xc000080900?)
            /usr/local/go/src/runtime/sys_darwin.go:23
          golang.org/x/sys/unix.poll(0x8?, 0x1377dc0?, 0xc0002b2001?)
            /go/pkg/mod/golang.org/x/sys@v0.14.0/unix/zsyscall_darwin_amd64.go:323
          golang.org/x/sys/unix.Poll({0xc00029e080?, 0x1?, 0x1?}, 0x3e8?)
            /go/pkg/mod/golang.org/x/sys@v0.14.0/unix/syscall_bsd.go:595
        > github.com/siemens/cshargextcap/pipe.WaitTillBreak(0xc0000b0000)
            /workspaces/cshargextcap/pipe/checker_notwin.go:34
        > github.com/siemens/cshargextcap/pipe.glob..func1.1()
            /workspaces/cshargextcap/pipe/checker_notwin_test.go:74
          github.com/onsi/ginkgo/v2/internal.extractBodyFunction.func3({0x0, 0x0})
            /go/pkg/mod/github.com/onsi/ginkgo/v2@v2.13.1/internal/node.go:463
          github.com/onsi/ginkgo/v2/internal.(*Suite).runNode.func3()
            /go/pkg/mod/github.com/onsi/ginkgo/v2@v2.13.1/internal/suite.go:889
          github.com/onsi/ginkgo/v2/internal.(*Suite).runNode in goroutine 6
            /go/pkg/mod/github.com/onsi/ginkgo/v2@v2.13.1/internal/suite.go:876

        Goroutines of Interest
        goroutine 33 [syscall]
          syscall.syscall(0xf?, 0xf?, 0x800000?, 0x7ffff800000?)
            /usr/local/go/src/runtime/sys_darwin.go:23
          syscall.read(0xc00029c000?, {0xc0000ba000?, 0x0?, 0x0?})
            /usr/local/go/src/syscall/zsyscall_darwin_amd64.go:1209
          syscall.Read(...)
            /usr/local/go/src/syscall/syscall_unix.go:181
          internal/poll.ignoringEINTRIO(...)
            /usr/local/go/src/internal/poll/fd_unix.go:736
          internal/poll.(*FD).Read(0xc00029c000, {0xc0000ba000, 0x8000, 0x8000})
            /usr/local/go/src/internal/poll/fd_unix.go:160
          os.(*File).read(...)
            /usr/local/go/src/os/file_posix.go:29
          os.(*File).Read(0xc00029a000, {0xc0000ba000?, 0xc0000b0008?, 0x1381aa0?})
            /usr/local/go/src/os/file.go:118
          io.copyBuffer({0x14a5c80, 0xc0000b0008}, {0x14a5d20, 0xc00029a000}, {0x0, 0x0, 0x0})
            /usr/local/go/src/io/io.go:430
          io.Copy(...)
            /usr/local/go/src/io/io.go:389
          os.genericReadFrom(0x13ea620?, {0x14a5d20?, 0xc00029a000?})
            /usr/local/go/src/os/file.go:161
          os.(*File).ReadFrom(0x0?, {0x14a5d20?, 0xc00029a000?})
            /usr/local/go/src/os/file.go:155
          io.copyBuffer({0x14a5ce0, 0xc0000b0008}, {0x14a5d20, 0xc00029a000}, {0x0, 0x0, 0x0})
            /usr/local/go/src/io/io.go:416
          io.Copy(...)
            /usr/local/go/src/io/io.go:389
        > github.com/siemens/cshargextcap/pipe.glob..func1.1.3()
            /workspaces/cshargextcap/pipe/checker_notwin_test.go:54
        > github.com/siemens/cshargextcap/pipe.glob..func1.1 in goroutine 10
            /workspaces/cshargextcap/pipe/checker_notwin_test.go:49
  << Timeline

  [INTERRUPTED] Interrupted by User
  In [It] at: /workspaces/cshargextcap/pipe/checker_notwin_test.go:20 @ 12/18/23 09:13:01.039

  This is the Progress Report generated when the interrupt was received:
    pipes detects on the write end when a pipe breaks (Spec Runtime: 10m47.887s)
      /workspaces/cshargextcap/pipe/checker_notwin_test.go:20
      In [It] (Node Runtime: 10m47.887s)
        /workspaces/cshargextcap/pipe/checker_notwin_test.go:20
        At [By Step] closing read end of pipe (Step Runtime: 10m45.874s)
          /workspaces/cshargextcap/pipe/checker_notwin_test.go:61

        Spec Goroutine
        goroutine 10 [syscall]
          syscall.syscall(0x49db6c40?, 0x1f40a68?, 0x10?, 0xc000080900?)
            /usr/local/go/src/runtime/sys_darwin.go:23
          golang.org/x/sys/unix.poll(0x8?, 0x1377dc0?, 0xc0002b2001?)
            /go/pkg/mod/golang.org/x/sys@v0.14.0/unix/zsyscall_darwin_amd64.go:323
          golang.org/x/sys/unix.Poll({0xc00029e080?, 0x1?, 0x1?}, 0x3e8?)
            /go/pkg/mod/golang.org/x/sys@v0.14.0/unix/syscall_bsd.go:595
        > github.com/siemens/cshargextcap/pipe.WaitTillBreak(0xc0000b0000)
            /workspaces/cshargextcap/pipe/checker_notwin.go:34
        > github.com/siemens/cshargextcap/pipe.glob..func1.1()
            /workspaces/cshargextcap/pipe/checker_notwin_test.go:74
          github.com/onsi/ginkgo/v2/internal.extractBodyFunction.func3({0x0, 0x0})
            /go/pkg/mod/github.com/onsi/ginkgo/v2@v2.13.1/internal/node.go:463
          github.com/onsi/ginkgo/v2/internal.(*Suite).runNode.func3()
            /go/pkg/mod/github.com/onsi/ginkgo/v2@v2.13.1/internal/suite.go:889
          github.com/onsi/ginkgo/v2/internal.(*Suite).runNode in goroutine 6
            /go/pkg/mod/github.com/onsi/ginkgo/v2@v2.13.1/internal/suite.go:876

        Goroutines of Interest
        goroutine 33 [syscall]
          syscall.syscall(0xf?, 0xf?, 0x800000?, 0x7ffff800000?)
            /usr/local/go/src/runtime/sys_darwin.go:23
          syscall.read(0xc00029c000?, {0xc0000ba000?, 0x0?, 0x0?})
            /usr/local/go/src/syscall/zsyscall_darwin_amd64.go:1209
          syscall.Read(...)
            /usr/local/go/src/syscall/syscall_unix.go:181
          internal/poll.ignoringEINTRIO(...)
            /usr/local/go/src/internal/poll/fd_unix.go:736
          internal/poll.(*FD).Read(0xc00029c000, {0xc0000ba000, 0x8000, 0x8000})
            /usr/local/go/src/internal/poll/fd_unix.go:160
          os.(*File).read(...)
            /usr/local/go/src/os/file_posix.go:29
          os.(*File).Read(0xc00029a000, {0xc0000ba000?, 0xc0000b0008?, 0x1381aa0?})
            /usr/local/go/src/os/file.go:118
          io.copyBuffer({0x14a5c80, 0xc0000b0008}, {0x14a5d20, 0xc00029a000}, {0x0, 0x0, 0x0})
            /usr/local/go/src/io/io.go:430
          io.Copy(...)
            /usr/local/go/src/io/io.go:389
          os.genericReadFrom(0x13ea620?, {0x14a5d20?, 0xc00029a000?})
            /usr/local/go/src/os/file.go:161
          os.(*File).ReadFrom(0x0?, {0x14a5d20?, 0xc00029a000?})
            /usr/local/go/src/os/file.go:155
          io.copyBuffer({0x14a5ce0, 0xc0000b0008}, {0x14a5d20, 0xc00029a000}, {0x0, 0x0, 0x0})
            /usr/local/go/src/io/io.go:416
          io.Copy(...)
            /usr/local/go/src/io/io.go:389
        > github.com/siemens/cshargextcap/pipe.glob..func1.1.3()
            /workspaces/cshargextcap/pipe/checker_notwin_test.go:54
        > github.com/siemens/cshargextcap/pipe.glob..func1.1 in goroutine 10
            /workspaces/cshargextcap/pipe/checker_notwin_test.go:49

        Other Goroutines
        goroutine 6 [running]
          github.com/onsi/ginkgo/v2/internal.extractRunningGoroutines()
            /go/pkg/mod/github.com/onsi/ginkgo/v2@v2.13.1/internal/progress_report.go:181
          github.com/onsi/ginkgo/v2/internal.NewProgressReport(_, {{0xc000023d50, 0x1, 0x1}, {0xc0001dc800, 0x1, 0x1}, {0xc000010690, 0x1, 0x1}, ...}, ...)
            /go/pkg/mod/github.com/onsi/ginkgo/v2@v2.13.1/internal/progress_report.go:75
          github.com/onsi/ginkgo/v2/internal.(*Suite).generateProgressReport(_, _)
            /go/pkg/mod/github.com/onsi/ginkgo/v2@v2.13.1/internal/suite.go:381
          github.com/onsi/ginkgo/v2/internal.(*Suite).runNode(_, {0x2, 0x4, {0x1409e6b, 0x2b}, 0xc000023cf0, {{0x15172e3, 0x34}, 0x14, {0x0, ...}, ...}, ...}, ...)
            /go/pkg/mod/github.com/onsi/ginkgo/v2@v2.13.1/internal/suite.go:975
          github.com/onsi/ginkgo/v2/internal.(*group).attemptSpec(0xc0002971c0, 0x1, {{0xc00009c240?, 0x2?, 0x2?}, 0x0?})
            /go/pkg/mod/github.com/onsi/ginkgo/v2@v2.13.1/internal/group.go:199
          github.com/onsi/ginkgo/v2/internal.(*group).run(0xc0002971c0, {0xc00006ca20?, 0x0?, 0x0?})
            /go/pkg/mod/github.com/onsi/ginkgo/v2@v2.13.1/internal/group.go:349
          github.com/onsi/ginkgo/v2/internal.(*Suite).runSpecs(0xc0001a2a80, {0x13fb40f, 0x11}, {0x1733be0, 0x0, 0x0}, {0xc00002c024, 0x1b}, 0x0, {0xc00009e040, ...})
            /go/pkg/mod/github.com/onsi/ginkgo/v2@v2.13.1/internal/suite.go:489
          github.com/onsi/ginkgo/v2/internal.(*Suite).Run(_, {_, _}, {_, _, _}, {_, _}, _, {0x14ab070, ...}, ...)
            /go/pkg/mod/github.com/onsi/ginkgo/v2@v2.13.1/internal/suite.go:130
          github.com/onsi/ginkgo/v2.RunSpecs({0x14a5d80, 0xc000155040}, {0x13fb40f, 0x11}, {0x0, 0x0, 0x0})
            /go/pkg/mod/github.com/onsi/ginkgo/v2@v2.13.1/core_dsl.go:300
          github.com/siemens/cshargextcap/pipe.TestContainerSharkExtCap(0x0?)
            /workspaces/cshargextcap/pipe/package_test.go:20
          testing.tRunner(0xc000155040, 0x14343f0)
            /usr/local/go/src/testing/testing.go:1595
          testing.(*T).Run in goroutine 1
            /usr/local/go/src/testing/testing.go:1648

        goroutine 1 [chan receive]
          testing.(*T).Run(0xc000154ea0, {0x13ff530?, 0x1626208cf8eac?}, 0x14343f0)
            /usr/local/go/src/testing/testing.go:1649
          testing.runTests.func1(0x17054e0?)
            /usr/local/go/src/testing/testing.go:2054
          testing.tRunner(0xc000154ea0, 0xc0001afc48)
            /usr/local/go/src/testing/testing.go:1595
          testing.runTests(0xc00007f540?, {0x16de300, 0x1, 0x1}, {0xc0001da340?, 0xc0001afd08?, 0x0?})
            /usr/local/go/src/testing/testing.go:2052
          testing.(*M).Run(0xc00007f540)
            /usr/local/go/src/testing/testing.go:1925
          main.main()
            _testmain.go:47

        goroutine 8 [syscall]
          os/signal.signal_recv()
            /usr/local/go/src/runtime/sigqueue.go:149
          os/signal.loop()
            /usr/local/go/src/os/signal/signal_unix.go:23
          os/signal.Notify.func1.1 in goroutine 6
            /usr/local/go/src/os/signal/signal.go:151

        goroutine 17 [select]
          github.com/onsi/ginkgo/v2/internal/interrupt_handler.(*InterruptHandler).registerForInterrupts.func2(0x0?)
            /go/pkg/mod/github.com/onsi/ginkgo/v2@v2.13.1/internal/interrupt_handler/interrupt_handler.go:131
          github.com/onsi/ginkgo/v2/internal/interrupt_handler.(*InterruptHandler).registerForInterrupts in goroutine 6
            /go/pkg/mod/github.com/onsi/ginkgo/v2@v2.13.1/internal/interrupt_handler/interrupt_handler.go:128

        goroutine 9 [select]
          github.com/onsi/ginkgo/v2/internal.RegisterForProgressSignal.func1()
            /go/pkg/mod/github.com/onsi/ginkgo/v2@v2.13.1/internal/progress_report.go:32
          github.com/onsi/ginkgo/v2/internal.RegisterForProgressSignal in goroutine 6
            /go/pkg/mod/github.com/onsi/ginkgo/v2@v2.13.1/internal/progress_report.go:30
------------------------------

Summarizing 1 Failure:
  [INTERRUPTED] pipes [It] detects on the write end when a pipe breaks
  /workspaces/cshargextcap/pipe/checker_notwin_test.go:20

Ran 1 of 1 Specs in 647.909 seconds
FAIL! - Interrupted by User -- 0 Passed | 1 Failed | 0 Pending | 0 Skipped
--- FAIL: TestContainerSharkExtCap (647.91s)
FAIL

@thediveo that's frustrating. I just attempted to run the pipe.test per
Just to clarify, previously you asked if I could run go test -v ./pipe -ginkgo.v, I did so running it in the container. I don't have Go installed on the Mac.

Welcome to the club, you've tested the Linux version 😁 -- if I hadn't forgotten to tell you to prepend GOOS=darwin GOARCH=arm64 go test ... we would have caught this sooner, but these things happen, not least to me. I've pushed a reworked version using unix.Poll and a correctly time-boxed test, so Ctrl-C isn't needed anymore.
Alas, that now perfectly fits in with our results.
I've played around with unix.Kqueue specifically for the BSDs, including Darwin: while the Apple docs specify that I can monitor the write end for writability and the reader disconnecting for sockets, pipes, and fifos, I can't get the EOF event to show up, whatever I do.

you've tested the Linux version

Yup lol, that dawned on me after I saw the GOOS env var. FWIW I'll add the test output after pulling your latest changes (running on mac host).
Just to clarify, the cshargextcap executable built in the container I mentioned above didn't work or was it just the test that didn't work? FYI, I just built the default_darwin_arm64/cshargextcap with your latest changes and I'm able to capture packets 🤷🏻
PROOF OF LIFE

=== RUN   TestContainerSharkExtCap
Running Suite: cshargextcap/pipe - repos/cshargextcap/pipe
============================================================================
Random Seed:<PHONE_NUMBER>

Will run 1 of 1 specs
------------------------------
pipes detects on the write end when a pipe breaks
repos/cshargextcap/pipe/checker_notwin_test.go:31
  STEP: creating a temporary named pipe/fifo and opening its ends @ 12/18/23 10:34:24.716
  STEP: waiting for pipe to break @ 12/18/23 10:34:24.728
time="2023-12-18T10:34:24-05:00" level=debug msg="constantly monitoring packet capture fifo status..."
  STEP: continously draining the read end of the pipe into /dev/null @ 12/18/23 10:34:24.728
  STEP: writing some data into the pipe @ 12/18/23 10:34:24.729
  STEP: closing read end of pipe @ 12/18/23 10:34:26.73
time="2023-12-18T10:34:28-05:00" level=debug msg="context done while monitoring packet capture fifo"
  STEP: pipe draining done @ 12/18/23 10:34:28.785
  [FAILED] in [It] - repos/cshargextcap/pipe/checker_notwin_test.go:88 @ 12/18/23 10:34:28.788
• [FAILED] [4.073 seconds]
pipes [It] detects on the write end when a pipe breaks
repos/cshargextcap/pipe/checker_notwin_test.go:31

  [FAILED] break detection failed
  Expected
      <context.deadlineExceededError>:
      context deadline exceeded
      {}
  to be nil
  In [It] at: repos/cshargextcap/pipe/checker_notwin_test.go:88 @ 12/18/23 10:34:28.788
------------------------------

Summarizing 1 Failure:
  [FAIL] pipes [It] detects on the write end when a pipe breaks
  repos/cshargextcap/pipe/checker_notwin_test.go:88

Ran 1 of 1 Specs in 4.073 seconds
FAIL! -- 0 Passed | 1 Failed | 0 Pending | 0 Skipped
--- FAIL: TestContainerSharkExtCap (4.07s)
FAIL
FAIL	github.com/siemens/cshargextcap/pipe	4.630s
FAIL

@baileys-am absolutely love your "proof of live" 😁, as well as patiently answering my curiosity! As a last resort, I run a make dist on a Intel MacBook pro and (after finding out that I shouldn't try to use the ARM64 version 🤦🏼♂) it works now as it does for you, even on the old Intel Monterey.
Now that leaves me with the conundrum to find out as to why this build works locally, or in the container, but not in CI. And why the unit test still fails on macos...

Excellent! Glad I could help. And indeed the latest release 0.9.10 works. Thank you!


OpenSSL issue

Hello!
I've recently experienced this issue when trying to use DeepSlice 1.1.6 (I've got the same error with 1.1.5):
from DeepSlice.read_and_write import QuickNII_functions
  File "C:\ProgramData\miniforge3\envs\deepslice\lib\site-packages\DeepSlice\__init__.py", line 1, in <module>
    from .main import DSModel
  File "C:\ProgramData\miniforge3\envs\deepslice\lib\site-packages\DeepSlice\main.py", line 5, in <module>
    from .metadata import metadata_loader
  File "C:\ProgramData\miniforge3\envs\deepslice\lib\site-packages\DeepSlice\metadata\metadata_loader.py", line 3, in <module>
    import requests
  File "C:\ProgramData\miniforge3\envs\deepslice\lib\site-packages\requests\__init__.py", line 43, in <module>
    import urllib3
  File "C:\ProgramData\miniforge3\envs\deepslice\lib\site-packages\urllib3\__init__.py", line 42, in <module>
    "urllib3 v2.0 only supports OpenSSL 1.1.1+, currently "
ImportError: urllib3 v2.0 only supports OpenSSL 1.1.1+, currently the 'ssl' module is compiled with 'OpenSSL 1.1.0i  14 Aug 2018'. See: https://github.com/urllib3/urllib3/issues/2168

Do you know what's wrong and how to fix that ?
FYI, I'm on windows 11, I've started by installing miniforge, updated conda, and then performed the following:
conda create -n deepslice python=3.7
conda activate deepslice
conda install pip
pip install DeepSlice==1.1.6

Doing this fixed the issue:
pip install urllib3==1.26.6

Great thanks for the notification. Ive changed the setup.py so that this version of urllib is required.


Refactor scripts to task where possible

Currently some scripts are better suited to be run as hardhat tasks, with the main objective of leveraging the possibility of using cli args rather than having to configure inputs via env

Closed by #190


Update Progress documentation

Type of changes

[ ] Bug fix
[ ] New feature
[x] Documentation / docstrings
[ ] Tests
[ ] Other

Checklist

[ ] I've run the latest black with default args on new code.
[ ] I've updated CHANGELOG.md and CONTRIBUTORS.md where appropriate.
[ ] I've added tests for new code.
[X] I accept that @willmcgugan may be pedantic in the code review.

Description
Added method to get additional arguments stored in task.fields.
See https://github.com/Textualize/rich/issues/205#issuecomment-668471467.

That doesn't read well...

That doesn't read well...

Sorry for my poor english, but I think users of Progress do need it,😭It took me a long time to fit this counter-intuitive feature.

No worries. I'll update the docs. 谢谢你

I've updated the progress docs. Thanks for raising this.