inline frames are not shown on Windows

when one profiles an optimized binary with MTuner, the result is hard to interpret since inline frames are not shown. Take this example:
void myfunc()
{
    for (int i = 0; i < 100000; ++i) {
        new char;
    }
}

int main()
{
    myfunc();
    return 0;
}

Put it into a file test.cpp then compile it with cl.exe /O2 /Zi test.cpp and trace it with MTuner. The result looks like this:

This basically makes MTuner unusable on optimized C++ code bases on Windows

This is similar to issue 33 in the sense that I favor fast stack traces much more than completely accurate ones.
Two major criteria prevent me from doing this:

performance as mentioned above
can't allocate memory while collecting traces

Using APIs that are better at stack walking on Windows break both of this conditions. Unless I'm missing one? I'd be happy to learn about it...

As I mentioned in #33, the criteria you mention should not be a valid concern: At trace time you don't need to find inline frames, this can and should be done offline when you analyze the trace file. Also, that data can be cached by instruction pointer address, so the performance impact should be minimal.
That said, if the point is that there exists no API for Windows to find inline call frame information for a given code address, then this can of course be closed as wont-fix. I strongly suggest you to document these usability issues (this one and #33) - users will trip over it and I at least have not found any information about this.

I did not say such API doesn't exist but that such API tends to break either one or both of, for me, critical criteria. Full blown stack walker that handles a lot of difficult cases is both slow and allocates memory.
What you see in the call stack is exactly what was recorded by CaptureStackBackTrace and later resolved by rdebug. I'm not removing any stack frames from user code...
Do you have a solution for this? I'll happily take it and learn something along the way.

It seems to me like the Windows platform API is too limited, cf.: https://stackoverflow.com/questions/47541598/profiling-inlined-c-functions-with-visual-studio-compiler
Apparently not even the VS profilers or VTune are capable of showing inline frames, since the information is lacking from the PDB files. A Premium/Ultimate VS compiler might be able to emit the right data with /Zo, but so far it's still unclear. as such, I think MTuner's hands are pretty much tied and there's nothing you can really do. I wasn't aware of this serious platform limitation on Windows :-(
Just one quick note: It's not about "removing any stack frames", it's about the lack of "adding inline stack frames". After inlining, there won't be a real stack frame for the inlined function with a different instruction pointer address. Rather, the debug information can and should store that information. Then you can query the debug information for every frame you get and check whether it actually represents multiple frames and show all of them to the user. On Linux this is easy to visualize. Assume you get the following backtrace:
                   2369f __hypot_finite (/usr/lib/libm-2.26.so)
                    a114 hypot (/usr/lib/libm-2.26.so)
                     b88 main (/ssd/milian/projects/kdab/rnd/hotspot/build/tests/test-clients/cpp-inlining/cpp-inlining)

Then you call addr2line -i on every address (the addresses above are already offsets into the modules). Above, the interesting frame is the one pointing to main:
$ addr2line -f -p -i -C -e /ssd/milian/projects/kdab/rnd/hotspot/build/tests/test-clients/cpp-inlining/cpp-inlining b88
std::__complex_abs(doublecomplex ) at /usr/include/c++/7.2.0/complex:589
 (inlined by) double std::abs<double>(std::complex<double> const&) at /usr/include/c++/7.2.0/complex:597
 (inlined by) double std::_Norm_helper<true>::_S_do_it<double>(std::complex<double> const&) at /usr/include/c++/7.2.0/complex:654
 (inlined by) double std::norm<double>(std::complex<double> const&) at /usr/include/c++/7.2.0/complex:664
 (inlined by) main at /home/milian/projects/kdab/rnd/hotspot/tests/test-clients/cpp-inlining/main.cpp:39

I was expecting that this also would work on Windows...

Yes, it's not a simple issue... I did check this a bit more (while I was fixing issue #34) and found some hints that this may be possible with much more elaborate PDB parsing. This would require a significant update to rdebug and I'm not even certain it would work. What I saw was ability to enumerate 'inlined child symbols' or something like that - sounds like it would do the trick...
In any case, as you can see, it's more hassle than necessary, way simpler with some other toolchains :)


Lock down ffi due to build issues

Error during rake update:ui:
➤ YN0000: · Done with warnings in 1m 12s
Webpacker is installed 🎉 🍰
Using /root/BUILD/manageiq-gemset-19.0.0/bundler/gems/manageiq-ui-classic-486e88a5c91a/config/webpacker.yml file for setting up webpack paths ASSERTION FAILURE: (!isvariadic) || (nfixedargs >= 1) at /home/lars/comcard/ffi/ext/ffi_c/libffi/src/prep_cif.c:121 /build_scripts/lib/manageiq/rpm_build/helper.rb:14:in `exit': no implicit conversion from nil to integer (TypeError)
	from /build_scripts/lib/manageiq/rpm_build/helper.rb:14:in `shell_cmd'
	from /build_scripts/lib/manageiq/rpm_build/generate_gemset.rb:82:in `block in populate_gem_home'
	from /build_scripts/lib/manageiq/rpm_build/generate_gemset.rb:58:in `chdir'
	from /build_scripts/lib/manageiq/rpm_build/generate_gemset.rb:58:in `populate_gem_home'
	from bin/build.rb:29:in `<main>'

Manually backported to radjabov via 806a9c7f401224816dca60e6dd6f86478ce7fa50 and bf82dc1689c2efa2e0ab83cbbd9fa43c1a57299c
commit bf82dc1689c2efa2e0ab83cbbd9fa43c1a57299c (HEAD -> radjabov, upstream/radjabov)
Author: Jason Frey<EMAIL_ADDRESS>Date:   Mon Jun 3 16:12:02 2024 -0400

    Update lockfile for lockdown of ffi gem

commit 806a9c7f401224816dca60e6dd6f86478ce7fa50
Author: Jason Frey<EMAIL_ADDRESS>Date:   Mon Jun 3 16:08:57 2024 -0400

    Merge pull request #23056 from bdunne/lockdown_ffi

    Lock down ffi due to build issues

    (cherry picked from commit bf06f4cd3ef983b675cdf87241e3a3fa5db341f6)


why android Image not support capInsets?

same as title

@nowaits Use 9-Patch PNGs. That's Android image with capInsets. Natively, Android ImageView doesn't support capInsets on the fly.

How are we supposed to use 9-patch images in react-native?
Loading via require('./image.9.png') treats it as a regular image that shows the hints at the edges.
While loading via resources, {uri: 'image'} does load it without the 9patch hints, but it doesn't respect the scaling hints. It just scales it as if it were a regular image without the hints at the edges.

Is there any news? I can't find user 9-patch image in react-native. :(

I have the same question. I need use 9-patch image in react-native. how i resolve  it? @gvaish

I really need it.

Try this npm package:
https://www.npmjs.com/package/react-native-image-capinsets
Support for Android and iOS platforms!
Thank you, madsleejensen


Crashing with rubidium+oculus

Minecraft 1.20.1
crash-2023-10-18_03.14.53-client.txt

It appears to be an invalid rubidium or oculus version, if not, please send game logs (not just crash report)

2023-10-18-7.log
latest.log
Is it logs?

It appears to be a Forge/Rubidium issue.
Please try to run the game with the latest rubidium (0.7.1 when I write this)
Or just use Fabric

@coppalka @KosmX
To Fix this read the comments in this issue in https://github.com/Asek3/Oculus/issues/395
"Hopefully this save someone some future headache, If you encounter this error.

Disable Oculus and Rubidium then launch the game.
You should then be presented with some missing dependencies install them.
Add Oculus and Rubidium back and things should work.
For some reason Oculus and Rubidium prevents the missing dependencies GUI from opening, not sure why and I'm to lazy to figure it out."


Use 7zip if exist to expand archive

For better performance use of 7zip instead of Expand-Archive when it's possible - on Azure and GitHub hosted Agents 7zip is installed by default.
I tested it to expand platform artifact and get following result:

Using Expand-Archive - 57 seconds
Using Expand-7zipArchive - 8 seconds

In case that 7zip tool is not found - system will use standard Expand-Archive function.

Very nice.
A few of the occurrences you have replaced with Expand-7zipArchive are inside a Invoke-ScriptInNavContainer, which means that the code is running inside the container.
The Expand-7zipArchive is in HelperFunctions in NavContainerHelper and as such cannot be reached from in there.
I found the one in Compile-AppInNavContainer and Convert-Txt2Al - not sure whether any of the others also are.

Ah, you are right, not make sense to use it inside container (7zip is not there anyway).
I will check and update PR with only relevant replacement.

Correct 7zip is not and the helperfunctions isn't either.
Thanks

Thanks - will make some tests


incorrect sort order when using multi-page plotw_rs

@aakash10gupta pointed out that using plotw_rs with option max_traces_per_rs, which splits a record section over multiple pages, sorts incorrectly over the pages. That is, if sorted by distance, each individual page is sorted correctly, but when viewed all together the sorting runs in the opposite direction.

@bch0w,
While the above fix resolved issues with some sorting options, there are still some similar issues with some of the other sorting options. I have tried tabulating these pending 'sorting' issues, which are kind of related but not necessarily related to 'multi-page' plotw_rs below -

'sort_by'
trace ordering
multi-page plot ordering
labels

distance
ok
ok
ok

abs_distance
reversed
reversed
inside the plot

azimuth
ok
ok
ok

abs_azimuth
reversed
reversed
inside the plot

distance_r
ok
ok
ok

abs_distance_r
reversed
reversed
inside the plot

azimuth_r
ok
ok
ok

abs_azimuth_r
reversed
reversed
inside the plot

I am also attaching a quick python script pysep_test.txt to run all the above tabulated cases at once. The notebook runs in the latest pysep@devel [41c2d47] environment.
I am also listing some additional checks that would be needed once this is resolved -

consistency in the spacing of traces sorted by absolute values of both distance as well as azimuth, over multi-page figures
non-redundancy in the placement of red horizontal lines in azimuthally sorted plots at multiples of 45 degrees, over multi-page figures
correctness of plots when using start_azimuth_deg = 30 i.e. something non-zero as a plotw_rs input

Thanks for compiling this table and providing the example script @aakash10gupta, very helpful for quickly fixing things.
A question for you re. 'inside the plot' y labels: since we can only have one set of labels for the y-axis, it was either show the distances or trace labels there. My solution was to place the text labels inside the plot so we can see the distances on the y-axis. How does the old version of the code handle this? I suppose we could do the same thing as the azimuth bins and place red lines to mark distances, or not have them at all. (fyi, there is a parameter y_label_loc that allows you to force those labels to different locations)
To summarize fixes in the next PR:

[ ] reverse sort order for abs_distance and abs_distance_r
[ ] reverse sort order for abs_azimuth and abs_azimuth_r
[ ] bugfix: y-label locations for absolute sorting not showing properly
[ ] fix multi-page sort order for abs_distance and abs_distance_r record sections
[ ] fix multi-page sort order for abs_azimuth and abs_azimuth_r record sections
[ ] ensure unique azimuthal lines for multi-page abs_azimuth and abs_azimuth_r
[ ] bugfix: nonzero azimuth starting point for multi-page record sections

How about this?
For absolute azimuth, we remove the azimuth from the label and place the label on the left or right, not on top of the seismograms. Previously it was on the right, as shown in this example:

For absolute distance, we remove the distance from the label and do the same.

How about this? For absolute azimuth, we remove the azimuth from the label and place the label on the left or right, not on top of the seismograms. Previously it was on the right, as shown in this example:  For absolute distance, we remove the distance from the label and do the same.

Thanks @carltape , that looks good, I'll make the default behavior when plotting on absolute bounds to place the text labels to the right side of the figure

The tests above were based on only 8 of the total choices for the plotting option sort_by. Extending the tests to the sort_by options abs_backazimuth and abs_backazimuth_r seems to break the script.

The tests above were based on only 8 of the total choices for the plotting option sort_by. Extending the tests to the sort_by options abs_backazimuth and abs_backazimuth_r seems to break the script.

This is addressed in #100

sort_by options abs_backazimuth and abs_backazimuth_r seem to be working now. Thanks.

Something that has come up during discussions is that for absolute azimuth sorting cases, since we have the absolute azimuths marked along the y-axis we can get done with the horizontal red lines demarcating specific azimuth intervals. This might also help tackle some of the pending issues in this thread.

Yes, I second the vote to remove the horizontal red lines for plotting by absolute azimuth, since this information is already visible (in the text labels and in the y-axis).


Feature/change bar colors on touch

Added the option to change bar color and below bar area color, when chart touched.

Create issue #423

Hi.
It should be implemented outside of the library.
I answered on related issue.

Check this implementation without any change on the fl_chart.


Fix block pasting from the clipboard

When block-pasting from the clipboard, calculate the width of the block
correctly and update the register width to the correct size.
fixes: vim/vim#8301
No test, because this depends on the clipboard property.

I think this happens when "extraline" is 1, then "start" points just after the last line break.
Thus you need to check that start < len.


Symfony messenger support

As the title says, it would be good if Symfony messenger would be supported out of the box :)
Currently we are using a custom message and a message handler, but there's a slight problem that it doesn't properly work for the document removal part from the index. To do a reall ->remove call we use $objectManager->getReference().
But then the call is delegated to Engine and calls $entity->getSearchableArray(); but as the entity is already removed, doctrine throws error that the entity not found because proxy tries to load it's information to normalize the searchable array.

Sorry for being late to the party 😄
I would really like to see that implemented or implement on my own but I am lacking a bit the uses cases.

Can you point me a bit towards the point in code where you have problems with your current solution?
So each of these three events, postPersist, postUpdate, preRemove, should dispatch a message that can be consumed by a custom handler, that can be speci, right?

@codedge sorry, forgot to reply :slightly_smiling_face:

The problem is that the document removal should be called with postRemove event not preRemove, because if doctrine would fail to delete the document would be lost.
Yes :)

