--radius switch for log CLI

Closes #280.

I don't know if Dan captured this anywhere, but we spoke, and radius is
only supposed to be a single number not a compound thing with a coordinate
and a radius. The coordinate should be specified separately in a --coord or
--coordinate or --at or something arg.
On Fri, Oct 30, 2020, 07:24 Jon<EMAIL_ADDRESS>wrote:

@jonlamb-gh commented on this pull request.
In modality-probe-cli/src/log/mod.rs
https://github.com/auxoncorp/modality-probe/pull/293#discussion_r515134938
:

@@ -82,6 +86,10 @@ pub struct Log {

 #[structopt(short, long, help = FORMAT_DOC)]
 pub format: Option<String>,

/// Filter a whole graph down to the radius around a specific
/// event.

I think it'd be helpful here or in the about/help to mention what the
units of --radius mean.
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/auxoncorp/modality-probe/pull/293#pullrequestreview-520717116,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AACKCBK6GDGXKBRSQBWTBP3SNLEAXANCNFSM4TEJPUKA
.

I don't know if Dan captured this anywhere, but we spoke, and radius is only supposed to be a single number not a compound thing with a coordinate and a radius. The coordinate should be specified separately in a --coord or --coordinate or --at or something arg.

Ah I see. Yeah I agree, --radius to me feels like it should be a single dimension akin to distance, starting from some coordinate.

I think there might generally be some work that needs to be done to deal
with everything related to weak relationships. Like, restart tracking,
missing reports, cross run/session boundaries, etc.
On Fri, Oct 30, 2020, 08:13 Jon<EMAIL_ADDRESS>wrote:

@jonlamb-gh commented on this pull request.
In modality-probe-cli/src/log/mod.rs
https://github.com/auxoncorp/modality-probe/pull/293#discussion_r515170729
:

                     if lc.id == *probe_id {

                         // The self-clock `0` is useful from a
                         // causal standpoint, but from a
                         // coordinating-timelines standpoint, it's
                         // ambiguous because it appears whether a
                         // snapshot was produced or not.

                       if clock != 0 {

                       if lc.pack().1 != 0 {

Will this logic be problematic for probes that implement restart tracking?
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/auxoncorp/modality-probe/pull/293#pullrequestreview-520765023,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AACKCBNYIVHJIVZNDVFADVTSNLJZDANCNFSM4TEJPUKA
.

I don't know if Dan captured this anywhere, but we spoke, and radius is only supposed to be a single number not a compound thing with a coordinate and a radius. The coordinate should be specified separately in a --coord or --coordinate or --at or something arg.

Ah I see. Yeah I agree, --radius to me feels like it should be a single dimension akin to distance, starting from some coordinate.

I haven't circled back to this yet, no. I find the idea of requiring two switches awkward because it's not clear to me what either would do if used on their own. If --radius on its own is confusing / surprising, I need to think a bit more about how better to present it.

I don't know if Dan captured this anywhere, but we spoke, and radius is only supposed to be a single number not a compound thing with a coordinate and a radius. The coordinate should be specified separately in a --coord or --coordinate or --at or something arg.

Ah I see. Yeah I agree, --radius to me feels like it should be a single dimension akin to distance, starting from some coordinate.

I haven't circled back to this yet, no. I find the idea of requiring two switches awkward because it's not clear to me what either would do if used on their own. If --radius on its own is confusing / surprising, I need to think a bit more about how better to present it.

I wonder if we could lean on StructOpt for this using required_if or required_unless attributes to help ensure they're supplied together?

I think there might generally be some work that needs to be done to deal with everything related to weak relationships. Like, restart tracking, missing reports, cross run/session boundaries, etc.

Yes on multiple sessions in a single trace file.
Restart tracking, I don't think so, unless there's something probe side that needs to be done. The visualize and log code just follows the clocks which are meant to contain restart information, right?
I'm not sure what you mean about missing reports, are you talking about enumerating holes in the graph? log does that, but visualize does not.

I wonder if we could lean on StructOpt for this using required_if or required_unless attributes to help ensure they're supplied together?..

Oh totally, I know we can enforce that they be used together, but what would the point be of their being two different arguments if they both had to be used together?

I wonder if we could lean on StructOpt for this using required_if or required_unless attributes to help ensure they're supplied together?..

Oh totally, I know we can enforce that they be used together, but what would the point be of their being two different arguments if they both had to be used together?

That's a good point. I'm not sure which is better from the user's perspective here, I can see it working both ways. :shrug:
I think I'm personally biased towards separated because I like the idea of radius being a distance of sorts, and coordinates being a location. Maybe it makes it easier to copy/paste coordinates around while leaving radius up to the invocation at hand, but then again I'm not sure how strong a use case that is - I think what you've laid out could accomplish the same.

They're probably both required to supply all the time. The command is
invalid with both parts, but I don't think that means we need to create a
special secondary syntax that glues the parts together under one command.
Lots of CLI tools have dependent arguments where you have to supply all the
dependent parts for any of them to work, and it's an error or suitable
default behavior + warning when they're not supplied (we may not have a
suitable default behavior here).
I could see there being a --from flag that takes a coordinate. So you could
have a --radius X --from C, and separately have a --future --from C,
--history --from C. To a certain extent --radius also then acts like a
limiter modifier on --history & --future which basically tells --radius to
only walk one direction. Really you need a way to say "some spot", that's
the most important thing, and then everything else is a command that
modifies the behavior of what to do relative to that spot.
On Fri, Oct 30, 2020, 08:23 dan pittman<EMAIL_ADDRESS>wrote:

I don't know if Dan captured this anywhere, but we spoke, and radius is
only supposed to be a single number not a compound thing with a coordinate
and a radius. The coordinate should be specified separately in a --coord or
--coordinate or --at or something arg.
Ah I see. Yeah I agree, --radius to me feels like it should be a single
dimension akin to distance, starting from some coordinate.
I haven't circled back to this yet, no. I find the idea of requiring two
switches awkward because it's not clear to me what either would do if used
on their own. If --radius on its own is confusing / surprising, I need to
think a bit more about how better to present it.
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/auxoncorp/modality-probe/pull/293#issuecomment-719617669,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AACKCBL7R5WQF2GSJRHHTZDSNLK5VANCNFSM4TEJPUKA
.

*is invalid without both parts
On Fri, Oct 30, 2020, 11:39 Nathan Aschbacher<EMAIL_ADDRESS>wrote:

They're probably both required to supply all the time. The command is
invalid with both parts, but I don't think that means we need to create a
special secondary syntax that glues the parts together under one command.
Lots of CLI tools have dependent arguments where you have to supply all the
dependent parts for any of them to work, and it's an error or suitable
default behavior + warning when they're not supplied (we may not have a
suitable default behavior here).
I could see there being a --from flag that takes a coordinate. So you
could have a --radius X --from C, and separately have a --future --from C,
--history --from C. To a certain extent --radius also then acts like a
limiter modifier on --history & --future which basically tells --radius to
only walk one direction. Really you need a way to say "some spot", that's
the most important thing, and then everything else is a command that
modifies the behavior of what to do relative to that spot.
On Fri, Oct 30, 2020, 08:23 dan pittman<EMAIL_ADDRESS>wrote:

I don't know if Dan captured this anywhere, but we spoke, and radius is
only supposed to be a single number not a compound thing with a coordinate
and a radius. The coordinate should be specified separately in a --coord or
--coordinate or --at or something arg.
Ah I see. Yeah I agree, --radius to me feels like it should be a single
dimension akin to distance, starting from some coordinate.
I haven't circled back to this yet, no. I find the idea of requiring two
switches awkward because it's not clear to me what either would do if used
on their own. If --radius on its own is confusing / surprising, I need
to think a bit more about how better to present it.
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/auxoncorp/modality-probe/pull/293#issuecomment-719617669,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AACKCBL7R5WQF2GSJRHHTZDSNLK5VANCNFSM4TEJPUKA
.


Get data from grid

I have made a simple grid with editable rows. How can I add a button, which will get data from my grid? (for example, save it in string varibale in JS). Thank you!

You can get data from the grid just reading the data option.
var items = $("#grid").jsGrid("option", "data");

Thank you, it helped a lot) I have one more question - I have row with 2 columns, both with type 'select'. Is it possible to show in column2 items depending on the value of column1? For example, if column1 has value 'A', then I can put in column2 values 'C', 'D'. If column1 has value 'B', then I can put in column2 values 'E','F'. Is it possible?

Please, checkout the following issue https://github.com/tabalinas/jsgrid/issues/106


Assign license to repository

Hi there!
Thank you for taking the time to make a bot that tries to solve the big issue of people posting Otakmori's mistranslations and shitsubs in Discord servers. This is a genuine need that people in some servers utilize, including myself. I tested out the code using the repl.it method in a couple of my servers to find it working. However, I've also been asked by my friends if the bot can be used in servers of larger capacity, such as fanservers, as well as implementing features like basic statistics and a wider blacklist for moderation purposes.
I then used some of the code from this repository to create a new project: https://github.com/Madekuji/AntiBadSubs
However, as a beginner coder, I only found out recently that public GitHub repositories that do not have a custom license like GPL don't get automatically attached a standard open-source GitHub license, unlike YouTube with their Standard YouTube License for example, and that full copyright applies to GitHub code without custom licenses, even if they are public repositories.
I would like to ask if this repository can be assigned an open-source license in order for projects like mine to continue existing and to support other forks or projects based on this repository should they be created by others in the future. I'm also prepared to take down the project I made based on some code from this repository, should you request.
Thank you for your consideration.

My code is mostly boilerplate from the getting started page to be quite honest. I don't know if it deserves a license for its 4-5 original lines of code.
However, adding it requires very little effort so I'll do it now.

Done with https://github.com/Ryu1845/delete_otak/commit/27469c0285f80ff47aa59c932e557e99b368e4c8


Displays unicode escapes when using hex strings

This code:
context 'annoying unicode conversion' do
    Given(:io) { StringIO.new "\x00\x00" }
    When(:read) { io.read 1 }
    Then { read == "\x00\x00" }
  end

Outputs the following:
Then expression failed at [...]
expected: "\x00"
to equal: "\u0000\u0000"
  false    <- read == "\x00\x00"
  "\x00"   <- read

However, it is hard to see the difference between the strings (more so with larger strings of non-nulls) when one is displayed in hex and the other uses unicode escaping. Optimally rspec-given should display both exactly like they are written in the spec (in this case both in hex), like this:
Then expression failed at [...]
expected: "\x00"
to equal: "\x00\x00"
  false    <- read == "\x00\x00"
  "\x00"   <- read

Are you still having this issue? I ran into something similar, and just had to explicitly specify the right encoding (ASCII_8BIT) in my test case. Otherwise they were UTF-8, which is ruby's default encoding. This matches what ruby uses for binary strings, like the return value of Array#pack.
I've found two ways to do this on a string literal:
binary_str = "\x00\x00".b
binary_str = "\x00\x00".force_encoding('ASCII_8BIT')

Hope that helps. You might be able to close this issue.


Explore a fixed location for debug toolbar

I suggest that a consistent location would be more user friendly even when conditional visibility is involved (disappear when not debugging). Could title bar be considered?
Suggestion and reasoning based on:
https://github.com/microsoft/vscode/issues/146091#issuecomment-1087645949
https://github.com/microsoft/vscode/issues/130217
https://github.com/microsoft/vscode/issues/117326
https://github.com/microsoft/vscode/issues/61336

Duplicate of #65865


Window size limited to a maximum of approx. 1024 * 768

On one of my systems the window size of Lagrange 1.2.2 is limited to about 1024 * 768 pixels. I use the 64bit variant on Windows 8.1. The window cannot be enlarged or maximized beyond this size. The behavior already occurred in version 1.2.1 (same "flavor").
I have not tested previous versions. The system is a Panasonic Toughbook CF-19 MK5 (native screen 1024 * 768 with four additional full HD displays on DisplayLink adapters).

This is likely happening because Lagrange is not fully aware of multiple monitors and uses the wrong monitor's size information. The fixes made in #83 should help a lot here.
Does it (mis)behave in the same way with the Custom window frame option enabled and disabled? (Quit and relaunch the app after toggling the option.)

@AndreasSchuette Does v1.3.1 work any better?

@skyjake Unfortunately no change - Lagrange still shows the same behavior.

I am now able to reproduce this. Let's see what's the problem...

Fixed for v1.3.2.

@skyjake: as soon as v1.3.2 has been released, i'll test and report here. Thank You!

Everything works as expected now! Thank You very much!

No problem! Let me know if you notice any other issues with window behavior.

Of course - I do!


Capturing startup logs and writing them to the logger incase end of s…

fixes googleapis/google-cloud-java#9097

We migrated this java-core repository to google-cloud-java/java-core. If this pull request is still valid, would you create a new one in new location?
git clone https://github.com/googleapis/google-cloud-java
cd google-cloud-java
curl https://patch-diff.githubusercontent.com/raw/googleapis/java-core/pull/1039.diff | patch  --strip=1


Split ScalaCompileJavaToolchainIntegrationTest into two parts

So that we don't get long running time alert for this class.

I've triggered the following builds for you. Click here to see all build failures.

PullRequestFeedback build

The merge queue build has started. Click here to see all failures if any.


No longer works?

I've followed readme and here's the result I receive:
$ node index.js
info: wkhtmltopdf is installed and in PATH. 🥳🥳
info: Starting current session...
info: Removing all files in session Files Dir!!!
info: Creating directories in session Files Dir!!!
info: Starting Html Export Subroutine
error: main: Error: Something went wrong! Couldn't get the taskId.

I tried changing the corresponding line for returning the error to throw Error(Something went wrong! Couldn't get the taskId. Result from notion: ${JSON.stringify(res)});
and then I receive this:
...
error: main: Error: Something went wrong! Couldn't get the taskId. Result from notion: {"message":"Something went wrong."}

Seems like something happened with the https://www.notion.so/api/v3/enqueueTask endpoint?
It seems to be private API replicating their Export functionality? So I looked up how it works currently in the browser and the payload looks like this:

So then I changed the notion_api_utils.js source code to make the payload resemble it more:

But then I get following output:

So I look up the files in session_files and I only see tmp/data.zip which is actually a HTML page showing Access denied! error:

Does it seem like they have blocked the endpoint, at least to non-enterprise users?
Well, I checked it again manually, and they didn't. I've managed to download the file myself by repeating all the requests from the Notion tab in Chrome browser.
So perhaps there's something else that has changed, maybe the request to download the file has different authorization or URL or something.
Anyways, here's where my investigation has stopped for now; just informing the others for now.

Thank you @jtomaszewski for sharing it. Earlier they weren't expecting spaceId in /api/v3/enqueueTask, but now they do. Fixing it by providing this additional param.

Idk, for some reasons I'm unable to publish to npm. Shall look at the issue after sometime.

Even after fixing the spaceId thing, it is still not working, The zip file downloading is failing at my end.

Ok. I should've been more thorough. Actually you need to get the file_token from one of the endpoint too. (The merged CR referenced above includes this thing too).
I recently performed a run (using the code in master branch) and it ran fine: (Do note that this is v1.0.4 currently not published to npm. I've reached out the support, and hopefully I should be able to publish this new version very soon). 🤞
subhmx@bcd0741610ce notion-to-ebook % NTEB_pageId='920be5e64bd04f34b3c4450ad3fcc80e' npm run test

><EMAIL_ADDRESS>test
> node lib/tests/index.js

Testing standalone doc generation
info: wkhtmltopdf is installed and in PATH. 🥳🥳
info: Starting current session...
info: Removing all files in session Files Dir!!!
info: Creating directories in session Files Dir!!!
info: Starting Html Export Subroutine
info: spaceId: 5d3a7bc6-4712-43c6-9642-a7717fc757cb
info: Task Id: fa2e203f-f0da-4d42-b132-d9205d33b4ad
info: Current Task status: success
info: Got the S3 download URL
info: Starting file download
info: File download successful
info: Removing all non dot files and folders from /Users/subhmx/Personal/notion-to-ebook/session_files/input
info: Files removal success
info: Starting file extraction
info: File extracted successfully
info: Saving the output file as HTML at tmp location
info: Exporting the HTML To Ebook
info: Saving Ebook at [/Users/subhmx/Personal/notion-to-ebook/session_files/output/standalone/Projects 920be5e64bd04f34b3c4450ad3fcc80e/FormAssist 24b55bd600aa4f048e9431834801137b.pdf]
Loading pages (1/6)
Counting pages (2/6)
Loading TOC (3/6)
Resolving links (4/6)
Loading headers and footers (5/6)
Printing pages (6/6)
Done
info: Ebook Saved Successfully
info: Saving the output file as HTML at tmp location
info: Exporting the HTML To Ebook
info: Saving Ebook at [/Users/subhmx/Personal/notion-to-ebook/session_files/output/standalone/Projects 920be5e64bd04f34b3c4450ad3fcc80e/GitHub Project Bot 61319115f9f9431a8fe2d07496a2ca66.pdf]
Loading pages (1/6)
Counting pages (2/6)
Loading TOC (3/6)
Resolving links (4/6)
Loading headers and footers (5/6)
Printing pages (6/6)
Done
info: Ebook Saved Successfully
info: Saving the output file as HTML at tmp location
info: Exporting the HTML To Ebook
info: Saving Ebook at [/Users/subhmx/Personal/notion-to-ebook/session_files/output/standalone/Projects 920be5e64bd04f34b3c4450ad3fcc80e/RISCV Heritage e72fa8c001c74632995ba936c3bb9761.pdf]
Loading pages (1/6)
Counting pages (2/6)
Loading TOC (3/6)
Resolving links (4/6)
Loading headers and footers (5/6)
Printing pages (6/6)
Done
info: Ebook Saved Successfully
info: Saving the output file as HTML at tmp location
info: Exporting the HTML To Ebook
info: Saving Ebook at [/Users/subhmx/Personal/notion-to-ebook/session_files/output/standalone/Projects 920be5e64bd04f34b3c4450ad3fcc80e/Train Ticketing 28204c1e64ea4f8d89f2ad69b1c5562f.pdf]
Loading pages (1/6)
Counting pages (2/6)
Loading TOC (3/6)
Resolving links (4/6)
Loading headers and footers (5/6)
Printing pages (6/6)
Done
info: Ebook Saved Successfully
info: Saving the output file as HTML at tmp location
info: Exporting the HTML To Ebook
info: Saving Ebook at [/Users/subhmx/Personal/notion-to-ebook/session_files/output/standalone/Projects 920be5e64bd04f34b3c4450ad3fcc80e.pdf]
Loading pages (1/6)
Counting pages (2/6)
Loading TOC (3/6)
Resolving links (4/6)
Loading headers and footers (5/6)
Printing pages (6/6)
Done
info: Ebook Saved Successfully
Testing merged doc generation
info: Current session is already called. Using the previous Notion export
info: Saving the output file as HTML at tmp location
info: Exporting the HTML To Ebook
info: Saving Ebook at [/Users/subhmx/Personal/notion-to-ebook/session_files/output/merged/prime_book.pdf]
Loading pages (1/6)
Counting pages (2/6)
Loading TOC (3/6)
Resolving links (4/6)
Loading headers and footers (5/6)
Printing pages (6/6)
Done
info: Ebook Saved Successfully
info: Operation Successful. Exiting.
subhmx@bcd0741610ce notion-to-ebook %

Published as a new package https://www.npmjs.com/package/notion-easy-export. Idk why I was unable to publish to @subhamX/notion-to-ebook. The NPM support was horrible, and I don't have any more patience to deal with their utterly stupid and delayed response. 😓
Thank you again, @jtomaszewski for initial investigation, and @furqansafdar for following this conversation.


BMW server API rate limit

I have been playing about with this and my new i3 which I got last week.  I prefer PHP rather than python so I went with that, I found the curl documentation here was invaluable in helping me to get things working.  I have written a script that posts any changes in status to a slack channel rather than twitter.
Everything is working happily and I have a cron job running every 5 minutes to grab the status, if the timestamp has changed (or if the status has changed if it's charging) then it posts a new message to slack. yay!

While I was looking at this last night I noticed that the status doesn't change unless something physically is different with the car.. totally makes sense. What doesn't make sense to me from a technical perspective is that while the vehicle is in motion nothing seems to change. After a drive home from work the updatedReason changed to VEHICLE_MOVING and kept the same timestamp until I got home and parked.  I guess the theory behind this is that people aren't going to be using the iRemote on their phones while driving the car.
 I'm not sure that up to the second information is necessary and the implications on servers and mobile data would make that a silly thing to me for the car to be doing.. but there ya go.  perhaps there is some backend tasks going on where the server calculates what the battery % increase should be based on the charging speed etc and so isn't actually talking to the car directly.
What's my point.. oh yes..  based on the fact that I appear to be able to make new requests every second what do people think is a sensible frequency for requests to be made.  I was thinking of going down to 1 every 60 seconds. I'm not sure how easy it would be for BMW to detect/block access for a homemade client.. but I don't want to hammer something and then get myself or everyone blocked..  What does everyone/anyone think?
Also would a PR with the php->slack code be of use to anyone.. would it be better as a separate repo?

I noticed that - updates are only really when parked.

but I don't want to hammer something and then get myself or everyone blocked.. What does everyone/anyone think?

I do it hourly and haven't run into any issues.  BMW will be paying (a small amount) for the mobile data use, so best not to abuse it.

Also would a PR with the php->slack code be of use to anyone.. would it be better as a separate repo?

I'm happy to have it on here - but I won't be offended if you want it under your own control :-)

@thickey256 I'd hack away at a PHP version with you 👍

@nloui This is what I have come up with so far. https://github.com/thickey256/iRemote-PHP

You have to understand how gas/diesel cars typically dealing while turned off:
As you turn off a car it will stay in a semi-active mode for some time - just a few minutes. This is called "Nachlauf" in German engineering and I would translate this to "coastdown" in English. After that the car is shutdown to protect the battery ("Klemme 15").
For electric vehicles this is very different as during charging the car is still active while not driving. Hence, no-driving and non-charging status you should also be careful waking up your car too often.


AdminLTE

Pull Request Test Coverage Report for Build<PHONE_NUMBER>

4 of 4 (100.0%)  changed or added relevant lines in 1 file are covered.
No unchanged relevant lines lost coverage.
Overall coverage remained the same at 100.0%

Totals

Change from base Build<PHONE_NUMBER>:
0.0%

Covered Lines:
42

Relevant Lines:
42

💛  - Coveralls


PATH output not wrapped around for /config

When a request is sent to http://localhost:2525/config
The output in Environment table for PATH variable is no wrapped looks/feels odd.
mb version	1.4.3
Platform/OS : Please check the screenshot

Thanks for reporting the issue. In the end I decided to remove the environment variables from the screen altogether as I'm concerned about leaking sensitive information (e.g. passwords) from machines running mountebank. For instance, if a continuous integration agent is running mountebank, developers could pull up this page to see credentials to write to artifact repositories, etc.


PyPi incorrectly renders RST definition lists

When the README.rst file contains RST definition lists, which requires a space before the colon, like
term : classifier
    Definition

They are rendered by PyPi without the colon and spaces, like termclassifier.

Hi @divenex, thanks for the report. Descriptions on PyPI are rendered by https://github.com/pypa/readme_renderer, which in turn uses hhttps://pypi.org/project/docutils/ to render reStructuredText specifically. If this is a bug, it may be in that library or it may be in one of its subdependencies. I would recommend opening this issue there with a minimal reproducing example instead, as this isn't an issue with PyPI itself.


Feature Request: Customize number of thumbnails per row by setting a minimal row height (by percentage e.g.?)

Portrait oriented images (lots of) tend to accumulate in one row (about six images) opposed to landscape ones (about four)
The stream should have a customizable row height which in turns leads to fewer images per row if set to bigger values.
Especially on my mobile phone you have very small image thumbnails you have to look very closely to recognize.

Currently the fluent algorithm does not care about the image orientation and has only max and min height for a specific width.
As you suggest: The algorithm could be extended that it detects rows with portrait images and use another max and min height. My question is, how many non portrait images are allowed in portrait rows before switching back to the existing algorithm. E.g. allow 1 image, or 20% of width.
What is your suggestion?

I'm not sure I understand the question.
Could It's not so much about the number of images per row but on the overall size of each one. Though setting a bigger MinHeight would lead to fewer images per row automically.
If MinHeight could be 130 % of the current one, it could be a good starting point?

1.9.0 honors image rows with portrait images and uses a higher row height. The higher row height is used if the row has more portrait images than landscape (via image ratio average).
@onyxogen Check demo web gallery and do not hesitate to provide your feedback.
My original assumption for mobile devices was that the view port with is 360px wide. This is not true for modern devices and leads to a smaller presentation of image rows. Further the font unit is px and leads to smaller UI elements.
So while fixing portrait image rows new issues arises. The view port and font issues will to be fixed in future versions to improve the mobile experience.

Closing it due inactivity. Please do not hesitate to reopen it if required.


Switching from jest to vitest causes thousands of act(...) related warnings.

Describe the bug
I'm trying to switch my project with ~400 unit tests from using jest to using vitest.
It did not take much effort to get all my tests passing. But after fixing the tests that broke in the transition I'm now getting thousands of warnings like this:
Warning: An update to InnerLoadable inside a test was not wrapped in act(...).

When testing, code that causes React state updates should be wrapped into act(...):

act(() => {
  /* fire events that update state */
});
/* assert on the output */

This ensures that you're testing the behavior the user would see in the browser. Learn more at https://reactjs.org/link/wrap-tests-with-act
    at InnerLoadable (/Users/marklyck/colony/colony-frontend/node_modules/.pnpm/@loadable+component@5.15.2_react@18.1.0/node_modules/@loadable/component/dist/loadable.cjs.js:182:34)
    at LoadableWithChunkExtractor
    at Loadable

even a simple test like this:
test.only('renders with default deviceType', async () => {
    render(
      <MemoryRouter initialEntries={['/']}>
        <Dashboard />
      </MemoryRouter>
    )

    await screen.findByText('map view')
    const dashboardElement = await screen.findByText(/dashboard/i)
    expect(dashboardElement).toBeInTheDocument()
  })

Generates 128 act related warnings.
The first thing I tried was to put in some:
await act(async () => await waait(100))

Just to see if adding waiting time in-between statements would solve these? In some cases this will fix "some" of the act warnings. But not all of them.
E.g. I had 1 test that produced 18 act warnings and adding an act wait between every single line reduced it to 10 warnings. But there's no where else i could put one.
Next I tried vi.useFakeTimers() and vi.runAllTimers() as well as vi.runAllTicks()
I even tried adding them between every line like this:
test('render <NoActiveSites />, when there are no sites', async () => {
    vi.useFakeTimers()
    await act(async () => {
      await vi.runAllTicks()
      await vi.runAllTimers()
    })

    render(
      <MemoryRouter initialEntries={['/']}>
        <Dashboard />
      </MemoryRouter>
    )

    await act(async () => {
      await vi.runAllTicks()
      await vi.runAllTimers()
    })

    const noSitesMessage = await screen.findByText(
      "You don't have any sites yet"
    )
    await act(async () => {
      await vi.runAllTicks()
      await vi.runAllTimers()
    })
    expect(noSitesMessage).toBeInTheDocument()
    await act(async () => {
      await vi.runAllTicks()
      await vi.runAllTimers()
    })
  })

But the act warnings just won't go away :(
I'm running out of ideas on what to try to fix this. I was really hoping vitest would be "mostly" a drop-in replacement for jest. But there is clearly something here that jest handles gracefully that vitest doesn't have? and adding manual timers don't seem to fix it.
Reproduction
I spent hours trying to make a reproduction on StackBlitz, but so far I have had no luck :(.
I would be happy to share access to the private repo I am working on where this happens to any contributor of vitest to help resolve this, and I would be free to hop on a call and do what I can to help debug.
System Info
System:
    OS: macOS 12.3.1
    CPU: (10) arm64 Apple M1 Max
    Memory: 423.72 MB / 32.00 GB
    Shell: 5.8 - /bin/zsh
  Binaries:
    Node: 18.0.0 - /usr/local/bin/node
    Yarn: 1.22.17 - /usr/local/bin/yarn
    npm: 8.6.0 - /usr/local/bin/npm
  Browsers:
    Brave Browser: <IP_ADDRESS>
    Chrome: 101.0.4951.54
    Firefox: 99.0.1
    Safari: 15.4
  npmPackages:
    @vitejs/plugin-react: ^1.2.0 => 1.3.2
    vite: ^2.8.6 => 2.9.7
    vitest: ^0.10.1 => 0.10.2

Used Package Manager
pnpm
Validations

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

@sheremet-va<EMAIL_ADDRESS>

I will look into this today.

@airjp73 coincidentally this PR: #1256 fixes your reproduction

@MarkLyck can you try Vitest 0.11.0?

@sheremet-va :) After upgrading to 0.12.0 my thousands of act warnings is now down to ~15 or so. 🎉
The ~15 warnings left (that do not happen with jest) are probably fixable, and the CI/CD while it still takes longer than jest for some reason? It no longer times out :)
Thank you! We can finally move forward with switching to vitest now I think.

This issue seems to be fixed in 0.12.0 🎉 Thanks @sheremet-va


Minor changed to wmata_distcalc.py

Added some formatting for the stdout output format

Replaced some print statements with logging.info

Don't have merge access but approved the changes.

Added option to output wmata_distcalc.py results to an alternative file. Added unit test for wmata_distcalc.py


Add support for NodePort in Jaeger Query Service

This PR should allow users to expose Jaeger's Query service as a NodePort at a specific port. Earlier, the Jaeger Operator did not support specifying a port value and would depend on K8s to randomly select an apt port value. This should resolve this blocker.
Resolves #1307

@rubenvp8510 , would you please review this one?

Small comments, overall looks good.


CakePHP 2.x helpers and spanish updating

Are you using it actually and how is it working with unit test in cakephp 2.x ?

This is used on our work to test an CakePHP 2.x application with Codeception.
This helps to configure all the files that are specific for the enviroment where must be runned and leaves all set to use the testing with codeception.
There is no integration for unit testing yet.


[ONNX][FRONTEND] Constantfill - #1539

Please request review.

cc @siju-samuel @nishi-t welcome to review.

Thanks @srkreddy1238 @nishi-t


fix(expr): error message when parsing timestamptz

I hereby agree to the terms of the Singularity Data, Inc. Contributor License Agreement.
What's changed and what's your intention?
The expected format mentioned in error message was wrong.
Checklist

[x] I have written necessary rustdoc comments
[x] I have added necessary unit tests and integration tests
[x] All checks passed in ./risedev check (or alias, ./risedev c)

Refer to a related PR or issue link (optional)
Fixes #6431

 Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you all sign our Contributor License Agreement before we can accept your contribution.1 out of 2 committers have signed the CLA.:white_check_mark: xiangjinwu:x: cyliu0You have signed the CLA already but the status is still pending? Let us recheck it.

note that postgres calls their function timestamptz (I guess tz standing for timezone), not timestampz, seems like we use timestampz in many places.

Yes, I am aware of this inconsistency, and have been using the full name timestamp with time zone for user-facing messages. timestampz is only used in code (and some automatically derived Debug messages).
We may do a renaming across the code repo, but definitely not in this PR.


Extrapolation of boundary values along PE should be done later

This fix should be done after #264 .
One common "trick" or massage to the fieldmap is extending the values at the borders of the mask through the phase encoding axis to create more consistent displacements of information outside the brain.
If this is done before transforming to the warped image, this is what happens:

The stripes of the background are intended, but they should be perfectly horizontal

This is fixed with the current fieldmaps implementation


Remote vs really remote

Being from Australia often has advantages and disadvantages, one question that time again stands out while looking for remote work is "how remote?" — Many U.S companies are not comfortable with someone in a different timezone. It'd be great to add some information like:

Company location(s)
Domestic remote
International remote

Melbourne, Kraków
✅
✅

Good call. Maybe these two columns would be better instead of region on the table? In the company profile, there's a section for "Remote Status" also, which may help: https://github.com/jessicard/remote-jobs/blob/master/company-profiles/example.md#remote-status. What do you think?

Hmm. The questions that I like to cover in my own head to become comfortable with a client/company is:

How experienced at remote are they? What do they have in place to make it work?
Where are they? (Can I see me being able to deal with the timezone(s)?)
Can I travel while I work with this company? Is that likely to be a problem?
How often does the company get everyone together in meatspace?

… Thats all I can think of right now. I think "domestic remote / international remote" goes a long way aside from listing every timezone in the world.

+1 on that, there are many companies that say they're remote (e.g. Stripe) but only hire within US. to me that's not really remote, still restricted to a particular region.
I think it would be good to maybe add these questions to the template (just rephrasing what @benschwarz wrote really):

How long have you been hiring remotely?
What strategies do you use to make remote work? (ensure inclusivity and good communication)

Video chat 1:1s: Yes/No
Text communication channels: e.g. Slack, Hangouts, IRC
Daily Check-ins: Yes/No
Weekly Updates: Yes/No

What cities and timezones are your employees at?
Are remote employees allowed and encouraged to travel?
How often do you organise company-wide get-togethers?

We could add more but that's just what came to my mind immediately and without :coffee:

Wishing I could add a Slack style response to this @thefoxis
A lot of that is ringing even more for me recently after I read Zach Holman's Remote-First vs. Remote-Friendly.
I think with a lot of these different options and needing more clarification, the idea of #Num: #44, and creating a Pages site with ability to filter by different requirements.

These are really good points to bring up, especially about timezones.

Most companies will hire within timezones rather than just regions. I would highly recommend a field for 'accepted timezones'.

In general I agree with the statements above, but ...
In order to make "Remote-friendly companies" more that just a marketing trick I would suggest encouraging companies from the list to show in what way they are friendly for remotes.
IMO it will be extremely hard to do a one-size-fits-all solution for all companies, but if you could create a place where they could link to sites/blog posts/articles describing how they handle remote work. This way you could allow companies (and employees) to speak up, eliminate companies that only pretend and create a really useful database with information on how different companies approach working remotely. This way you could make this "working remotely" movement grow faster and better :rocket:
Personally I wouldn't do it as a checklist - lists suggest that companies that scored better are better that those who scored lower. For instance "Video chat 1:1s" mentioned above is a poor condition to me - we don't do formalized 1:1s at all and I strongly believe that introducing them isn't connected to remote work but rather with work in general.
These I my opinions. Hope they help :)

+1 on @pjazdzewski1990

As I said in my second comment, they're questions that float around my head when talking to people, but I'm sure there is no one size fits all (within the scope of this repo) for describing how a company conducts itself.
@jessicard I think we have consensus that it would be great to cover the 'span of remoteness' — I think domestic / international is a good start, and perhaps a good indicator without getting too far into depth on checklists.  What do you think?

may be assume that all the companies allow a fully remote position and add column where companies can describe restrictions if position is not fully remote

comany name
....
restrictions

xxx
....
US candidates only, Work in the office during first two week

Timezone is usually not the main problem when company is hiring developer from oversea. I have never met clients who is required 100% coverage during company work time. Anyway company can add timezone restriction into restrictions column if they have one. Put something like: "must be available from 8 am to 6 pm EST".

+1

I'm closing this issue as I believe this issue is covered with the way the readme lists the region.
I know it doesn't a lot of what @thefoxis suggested but without having an employee of each company detail these, it is difficult to answer.
If your company has remote DNA, please do submit a company-profile, or edit your own with more details under "remote status" (I'm toying with adding a "other info" section to the template)


Updating Regression Tests and Examples

The MPI issues keep failing out after repos are forked and we need to do better about testing all functionality. The specific tests we need to add:

[ ] Parallel regression test
[ ] Numba regression test
[ ] MPI & Numba Regression tests
[ ] Updating examples to have current functionality
I think as a stop gap measure we can write a number of SLURM or LSF batch scripts for Lassen or Quartz to at least somewhat optimize the process tho let me know what yall think.

Effort to address this: #131

I think we should retool the tests to not be so long. I will tackle this!

Also, note that now we do mpi test with mpiexec=2 and mpiexec=4. We can just do one of them.

Ya I think a github action only gives us 2 CPU cores anyways.

Dang. 4 would be ideal for DD tests.

We can still launch 4 threads in that case they just wont be at all performant


Warning about Project_card_events API

I get a lot of the following messages:

WARNING: The preview version of the Project_card_events API is not yet suitable for production use.
You can avoid this message by supplying an appropriate media type in the 'Accept' request
header.

It sounds like it will resolve itself in time, but at the minute it's spamming the terminal.

The warning is generated by Octokit module ,we can avoid it by adding accept option for relevant requests(issue_events in this case). I submitted a fix PR, which is now pending on maintainer's review.

Oh, thank you very much, @digglife ! Much appreciated!

ps.
BTW, I would like to support from Tidelift this project. (about 50$/month) - I would be glad to send this money for to supporters.
If you would like to help with resolving issues and PR - please send me message, we can discuss this option.


Add example-dags as setup package for astro reg

Cool! How do we test this? (Asking so I know what to do when making changes here...)
@arielshaqed
https://github.com/treeverse/airflow-provider-lakeFS/pull/9/checks
Building the latest version of the package, starting astro env with that package, running and setup lakeFS server, executing the example DAG, asserting results on lakeFS server.


fix(ci): test

:tada: This PR is included in version 3.2.10-rc.1 :tada:
The release is available on:

v3.2.10-rc.1
GitHub release

Your semantic-release bot :package::rocket:

:tada: This PR is included in version 3.2.10 :tada:
The release is available on:

v3.2.10
GitHub release

Your semantic-release bot :package::rocket:


Issue 235 skosdefinition and skosexample for consumption related classes

merged with main via an intermediate branch : merge-skos-lab-desc


Error when adding repo: hass-sunpower is not a valid add-on repository

Has something changed recently that makes this integration not valid?  I get the below errors when trying to add it as an add-on repository:

https://github.com/krbaker/hass-sunpower is not a valid add-on repository

I'm using HAOS, core version 2024.4.3

I'm a noob to HACS, and was trying to add this the wrong way.  Here is what I found that got me going in the right direction https://community.home-assistant.io/t/openplantbook-is-not-a-valid-add-on-repository/624134


vue SFC type check was broken on tsx

Version
2.7.0-2.7.7
Reproduction link
github.com
Steps to reproduce
yarn serve
What is expected?
no error
What is actually happening?
throw error

<EMAIL_ADDRESS>&<EMAIL_ADDRESS>was not correct match
related to https://github.com/TypeStrong/fork-ts-checker-webpack-plugin/issues/765
https://github.com/TypeStrong/fork-ts-checker-webpack-plugin/blob/main/src/typescript/extension/vue/type-script-vue-extension.ts#L28
fork-ts-check-plugin use compiler.parseComponent to check whether it is a vue2 version
  function isVueTemplateCompilerV2(
    compiler: VueTemplateCompilerV2 | VueTemplateCompilerV3
  ): compiler is VueTemplateCompilerV2 {
    return typeof (compiler as VueTemplateCompilerV2).parseComponent === 'function';
  }

https://github.com/vuejs/vue/blame/fc16281cf5bd1506e8cfe62eee1ef02dac82bad5/packages/compiler-sfc/src/parse.ts#L33

Perhaps the package compiler-sfc should return version?

I'd say this is fork-ts-checker relying on unsafe heuristics here and should be fixed / improved. It should already be able to safely check the @vue/compiler-sfc version by loading the relevant package.json.


CSCU9A5 Autumn 2022: Assignment

Student Number: 2923303

Additional Comment: Branch was named Assignment, rather than Java 11, as Java 11 was the branch name used for working on the practicals.


Remove ruby 2.0 from travis build matrix

The latest version of Devise requires ruby >= 2.1.
This change removes 2.0 from the test matrix and adds 2.3.

Without this change no other PRs will be green on travis because master is currently broken.

Looks good to me.


feat: enable merging .env (no-clobber mode)

Details
In general it is desirable to exercise the following heirachy:
CLI_ARGS > ENV_ARGS > FILE_ARGS

This change makes this possible via Solenv.config(false) which will not overwrite pre-existing environment variables.
Closes #3

Thanks a lot for this great PR @OliverNChalk! Apologies for the delay in getting around to it. I figured Foundry's own dotenv loading would obviate the need for this repo but it seems they still have some issues. I've upstreamed your changes in #7 after resolving conflicts.


CWA shall not indicate how long it has been installed or active to make discrimination in physical access control situations impossible

Current Implementation
Both apps (iOS and Android) display a number of days how long tracing is (according to the internal knowledge of the app) already active (for example "13 of 14 days").
Suggested Enhancement
I suggest to drop this information completely.
Expected Benefits
I consider this feature not only as problematic regarding its implementation (see bugs regarding "13 of 14" or "15 of 14"), but also from an ethical perspective.
Although politics made clear that the CWA shall never be used as a kind of "Access Control Mechanism" to locations/events, as there is no law so far, it cannot be prevented.
If it then happens, this type of information might be used as a further discriminating factor ("You are not using the CWA for long enough").
None of the other COVID-19 apps I know (Imnuni, SwissCovid) have such information and just indicate "Tracing on / Tracing off".

Internal Tracking Id: EXPOSUREAPP-2078
Related tickets:
EXPOSUREAPP-5170 Android Planned fix 1.15
EXPOSUREAPP-5270 iOS Planned fix 1.15
EXPOSUREAPP-4524  Android 1.15

Hello,
I want to add to this issue. Many of my friends and family ask me about the 14 out of 14 days active that are displayed. Some expected that the counter would go further ( 15/14, 16/14, etc) up or were unsure if the app is still working. This seems not the be a uncommon thing, as I ask a couple of users (  n > 50 ) for feedback.

In https://github.com/corona-warn-app/cwa-app-ios/issues/853#issuecomment-653886108 I found a statement that this feature is explicitly requested by RKI:

Unfortunately, the RKI insists on this feature so we cannot remove it.

So my concerns regarding this feature in general would need to be considered at this level.

If so, we need to adjust the phrase. 5/14 til measurements are meaningful/significant would be one idea. This is really dropping the adoption rate!

Dear @jkrwdf,
thank you very much for your proposal.
To give the community a space for discussing new feature ideas or enhancements that might not be taken up immediately by the development teams, we created the cwa-wishlist repository.
This idea is one of these feature ideas or enhancements. Consequently, we will move this issue to this repository and allow the community and you to further refine it, discuss pros and cons, and evaluate alternatives.
The issue will not be closed in this repository to ensure long-term visibility. All issues in the cwa-wishlist repository will be discussed with our contracting entities.  As soon as we have any updates, we will let you know about the details.
Best regards,
SD
Corona-Warn-App Open Source Team

Hello @jkrwdf,
this has been implemented!
thanks,
LMM
Corona-Warn-App Open Source Team

@GPclips

this has been implemented!

Nice, thanks for the update! 🙂
For which CWA version is this change currently targeted?

Hello community,
since this seems to still occur, I will reopen this issue and check with the development team.
Thanks,
LMM
Corona-Warn-App Open Source Team

@GPclips but it is planed to drop the number of the active days, isn‘t it?

There are lots of issues which concern this display of "active days", imho it would make sense to just drop it and be done with it (other ENF apps also don't have this): https://github.com/corona-warn-app/cwa-wishlist/issues/102
Feel free to upvote 🙂.

And update if this now got implemented or not or if its planed to drop the number?

Over at https://github.com/corona-warn-app/cwa-app-ios/issues/1379#issuecomment-780604194 @dsarkar writes:

There are currently internal discussions on how to change the information of active days on the card: It might be dropped and/or replaced by another message (e.g. days since installation). There are several reasons to do so, just to mention some:

This issue here e.g.: can't be fixed by dev team, since this is an Apple issue how backups are handled

We have also the issue being stucked at 13/14 days on some iOS devices

How shall period of times with BT off, phone off, wifi/data off be handled ?

Android phones e.g. it is apparently not trivial to figure out BT off time.

the grey card actually was dropped in the meantime.

So altogether, with all these issues it is actually not very clear, what " n/14 active days" means exactly and there are (too) many ways how one could possibly define and interpret this number, leading amongst some users apparently more to confusion than adding additional useful information. So, we might expect to see some changes here anyway in one of the future releases.

@daimpi
The true measurement of how long exposure logging has been active can only be accurately assessed by the Exposure Notifications Framework / System. That would mean a change to the API if Google / Apple decided to enhance the functionality to include this information. It's the ENF/ENS which knows how many 5 minute intervals it has been actively sending out Bluetooth beacons and it could count these intervals and store them for the previous 14 days.
I agree anyway that the current display is often inaccurate!

Related tickets:
EXPOSUREAPP-5170 Android Planned fix 1.15
EXPOSUREAPP-5270 iOS Planned fix 1.15

@dsarkar
Could you let us know how they'll fix this? Will they drop the number of active days or try to make the count more reliable?

@Ein-Tim Will come back to you with more info hopefully soon.

@Ein-Tim here is your answer! https://github.com/corona-warn-app/cwa-app-android/pull/2464/files#diff-9405ea10e9e63f43bbd5b890ed759629f402c1933fbd70a38d55ca2f07f85e1b ;-)

@dsarkar
Thank you! (:

@Ein-Tim This will actually solve several issues as mentioned before (BT off, phone off, wifi/data off, stuck at 13/14, ...)

iOS PR: https://github.com/corona-warn-app/cwa-app-ios/pull/2133

This has been introduced with version 1.15.1, which has been released to GitHub and will be available to all users in the next 24h.
Instead of the active days, the app shows since when it is installed, but only in the first 14 days. Afterwards, the app doesn't show any active days/days since installation at all.
Blog post: https://www.coronawarn.app/en/blog/2021-03-24-corona-warn-app-version-1-15/

This change successfully addresses the technical issues around the attempt to "count the days where tracing worked".
It does not address the situation I described initially. Denial of physical access to a venue because of too little use of the CWA is independent of whether the App shows "Active for 3 days" or "Installed 21. March 2021" (with current day 24. March 2021).

@jkrwdf So you would like to suggest to drop "Numbers of days installed" completely? If that is the case, please, adjust the title and then I will create a new internal ticket for your request. Thanks, DS

Corona-Warn-App Open Source Team

As suggested, I updated the title from
Drop display of "Number of Active Days" completely
to
CWA shall not indicate how long it has been installed or active to make discrimination in physical access control situations impossible
to sharpen the core idea of this issue.


Having trouble installing amuse-framework through Anaconda

I am an undergraduate student and I have been trying to install amuse through anaconda (inside an environment). However, I have been trouble installing amuse-framework.
Here is the command that I would usually put in:
$ conda create -n amuse python==3.8 openmpi openmpi-mpicc openmpi-mpicxx openmpi-mpifort libgcc gfortran hdf5 FFTW GSL CMake GMP MPFR mpi4py
which preinstall all the prerequisite python packages as well as the compilers along with the environment. Then I would type
$conda activate amuse
$pip install amuse-framework
But then the wheel-building process for amuse-framework will exit with an error:
amuse-framework error.pdf
Two things I noticed is that 1). the C compiler is not working, even though I have openmpi-mpicc installed; also, it seems like my computer would automatically go to distutils instead of setuptools as default. I did not do anything to the root/base, so is there any way that I can set setuptools as default? Or is there something else that I need to do in order for the computer to access setuptools first?
Thank you in advance

Conda and AMUSE is not a happy combination...
The main problem I notice is that in the compiler used here is clang, which we don't support for AMUSE (you need gcc).
There have been some (partially successful) attempts at installing AMUSE with (ana)conda (you can search for them here), but I don't have a test environment for this myself unfortunately so I can't provide clear instructions.
On macOS, we highly recommend installing AMUSE using macports to install prerequisites instead of anaconda. Homebrew will also work.

(see issues #235 and #525)

Thank you very much for the information! I didn't know clang could be a problem here. I shall give macport a try then and see if it works.

I used macport (along with openmpi) and still had trouble downloading amuse-framework. It is saying that my python interpreter is too old even though the version is >=3.5 (it is python 3.9.13).
Macport installation error.pdf
It also still has the setuptools/distutils error. How would I resolve that issue?

continued in #907, closing.


img Tag added #3

@ankushgarg1998 Thank you for your contribution.
Before merging it add css to it bcoz we want to create a repo from which we could directly use these patches whenever we are developing some website. Simple image tag could be inserted directly. Add some effects for this image. You can easily find them on net :+1:


Sprite Support for Thumb Preview Srubber

This feature is more of a frontend feature, but vimeo does not provide sprites in their api. One approach could be ffmpeg integration and use the sd version serverside to generate these sprites.
Original vimeo sprite
https://i.vimeocdn.com/1502525522-0x4fd8bca5597706787bdaa335478fb3ffc8547e4f/sprite/229050224/120?q=48&h=126&ver=1&w=224&n=4
Screenshot Scrubber Thumb

@StefanEndress that would be useful indeed but I would rather do that as separate plugin or service. Mainly because it would require to install and configure ffmpeg.


error executing az dls fs download ... (I'm MSFT, contact me for more info)

https://github.com/azure/azure-cli/issues/new?body=
%23%23%23+**This+is+autogenerated.+Please+review+and+update+as+needed.**

%23%23+Describe+the+bug

**Command+Name**
`az+dls+fs+download`

**Errors%3A**
```
The+command+failed+with+an+unexpected+error.+Here+is+the+traceback%3A
One+more+more+exceptions+occured+during+transfer%2C+resulting+in+an+incomplete+transfer.

+List+of+exceptions+and+errors%3A
+local%2Fprojects%2Fmt%2FScratch%2Fhihoan%2Fsidestream.en.2+->+.%2Fsidestream.en.2%2C+chunk+.%2Fsidestream.en.2+433254825984%3A+errored%2C+RuntimeError('Max+number+of+ADL+retries+exceeded%3A+exception+AuthenticationError("Can\'t+find+token+from+MSAL+cache.")')
local%2Fprojects%2Fmt%2FScratch%2Fhihoan%2Fsidestream.en.2+->+.%2Fsidestream.en.2%2C+chunk+.%2Fsidestream.en.2+433523261440%3A+errored%2C+RuntimeError('Max+number+of+ADL+retries+exceeded%3A+exception+AuthenticationError("Can\'t+find+token+from+MSAL+cache.")')
local%2Fprojects%2Fmt%2FScratch%2Fhihoan%2Fsidestream.en.2+->+.%2Fsidestream.en.2%2C+chunk+.%2Fsidestream.en.2+433791696896%3A+errored%2C+RuntimeError('Max+number+of+ADL+retries+exceeded%3A+exception+AuthenticationError("Can\'t+find+token+from+MSAL+cache.")')
local%2Fprojects%2Fmt%2FScratch%2Fhihoan%2Fsidestream.en.2+->+.%2Fsidestream.en.2%2C+chunk+.%2Fsidestream.en.2+434060132352%3A+errored%2C+RuntimeError('Max+number+of+ADL+retries+exceeded%3A+exception+AuthenticationError("Can\'t+find+token+from+MSAL+cache.")')
local%2Fprojects%2Fmt%2FScratch%2Fhihoan%2Fsidestream.en.2+->+.%2Fsidestream.en.2%2C+chunk+.%2Fsidestream.en.2+434328567808%3A+errored%2C+RuntimeError('Max+number+of+ADL+retries+exceeded%3A+exception+AuthenticationError("Can\'t+find+token+from+MSAL+cache.")')
local%2Fprojects%2Fmt%2FScratch%2Fhihoan%2Fsidestream.en.2+->+.%2Fsidestream.en.2%2C+chunk+.%2Fsidestream.en.2+434597003264%3A+errored%2C+RuntimeError('Max+number+of+ADL+retries+exceeded%3A+exception+AuthenticationError("Can\'t+find+token+from+MSAL+cache.")')
local%2Fprojects%2Fmt%2FScratch%2Fhihoan%2Fsidestream.en.2+->+.%2Fsidestream.en.2%2C+chunk+.%2Fsidestream.en.2+434865438720%3A+errored%2C+RuntimeError('Max+number+of+ADL+retries+exceeded%3A+exception+AuthenticationError("Can\'t+find+token+from+MSAL+cache.")')
local%2Fprojects%2Fmt%2FScratch%2Fhihoan%2Fsidestream.en.2+->+.%2Fsidestream.en.2%2C+chunk+.%2Fsidestream.en.2+435133874176%3A+errored%2C+RuntimeError('Max+number+of+ADL+retries+exceeded%3A+exception+AuthenticationError("Can\'t+find+token+from+MSAL+cache.")')
local%2Fprojects%2Fmt%2FScratch%2Fhihoan%2Fsidestream.en.2+->+.%2Fsidestream.en.2%2C+chunk+.%2Fsidestream.en.2+435402309632%3A+errored%2C+RuntimeError('Max+number+of+ADL+retries+exceeded%3A+exception+AuthenticationError("Can\'t+find+token+from+MSAL+cache.")')
local%2Fprojects%2Fmt%2FScratch%2Fhihoan%2Fsidestream.en.2+->+.%2Fsidestream.en.2%2C+chunk+.%2Fsidestream.en.2+435670745088%3A+errored%2C+RuntimeError('Max+number+of+ADL+retries+exceeded%3A+exception+AuthenticationError("Can\'t+find+token+from+MSAL+cache.")')
local%2Fprojects%2Fmt%2FScratch%2Fhihoan%2Fsidestream.en.2+->+.%2Fsidestream.en.2%2C+chunk+.%2Fsidestream.en.2+436207616000%3A+errored%2C+RuntimeError('Max+number+of+ADL+retries+exceeded%3A+exception+AuthenticationError("Can\'t+find+token+from+MSAL+cache.")')
local%2Fprojects%2Fmt%2FScratch%2Fhihoan%2Fsidestream.en.2+->+.%2Fsidestream.en.2%2C+chunk+.%2Fsidestream.en.2+436476051456%3A+errored%2C+RuntimeError('Max+number+of+ADL+retries+exceeded%3A+exception+AuthenticationError("Can\'t+find+token+from+MSAL+cache.")')
local%2Fprojects%2Fmt%2FScratch%2Fhihoan%2Fsidestream.en.2+->+.%2Fsidestream.en.2%2C+chunk+.%2Fsidestream.en.2+436744486912%3A+errored%2C+RuntimeError('Max+number+of+ADL+retries+exceeded%3A+exception+AuthenticationError("Can\'t+find+token+from+MSAL+cache.")')
local%2Fprojects%2Fmt%2FScratch%2Fhihoan%2Fsidestream.en.2+->+.%2Fsidestream.en.2%2C+chunk+.%2Fsidestream.en.2+437012922368%3A+errored%2C+RuntimeError('Max+number+of+ADL+retries+exceeded%3A+exception+AuthenticationError("Can\'t+find+token+from+MSAL+cache.")')
local%2Fprojects%2Fmt%2FScratch%2Fhihoan%2Fsidestream.en.2+->+.%2Fsidestream.en.2%2C+chunk+.%2Fsidestream.en.2+437281357824%3A+errored%2C+RuntimeError('Max+number+of+ADL+retries+exceeded%3A+exception+AuthenticationError("Can\'t+find+token+from+MSAL+cache.")')
local%2Fprojects%2Fmt%2FScratch%2Fhihoan%2Fsidestream.en.2+->+.%2Fsidestream.en.2%2C+chunk+.%2Fsidestream.en.2+437549793280%3A+errored%2C+RuntimeError('Max+number+of+ADL+retries+exceeded%3A+exception+AuthenticationError("Can\'t+find+token+from+MSAL+cache.")')
local%2Fprojects%2Fmt%2FScratch%2Fhihoan%2Fsidestream.en.2+->+.%2Fsidestream.en.2%2C+chunk+.%2Fsidestream.en.2+437818228736%3A+errored%2C+RuntimeError('Max+number+of+ADL+retries+exceeded%3A+exception+AuthenticationError("Can\'t+find+token+from+MSAL+cache.")')
local%2Fprojects%2Fmt%2FScratch%2Fhihoan%2Fsidestream.en.2+->+.%2Fsidestream.en.2%2C+chunk+.%2Fsidestream.en.2+438086664192%3A+errored%2C+RuntimeError('Max+number+of+ADL+retries+exceeded%3A+exception+AuthenticationError("Can\'t+find+token+from+MSAL+cache.")')
local%2Fprojects%2Fmt%2FScratch%2Fhihoan%2Fsidestream.en.2+->+.%2Fsidestream.en.2%2C+chunk+.%2Fsidestream.en.2+438355099648%3A+errored%2C+RuntimeError('Max+number+of+ADL+retries+exceeded%3A+exception+AuthenticationError("Can\'t+find+token+from+MSAL+cache.")')
local%2Fprojects%2Fmt%2FScratch%2Fhihoan%2Fsidestream.en.2+->+.%2Fsidestream.en.2%2C+chunk+.%2Fsidestream.en.2+438891970560%3A+errored%2C+RuntimeError('Max+number+of+ADL+retries+exceeded%3A+exception+AuthenticationError("Can\'t+find+token+from+MSAL+cache.")')
local%2Fprojects%2Fmt%2FScratch%2Fhihoan%2Fsidestream.en.2+->+.%2Fsidestream.en.2%2C+chunk+.%2Fsidestream.en.2+439160406016%3A+errored%2C+RuntimeError('Max+number+of+ADL+retries+exceeded%3A+exception+AuthenticationError("Can\'t+find+token+from+MSAL+cache.")')
local%2Fprojects%2Fmt%2FScratch%2Fhihoan%2Fsidestream.en.2+->+.%2Fsidestream.en.2%2C+chunk+.%2Fsidestream.en.2+439428841472%3A+errored%2C+RuntimeError('Max+number+of+ADL+retries+exceeded%3A+exception+AuthenticationError("Can\'t+find+token+from+MSAL+cache.")')
local%2Fprojects%2Fmt%2FScratch%2Fhihoan%2Fsidestream.en.2+->+.%2Fsidestream.en.2%2C+chunk+.%2Fsidestream.en.2+439697276928%3A+errored%2C+RuntimeError('Max+number+of+ADL+retries+exceeded%3A+exception+AuthenticationError("Can\'t+find+token+from+MSAL+cache.")')
local%2Fprojects%2Fmt%2FScratch%2Fhihoan%2Fsidestream.en.2+->+.%2Fsidestream.en.2%2C+chunk+.%2Fsidestream.en.2+439965712384%3A+errored%2C+RuntimeError('Max+number+of+ADL+retries+exceeded%3A+exception+AuthenticationError("Can\'t+find+token+from+MSAL+cache.")')
local%2Fprojects%2Fmt%2FScratch%2Fhihoan%2Fsidestream.en.2+->+.%2Fsidestream.en.2%2C+chunk+.%2Fsidestream.en.2+440234147840%3A+errored%2C+RuntimeError('Max+number+of+ADL+retries+exceeded%3A+exception+AuthenticationError("Can\'t+find+token+from+MSAL+cache.")')
local%2Fprojects%2Fmt%2FScratch%2Fhihoan%2Fsidestream.en.2+->+.%2Fsidestream.en.2%2C+chunk+.%2Fsidestream.en.2+440502583296%3A+errored%2C+RuntimeError('Max+number+of+ADL+retries+exceeded%3A+exception+AuthenticationError("Can\'t+find+token+from+MSAL+cache.")')
local%2Fprojects%2Fmt%2FScratch%2Fhihoan%2Fsidestream.en.2+->+.%2Fsidestream.en.2%2C+chunk+.%2Fsidestream.en.2+440771018752%3A+errored%2C+RuntimeError('Max+number+of+ADL+retries+exceeded%3A+exception+AuthenticationError("Can\'t+find+token+from+MSAL+cache.")')
local%2Fprojects%2Fmt%2FScratch%2Fhihoan%2Fsidestream.en.2+->+.%2Fsidestream.en.2%2C+chunk+.%2Fsidestream.en.2+441039454208%3A+errored%2C+RuntimeError('Max+number+of+ADL+retries+exceeded%3A+exception+AuthenticationError("Can\'t+find+token+from+MSAL+cache.")')
local%2Fprojects%2Fmt%2FScratch%2Fhihoan%2Fsidestream.en.2+->+.%2Fsidestream.en.2%2C+chunk+.%2Fsidestream.en.2+441307889664%3A+errored%2C+RuntimeError('Max+number+of+ADL+retries+exceeded%3A+exception+AuthenticationError("Can\'t+find+token+from+MSAL+cache.")')
local%2Fprojects%2Fmt%2FScratch%2Fhihoan%2Fsidestream.en.2+->+.%2Fsidestream.en.2%2C+chunk+.%2Fsidestream.en.2+441576325120%3A+errored%2C+RuntimeError('Max+number+of+ADL+retries+exceeded%3A+exception+AuthenticationError("Can\'t+find+token+from+MSAL+cache.")')
local%2Fprojects%2Fmt%2FScratch%2Fhihoan%2Fsidestream.en.2+->+.%2Fsidestream.en.2%2C+chunk+.%2Fsidestream.en.2+441844760576%3A+errored%2C+RuntimeError('Max+number+of+ADL+retries+exceeded%3A+exception+AuthenticationError("Can\'t+find+token+from+MSAL+cache.")')
local%2Fprojects%2Fmt%2FScratch%2Fhihoan%2Fsidestream.en.2+->+.%2Fsidestream.en.2%2C+chunk+.%2Fsidestream.en.2+442113196032%3A+errored%2C+RuntimeError('Max+number+of+ADL+retries+exceeded%3A+exception+AuthenticationError("Can\'t+find+token+from+MSAL+cache.")')
local%2Fprojects%2Fmt%2FScratch%2Fhihoan%2Fsidestream.en.2+->+.%2Fsidestream.en.2%2C+chunk+.%2Fsidestream.en.2+442381631488%3A+errored%2C+RuntimeError('Max+number+of+ADL+retries+exceeded%3A+exception+AuthenticationError("Can\'t+find+token+from+MSAL+cache.")')
local%2Fprojects%2Fmt%2FScratch%2Fhihoan%2Fsidestream.en.2+->+.%2Fsidestream.en.2%2C+chunk+.%2Fsidestream.en.2+442650066944%3A+errored%2C+RuntimeError('Max+number+of+ADL+retries+exceeded%3A+exception+AuthenticationError("Can\'t+find+token+from+MSAL+cache.")')
local%2Fprojects%2Fmt%2FScratch%2Fhihoan%2Fsidestream.en.2+->+.%2Fsidestream.en.2%2C+chunk+.%2Fsidestream.en.2+442918502400%3A+errored%2C+RuntimeError('Max+number+of+ADL+retries+exceeded%3A+exception+AuthenticationError("Can\'t+find+token+from+MSAL+cache.")')
local%2Fprojects%2Fmt%2FScratch%2Fhihoan%2Fsidestream.en.2+->+.%2Fsidestream.en.2%2C+chunk+.%2Fsidestream.en.2+443186937856%3A+errored%2C+RuntimeError('Max+number+of+ADL+retries+exceeded%3A+exception+AuthenticationError("Can\'t+find+token+from+MSAL+cache.")')
local%2Fprojects%2Fmt%2FScratch%2Fhihoan%2Fsidestream.en.2+->+.%2Fsidestream.en.2%2C+chunk+.%2Fsidestream.en.2+443455373312%3A+errored%2C+RuntimeError('Max+number+of+ADL+retries+exceeded%3A+exception+AuthenticationError("Can\'t+find+token+from+MSAL+cache.")')
local%2Fprojects%2Fmt%2FScratch%2Fhihoan%2Fsidestream.en.2+->+.%2Fsidestream.en.2%2C+chunk+.%2Fsidestream.en.2+443723808768%3A+errored%2C+RuntimeError('Max+number+of+ADL+retries+exceeded%3A+exception+AuthenticationError("Can\'t+find+token+from+MSAL+cache.")')
Traceback+(most+recent+call+last)%3A
++File+"%2Fopt%2Faz%2Flib%2Fpython3.8%2Fsite-packages%2Fknack%2Fcli.py"%2C+line+231%2C+in+invoke
++++cmd_result+%3D+self.invocation.execute(args)
++File+"%2Fopt%2Faz%2Flib%2Fpython3.8%2Fsite-packages%2Fazure%2Fcli%2Fcore%2Fcommands%2F__init__.py"%2C+line+658%2C+in+execute
++++raise+ex
++File+"%2Fopt%2Faz%2Flib%2Fpython3.8%2Fsite-packages%2Fazure%2Fcli%2Fcore%2Fcommands%2F__init__.py"%2C+line+721%2C+in+_run_jobs_serially
++++results.append(self._run_job(expanded_arg%2C+cmd_copy))
++File+"%2Fopt%2Faz%2Flib%2Fpython3.8%2Fsite-packages%2Fazure%2Fcli%2Fcore%2Fcommands%2F__init__.py"%2C+line+692%2C+in+_run_job
++++result+%3D+cmd_copy(params)
++File+"%2Fopt%2Faz%2Flib%2Fpython3.8%2Fsite-packages%2Fazure%2Fcli%2Fcore%2Fcommands%2F__init__.py"%2C+line+328%2C+in+__call__
++++return+self.handler(*args%2C+**kwargs)
++File+"%2Fopt%2Faz%2Flib%2Fpython3.8%2Fsite-packages%2Fazure%2Fcli%2Fcore%2Fcommands%2Fcommand_operation.py"%2C+line+121%2C+in+handler
++++return+op(**command_args)
++File+"%2Fopt%2Faz%2Flib%2Fpython3.8%2Fsite-packages%2Fazure%2Fcli%2Fcommand_modules%2Fdls%2Fcustom.py"%2C+line+200%2C+in+download_from_adls
++++ADLDownloader(
++File+"%2Fopt%2Faz%2Flib%2Fpython3.8%2Fsite-packages%2Fazure%2Fdatalake%2Fstore%2Fmultithread.py"%2C+line+151%2C+in+__init__
++++self.run()
++File+"%2Fopt%2Faz%2Flib%2Fpython3.8%2Fsite-packages%2Fazure%2Fdatalake%2Fstore%2Fmultithread.py"%2C+line+283%2C+in+run
++++self.client.run(nthreads%2C+monitor%2C+before_start%3Dtouch)
++File+"%2Fopt%2Faz%2Flib%2Fpython3.8%2Fsite-packages%2Fazure%2Fdatalake%2Fstore%2Ftransfer.py"%2C+line+525%2C+in+run
++++raise+DatalakeIncompleteTransferException('One+more+more+exceptions+occured+during+transfer%2C+resulting+in+an+incomplete+transfer.+\n\n+List+of+exceptions+and+errors%3A\n+{}'.format('\n'.join(error_list)))
azure.datalake.store.exceptions.DatalakeIncompleteTransferException%3A+One+more+more+exceptions+occured+during+transfer%2C+resulting+in+an+incomplete+transfer.+

+List+of+exceptions+and+errors%3A
+local%2Fprojects%2Fmt%2FScratch%2Fhihoan%2Fsidestream.en.2+->+.%2Fsidestream.en.2%2C+chunk+.%2Fsidestream.en.2+433254825984%3A+errored%2C+RuntimeError('Max+number+of+ADL+retries+exceeded%3A+exception+AuthenticationError("Can\'t+find+token+from+MSAL+cache.")')
local%2Fprojects%2Fmt%2FScratch%2Fhihoan%2Fsidestream.en.2+->+.%2Fsidestream.en.2%2C+chunk+.%2Fsidestream.en.2+433523261440%3A+errored%2C+RuntimeError('Max+number+of+ADL+retries+exceeded%3A+exception+AuthenticationError("Can\'t+find+token+from+MSAL+cache.")')
local%2Fprojects%2Fmt%2FScratch%2Fhihoan%2Fsidestream.en.2+->+.%2Fsidestream.en.2%2C+chunk+.%2Fsidestream.en.2+433791696896%3A+errored%2C+RuntimeError('Max+number+of+ADL+retries+exceeded%3A+exception+AuthenticationError("Can\'t+find+token+from+MSAL+cache.")')
local%2Fprojects%2Fmt%2FScratch%2Fhihoan%2Fsidestream.en.2+->+.%2Fsidestream.en.2%2C+chunk+.%2Fsidestream.en.2+434060132352%3A+errored%2C+RuntimeError('Max+number+of+ADL+retries+exceeded%3A+exception+AuthenticationError("Can\'t+find+token+from+MSAL+cache.")')
local%2Fprojects%2Fmt%2FScratch%2Fhihoan%2Fsidestream.en.2+->+.%2Fsidestream.en.2%2C+chunk+.%2Fsidestream.en.2+434328567808%3A+errored%2C+RuntimeError('Max+number+of+ADL+retries+exceeded%3A+exception+AuthenticationError("Can\'t+find+token+from+MSAL+cache.")')
local%2Fprojects%2Fmt%2FScratch%2Fhihoan%2Fsidestream.en.2+->+.%2Fsidestream.en.2%2C+chunk+.%2Fsidestream.en.2+434597003264%3A+errored%2C+RuntimeError('Max+number+of+ADL+retries+exceeded%3A+exception+AuthenticationError("Can\'t+find+token+from+MSAL+cache.")')
local%2Fprojects%2Fmt%2FScratch%2Fhihoan%2Fsidestream.en.2+->+.%2Fsidestream.en.2%2C+chunk+.%2Fsidestream.en.2+434865438720%3A+errored%2C+RuntimeError('Max+number+of+ADL+retries+exceeded%3A+exception+AuthenticationError("Can\'t+find+token+from+MSAL+cache.")')
local%2Fprojects%2Fmt%2FScratch%2Fhihoan%2Fsidestream.en.2+->+.%2Fsidestream.en.2%2C+chunk+.%2Fsidestream.en.2+435133874176%3A+errored%2C+RuntimeError('Max+number+of+ADL+retries+exceeded%3A+exception+AuthenticationError("Can\'t+find+token+from+MSAL+cache.")')
local%2Fprojects%2Fmt%2FScratch%2Fhihoan%2Fsidestream.en.2+->+.%2Fsidestream.en.2%2C+chunk+.%2Fsidestream.en.2+435402309632%3A+errored%2C+RuntimeError('Max+number+of+ADL+retries+exceeded%3A+exception+AuthenticationError("Can\'t+find+token+from+MSAL+cache.")')
local%2Fprojects%2Fmt%2FScratch%2Fhihoan%2Fsidestream.en.2+->+.%2Fsidestream.en.2%2C+chunk+.%2Fsidestream.en.2+435670745088%3A+errored%2C+RuntimeError('Max+number+of+ADL+retries+exceeded%3A+exception+AuthenticationError("Can\'t+find+token+from+MSAL+cache.")')
local%2Fprojects%2Fmt%2FScratch%2Fhihoan%2Fsidestream.en.2+->+.%2Fsidestream.en.2%2C+chunk+.%2Fsidestream.en.2+436207616000%3A+errored%2C+RuntimeError('Max+number+of+ADL+retries+exceeded%3A+exception+AuthenticationError("Can\'t+find+token+from+MSAL+cache.")')
local%2Fprojects%2Fmt%2FScratch%2Fhihoan%2Fsidestream.en.2+->+.%2Fsidestream.en.2%2C+chunk+.%2Fsidestream.en.2+436476051456%3A+errored%2C+RuntimeError('Max+number+of+ADL+retries+exceeded%3A+exception+AuthenticationError("Can\'t+find+token+from+MSAL+cache.")')
local%2Fprojects%2Fmt%2FScratch%2Fhihoan%2Fsidestream.en.2+->+.%2Fsidestream.en.2%2C+chunk+.%2Fsidestream.en.2+436744486912%3A+errored%2C+RuntimeError('Max+number+of+ADL+retries+exceeded%3A+exception+AuthenticationError("Can\'t+find+token+from+MSAL+cache.")')
local%2Fprojects%2Fmt%2FScratch%2Fhihoan%2Fsidestream.en.2+->+.%2Fsidestream.en.2%2C+chunk+.%2Fsidestream.en.2+437012922368%3A+errored%2C+RuntimeError('Max+number+of+ADL+retries+exceeded%3A+exception+AuthenticationError("Can\'t+find+token+from+MSAL+cache.")')
local%2Fprojects%2Fmt%2FScratch%2Fhihoan%2Fsidestream.en.2+->+.%2Fsidestream.en.2%2C+chunk+.%2Fsidestream.en.2+437281357824%3A+errored%2C+RuntimeError('Max+number+of+ADL+retries+exceeded%3A+exception+AuthenticationError("Can\'t+find+token+from+MSAL+cache.")')
local%2Fprojects%2Fmt%2FScratch%2Fhihoan%2Fsidestream.en.2+->+.%2Fsidestream.en.2%2C+chunk+.%2Fsidestream.en.2+437549793280%3A+errored%2C+RuntimeError('Max+number+of+ADL+retries+exceeded%3A+exception+AuthenticationError("Can\'t+find+token+from+MSAL+cache.")')
local%2Fprojects%2Fmt%2FScratch%2Fhihoan%2Fsidestream.en.2+->+.%2Fsidestream.en.2%2C+chunk+.%2Fsidestream.en.2+437818228736%3A+errored%2C+RuntimeError('Max+number+of+ADL+retries+exceeded%3A+exception+AuthenticationError("Can\'t+find+token+from+MSAL+cache.")')
local%2Fprojects%2Fmt%2FScratch%2Fhihoan%2Fsidestream.en.2+->+.%2Fsidestream.en.2%2C+chunk+.%2Fsidestream.en.2+438086664192%3A+errored%2C+RuntimeError('Max+number+of+ADL+retries+exceeded%3A+exception+AuthenticationError("Can\'t+find+token+from+MSAL+cache.")')
local%2Fprojects%2Fmt%2FScratch%2Fhihoan%2Fsidestream.en.2+->+.%2Fsidestream.en.2%2C+chunk+.%2Fsidestream.en.2+438355099648%3A+errored%2C+RuntimeError('Max+number+of+ADL+retries+exceeded%3A+exception+AuthenticationError("Can\'t+find+token+from+MSAL+cache.")')
local%2Fprojects%2Fmt%2FScratch%2Fhihoan%2Fsidestream.en.2+->+.%2Fsidestream.en.2%2C+chunk+.%2Fsidestream.en.2+438891970560%3A+errored%2C+RuntimeError('Max+number+of+ADL+retries+exceeded%3A+exception+AuthenticationError("Can\'t+find+token+from+MSAL+cache.")')
local%2Fprojects%2Fmt%2FScratch%2Fhihoan%2Fsidestream.en.2+->+.%2Fsidestream.en.2%2C+chunk+.%2Fsidestream.en.2+439160406016%3A+errored%2C+RuntimeError('Max+number+of+ADL+retries+exceeded%3A+exception+AuthenticationError("Can\'t+find+token+from+MSAL+cache.")')
local%2Fprojects%2Fmt%2FScratch%2Fhihoan%2Fsidestream.en.2+->+.%2Fsidestream.en.2%2C+chunk+.%2Fsidestream.en.2+439428841472%3A+errored%2C+RuntimeError('Max+number+of+ADL+retries+exceeded%3A+exception+AuthenticationError("Can\'t+find+token+from+MSAL+cache.")')
local%2Fprojects%2Fmt%2FScratch%2Fhihoan%2Fsidestream.en.2+->+.%2Fsidestream.en.2%2C+chunk+.%2Fsidestream.en.2+439697276928%3A+errored%2C+RuntimeError('Max+number+of+ADL+retries+exceeded%3A+exception+AuthenticationError("Can\'t+find+token+from+MSAL+cache.")')
local%2Fprojects%2Fmt%2FScratch%2Fhihoan%2Fsidestream.en.2+->+.%2Fsidestream.en.2%2C+chunk+.%2Fsidestream.en.2+439965712384%3A+errored%2C+RuntimeError('Max+number+of+ADL+retries+exceeded%3A+exception+AuthenticationError("Can\'t+find+token+from+MSAL+cache.")')
local%2Fprojects%2Fmt%2FScratch%2Fhihoan%2Fsidestream.en.2+->+.%2Fsidestream.en.2%2C+chunk+.%2Fsidestream.en.2+440234147840%3A+errored%2C+RuntimeError('Max+number+of+ADL+retries+exceeded%3A+exception+AuthenticationError("Can\'t+find+token+from+MSAL+cache.")')
local%2Fprojects%2Fmt%2FScratch%2Fhihoan%2Fsidestream.en.2+->+.%2Fsidestream.en.2%2C+chunk+.%2Fsidestream.en.2+440502583296%3A+errored%2C+RuntimeError('Max+number+of+ADL+retries+exceeded%3A+exception+AuthenticationError("Can\'t+find+token+from+MSAL+cache.")')
local%2Fprojects%2Fmt%2FScratch%2Fhihoan%2Fsidestream.en.2+->+.%2Fsidestream.en.2%2C+chunk+.%2Fsidestream.en.2+440771018752%3A+errored%2C+RuntimeError('Max+number+of+ADL+retries+exceeded%3A+exception+AuthenticationError("Can\'t+find+token+from+MSAL+cache.")')
local%2Fprojects%2Fmt%2FScratch%2Fhihoan%2Fsidestream.en.2+->+.%2Fsidestream.en.2%2C+chunk+.%2Fsidestream.en.2+441039454208%3A+errored%2C+RuntimeError('Max+number+of+ADL+retries+exceeded%3A+exception+AuthenticationError("Can\'t+find+token+from+MSAL+cache.")')
local%2Fprojects%2Fmt%2FScratch%2Fhihoan%2Fsidestream.en.2+->+.%2Fsidestream.en.2%2C+chunk+.%2Fsidestream.en.2+441307889664%3A+errored%2C+RuntimeError('Max+number+of+ADL+retries+exceeded%3A+exception+AuthenticationError("Can\'t+find+token+from+MSAL+cache.")')
local%2Fprojects%2Fmt%2FScratch%2Fhihoan%2Fsidestream.en.2+->+.%2Fsidestream.en.2%2C+chunk+.%2Fsidestream.en.2+441576325120%3A+errored%2C+RuntimeError('Max+number+of+ADL+retries+exceeded%3A+exception+AuthenticationError("Can\'t+find+token+from+MSAL+cache.")')
local%2Fprojects%2Fmt%2FScratch%2Fhihoan%2Fsidestream.en.2+->+.%2Fsidestream.en.2%2C+chunk+.%2Fsidestream.en.2+441844760576%3A+errored%2C+RuntimeError('Max+number+of+ADL+retries+exceeded%3A+exception+AuthenticationError("Can\'t+find+token+from+MSAL+cache.")')
local%2Fprojects%2Fmt%2FScratch%2Fhihoan%2Fsidestream.en.2+->+.%2Fsidestream.en.2%2C+chunk+.%2Fsidestream.en.2+442113196032%3A+errored%2C+RuntimeError('Max+number+of+ADL+retries+exceeded%3A+exception+AuthenticationError("Can\'t+find+token+from+MSAL+cache.")')
local%2Fprojects%2Fmt%2FScratch%2Fhihoan%2Fsidestream.en.2+->+.%2Fsidestream.en.2%2C+chunk+.%2Fsidestream.en.2+442381631488%3A+errored%2C+RuntimeError('Max+number+of+ADL+retries+exceeded%3A+exception+AuthenticationError("Can\'t+find+token+from+MSAL+cache.")')
local%2Fprojects%2Fmt%2FScratch%2Fhihoan%2Fsidestream.en.2+->+.%2Fsidestream.en.2%2C+chunk+.%2Fsidestream.en.2+442650066944%3A+errored%2C+RuntimeError('Max+number+of+ADL+retries+exceeded%3A+exception+AuthenticationError("Can\'t+find+token+from+MSAL+cache.")')
local%2Fprojects%2Fmt%2FScratch%2Fhihoan%2Fsidestream.en.2+->+.%2Fsidestream.en.2%2C+chunk+.%2Fsidestream.en.2+442918502400%3A+errored%2C+RuntimeError('Max+number+of+ADL+retries+exceeded%3A+exception+AuthenticationError("Can\'t+find+token+from+MSAL+cache.")')
local%2Fprojects%2Fmt%2FScratch%2Fhihoan%2Fsidestream.en.2+->+.%2Fsidestream.en.2%2C+chunk+.%2Fsidestream.en.2+443186937856%3A+errored%2C+RuntimeError('Max+number+of+ADL+retries+exceeded%3A+exception+AuthenticationError("Can\'t+find+token+from+MSAL+cache.")')
local%2Fprojects%2Fmt%2FScratch%2Fhihoan%2Fsidestream.en.2+->+.%2Fsidestream.en.2%2C+chunk+.%2Fsidestream.en.2+443455373312%3A+errored%2C+RuntimeError('Max+number+of+ADL+retries+exceeded%3A+exception+AuthenticationError("Can\'t+find+token+from+MSAL+cache.")')
local%2Fprojects%2Fmt%2FScratch%2Fhihoan%2Fsidestream.en.2+->+.%2Fsidestream.en.2%2C+chunk+.%2Fsidestream.en.2+443723808768%3A+errored%2C+RuntimeError('Max+number+of+ADL+retries+exceeded%3A+exception+AuthenticationError("Can\'t+find+token+from+MSAL+cache.")')

```

%23%23+To+Reproduce%3A
Steps+to+reproduce+the+behavior.+Note+that+argument+values+have+been+redacted%2C+as+they+may+contain+sensitive+information.

-+_Put+any+pre-requisite+steps+here..._%0A-+%60az+dls+fs+download+--account+%7B%7D+--source-path+%7B%7D+--destination-path+%7B%7D%60%0A%0A%23%23+Expected+Behavior%0A%0A%23%23+Environment+Summary%0A%60%60%60%0ALinux-5.4.0-100-generic-x86_64-with-glibc2.29%2C+Ubuntu+20.04.4+LTS%0APython+3.8.12%0AInstaller%3A+DEB%0A%0Aazure-cli+2.34.1%0A%60%60%60%0A%23%23+Additional+Context%0A%0A%3C%21--Please+don%27t+remove+this%3A--%3E%0A%3C%21--auto-generated--%3E%0A%0A&template=Bug_report.md

data lake store

@hieuhoang Thanks for reaching out to the issue and reporting this issue. There is not much information in the issue description. I am reaching out to you offline to gather the storage account details and the details of AzCli command. I will then look into the issue and assist you further.

@hieuhoang Thanks for sharing the details of the issue. I am pasting the details here so that it can be looked further by our Service team.
Issue:
You are running the below Az CLI command from bash, Ubuntu 20.04 and it fails with the below error:
Command:

az dls fs download --account  msr-XXXXXX-c08   --source-path /local/XXXXX/sidestream.en.1.gz --destination-path ./sidestream.en.1.gz

The command continues to run but eventually gives a corrupt file. The file is corrupt since the MD5checksum is incorrect on the downloaded file. The issue happens all the time with big files (>100GB). It works fine for the smaller files.
You are unable to reproduce the issue with --debug parameter.
Issue reproduced at : 11-Mar-2022 5:46 AM UTC time
Error:

WARNING: Command group 'dls' is in preview and under development. Reference and support levels: https://aka.ms/CLI_refstatus
Alive[########################################################        ]  87.5589%
Alive[########################################################        ]  87.8041%
Alive[########################################################        ]  88.0494%
Alive[########################################################        ]  88.2947%ERROR: Download failed ./sidestream.en.1.gz; RuntimeError('Max number of ADL retries exceeded: exception AuthenticationError("Can't find token from MSAL cache.")')
ERROR: Download failed ./sidestream.en.1.gz; RuntimeError('Max number of ADL retries exceeded: exception AuthenticationError("Can't find token from MSAL cache.")')
ERROR: Download failed ./sidestream.en.1.gz; RuntimeError('Max number of ADL retries exceeded: exception AuthenticationError("Can't find token from MSAL cache.")')
ERROR: Download failed ./sidestream.en.1.gz; RuntimeError('Max number of ADL retries exceeded: exception AuthenticationError("Can't find token from MSAL cache.")')
ERROR: Download failed ./sidestream.en.1.gz; RuntimeError('Max number of ADL retries exceeded: exception AuthenticationError("Can't find token from MSAL cache.")')
ERROR: Download failed ./sidestream.en.1.gz; RuntimeError('Max number of ADL retries exceeded: exception AuthenticationError("Can't find token from MSAL cache.")')
ERROR: Download failed ./sidestream.en.1.gz; RuntimeError('Max number of ADL retries exceeded: exception AuthenticationError("Can't find token from MSAL cache.")')
ERROR: Download failed ./sidestream.en.1.gz; RuntimeError('Max number of ADL retries exceeded: exception AuthenticationError("Can't find token from MSAL cache.")')
<--Trimmed-->
Alive[##########################################################      ]  91.9063%
Alive[##########################################################      ]  92.1516%
Alive[###########################################################     ]  92.3968%ERROR: Transfer failed: local/XXXXXX/sidestream.en.1.gz -> ./sidestream.en.1.gz
ERROR: local/XXXXXX/sidestream.en.1.gz  -> ./sidestream.en.1.gz, chunk ./sidestream.en.1.gz<PHONE_NUMBER>0: errored, RuntimeError('Max number of ADL retries exceeded: exception AuthenticationError("Can't find token from MSAL cache.")')
ERROR: local/XXXXXX/sidestream.en.1.gz  -> ./sidestream.en.1.gz, chunk ./sidestream.en.1.gz<PHONE_NUMBER>6: errored, RuntimeError('Max number of ADL retries exceeded: exception AuthenticationError("Can't find token from MSAL cache.")')
ERROR:local/XXXXXX/sidestream.en.1.gz -> ./sidestream.en.1.gz, chunk ./sidestream.en.1.gz<PHONE_NUMBER>2: errored, RuntimeError('Max number of ADL retries exceeded: exception AuthenticationError("Can't find token from MSAL cache.")')
ERROR: local/XXXXXX/sidestream.en.1.gz  -> ./sidestream.en.1.gz, chunk ./sidestream.en.1.gz<PHONE_NUMBER>88: errored, RuntimeError('Max number of ADL retries exceeded: exception AuthenticationError("Can't find token from MSAL cache.")')
ERROR: The command failed with an unexpected error. Here is the traceback:
ERROR: One more more exceptions occured during transfer, resulting in an incomplete transfer.
local/XXXXXX/sidestream.en.1.gz  -> ./sidestream.en.1.gz, chunk ./sidestream.en.1.gz<PHONE_NUMBER>88: errored, RuntimeError('Max number of ADL retries exceeded: exception AuthenticationError("Can't find token from MSAL cache.")')
Traceback (most recent call last):
File "/opt/az/lib/python3.8/site-packages/knack/cli.py", line 231, in invoke
cmd_result = self.invocation.execute(args)
File "/opt/az/lib/python3.8/site-packages/azure/cli/core/commands/init.py", line 658, in execute
raise ex
File "/opt/az/lib/python3.8/site-packages/azure/cli/core/commands/init.py", line 721, in _run_jobs_serially
results.append(self._run_job(expanded_arg, cmd_copy))
File "/opt/az/lib/python3.8/site-packages/azure/cli/core/commands/init.py", line 692, in _run_job
result = cmd_copy(params)
File "/opt/az/lib/python3.8/site-packages/azure/cli/core/commands/init.py", line 328, in call
return self.handler(*args, **kwargs)
File "/opt/az/lib/python3.8/site-packages/azure/cli/core/commands/command_operation.py", line 121, in handler
return op(**command_args)
File "/opt/az/lib/python3.8/site-packages/azure/cli/command_modules/dls/custom.py", line 200, in download_from_adls
ADLDownloader(
File "/opt/az/lib/python3.8/site-packages/azure/datalake/store/multithread.py", line 151, in init
self.run()
File "/opt/az/lib/python3.8/site-packages/azure/datalake/store/multithread.py", line 283, in run
self.client.run(nthreads, monitor, before_start=touch)
File "/opt/az/lib/python3.8/site-packages/azure/datalake/store/transfer.py", line 525, in run
raise DatalakeIncompleteTransferException('One more more exceptions occured during transfer, resulting in an incomplete transfer. \n\n List of exceptions and errors:\n {}'.format('\n'.join(error_list)))
azure.datalake.store.exceptions.DatalakeIncompleteTransferException: One more more exceptions occured during transfer, resulting in an incomplete transfer.
List of exceptions and errors:
local/XXXXXX/sidestream.en.1.gz /sidestream.en.1.gz -> ./sidestream.en.1.gz, chunk ./sidestream.en.1.gz<PHONE_NUMBER>0: errored, RuntimeError('Max number of ADL retries exceeded: exception AuthenticationError("Can't find token from MSAL cache.")')

You don't have the storage account details ( like subscription id / diagnostic logs etc) since you don't own this Storage account.

You have another duplicate issue created here too Azure/azure-cli#21170


How to insert blank row in Excel template using ABAP2XLSX

Is it possible to insert blank row in Excel template using ABAP2XLSX, is there any demos to refer to?

Probably, but I don't get what is the issue of inserting a "blank" (or even "non blank") row. What do you mean exactly?

For example, In order to keep the whole style, I want to insert a new row in line 28 in the screenshot above.

To insert lines, you may use the template feature of abap2xlsx, which gives the possibility to insert rows:

https://blogs.sap.com/2020/05/22/best-way-to-generate-microsoft-excel-xlsx-from-template-in-abap/

(the author has merged the feature into abap2xlsx)

demo: zdemo_excel_fill_template
initial PR: https://github.com/abap2xlsx/abap2xlsx/pull/669

hi
If I create a new excel template, It's null for "mt_range", what's difference for the excel template?

If I run the demo program above, with the default options, mt_range is filled:

Please clarify your question.

hi
It's ok now, I found there're something different in the Excel Template, thanks

Thanks for the feedback!

 For example, In order to keep the whole style, I want to insert a new row in line 28 in the screenshot above.

@sky5685610,
Can you please tell me how you did it?
I also want to write data to an existing Excel file, in order to keep the whole style of that file.

hi
you need to config something in excel template

the coding is shown as below:

Ok, thanks

Hi please paste code as text, not as image.
TYPES: BEGIN OF ty_item1,
         bukrs  TYPE cosp-bukrs,
         period TYPE c LENGTH 6,
         type   TYPE c LENGTH 2,
         zcost1 TYPE cosp-wkg001,
         zcost2 TYPE cosp-wkg001,
         zcost3 TYPE cosp-wkg001,
         zpurc1 TYPE cosp-wkg001,
         zditt1 TYPE cosp-wkg001,
         zratel TYPE p LENGTH 8  DECIMALS 4,
         zrate2 TYPE p LENGTH 8  DECIMALS 4,
         zrate3 TYPE p LENGTH 8  DECIMALS 4,
       END OF ty_item1,
       lt_item1 TYPE STANDARD TABLE OF ty_item1 WITH DEFAULT KEY,
       lt_item2 TYPE STANDARD TABLE OF ty_item1 WITH DEFAULT KEY,
       BEGIN OF ty_sheet1,
         uname TYPE sy-uname,
         date  TYPE sy-datum,
         time  TYPE sy-uzeit,
         iteml TYPE lt_item1,
         item2 TYPE lt_item1,
       END OF ty_sheet1.
DATA lt_item1  TYPE TABLE OF ty_item1.
DATA lt_item2  TYPE TABLE OF ty_item1.
DATA ls_iteml  TYPE ty_item1.
DATA ls_sheet1 TYPE ty_sheet1.

SELECT *
    INTO CORRESPONDING FIELDS OF TABLE lt_item1
    FROM zco06001
    WHERE blikrs = '6000' AND
    type = '01'.
SELECT *
    INTO CORRESPONDING FIELDS OF TABLE lt_item2
    FROM zco06001
    WHERE blikrs = '6000' AND
    type = '02'.
ls_sheet1-uname = sy-uname.
ls_sheet1-date  = sy-datum.
ls_sheet1-time  = sy-uzeit.
ls_sheet1-iteml = lt_item1.
ls_sheet1-item2 = lt_item2.
" prepare data
lo_data = NEW #( ).
lo_data->add( iv_sheet = 'Sheetl' iv_data = ls_sheet1 ).
" create reader
lo_reader = NEW zcl_excel_reader_2007( ).
lo_reader->load_tile( p_fpath ).
" merge data With template
lo_excel->fill_template( lo_data ).

expert, thanks for your contribution.
the demo is working fine, but i found another issue. the column height was not copied.
sees below.
template

result

your response is appriciated.

@AiolosYang Please post a new issue and I'll answer. Thank you.


Publish SHA256 hashes for binaries on the download page

Related to https://twitter.com/mholt6/status/861824879481548800
Especially on Windows, PGP can be tricky to set up. A SHA256 hash should be verifyable on all operating systems without extra software.

I use HashTab for this sort of thing, it might be worth mentioning a couple on the page perhaps with a non-endorsement disclaimer.

http://implbits.com/products/hashtab/

How do these hashes provide any assurance of authenticity? All the hash matching tells you is that you downloaded a file that wasn't corrupted in transit. However, TCP and TLS prevent corruption (via lost packets) and MITM tampering when downloading the releases. To me, this seems rather pointless.
The only way you get authenticity from a hash is with using an HMAC construction, which involves adding a secret key into the mix (HMACs are for symmetric encryption, which we aren't after here), which would make no sense here (as everyone would need the key to verify the hash, but then everyone knows the secret key). Is there something I'm missing?

I view this as a shortcoming in Windows more than the Caddy website. As Josh explained, simply showing a hash (in our case) isn't really going to provide more security. In order to compromise a build in the cache, you'd need write access to the disk, but if you have write access to the disk, you might as well change the hash displayed to users while you're at it. (Something like this already happened to Transmission.)
If we showed merely unsigned hashes, we would have to do so in a distributed way: on GitHub, on the Caddy website, at the very least. But to show hashes for custom builds (builds with plugins, i.e. not the assets on GitHub) anywhere but the Caddy website would be nigh impossible. Even if we did distribute the hashes to other sites, we have to ensure that any and all changes to the hashes are authorized. Homebrew recently distributed a malicious version of Handbrake by simply accepting a hash change without verification.
It's a hard problem.
I'm sorry it's difficult to verify signatures on Windows (and I hate PGP, even on unix), but I don't think simply showing hashes on the Caddy site is going to provide any of the assurances you would expect. Perhaps binary integrity (but with no guarantees that it is authentic), but your TLS client should do that anyway. I also don't want to give users a false hope that the SHA will protect them (since that's what they're used to, unfortunately).

A signed binary on Windows would also help.


Some Fixes and Additions

Added Star History and M3 Markdown Badges
FIxed the Moe Counter and U8Views

Added Star History and M3 Markdown Badges FIxed the Moe Counter and U8Views

thanks 🙏


Apply current 'formatting' when creating a new paragraph

reported by @JGilbert-eLife
For example if you are typing in bold, then break the paragraph, Texture does not use bold when continuing typing.

This is similar to a feature requested in the past.
Professional writers like to turn on/off formatting, such as bold, instead of selecting text and applying the style. This is a lot faster and does not disrupt the flow while typing.