Sound good. I'll implement that, as it would make to usage of the package more attractive and open for more custom events per project/user with custom handlers.

Awesome!

@norkunas Just added a small fix to the current situation: You can now enable the postRemove doctrine event (and disable the preRemove).
The next thing is the Messenger integration.

What about dispatching internal bundle event instead?
And let external code listen/subscribe and do the job

I'd say by default listen on doctrine events and add an option to enable messenger :)


Add files via upload

@Athukorala First stage of verification passed, official domain for Ceyentra Education (Pvt) Ltd is ceyentra.com as far as I verified. This is just an informational note. Pull request is still in the review. I appreciate your patience while waiting for the final decision.

@Athukorala First stage of verification passed, official domain for Ceyentra Education (Pvt) Ltd is ceyentra.com as far as I verified. This is just an informational note. Pull request is still in the review. I appreciate your patience while waiting for the final decision.

Hi @philipto, are there any updates on this?

@Athukorala Regrettably, I have to close the request without merging, because this organization is a commercial software development company, not a college, nor a university. Please ensure that you are familiar with this repository rules located at the bottom of this page.
If you conduct also some external trainings, please apply for an appropriate licensing option (which may also be free) at https://www.jetbrains.com/community/education/#courses.
Thank you for your understanding!


chore(main): release tmux 1.16.2

:robot: I have created a release beep boop
1.16.2 (2024-10-04)
Bug Fixes

tmux: explicitly set an escape time so tmux does not hang (8a8f997)

This PR was generated with Release Please. See documentation.

:robot: Created releases:

tmux-v1.16.2
:sunflower:


Support for Lolin32 lite

I’ve been looking at the simplicity of putting together a floaty https://www.diyhomebrewers.com/2020/09/floaty-wifi-hydrometer-montaje-y-como.html?m=1 and I really like the simple parts list. Should gravitymon work with the lolin32 lite from this build?
https://m.aliexpress.com/item/1005004819247383.html

It probably the same cpu as the esp32 d1 mini so it should work but the pins needs to be updated for it to work. I support the gyro temp as well so its not a big change, but i dont really have a device to test on. I can give it a try if you want

Awesome thanks, I’ll order one and see if I can get it to work

I'll order one as well to test the pinout configuration. From a brief look there is no way of measuring the battery level so I guess I will need to do a few more changes for this to work.

Thanks, I ordered all the parts earlier today and printed off the sled. I’ll hopefully have everything ready to test within a couple of weeks 😁

Awesome thanks, I’m just waiting on the gyro which should be here by the weekend

I tested it out this afternoon without the petling and it’s working great 😁 Thanks so much for adding support so quickly

Great, let me know if there are any issues. I will close this one now


[CardGalleryList] List variant with large items, pictograms

What package is this for?

[x] React
[ ] Angular

Summary
Create a variation of the List component in support of the dashboard builder/editor #1372

CardGalleryList component would accept array of list items with card type/title that would map to predefined list. These list items would not support hierarchy (children). The icon prop could be repurposed to allow pictograms from @carbon/pictograms-react
It would be nice if we could enforce certain types of cards to have certain pictograms by default. Maybe the predefined list of card types would map item value strings to an associated default pictogram from @carbon/pictograms-react
Additionally a 'custom' list item could be configured and passed in an optional pictogram. If no pictogram is provided, we could choose a default, something generic like <Analyze /> maybe?

per the spec below this will need to support:

Search
A hover/selected/highlighted state for each item - @CynZhang could you give more specific details on the states of these?

An 'add' callback via a hasIconOnly button on the right of the item. Text should probably be truncated into a tooltip if it doesn't fit

Additional context

This requests highlights the limitations of a non-composable set of components. The List is not composable.
If the List was composable, we could simply create a new type of ListItem with the visual/functional updates.

@bryancboyd can you comment on this issue what we discussed about this issue. I believe we are de-prioritizing this right now, correct?

What still needs to be done:

[ ] add custom card icon
[ ] add ability for consumer to add their own card types and icons

:tada: This issue has been resolved in version 2.141.0-next.68 :tada:
The release is available on:

npm package (@next dist-tag)
GitHub release

Your semantic-release bot :package::rocket:

:tada: This issue has been resolved in version 2.141.0-next.68 :tada:
The release is available on:

npm package (@next dist-tag)
GitHub release

Your semantic-release bot :package::rocket:

:tada: This issue has been resolved in version 2.142.0-next.1 :tada:
The release is available on:

npm package (@next dist-tag)
GitHub release

Your semantic-release bot :package::rocket:

:tada: This issue has been resolved in version 2.142.0-next.1 :tada:
The release is available on:

npm package (@next dist-tag)
GitHub release

Your semantic-release bot :package::rocket:

:tada: This issue has been resolved in version 2.142.0 :tada:
The release is available on:

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:

:tada: This issue has been resolved in version 2.142.0 :tada:
The release is available on:

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


Problem with setting up LiveQuery

Hello guys, i have seen many tutorials how to setup LiveQuey (most of them were prepared for back4app servers) However i found some tutorials made for self hosted servers and there was something like "index.js" which i believe is in this app "app.js". I've put like this code inside of var api = new ParseServer({...
    liveQuery: {         classNames: ["Test"] //List of classes to support for query subscritions     },
and after that i put this:
var app = express();
app.use('/', api);
let httpServer = require('http').createServer(app);
httpServer.listen(1337);
var parseLiveQueryServer = ParseServer.createLiveQueryServer(httpServer);

Still doesn't work and i'm not even sure how this url liveQueryUrl: keyLiveQueryUrl looks like.
According to flutter doc's https://pub.dev/packages/parse_server_sdk_flutter i need this to use Live Query.
For example in this parser there's index.js whit pre setup live query https://github.com/parse-community/parse-server-example/blob/master/index.js i've tried to copy some code to my app.js but couldn't handle it.

So i finally find out the problem. The problem was this port 1337 that i wanted to use was blocked by default. I checked list of free ports, change it to the other port and now I'm connected:
I/flutter (20494): LiveQuery: : Listen: {"op":"connected","clientId":"1437a932-c260-45b8-a567-417127f68efd"} I/flutter (20494): ReSubScription:{} I/flutter (20494): LiveQueryReconnectingController: LiveQueryClientEvent.CONNECTED I/flutter (20494): LiveQuery: : SubscribeMessage: {op: subscribe, requestId: 1, query: {className: Test, where: {intNumber: 1}}} I/flutter (20494): LiveQuery: : Listen: {"op":"subscribed","clientId":"1437a932-c260-45b8-a567-417127f68efd","requestId":1}


windows encoding error

Exception has occurred: UnicodeDecodeError 'utf-8' codec can't decode byte 0x81 in position 74: invalid start byte File
newest version throws an error on start

I made a pull request to fix this problem #3

I've found this error occurs if you have a non-english system language, it also occurs when reading/writing to files with some languages. There's a fix by going into windows region settings and enabling a beta feature for utf-8 encoding for worldwide languages. I'll take a look at the PR though :)
https://cdn.discordapp.com/attachments/952979951286628362/1215394451405537381/image.png?ex=65fc974a&is=65ea224a&hm=2fe4901171eaf8588b3f42ba28fb4a696ef5897b0bd93f04e15f9f7fc97625ab&
https://cdn.discordapp.com/attachments/952979951286628362/1215394451715919952/image.png?ex=65fc974a&is=65ea224a&hm=f58d95a5ea9861be1c23526c6a0ce45f634c722e6de58b0d06de4b0ed488ecdd&
https://cdn.discordapp.com/attachments/952979951286628362/1215394452252663879/image.png?ex=65fc974a&is=65ea224a&hm=b8d8729c64a588693fddfa22eccf0d0de42dec3bdf0f49aa87c4f16afdceafc5&

Hmm no, looking back seems like the reading/writing issue is from the same cause of non-standard cases, but the error is a bit different.

Aha, found i can manually set the encoding when reading the json files to utf-8 fixing the issue, thanks!


Working o365 phishlets

I got a working o365 phishlets off @kgretzky on icq and works gud

Hello! If you were already able to resolve your doubts and achieve your goals, close the issue so that we know which ones are pending.
Thank you!


TypeError: Cannot read property 'join' of undefined

This occurs only when including preact.
Steps to reproduce:

Run the preact example app
Add nextjs's Head helper element to a page
Give the page a title; then that happens.

The problem arose from the header-manager's method(updateTitle). Preact's VNode exposes just attributes to props with no children, the VNode itself exposes children.

I'll have a look 👍

Ok I get what you mean. We read component.props.children which is set in React, but not in preact. in preact it's component.children Looks like something that would have to be added to preact-compat. I'll check that now 👍

Looks like it's handled here already 🤔 https://github.com/developit/preact-compat/blob/master/src/index.js#L109
@developit could you have a look? ❤

@timneutkens I just checked and I'm not sure I can reproduce the above issue - here's the JSFiddle I set up:  https://jsfiddle.net/developit/n144pt7m/
I might be going about the repro wrong though!
FWIW I'm not sure L45 of <HeadManager> accounts for the case where a single element is passed.  In React (and thus in preact-compat), that will result in props.children being a reference to the Virtual DOM Element, rather than an Array.
That is to say, this line:
typeof children==='string' ? children : children.join('')

...if rendered like this:
<HeadManager><AnyThing /><HeadManager>

... will throw an exception, because children is an Object (VNode), not a String or Array.

That is a fair point, we will have to update that. The most minimal example where I can reproduce this is this: https://github.com/timneutkens/next-issue-910. In this case, children is undefined. That's why it logs an error.

Ah perfect @timneutkens that gives me a great repro.  It looks like the bit that adds props.children is only being applied to Component vnodes, not element VNodes.  We can remedy that quickly :)

Much appreciated ❤

Should be fixed in<EMAIL_ADDRESS>

Thank you very much @developit 👍 💯

Thanks @developit

Just confirmed using your repro (thanks again btw!) that it is in fact working now:

@developit confirmed it too ❤

Great, thanks a million for surfacing this Tim!

I am seeing this with:

React 15.6.1
React DOM 15.6.1
Next.js 3.2.2

I want to have a page title containing a bullet character (•). If I do:
<Head><title>foo • bar</title></Head>

... then the title appears as "foo • bar" because the • gets escaped to &bull;.
When I switch to:
<title dangerouslySetInnerHTML={{ __html: "foo • bar" }} />

... the title is set correctly, but this error starts appearing in the browser console.

ping @timneutkens @rauchg

@atuttle  I am running on the same issue with updating title tag. Did you find a fix or workaround please ? tanks in adavnce

I'm seeing this issue whenever I navigate on the client-side. If I do a refresh it doesn't occur and the title of the page is correct.


Fix example build from source command lines

Fixes https://github.com/ARM-software/LLVM-embedded-toolchain-for-Arm/issues/404

Why does this need to construct a absolute path rather than using a relative path?
ie. using
`pwd`/../patches/llvm-project/*.patch

Instead of the more standard
../patches/llvm-project/*.patch

which should do the same thing?

That part makes sense to me. It's because the overall command is using git -C, meaning "change to some other directory before running the git command". So the relative path ../foo would be interpreted relative to the cwd after git changes dir. But we want a path relative to where we are before git changes dir.

Ahhh thank you @statham-arm, that makes sense


Could not parse the Java '--showVersion' output

I use openjdk <IP_ADDRESS> and Set Java Path properly
But do not recognize it
macOS 10.13.3 & Atom 1.24.1

thanks
It works!


'CriticalTemperatureGauge' matches an existing frozen identifier

Hi!
I’m new to CKAN. Recently, I became a new owner of the CriticalTemperatureGauge mod by Ravien.
I made a pull request to add a .netkan file: https://github.com/KSP-CKAN/NetKAN/pull/4542
The build failed with the message:
'CriticalTemperatureGauge' matches an existing frozen identifier: NetKAN/CriticalTemperatureGauge.frozen
Build step 'Execute shell' marked build as failure

I’ve realized my mistake, but what shall I do now? Should I edit the .frozen file or what? Please help.

You just need to delete CriticalTemperatureGauge.frozen in your patch-1 branch so both changes are being examined together in the PR.


better error messaging when attempting some aggregations on string values

Inspired by https://github.com/influxdb/influxdb/issues/3240#issuecomment-119742593. It's easy enough when getting started to accidentally store numerical values as strings. The confusion worsens because grafana will graph the strings as numerical values, so it only breaks down when using aggregations within InfluxDB.
Neither the CLI nor the query itself return any warnings or indications that the values are strings, and the aggregations that require numbers just return nothing. Perhaps we can check types to return a better warning or error.

closing in favor of https://github.com/influxdb/influxdb/issues/3818


Feature request: Purge pcaps based on criterias

I would like to be able to purge some of the stored pcaps (not necessarily metadata) based on some criterias. For example, purge all sessions going to ip addresses belonging to AS15169 (google).
The general idea is to increase storage space available for the raw traffic by selectively purging parts of data. The idea is to go beyond what could be filtered out by BPF expressions applied at capture time.
If needed I can clarify and expand this request.

It is already possible to scrub pcap and optionally meta data if the Remove Data attribute is set for the operator user.  However this does not free pcap space, although it will free ES space if you remove the meta data.

You can also record meta data and partial pcap by using the dontSaveTags or dontSaveBPF settings.

Deleting partial pcap after the fact isn't possible and because of how the pcap is stored isn't practical at this time.


display all misconfiguration in the same error message

Hello!

Vote on this issue by adding a 👍 reaction
If you want to implement this feature, comment to let us know (we'll work with you on design, scheduling, etc.)

Issue details
As I was complaining, I thought of a solution.
Can we take all of the checks for provider configuration, and display them at the same time instead of failing iteratively.
Desired State
if none are set:
    error: unable to configure AWS provider. Make sure you have all of the following configured:

     	 [ ] Set your AWS region, e.g. `pulumi config set aws:region us-west-2`
     	 [ ] Configured your AWS credentials(https://pulumi.io/install/aws.html)

if one is set, but not the other:
    error: unable to configure AWS provider. Make sure you have all of the following configured:

     	 [x] Set your AWS region, e.g. `pulumi config set aws:region us-west-2`
     	 [ ] Configured your AWS credentials(https://pulumi.io/install/aws.html)

Current State:
    error: unable to find a AWS Region config. Set the Region by using:

     	 • `pulumi config set aws:region us-west-2` or
     	 • An AWS Profile or
     	 • Environment variables:`AWS_REGION` or `AWS_DEFAULT`

after resolving this, my creds were not configured and I received this error message
    error: unable to validate AWS credentials. Make sure you have:

     	 • Set your AWS region, e.g. `pulumi config set aws:region us-west-2`
     	 • Configured your AWS credentials as per https://pulumi.io/install/aws.html
     	 You can also set these via cli using `aws configure`.

Motivation
I was using pulumi-aws and the error message confused me as there is an error message/check to see that the region is set.
    error: unable to find a AWS Region config. Set the Region by using:

     	 • `pulumi config set aws:region us-west-2` or
     	 • An AWS Profile or
     	 • Environment variables:`AWS_REGION` or `AWS_DEFAULT`

after resolving this, my creds were not configured and I received this error message
    error: unable to validate AWS credentials. Make sure you have:

     	 • Set your AWS region, e.g. `pulumi config set aws:region us-west-2`
     	 • Configured your AWS credentials as per https://pulumi.io/install/aws.html
     	 You can also set these via cli using `aws configure`.

can we remove the line suggesting
     	 • Set your AWS region, e.g. `pulumi config set aws:region us-west-2`

since it seems that there is a pre-existing region check that will catch and suggest solutions for that error case?
Did we reorder the checks for valid credentials and provider config values.
recording of session: https://asciinema.org/a/UlijRAOxYbMFc4LW9M5pP5ZMa

Affected area/feature

This is a very nice enhancement.
Maybe the message should be something like the following to help the densest amongst us to deduce that no action is needed for an item with [x] next to it.
    error: unable to configure AWS provider.
    See following checklist for missing items:
       [ ] ....

Unfortunately, I need to remove the explicit check for the region as we actually do fall back to the shared credentials for the check in the TF provider so by adding this check, we've regressed the provider.
Therefore, I am going to close this out as part of #2120 as we won't have 2 different error messages any more

Unfortunately, I need to remove the explicit check for the region as we actually do fall back to the shared credentials for the check in the TF provider so by adding this check, we've regressed the provider.

Therefore, I am going to close this out as part of https://github.com/pulumi/pulumi-aws/pull/2120 as we won't have 2 different error messages any more

Would I still run into 2 different error messages sequentially if my creds were outdated and I had also forgotten to run pulumi config set aws:region us-east-1?


Version '2.6.10' for 'mongodb' was not found

Hi all,
Firstly, thank you for maintaining this cookbook, such fantastic work.
I am very new to Chef and AWS, trying to pick up where our ex-dev ops person left off. I have made sure all the recipes and config files were up to date, but I keep getting the following error:
================================================================================
Error executing action `install` on resource 'package[mongodb]'
================================================================================

Mixlib::ShellOut::ShellCommandFailed
------------------------------------
Expected process to exit with [0], but received '100'
---- Begin output of apt-get -q -y -o Dpkg::Options::="--force-confold" --force-yes install mongodb=2.6.10 ----
STDOUT: Reading package lists...
Building dependency tree...
Reading state information...
STDERR: E: Version '2.6.10' for 'mongodb' was not found
---- End output of apt-get -q -y -o Dpkg::Options::="--force-confold" --force-yes install mongodb=2.6.10 ----
Ran apt-get -q -y -o Dpkg::Options::="--force-confold" --force-yes install mongodb=2.6.10 returned 100

Resource Declaration:
---------------------
# In /var/lib/aws/opsworks/cache.stage2/cookbooks/knotch_mongodb/recipes/install.rb

78:   package node[:mongodb][:package_name] do
79:     options packager_opts
80:     action :install
81:     version node[:mongodb][:package_version]
82:   end
83: end

Compiled Resource:
------------------
# Declared in /var/lib/aws/opsworks/cache.stage2/cookbooks/knotch_mongodb/recipes/install.rb:78:in `from_file'

package("mongodb") do
action [:install]
retries 0
retry_delay 2
options "-o Dpkg::Options::=\"--force-confold\" --force-yes"
package_name "mongodb"
version "2.6.10"
cookbook_name "knotch_mongodb"
recipe_name "install"
end

Any help would be amazing, thank you!

Try setting "install_method" = "mongodb-org".  It appears that you are using the package manager and it may only have an older version available.

@robomon1 holy moly that worked thank you!!!


Tools are mixed with recipe ingredients

It might be useful to split the ingredients between tools and consumed ingredients. Currently they are mixed and sorted by complexity.

I played around with this but it is hard to distinguish certain objects. Such as a tree, should it be a tool? It isn’t really consumed though.
Closing this since it won’t add much.


Updated CLI Docs for appsody list and appsody init changes

Updated Environment variables doc with APPSODY_PROJECT_DIR table
Updated initialization doc initializing project doc with latest appsody list and appsody init syntax.

@tomleah @Kamran64 I could not get the table to line up column wise in environment-variables.md
Also the output of appsody list correctly formatted on the website, but does not seem to format in the .md below.
Also the build is failing with "YAMLException: duplicated mapping key at line 32, column 5:
      id: nodejs-loopback

      ^"

could it  be it can't tell the difference between:
Appsody Shell Variables and # Appsody Environment Variables?
Could you open request revisions and give me some feedback on how to change it?
I tested the output using gatsby develop.

Looks good, added a couple of minor changes including a fix for the column width. Still looking into why appsody list isn't formatting properly in the .md - Although I'm noticing this problem also exists in https://github.com/appsody/website/blob/master/content/docs/stacks/create.md

I made the change re: %nbsp;
I don't think we should mess with the .css, unless someone on the website team makes that change, because of possible downstream effects???

Sorry @kewegner, I didn't mention we put a fix in for the spacing with css in https://github.com/appsody/website/pull/186
So I don't think   is needed here anymore

@tomleah are there any fixes for the columns spacing issue?  I can remove the

removed the

My thought was the column spacing would be okay to leave @kewegner and let the content determine the spacing here. If others disagree I think we can open a separate issue for it and contain this PR 🙂

Fine with me, I've set the requested changes to resolved.


Various invalid urls or .md links that don't exist

I wrote a heuristic script that can be run to check this repo for 'invalid links'. Invalid links are http/s links that 404, have ssl issues, or take longer than 60 seconds to load. Invalid md links are to md files that don't appear to be in the repo.
The script outputs two files: invalid_links_in_files.txt and invalid_links_per_file.txt.
The first of which prints files then invalid links within said file.
The second of which prints an invalid link and then the files that have references to it.
Attaching the script and examples of the two output files.
Can we have something like this in a CI process to ensure that docs don't have broken links and references?
invalid_links_in_files.txt
invalid_links_per_file.txt
'''
validate_links.py - Charles Machalow (MIT License)
'''

import re
import collections
import os
import multiprocessing.pool
import multiprocessing

import requests
import traceback

USE_PROCESSES = True
if USE_PROCESSES:
    Pool = multiprocessing.Pool
else:
    Pool = multiprocessing.pool.ThreadPool

DOC_SRC = os.path.abspath(os.path.join(os.path.dirname(__file__), 'wdk-ddi-src'))
THIS_DIR = os.path.abspath(os.path.join(DOC_SRC, os.pardir))

URL_FINDER_REGEX = re.compile(rb'(http[s|].+?)[\s|\"|\)|\(|\|\<)]')
MD_FINDER_REGEX = re.compile(rb'\((.+?\.md)\)')

def getAllFileNames():
    allFileNames = set()
    for root, dirs, files in os.walk(DOC_SRC):
        for name in files:
            allFileNames.add(name.lower())

    return allFileNames

ALL_FILE_NAMES = getAllFileNames()

def linkValid(url):
    url = url.lower()
    if url.endswith('.md'):
        return url in ALL_FILE_NAMES or url.replace('_', '') in ALL_FILE_NAMES
    elif url.startswith('http'):
        try:
            return requests.get(url, timeout=60).status_code != 404
        except:
            print ("Invalid url via exception (%s)" % url)
            traceback.print_exc()
            return False
    else:
        return False

if __name__ == '__main__':
    pool = Pool(128)
    urlsToResults = {}
    filesToUrls = collections.defaultdict(set)
    for root, dirs, files in os.walk(DOC_SRC):
        for name in files:
            fullPath = os.path.join(root, name)
            with open(fullPath, 'rb') as f:
                txt = f.read()
                matches = re.findall(URL_FINDER_REGEX, txt)
                matches.extend(re.findall(MD_FINDER_REGEX, txt))
                for url in matches:
                    if b' ' not in url:
                        url = url.decode()

                        if url.lower().endswith('.md'):
                            # hack. (todo: fix regex)
                            url = url.split('(')[-1]
                            url = url.split('/')[-1].split('\\')[-1]

                        filesToUrls[os.path.relpath(fullPath, DOC_SRC)].add(url)
                        if url not in urlsToResults:
                            print ("Testing url: %s" % url)
                            #if url.endswith('.md'):
                            #    linkValid(url)
                            urlsToResults[url] = pool.apply_async(linkValid, (url,))

    for idx, (key, value) in enumerate(urlsToResults.items()):
        print ("On %d / %d." % (idx + 1, len(urlsToResults)))
        while True:
            try:
                urlsToResults[key] = value.get(2)
            except multiprocessing.TimeoutError:
                print ("Still stuck on %s" % key)
                continue
            else:
                break

    pool.close()
    pool.join()

    with open(os.path.join(THIS_DIR, 'invalid_links_in_files.txt'), 'w') as f:
        f.write ("The following files have the following invalid links:\n")
        for filePath, urls in filesToUrls.items():
            if urls:
                printedHead = False
                for i in set(urls):
                    if not urlsToResults[i]:
                        if not printedHead:
                            f.write (filePath + '\n')
                            printedHead = True
                        f.write ('  ' + i + '\n')

    with open(os.path.join(THIS_DIR, 'invalid_links_per_file.txt'), 'w') as f:
        f.write ("The following invalid links are found in the following files\n")
        for url, result in urlsToResults.items():
            if not result:
                f.write(url + '\n')
                for filePath, urls in filesToUrls.items():
                    if url in urls:
                        f.write ('  ' + filePath + '\n')

    print ("Done")

Thanks @csm10495 for the great feedback.  We're figuring out how best to address it with limited resources.

Hi again @csm10495, I created an internal work item on myself to work on broken links in our docs.  Really appreciate your taking the time to write and run your script on this content set.


chore: Add bootstrap_cache for avm-transpiler

Allows the avm-transpiler binary to be downloaded from the CI cache instead of built locally if BOOTSTRAP_USE_REMOTE_CACHE is set.

Benchmark results
No metrics with a significant change found.

Detailed results
All benchmarks are run on txs on the Benchmarking contract on the repository. Each tx consists of a batch call  to create_note and increment_balance, which guarantees that each tx has a private call, a nested private call, a public call, and a nested public call, as well as an emitted private note, an unencrypted log, and public storage read and write.
This benchmark source data is available in JSON format on S3 here.
Values are compared against data from master at commit 47a0a79f and shown if the difference exceeds 1%.
L2 block published to L1
Each column represents the number of txs on an L2 block published to L1.

Metric
8 txs
32 txs
128 txs

l1_rollup_calldata_size_in_bytes
45,412
179,524
716,068

l1_rollup_calldata_gas
221,632
866,896
3,448,408

l1_rollup_execution_gas
314,119
984,636
3,668,065

l2_block_processing_time_in_ms
1,165
4,398 (+1%)
17,429 (+1%)

note_successful_decrypting_time_in_ms
302 (-4%)
1,003 (+4%)
3,784 (+4%)

note_trial_decrypting_time_in_ms
15.3 (-39%)
34.4 (-65%)
150 (+6%)

l2_block_building_time_in_ms
18,207
72,108
289,473

l2_block_rollup_simulation_time_in_ms
13,062
51,726
208,135

l2_block_public_tx_process_time_in_ms
5,119 (-1%)
20,305
81,084

L2 chain processing
Each column represents the number of blocks on the L2 chain where each block has 16 txs.

Metric
5 blocks
10 blocks

node_history_sync_time_in_ms
13,691
26,304 (-1%)

note_history_successful_decrypting_time_in_ms
2,326 (-9%)
4,567 (+1%)

note_history_trial_decrypting_time_in_ms
89.1 (-44%)
224 (+9%)

node_database_size_in_bytes
17,342,544
32,981,072 (-1%)

pxe_database_size_in_bytes
29,923
59,478

Circuits stats
Stats on running time and I/O sizes collected for every circuit run across all benchmarks.

Circuit
circuit_simulation_time_in_ms
circuit_input_size_in_bytes
circuit_output_size_in_bytes

private-kernel-init
308
44,481
26,193

private-kernel-ordering
195 (+1%)
44,513
14,929

base-rollup
1,403
128,970
881

root-rollup
82.4
4,088
677

private-kernel-inner
411
71,640
26,193

public-kernel-private-input
242
32,615
26,193

public-kernel-non-first-iteration
242
32,657
26,193

merge-rollup
7.73 (+1%)
2,608
881

Tree insertion stats
The duration to insert a fixed batch of leaves into each tree type.

Metric
0 deployed contracts
1 deployed contracts

tx_size_in_bytes
15,575
37,972

Transaction processing duration by data writes.

Metric
0 new commitments
1 new commitments

tx_pxe_processing_time_ms
550 (+1%)
1,374

Metric
0 public data writes
1 public data writes

tx_sequencer_processing_time_ms
0.518 (+5%)
630


Adding better json return

Make sure you have checked all steps below.
Jira

[x] My PR addresses the following Airflow Jira issues and references them in the PR title. For example, "[AIRFLOW-XXX] My Airflow PR"

https://issues.apache.org/jira/browse/AIRFLOW-XXX
In case you are fixing a typo in the documentation you can prepend your commit with [AIRFLOW-XXX], code changes always need a Jira issue.

Description

[x] Here are some details about my PR, including screenshots of any UI changes:
Scenario -> Developer wants to trigger DAG_RUN through API

Issue -> Current rest API "/api/experimental/dags/<dag_id>dag_runs"returns message like below, which makes difficult for developer to figure out execution date/run_id and execution date/run_id extract logic has to be written
{ "message": "Created <DagRun example_bash_operator @ 2018-12-03 11:16:36+00:00: manual__2018-12-03T11:16:36+00:00, externally triggered: True>" }
Improvement Suggestion -> rest API "/api/experimental/dags/<dag_id>dag_runs" should return json representing dag_run object , something like below
{ "dag_id": "example_bash_operator", "dag_run_url": "/admin/airflow/graph?execution_date=2018-12-03+11%3A11%3A18%2B00%3A00&dag_id=example_bash_operator", "execution_date": "2018-12-03T11:11:18+00:00", "id": 142, "run_id": "manual__2018-12-03T11:11:18+00:00", "start_date": "2018-12-03T11:11:18.267197+00:00", "state": "running" }
\
With the Json returned as shown above , picking dag_run details becomes easy.
Tests

[ ] My PR adds the following unit tests OR does not need testing for this extremely good reason:

Commits

[ ] My commits all reference Jira issues in their subject lines, and I have squashed multiple commits if they address the same issue. In addition, my commits follow the guidelines from "How to write a good git commit message":

Subject is separated from body by a blank line
Subject is limited to 50 characters (not including Jira issue reference)
Subject does not end with a period
Subject uses the imperative mood ("add", not "adding")
Body wraps at 72 characters
Body explains "what" and "why", not "how"

Documentation

[ ] In case of new functionality, my PR adds documentation that describes how to use it.

When adding new operators/hooks/sensors, the autoclass documentation generation needs to be added.

Code Quality

[ ] Passes flake8

PRs should be against the master branch, not the release branch please.
Additionally you need tests - I think you end up with "start_date": True in your output


Storing GitHub request ID and retry-after header

This adds two additional headers to those available in
the response metadata:
X-GitHub-RequestId: ID that is helpful to GitHub support if needed
Retry-After: to address abuse rate limits as documented in the GitHub
documentation at https://developer.github.com/guides/best-practices-for-integrators/#dealing-with-abuse-rate-limits

Thanks!


in v1.5.6 SweepGradient(Array) can not pass the value from java code because of generic array type in kotlin.

in 1.5.5 it was SweepGradient(List<Pair<Float, Int>>))  ==> java list is working
in 1.5.6 it is SweepGradient(Array<Pair<Float, Int>>)) ==> here is generic array so can not convert from java to kotlin

It will be list again in next releases


Remove complicated heuristics for $domain modifier

I mean

$domain modifier matching target domain:

In some cases the $domain modifier can match not only the referrer domain, but also the target domain. This happens when all the following conditions are met:

The request has the document content type
The rule pattern does not match any particular domains
The rule pattern does not contain regular expressions
The $domain modifier contains only excluded domains, e.g. $domain=~example.org|~example.com

This seems to be the culprit of false positive I fixed.
STR:

Add ://www2.etc-$document,domain=com|net|icu
Set languages for Google search to Japanese (and maybe use Japanese VPN).
Search for ETC利用照会サービス
Click ログイン

IMO the heuristics is no more needed, as we now have $to and it should be decided by filter author in actual context.

As I recall there were lots of $cookie rules that were using $domain to point to a target domain?

As I recall there were lots of $cookie rules that were using $domain to point to a target domain?

They can be converted to $to.

But are they converted in other filter lists? Like uBO lists for instance?

uBO doesn't support $cookie in the first place.

Sorry, I may be confusing things now, but I recall that in uBO filters something similar was used for other rule types, maybe it was $removeparam?

I don't remember, but I can say we uBO team always assume $domain works as $from, meaning it is used only for base domain than target.

Got it, thank you! I generally like the idea and this whole heuristic was made for compatibility reasons back in the day.

All save for Safari-based: https://github.com/AdguardTeam/SafariConverterLib/issues/60

It's a bit problematic if we have to use $domain for Safari and $to for MV3. Fortunately there are not too many $document rules with $domain so maybe we can use hint or !#if.

Safari most likely won't be able to apply $to properly anyway


[2620] Add static maintenance page for offline mode

Context
Offline maintenance page

https://github.com/alphagov/govuk-design-system-backlog/issues/129

Changes proposed in this pull request
Add a hardcoded static maintenance page
Guidance to review
/maintenance
After

Checklist

[x] Make sure all information from the Trello card is in here
[x] Attach to Trello card
[x] Rebased master
[x] Cleaned commit history
[x] Tested by running locally

 Build a maintenance page for PUBLISH

Should this be in the app? If our app isn't running then this won't be served out ...
I thought we were going to have a separate app, maybe even an NGinx Docker image, that would serve out a single static page when our app is down.

@misaka this PR, just creates the static HTML page. What we do with it, where we store and how we use it is still up for debate cc. @rizzkhan1  @defong

Feels more of an infrastructure thing more than anything else
I leave it @rizzkhan1 to cast judgement.
This static page needs to be stored some where, served somehow, and triggered some what.

I've got an nginx container that will serve out a single file no matter what the URL, and log the request to logit. It's not codified into a Dockerfile yet, but I've got the steps to recreate so will have a look at doing that. This will be runable as an Azure webapp.

So nginx going to live in here
https://github.com/DFE-Digital/manage-courses-backend/blob/0ade37723d40979402bff0c19d28b493b8a33ecd/Dockerfile
or some where else? if so can i reject this please..

So nginx going to live in here

It'll be a different Dockerfile. You can request changes to whatever you like.


Cannot create with Kitematic due to unauthorized access (incorrect User/Pass)

Expected behavior
Be able to create the docker container and pull it on local with Kitematic
Actual behavior
(HTTP code 500) server error - {"message":"Get https://registry-1.docker.io/v2/library/ruby/manifests/latest: unauthorized: incorrect username or password"}
Information about the Issue
I logged out of Kitematic, updated my password on Docker Hub, and then relogged in (successfully) into kitematic. I get the same issue.
Steps to reproduce the behavior

Attempt to create container
If it fails, log out of kitematic, and update password on Docker Hub
After updating password, log in to Kitematic again, attempt to create docker container
Profit (or rather, fail again).

Make sure to use your docker id and not your docker email.


[RFC]: Add C implementation for @stdlib/math/base/special/rad2deg

Description
This RFC proposes adding a C implementation for @stdlib/math/base/special/rad2deg.
double stdlib_base_rad2deg( const double rad );

Related Issues
None.
Questions
No.
Other
No.
Checklist

[X] I have read and understood the Code of Conduct.
[X] Searched for existing issues and pull requests.
[X] The issue name begins with RFC:.

@Pranavchiku LGTM. To match the JS API, one minor change would be
double stdlib_base_rad2deg( const double x );

Thanks for working on this!


Method is generated twice if you override the method in a base class

The getAll method was generated twice.
Code
abstract class BaseDao<T extends EntryLogBase> {
  @floor.Query(r'SELECT * FROM teste')
  Future<List<T>> getAll();
}

@floor.dao
abstract class MaquinaTipoDao extends BaseDao<MaquinaTipoEntry> {
  @override
  @floor.Query(r'SELECT * FROM teste WHERE ...')
  Future<List<MaquinaTipoEntry>> getAll();
}

Change this code
https://github.com/vitusortner/floor/blob/296c783bd49a3a4a7f14e496dd95b26ebde4a400/floor_generator/lib/processor/dao_processor.dart#L47-L50
To
    final classElementMethods = _classElement.methods;
    final methodsNotOverlaid = _classElement.allSupertypes
        .expand((type) => type.methods)
        .where((e) => classElementMethods.every((eb) => e.displayName != eb.displayName));
    final methods = [
      ...classElementMethods,
      ...methodsNotOverlaid,
    ];

good catch!


Cannot update AppImages hosted on GitLab CI

# Get "old" AppImage
linux@host:~> wget -c "https://gitlab.com/probono/QtQuickApp/-/jobs/73879740/artifacts/raw/QtQuickApp-x86_64.AppImage"

# Check whether it has a correct zsync URL
linux@host:~> Downloads/appimageupdatetool-329-7260f32-x86_64.AppImage -d QtQuickApp-x86_64.AppImage
Parsing file: QtQuickApp-x86_64.AppImage
AppImage type: 2
Raw update information: zsync|https://gitlab.com/probono/QtQuickApp/-/jobs/artifacts/master/raw/QtQuickApp-x86_64.AppImage.zsync?job=trusty
Update information type: Generic ZSync URL
Assembled ZSync URL: https://gitlab.com/probono/QtQuickApp/-/jobs/artifacts/master/raw/QtQuickApp-x86_64.AppImage.zsync?job=trusty

# Check
linux@host:~> Downloads/appimageupdatetool-329-7260f32-x86_64.AppImage -j QtQuickApp-x86_64.AppImage
zsync2: Bad status code 200 while trying to download .zsync file!
zsync2: Reading and/or parsing .zsync file failed!

# Try to update
linux@host:~> Downloads/appimageupdatetool-329-7260f32-x86_64.AppImage QtQuickApp-x86_64.AppImage
Checking for updates...
zsync2: Bad status code 200 while trying to download .zsync file!
zsync2: Reading and/or parsing .zsync file failed!
Update check failed, exiting!

I suspect it has to do with the fact that there is a HTTP argument (?=...) involved?

How can one turn on curl debugging output in appimagetool?

In the case of GitLab,
https://gitlab.com/probono/QtQuickApp/-/jobs/artifacts/master/raw/QtQuickApp-x86_64.AppImage.zsync?job=trusty
redirects to the latest build (the number may have increased since I posted this) at
https://gitlab.com/probono/QtQuickApp/-/jobs/73880276/artifacts/raw/QtQuickApp-x86_64.AppImage.zsync

# the real AppImage is available in the same redirected location:

https://gitlab.com/probono/QtQuickApp/-/jobs/artifacts/master/raw/QtQuickApp-x86_64.AppImage?job=trusty
# and (the number may have increased since I posted this)
https://gitlab.com/probono/QtQuickApp/-/jobs/73880276/artifacts/raw/QtQuickApp-x86_64.AppImage

So it looks good to me, I suspect there must be a bug in zsync2 and/or AppImageUpdate that gets confused.

Ping @TheAssassin. Would be great if you could look into it. Thanks!

This is caused by https://github.com/AppImage/zsync2/blob/293d65d2683cca8d579efd97a0e31634b21956ca/src/zsclient.cpp#L321-L323. I think it should be save to store the original URL as "referer", and resolve relative links from there.

So it is working for you using the continuous build? I'll need to test again then...

@probonopd I tested a locally built version. I will test with the released AppImage later.

Definitely not working for me with today's latest continous build. Tested on Xubuntu 18.04:
2018-07-05 07:03:57 (4.62 MB/s) - ‘QtQuickApp-x86_64.AppImage’ saved [21309368/21309368]

me@host:~$ Downloads/appimageupdatetool-330-6f8f515-x86_64.AppImage QtQuickApp-x86_64.AppImage
Checking for updates...
zsync2: Bad status code 200 while trying to download .zsync file!
zsync2: Reading and/or parsing .zsync file failed!
Update check failed, exiting!
me@host:~$ Downloads/appimageupdatetool-330-6f8f515-x86_64.AppImage QtQuickApp-x86_64.AppImage -d

Parsing file: QtQuickApp-x86_64.AppImage
AppImage type: 2
Raw update information: zsync|https://gitlab.com/probono/QtQuickApp/-/jobs/artifacts/master/raw/QtQuickApp-x86_64.AppImage.zsync?job=trusty
Update information type: Generic ZSync URL
Assembled ZSync URL: https://gitlab.com/probono/QtQuickApp/-/jobs/artifacts/master/raw/QtQuickApp-x86_64.AppImage.zsync?job=trusty
me@host:~$ Downloads/appimageupdatetool-330-6f8f515-x86_64.AppImage QtQuickApp-x86_64.AppImage -j
zsync2: Bad status code 200 while trying to download .zsync file!
zsync2: Reading and/or parsing .zsync file failed!

At a first glance, it looks like GitLab don't support partial responses... I will have to test it a bit myself with curl, I guess.

Check this out:
curl -v "https://gitlab.com/probono/QtQuickApp/-/jobs/73890732/artifacts/raw/QtQuickApp-x86_64.AppImage.zsync"
# redirects with "302 Found" to below URL
# trying to get a partial response
curl -v -X GET -H "range: bytes=-100" "https://gitlab.com/probono/QtQuickApp/-/jobs/73890732/artifacts/raw/QtQuickApp-x86_64.AppImage.zsync"
# yields a "200 OK" response, not a "206 Partial Content" one, and provides the entire body of the file

AppImageUpdate tries to fetch only the first few bytes of the zsync file when checking for updates to not have to download it entirely, as it only needs the header for this. Therefore and also for the later update process, it requires Partial Content support from the webservers. GitLab doesn't support this at all, so we can't use it with AppImageUpdate. This is out of scope of AppImageUpdate.

requires Partial Content support from the webservers. GitLab doesn't support this at all

Uh. Thanks for finding this out. I will open a feature request with them.

Blocked by https://gitlab.com/gitlab-com/support-forum/issues/3655

Bintray also broke partial requests, see https://github.com/AppImage/zsync2/issues/5#issuecomment-462917555. This is so annoying...

As another workaround, one might want to use https://raw.githack.com/ which uses https://www.cloudflare.com/. Works!
me@host:~$ curl -v -X GET -H "range: bytes=8-10" https://glcdn.githack.com/scribus/scribus/-/jobs/227157068/artifacts/raw/Scribus-2f0ab15-x86_64.AppImage | xxd
Note: Unnecessary use of -X or --request, GET is already inferred.
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
  0     0    0     0    0     0      0      0 --:--:-- --:--:-- --:--:--     0*   Trying 2606:4700:30::681b:b7fc...
* TCP_NODELAY set
* Connected to glcdn.githack.com (2606:4700:30::681b:b7fc) port 443 (#0)
* ALPN, offering h2
* ALPN, offering http/1.1
* successfully set certificate verify locations:
*   CAfile: /etc/ssl/certs/ca-certificates.crt
  CApath: /etc/ssl/certs
} [5 bytes data]
* TLSv1.2 (OUT), TLS handshake, Client hello (1):
} [215 bytes data]
* TLSv1.2 (IN), TLS handshake, Server hello (2):
{ [100 bytes data]
* TLSv1.2 (IN), TLS handshake, Certificate (11):
{ [3632 bytes data]
* TLSv1.2 (IN), TLS handshake, Server key exchange (12):
{ [115 bytes data]
* TLSv1.2 (IN), TLS handshake, Server finished (14):
{ [4 bytes data]
* TLSv1.2 (OUT), TLS handshake, Client key exchange (16):
} [37 bytes data]
* TLSv1.2 (OUT), TLS change cipher, Client hello (1):
} [1 bytes data]
* TLSv1.2 (OUT), TLS handshake, Finished (20):
} [16 bytes data]
* TLSv1.2 (IN), TLS handshake, Finished (20):
{ [16 bytes data]
* SSL connection using TLSv1.2 / ECDHE-ECDSA-CHACHA20-POLY1305
* ALPN, server accepted to use h2
* Server certificate:
*  subject: OU=Domain Control Validated; OU=PositiveSSL Multi-Domain; CN=sni177193.cloudflaressl.com
*  start date: Apr  5 00:00:00 2019 GMT
*  expire date: Oct 12 23:59:59 2019 GMT
*  subjectAltName: host "glcdn.githack.com" matched cert's "*.githack.com"
*  issuer: C=GB; ST=Greater Manchester; L=Salford; O=COMODO CA Limited; CN=COMODO ECC Domain Validation Secure Server CA 2
*  SSL certificate verify ok.
* Using HTTP2, server supports multi-use
* Connection state changed (HTTP/2 confirmed)
* Copying HTTP/2 data in stream buffer to connection buffer after upgrade: len=0
} [5 bytes data]
* Using Stream ID: 1 (easy handle 0x55cf2dc9bbb0)
} [5 bytes data]
> GET /scribus/scribus/-/jobs/227157068/artifacts/raw/Scribus-2f0ab15-x86_64.AppImage HTTP/2
> Host: glcdn.githack.com
> User-Agent: curl/7.58.0
> Accept: */*
> range: bytes=8-10
>
{ [5 bytes data]
* Connection state changed (MAX_CONCURRENT_STREAMS updated)!
} [5 bytes data]
< HTTP/2 206
< date: Mon, 10 Jun 2019 14:37:54 GMT
< content-type: application/octet-stream
< content-length: 3
< set-cookie: __cfduid=d8b3230ff46d36bacfeb1569ec2416a141560177474; expires=Tue, 09-Jun-20 14:37:54 GMT; path=/; domain=.githack.com; HttpOnly
< x-content-type-options: nosniff
< x-request-id: oadW70qqp92
< x-runtime: 0.042011
< x-ua-compatible: IE=edge
< strict-transport-security: max-age=31536000
< referrer-policy: strict-origin-when-cross-origin
< expires: Thu, 31 Dec 2037 23:55:55 GMT
< cache-control: max-age=315360000
< x-robots-tag: none
< cache-control: public, immutable
< access-control-allow-origin: *
< x-githack-cache-status: MISS
< cf-cache-status: HIT
< content-range: bytes 8-10/121565160
< expect-ct: max-age=604800, report-uri="https://report-uri.cloudflare.com/cdn-cgi/beacon/expect-ct"
< server: cloudflare
< cf-ray: 4e4c1601898c63fb-FRA
<
{ [3 bytes data]
100     3  100     3    0     0     38      0 --:--:-- --:--:-- --:--:--    38
* Connection #0 to host glcdn.githack.com left intact
00000000: 4149 02                                  AI.

Isn't that something people should just put in as update information then?

Yes, I'm just thinking about how. In my Scribus example, 227157068 is the GitLab CI build number. How would we deal with that? Wouldn't we need a GitLab specific Transport mechanism that would trigger the updater to resolve to "latest"? Or did we already find a better solution?

Prominent AppImage users like Inkscape and Scribus are on GitLab CI, so getting this to work would be really beneficial.

You need a special transport type I guess, so magic strings are . But that shouldn't be called "GitLab" simply then. This is clearly a baaaaaaad hack around their inability to provide a feature that will save them money.
I think at first we should apply more pressure on GitLab. I don't see Inkscape/Scribus here, nor in that bug report. Why not raise awareness and wait before implementing bad hacks?

Actually there are two separate issues:

GitLab makes it way too hard to have a permalink to the latest build artefacts. Inkscape was forced to publish these lengthy instructions
GitLab CI artifacts hosting does not support Range Requests without the use of external CDNs such as https://raw.githack.com/

I think if we would implement a Transport mechanism to work around 1, then nothing special would be needed to also support 2 if implemented correctly, the user would just put a githack.com URL instead of a gitlab.com URL into the update information.

1 is actually solved, https://gitlab.com/gitlab-com/support-forum/issues/4570

Then maybe raise awareness for 2 with those projects you mentioned and try to get it solved that way.

Semi-related, also opened

[Feature Request] Please support HTTP Redirects for GitLab CI artifacts downloads

https://gitlab.com/gitlab-com/support-forum/issues/4572


(feature request) Add ability to group image downloads by prompt

First off, thanks for this awesome tool. Excited to see it continually get better and better.
The idea is that a list of prompts like this:
album: my-mj-album
prompts:
  - frog on leaf
  - dog running
  - mountain lake

would output the generated images into the following folders:
/my-mj-album/images/frog-on-leaf/{images}
/my-mj-album/images/dog-running/{images}
/my-mj-album/images/mountain-lake/{images}

Additional (related) feature requests):

include (in each generated subdirectory) a simple txt or json with the associated prompt text.
customize the filename structure (maybe exposing some simple variables, such as timestamp, count, etc, meaning we could do something like imageFileNameStructure: mj-image-{count})

Hi @jaymakes11! Thanks for your proposal.
I guess both subfolder logic and file name pattern could be implemented by a "filename-pattern" parameter or something similar. This will require defining template variables such as {prompt}, {timestamp}, etc.
This isn't a bad feature, but I'm afraid it won't add much value to the tool. So I won't prioritize it.
Meanwhile you could achieve something similar by launching the tool several times with different album names. Or even adding a bash script that creates the subfolders and rename files after bulkai has finished.


Possible issue when handling really big non-null-terminated strings (like std::string_view)

First of all, printx is awesome! Really really awesome.
But we may have an issue here
https://github.com/rokudev/rostd/blob/e8f2be882f88c2e367caec7e3db218bb1274d354/include/rostd/printx.hpp#L127
What if the size if too big for an int?
I agree that the likelihood of someone trying to print a string with more than 2 billion chars is extremely small and, in fact, before stumbling upon printx, I've been printing non null-terminated strings exactly like the library does it. There are, of course, systems where int is only 16 bits but, then again, those guys will probably crash and burn way before one starts trying to print 33K char strings.
The most harmless solution I could think of would be using std::min with std::numeric_limits<int>::max() to cap the value in case is too big.
I must confess though I'd rather see the code staying exactly like it is right now than to add stuff that might cause performance penalties.
Anyway, just thought I should put the issue out there.
PS: printx is awesome!

Another hacky alternative would be to, somehow, replace the the ".*s" by ".*s.*s" and then pass the remainder of the string to that second .*s
And to think all this mess wouldn't be need if they just created a real specifier for non null-terminated stuff. Tsc...

The printf spec says it's an integer, so whatever it is, it's cast to an int. If the caller's value is too big to fit in an int, that's something the caller will need to account for. Doing so in the library would be a relatively significant amount of work for very little gain.
Thanks for the suggestion!


Fixes in part issue 51

Server-side check so that when you add products to the cart, if you are trying to add more than however many are available, it will only add the available quantity, unless back-order is allowed.
If you still wish to increase the quantity in order, you can. In the cart views, beside the number, you will have a string telling you how many are in stock, and whether back-order is allowed.
If you have in the cart out of stock product, the checkout buttons will not show.

Thanks, good change. I've wanted that forever...

Thanks


[AST node generator] Implement the generator V1

Description:
$subject, for a subset of ballerina constructs (grammar)

This is addressed in #21162 #21163 #21164


Add support for hardware compression on s390x for zlib-ng

Docs: https://github.com/zlib-ng/zlib-ng/tree/develop/arch/s390

Please don't duplicate the common settings. You can declare a variable for the builder and then call some of the methods conditionally.

Sorry for the wait, I have made the changes you requested and also run a few benchmarks showing up to 20x speedup with decompression and up to 220x increase in compression (at levels 1-7) when used through flate2

Flate2 default
   Running unittests (target/release/deps/bench-58c514034e2bbc05)
Gnuplot not found, using plotters backend
uncompressed: 3266560 bytes
compression/flate2-1.pack
                      time:   [26.246 ms 26.259 ms 26.271 ms]
Found 1 outliers among 10 measurements (10.00%)
1 (10.00%) high severe
flate2-1: 1425349 bytes
compression/flate2-1.unpack
                      time:   [16.255 ms 16.284 ms 16.349 ms]
Found 2 outliers among 10 measurements (20.00%)
1 (10.00%) high mild
1 (10.00%) high severe
compression/flate2-2.pack
                      time:   [38.978 ms 38.990 ms 39.005 ms]
Found 1 outliers among 10 measurements (10.00%)
1 (10.00%) high mild
flate2-2: 1194487 bytes
compression/flate2-2.unpack
                      time:   [14.195 ms 14.203 ms 14.209 ms]
compression/flate2-3.pack
                      time:   [58.104 ms 58.130 ms 58.163 ms]
Found 1 outliers among 10 measurements (10.00%)
1 (10.00%) high severe
flate2-3: 1111333 bytes
compression/flate2-3.unpack
                      time:   [13.354 ms 13.402 ms 13.463 ms]
Found 1 outliers among 10 measurements (10.00%)
1 (10.00%) high severe
compression/flate2-4.pack
                      time:   [69.797 ms 70.081 ms 70.445 ms]
flate2-4: 1099059 bytes
compression/flate2-4.unpack
                      time:   [13.618 ms 13.645 ms 13.704 ms]
compression/flate2-5.pack
                      time:   [84.634 ms 84.793 ms 84.965 ms]
flate2-5: 1082945 bytes
compression/flate2-5.unpack
                      time:   [13.397 ms 13.430 ms 13.498 ms]
Found 1 outliers among 10 measurements (10.00%)
1 (10.00%) high severe
Benchmarking compression/flate2-6.pack: Warming up for 3.0000 s
Warning: Unable to complete 10 samples in 5.0s. You may wish to increase target time to 6.7sor enable flat sampling.
compression/flate2-6.pack
                      time:   [121.21 ms 121.34 ms 121.48 ms]
Found 1 outliers among 10 measurements (10.00%)
1 (10.00%) high mild
flate2-6: 1071897 bytes
compression/flate2-6.unpack
                      time:   [13.205 ms 13.213 ms 13.218 ms]
Benchmarking compression/flate2-7.pack: Warming up for 3.0000 s
Warning: Unable to complete 10 samples in 5.0s. You may wish to increase target time to 7.8sor enable flat sampling.
compression/flate2-7.pack
                      time:   [141.34 ms 141.54 ms 142.03 ms]
flate2-7: 1068897 bytes
compression/flate2-7.unpack
                      time:   [13.118 ms 13.163 ms 13.225 ms]
Found 1 outliers among 10 measurements (10.00%)
1 (10.00%) high severe
Benchmarking compression/flate2-8.pack: Warming up for 3.0000 s
Warning: Unable to complete 10 samples in 5.0s. You may wish to increase target time to 8.9sor enable flat sampling.
compression/flate2-8.pack
                      time:   [161.49 ms 161.63 ms 161.77 ms]
flate2-8: 1066961 bytes
compression/flate2-8.unpack
                      time:   [13.051 ms 13.063 ms 13.074 ms]
Found 2 outliers among 10 measurements (20.00%)
2 (20.00%) high mild

Zlib-ng
   Running unittests (target/release/deps/bench-75831b7ab974fa31)
WARNING: HTML report generation will become a non-default optional feature in Criterion.rs 0.4.0.
This feature is being moved to cargo-criterion (https://github.com/bheisler/cargo-criterion) and will be optional in a future version of Criterion.rs. To silence this warning, either switch to cargo-criterion or enable the 'html_reports' feature in your Cargo.toml.

 You may wish to increase target time to 5.7s or enable flat sampling.
compression/flate2-7.pack
                      time:   [101.49 ms 102.26 ms 103.42 ms]
flate2-7: 1065662 bytes
compression/flate2-7.unpack
                      time:   [8.7837 ms 8.8895 ms 9.0759 ms]
Benchmarking compression/flate2-8.pack: Warming up for 3.0000 s
Warning: Unable to complete 10 samples in 5.0s. You may wish to increase target time to 6.3s or enable flat sampling.
compression/flate2-8.pack
                      time:   [113.64 ms 114.89 ms 116.08 ms]
flate2-8: 1063153 bytes
compression/flate2-8.unpack
                      time:   [8.8862 ms 8.9613 ms 9.0268 ms]
Found 1 outliers among 10 measurements (10.00%)
1 (10.00%) low mild

Zlib-ng + my patch witout hardware acceleration
   Running unittests (target/release/deps/bench-8c415de9634e6f9f)
WARNING: HTML report generation will become a non-default optional feature in Criterion.rs 0.4.0.
This feature is being moved to cargo-criterion (https://github.com/bheisler/cargo-criterion) and will be optional in a future version of Criterion.rs. To silence this warning, either switch to cargo-criterion or enable the 'html_reports' feature in your Cargo.toml.

Gnuplot not found, using plotters backend
uncompressed: 3266560 bytes
compression/flate2-1.pack
                      time:   [235.49 us 235.93 us 236.29 us]
                      change: [-99.621% -99.619% -99.618%] (p = 0.00 < 0.05)
                      Performance has improved.
flate2-1: 1470182 bytes
compression/flate2-1.unpack
                      time:   [411.82 us 412.07 us 412.25 us]
                      change: [-95.782% -95.762% -95.745%] (p = 0.00 < 0.05)
                      Performance has improved.
compression/flate2-2.pack
                      time:   [51.435 ms 51.526 ms 51.677 ms]
                      change: [-0.1061% +0.2418% +0.5505%] (p = 0.19 > 0.05)
                      No change in performance detected.
flate2-2: 1179064 bytes
compression/flate2-2.unpack
                      time:   [454.76 us 454.91 us 455.04 us]
                      change: [-94.987% -94.969% -94.953%] (p = 0.00 < 0.05)
                      Performance has improved.
compression/flate2-3.pack
                      time:   [61.548 ms 61.742 ms 61.872 ms]
                      change: [+0.0001% +0.3675% +0.7466%] (p = 0.08 > 0.05)
                      No change in performance detected.
flate2-3: 1132397 bytes
compression/flate2-3.unpack
                      time:   [440.53 us 440.96 us 441.98 us]
                      change: [-94.872% -94.860% -94.842%] (p = 0.00 < 0.05)
                      Performance has improved.
Found 1 outliers among 10 measurements (10.00%)
1 (10.00%) high severe
compression/flate2-4.pack
                      time:   [69.412 ms 69.624 ms 69.774 ms]
                      change: [-2.5619% -1.7645% -0.9637%] (p = 0.00 < 0.05)
                      Change within noise threshold.
flate2-4: 1086307 bytes
compression/flate2-4.unpack
                      time:   [430.13 us 430.38 us 430.67 us]
                      change: [-95.074% -95.034% -94.994%] (p = 0.00 < 0.05)
                      Performance has improved.
compression/flate2-5.pack
                      time:   [73.149 ms 73.270 ms 73.480 ms]
                      change: [-5.9472% -4.9114% -3.9668%] (p = 0.00 < 0.05)
                      Performance has improved.
Found 1 outliers among 10 measurements (10.00%)
1 (10.00%) high mild
flate2-5: 1078796 bytes
compression/flate2-5.unpack
                      time:   [428.64 us 429.26 us 429.85 us]
                      change: [-94.993% -94.966% -94.943%] (p = 0.00 < 0.05)
                      Performance has improved.
Found 2 outliers among 10 measurements (20.00%)
2 (20.00%) high mild
compression/flate2-6.pack
                      time:   [78.893 ms 78.966 ms 79.063 ms]
                      change: [-3.3955% -2.7469% -2.0639%] (p = 0.00 < 0.05)
                      Performance has improved.
Found 1 outliers among 10 measurements (10.00%)
1 (10.00%) high severe
flate2-6: 1075222 bytes
compression/flate2-6.unpack
                      time:   [426.40 us 426.51 us 426.62 us]
                      change: [-94.951% -94.926% -94.905%] (p = 0.00 < 0.05)
                      Performance has improved.
Benchmarking compression/flate2-7.pack: Warming up for 3.0000 s
Warning: Unable to complete 10 samples in 5.0s. You may wish to increase target time to 5.3s or enable flat sampling.
compression/flate2-7.pack
                      time:   [96.995 ms 97.125 ms 97.243 ms]
                      change: [-6.2515% -5.5200% -4.7046%] (p = 0.00 < 0.05)
                      Performance has improved.
flate2-7: 1065662 bytes
compression/flate2-7.unpack
                      time:   [423.29 us 423.43 us 423.71 us]
                      change: [-95.305% -95.242% -95.183%] (p = 0.00 < 0.05)
                      Performance has improved.
Found 1 outliers among 10 measurements (10.00%)
1 (10.00%) high mild
Benchmarking compression/flate2-8.pack: Warming up for 3.0000 s
Warning: Unable to complete 10 samples in 5.0s. You may wish to increase target time to 6.1s or enable flat sampling.
compression/flate2-8.pack
                      time:   [110.04 ms 110.24 ms 110.36 ms]
                      change: [-4.9203% -4.2248% -3.5290%] (p = 0.00 < 0.05)
                      Performance has improved.
flate2-8: 1063153 bytes
compression/flate2-8.unpack
                      time:   [422.59 us 422.76 us 422.93 us]
                      change: [-95.308% -95.267% -95.220%] (p = 0.00 < 0.05)
                      Performance has improved.

Zlib-ng + my patch + hardware accelerated compression
   Running unittests (target/release/deps/bench-8c415de9634e6f9f)
WARNING: HTML report generation will become a non-default optional feature in Criterion.rs 0.4.0.
This feature is being moved to cargo-criterion (https://github.com/bheisler/cargo-criterion) and will be optional in a future version of Criterion.rs. To silence this warning, either switch to cargo-criterion or enable the 'html_reports' feature in your Cargo.toml.

Gnuplot not found, using plotters backend
uncompressed: 3266560 bytes
compression/flate2-1.pack
                      time:   [234.29 us 234.36 us 234.42 us]
                      change: [-0.4435% -0.3905% -0.3425%] (p = 0.00 < 0.05)
                      Change within noise threshold.
Found 1 outliers among 10 measurements (10.00%)
1 (10.00%) high mild
flate2-1: 1470182 bytes
compression/flate2-1.unpack
                      time:   [413.68 us 414.00 us 414.21 us]
                      change: [+0.2569% +0.4367% +0.5602%] (p = 0.00 < 0.05)
                      Change within noise threshold.
compression/flate2-2.pack
                      time:   [234.32 us 234.41 us 234.52 us]
                      change: [-99.560% -99.559% -99.558%] (p = 0.00 < 0.05)
                      Performance has improved.
Found 1 outliers among 10 measurements (10.00%)
1 (10.00%) high mild
flate2-2: 1470182 bytes
compression/flate2-2.unpack
                      time:   [413.79 us 413.95 us 414.14 us]
                      change: [-9.5157% -9.4611% -9.4157%] (p = 0.00 < 0.05)
                      Performance has improved.
compression/flate2-3.pack
                      time:   [234.39 us 234.46 us 234.56 us]
                      change: [-99.624% -99.622% -99.621%] (p = 0.00 < 0.05)
                      Performance has improved.
flate2-3: 1470182 bytes
compression/flate2-3.unpack
                      time:   [413.51 us 413.75 us 413.96 us]
                      change: [-6.1808% -6.0194% -5.7633%] (p = 0.00 < 0.05)
                      Performance has improved.
Found 1 outliers among 10 measurements (10.00%)
1 (10.00%) high severe
compression/flate2-4.pack
                      time:   [234.36 us 234.45 us 234.55 us]
                      change: [-99.661% -99.661% -99.660%] (p = 0.00 < 0.05)
                      Performance has improved.
Found 1 outliers among 10 measurements (10.00%)
1 (10.00%) high mild
flate2-4: 1470182 bytes
compression/flate2-4.unpack
                      time:   [411.54 us 411.80 us 412.04 us]
                      change: [-4.3757% -4.3002% -4.2225%] (p = 0.00 < 0.05)
                      Performance has improved.
compression/flate2-5.pack
                      time:   [234.28 us 234.32 us 234.40 us]
                      change: [-99.681% -99.680% -99.680%] (p = 0.00 < 0.05)
                      Performance has improved.
flate2-5: 1470182 bytes
compression/flate2-5.unpack
                      time:   [411.24 us 411.41 us 411.58 us]
                      change: [-4.4804% -4.2792% -4.1013%] (p = 0.00 < 0.05)
                      Performance has improved.
Found 2 outliers among 10 measurements (20.00%)
2 (20.00%) high mild
compression/flate2-6.pack
                      time:   [234.23 us 234.40 us 234.56 us]
                      change: [-99.704% -99.703% -99.703%] (p = 0.00 < 0.05)
                      Performance has improved.
Found 1 outliers among 10 measurements (10.00%)
1 (10.00%) high mild
flate2-6: 1470182 bytes
compression/flate2-6.unpack
                      time:   [411.42 us 411.49 us 411.57 us]
                      change: [-3.5549% -3.5303% -3.5062%] (p = 0.00 < 0.05)
                      Performance has improved.
Benchmarking compression/flate2-7.pack: Warming up for 3.0000 s
Warning: Unable to complete 10 samples in 5.0s. You may wish to increase target time to 5.3s or enable flat sampling.
compression/flate2-7.pack
                      time:   [95.855 ms 95.921 ms 96.015 ms]
                      change: [-1.2030% -0.8535% -0.3794%] (p = 0.00 < 0.05)
                      Change within noise threshold.
Found 1 outliers among 10 measurements (10.00%)
1 (10.00%) high mild
flate2-7: 1065662 bytes
compression/flate2-7.unpack
                      time:   [425.18 us 425.33 us 425.44 us]
                      change: [+0.1861% +0.3293% +0.4405%] (p = 0.00 < 0.05)
                      Change within noise threshold.
Benchmarking compression/flate2-8.pack: Warming up for 3.0000 s
Warning: Unable to complete 10 samples in 5.0s. You may wish to increase target time to 6.0s or enable flat sampling.
compression/flate2-8.pack
                      time:   [108.34 ms 108.43 ms 108.59 ms]
                      change: [-1.6135% -1.3806% -1.1612%] (p = 0.00 < 0.05)
                      Performance has improved.
flate2-8: 1063153 bytes
compression/flate2-8.unpack
                      time:   [424.46 us 424.74 us 425.09 us]
                      change: [+0.4369% +0.5072% +0.5841%] (p = 0.00 < 0.05)
                      Change within noise threshold.


homepage-dashboard: 0.6.21 -> 0.6.23

Description of changes
Update to latest version and drop explicit fetch of a patch that is now upstream.
Things done

Built on platform(s)

[x] x86_64-linux
[ ] aarch64-linux
[ ] x86_64-darwin
[ ] aarch64-darwin

[ ] For non-Linux: Is sandbox = true set in nix.conf? (See Nix manual)
[ ] Tested, as applicable:

NixOS test(s) (look inside nixos/tests)
and/or package tests
or, for functions and "core" functionality, tests in lib/tests or pkgs/test
made sure NixOS tests are linked to the relevant packages

[x] Tested compilation of all packages that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review rev HEAD". Note: all changes have to be committed, also see nixpkgs-review usage
[x] Tested basic functionality of all binary files (usually in ./result/bin/)
23.11 Release Notes (or backporting 23.05 Release notes)

[ ] (Package updates) Added a release notes entry if the change is major or breaking
[ ] (Module updates) Added a release notes entry if the change is significant
[ ] (Module addition) Added a release notes entry if adding a new NixOS module

[x] Fits CONTRIBUTING.md.

It seems that there's an issue with x86_64-darwin... is it expected?

Hmm, I've not tested on Darwin. I don't have access to such a machine. I thought I'd restricted this package to Linux only

We can try to ping @NixOS/darwin-maintainers and see what they say ?

Builds successfully on x86_64-darwin; did not try running, untested on aarch64-darwin:
diff --git a/pkgs/servers/homepage-dashboard/default.nix b/pkgs/servers/homepage-dashboard/default.nix
index d2e4a07d331..4a74ff170fb 100644
--- a/pkgs/servers/homepage-dashboard/default.nix
+++ b/pkgs/servers/homepage-dashboard/default.nix
@@ -2,6 +2,9 @@
 , fetchFromGitHub
 , nodePackages
 , python3
+, stdenv
+, cctools
+, IOKit
 , lib
 , fetchpatch
 , makeBinaryWrapper
@@ -31,8 +34,14 @@ buildNpmPackage rec {
     patchShebangs .next/standalone/server.js
   '';

+  nativeBuildInputs = lib.optionals stdenv.isDarwin [
+    cctools
+  ];
+
   buildInputs = [
     nodePackages.node-gyp-build
+  ] ++ lib.optionals stdenv.isDarwin [
+    IOKit
   ];

   env.PYTHON = "${python3}/bin/python";
diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix
index e3e6f6a5660..b3b3deddcfd 100644
--- a/pkgs/top-level/all-packages.nix
+++ b/pkgs/top-level/all-packages.nix
@@ -5398,7 +5398,10 @@ with pkgs;

   home-manager = callPackage ../tools/package-management/home-manager { };

-  homepage-dashboard = callPackage ../servers/homepage-dashboard { };
+  homepage-dashboard = callPackage ../servers/homepage-dashboard {
+    inherit (darwin) cctools;
+    inherit (darwin.apple_sdk.frameworks) IOKit;
+  };

   hostsblock = callPackage ../tools/misc/hostsblock { };

Thank you so much !

With the patch from @emilazy it also builds on aarch64-darwin.
Tried running but when I open up localhost:3000 I get Error: EACCES: permission denied, mkdir '/var/lib/homepage-dashboard'.

Probably just needs the directory configuring or creating externally? I don't know how to use the program but I think building successfully is a good start at least :)

Great! Yeh the default dir can be overridden with HOMEPAGE_CONFIG_DIR=. ./result/bin/homepage.
I'm afk most of today but will apply that patch when I get a minute.
Thank you all! 🤩

Hey @emilazy :) I applied your patch and indeed the package now builds, though for some reason the nixos tests fail on x86_64-darwin: logs here.
Any experience with this sort of error? Thank you!

@jnsgruk It would be nice to investigate the failures on Darwin.
@NixOS/darwin-maintainers Do you have some resources/time to check on this one?

@jnsgruk It would be nice to investigate the failures on Darwin.

afaict they're now fixed :) ofborg still shows the historic runs from before I pushed the fixes, so they show as failed, but you should see successful runs now for darwin too :)

@jnsgruk It would be nice to investigate the failures on Darwin.
@NixOS/darwin-maintainers Do you have some resources/time to check on this one?

Merging because the OfBorg CI is completely broken for Darwin and Cole is away. Unfortunately, we don't have the means to support those CI checks for the time being.

fair enough!


WebApp - Adjust showing/validating address on Send token, Send NFT, History

Describe the task
Adjust showing/validating address on Send token, Send NFT, History

[x] Send token (Input, Confirmation and History details)
[x] Send NFT (Input, Confirmation and History details)
Expect: Formatting address by Network address
Refer Extension v1.1.39 to update this issue (https://github.com/Koniverse/SubWallet-Extension/issues/2628)

Version test : https://76eb03ea.subwallet-webapp.pages.dev/

[ ] Screen freezes when input address

Version test : https://293b6822.subwallet-webapp.pages.dev/

[ ] When input Substrate address (this account is internal wallet/ Saved contact)
Expect : Automatically change to network address

Version test : https://9442c831.subwallet-webapp.pages.dev/
Validation passed in case :

Send token - single chain (check input - confirmation )

Select account in wallet
Input Substrate address
Input Network address
Input public key
Select Recent address
Select Saved contact
Scan QR code
"Send to" = Ledger account: Select and input

Send token - cross chain (check input - confirmation )

Select account in wallet
Input Substrate address
Input Network address
Input public key
Select Recent address
Select Saved contact
Scan QR code
"Send to" = Ledger account: Select and input

Send NFT (check input - confirmation )

Select account in wallet
Input Substrate address
Input Network address
Input public key
Select Recent address
Select Saved contact
Scan QR code
"Send to" = Ledger account: Select and input

Regression test feature:

Manage address book
Attach watch-only account
Import NFT/ Import token
Show address in History details screen after removed account


✨[Feature] Remove requirement for require_full_compilation=False when using input_signature

Feature Context
Models which are fully supported in TRT, except for their input type being a collection should be able to be fully-compiled in Torch-TRT. Considering that Torch-executed list packing and list unpacking code is already being inserted (by necessity) even when models are fully supported, there should not be a need to disable full compilation when providing complex input types. Additionally, operators including prim::ListUnpack should not be added to torch_executed_ops automatically upon using input_signature, as they are currently, since evaluators for them exist.
Desired Solution
The preferred solution is to remove the requirement for require_full_compilation=False when using input_signature and to remove the requirement that collection-based operators be executed in fallback:
https://github.com/pytorch/TensorRT/blob/835abf0f32a5e3bbcf7ec092be5cc051393a1d08/py/torch_tensorrt/ts/_compile_spec.py#L259-L300
This would require modification of the C++ core code as well, to ensure that relaxing this requirement will not cause further issues with the existing compilation phases.
Additional Context
A proof-of-concept for this feature already exists in PR #1599, which could be used as a template to enable full-compilation functionality for collection inputs as well. This would complete the plan for Collection IO as discussed in https://github.com/pytorch/TensorRT/discussions/629#discussioncomment-4662172.

Pending PR https://github.com/pytorch/TensorRT/pull/1599 .


The command php app/console generate:bundle doesn't exist anymore

I would like to create a new bundle from scratch but the command php app/console generate:bundle dosn't existe anymore in the last version (1.8).

Hi, @startupz!
Please run composer install without --no-dev option

www-data@vmsrv44:~/public_html/crm-application$ php composer.phar install --prefer-dist
Loading composer repositories with package information
Installing dependencies (including require-dev) from lock file
Nothing to install or update
Package rhumsaa/uuid is abandoned, you should avoid using it. Use ramsey/uuid instead.
Generating autoload files
> ComponentInstaller\Installer::postAutoloadDump
Compiling component files
> Incenteev\ParameterHandler\ScriptHandler::buildParameters
Updating the "app/config/parameters.yml" file
> Sensio\Bundle\DistributionBundle\Composer\ScriptHandler::buildBootstrap
> Sensio\Bundle\DistributionBundle\Composer\ScriptHandler::installRequirementsFile
> Oro\Bundle\InstallerBundle\Composer\ScriptHandler::setPermissions
> Oro\Bundle\InstallerBundle\Composer\ScriptHandler::installAssets

I already install with --no-dev option. Does I need to make an update? But I want to keep composer.lock versions.

I just make a fresh install. And the command is missing :
 git clone https://github.com/orocrm/crm-application.git oro
  535  cd oro/
  536  curl -s https://getcomposer.org/installer | php
  537  php composer.phar install --prefer-dist
  538  mysqladmin -f -usynbshop drop synbshop_jvi_oro
  539  mysqladmin -f -usynbshop create synbshop_jvi_oro
  540  php app/console oro:install --timeout=0
  541  vim app/config/parameters.yml
  542  php app/console oro:install --timeout=0
  543  php app/console
  544  php app/console generate:bundle

I got the same problem with fresh install of crm-application v1.8.
I had to require bundle after install :
composer require sensio/generator-bundle:^3.0@dev
But then generate:bundle didn't ask me anymore to skip automatic update of routing and kernel like is sayed here : http://www.orocrm.com/documentation/index/current/cookbook/how-to-create-new-bundle.
So I ended by creating bundles manually.
Maybe something wrong with composer.lock ?

Hi!
composer require sensio/generator-bundle:~2.5.0 will install required version.
Fix will be in application repository soon. Thanks!

It works!

still missing ...

Hi @karol-gontarski,
the dependency is in place https://github.com/orocrm/platform/blob/1.9.1/composer.json#L82, but pay attention that composer.lock file for application is generated for prod environment, so it excludes require-dev section (https://github.com/orocrm/platform-application/blob/master/composer.lock).