Deprecation notice

To make it easier for the newcomers:
This version of Zip4j is outdated.
If you are looking for an easy way to integrate Zip4j into Android, then you can copy the Zip4j module of https://github.com/fkirc/secure-zip-notes into your Android Studio project and add a local gradle dependency.
Alternatively, you can just grab the most recent Zip4j source and write your own gradle file/module.

Thanks for your notice! Can you make a standalone library for that? so I can make a pointer to your project and make this library deprecated.

I believe that it is not worth to create a standalone library.
I only created the following two files, everything else is just a copy of the zip4j source code:
https://github.com/fkirc/secure-zip-notes/blob/master/zip4j/build.gradle
https://github.com/fkirc/secure-zip-notes/blob/master/zip4j/src/main/AndroidManifest.xml
I use Gradle instead of Maven and I compile it as an "Android library", which is somewhat suboptimal.

Ironically, this repo is not as outdated as you might think.
There exists a Zip4J version 2.0.X, but I consider the 2.0.X version as not ready for production use until my recent issues are resolved:
https://github.com/srikanth-lingala/zip4j/issues/

There have been quite a few updates to Zip4j recently (https://github.com/srikanth-lingala/zip4j/releases/tag/v2.1.4)  I am very interested in using it, but I need it to work with streams as I am unzipping android data that is on the SD card (and need to use DocumentContract...urgh).  Can you update to the most recent version?

I just realized a better way to use zip4j in my android project: reference it as an implementation (duh).
implementation 'net.lingala.zip4j:zip4j:2.1.4'
Make sure you also have mavenCentral added as a repo:
repositories {
    mavenCentral()
    ...
}

@johnml1135: Thanks for the notice! I'll mark this project as deprecated and point to the https://github.com/srikanth-lingala/zip4j project in the README.

Actually, I tried it in my project and it is crashing before it opens up even through it builds and loads fine... I will be investigating more this next week.

Someone created a basic android project: https://github.com/nicolabeghin/zip4jtest - found on zip4j issue 34,

From https://github.com/srikanth-lingala/zip4j:
"And also, Zip4j now supports a minimum of JRE 8, as compared to JRE 5 with 1.x, which obviously will bring some nice features that I can make use of."
Android's support for Java 8 is spotty (https://developer.android.com/studio/write/java8-support) and more work would have to be done to see how they could work together.


Fix up broken indexer behavior

Issues are documented on the PR

I misunderstood the purpose of ControllerIndex for a little bit, however this PR still applies, because if the OwnerRef is missing, the ControllerIndex can be used to add the "controlling object" to the queue, which presumably has code to deal with objects with missing OwnerRefs. Merging this PR.

@ychen-atlassian see the usage example here https://github.com/atlassian/smith/blob/0902d295fd0433dd8ff78b761f76b7c7bb0b025b/pkg/controller/bundlec/controller.go#L65


Orderbook and LSP health show as unknown on android emulator

This might be related to run-local-android as opposed to the app itself.

I don't see Cannot update orderbook status in the logs anywhere, which is weird, since I'd expect that. Additionally, the orderbook itself seems to be working fine and I am regularly receiving new messages from the orderbook. It seems like either the receiving end of the watch channel got dropped, there is a UI issue, or some issue with the bridge.

Cannot reproduce this:

All services are online.
Please re-open if this still happens to you @Restioson

I also ran it in an emulator :/

Which emulator did you run it with and with which commands?

I used Android Studio with Pixel 6 API 33 and just run-local-android

is the coordinator working fine, ie. can you ping the 'health' endpoint manually?

I'll try that on the emulator - locally was working I believe.

Seems to work fine on the emulator's browser

With #1048 in, this works. It seems like I had some ancient version of the native crate which hadn't been updated and this didn't work on that version. Strange that no other issues were encountered because of that so far by me :sweat_smile:


Init HBApplication with HBHTTPServer

Allows for overriding the default HTTP server.
This PR also includes a change to DateCache as we cannot guarantee which thread we are running on.

Closing for the moment, not keen on this method of doing hummingbird-ts


[Bug] [UI] The icon show incorrect when database test connect failed.

Search before asking

[X] I had searched in the issues and found no similar issues.

What happened
When configuring the connect of MySQL database, it shows Test Connect Failed, but the icon is green with a right sign. In fact, it should be an error icon.
BTW, it can work finely, just a UI error.
DataVines Version
dev
DataVines Config
default

Running Command
In Web UI, click the `Test Connect` button.

Error Exception
[ERROR] 2023-06-27 10:56:34.240 io.datavines.connector.plugin.JdbcConnector:[193] - java.sql.SQLException: Access denied for user<EMAIL_ADDRESS>(using password: YES)
java.sql.SQLException: Access denied for user<EMAIL_ADDRESS>(using password: YES)
	at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:129)
	at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:97)
	at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:122)
	at com.mysql.cj.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:835)
	at com.mysql.cj.jdbc.ConnectionImpl.<init>(ConnectionImpl.java:455)
	at com.mysql.cj.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:240)
	at com.mysql.cj.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:199)
	at java.sql.DriverManager.getConnection(DriverManager.java:664)
	at java.sql.DriverManager.getConnection(DriverManager.java:247)
	at io.datavines.connector.plugin.JdbcConnector.testConnect(JdbcConnector.java:185)

Engine Type
local
Java Version
JDK 1.8
Screenshots

Are you willing to submit PR?

[ ] Yes I am willing to submit a PR!

The problem has been fixed.


chore(tasks): add a filter to show specific tasks in service page.

If I have too many tasks, a filter is helpful when I just need to know the number of running tasks here.
Maybe we can add a checkbox[Show all tasks] later on. (I'am new to angularjs/go, but trying to learn.)
state.filter copied from:
'app/components/containers/containers.html'

Sorry for the late update ! Thanks for the work @opera443399 :+1:

Thank you, it's a pleasure to use portainer in my work, all of my colleagues like this UI, at the same time, I have a chance to learn more about angularjs/go.

BTW, there is another demand, but I have no idea how to submit it(open an issue?):
Can we just list all the containers by specific service without entrypoint switch.
From our DEV user's point of view, there is a bad user experience and does not aid in productivity:
current steps to find the console:
1 service -> N containers (on M nodes)
if DEV want to open each container's console, they need to:
-> open the 'Service Details' page, filtering nodes with running tasks.
-> select a node N1 and switched to entrypoint N1
-> find container C1 running on node N1 by filters in 'container list' page
-> in 'container details' page, open the console

@opera443399 Do you mean endpoint instead of entrypoint?
If that's the case, you can follow #461 as I think this is what you want.

yes, @deviantony yes, that what I want.
I'm following the issue now, thanks.


How to start VPN kit v0.4.1 in widows

Hi Team,
I have updated the VPN KIT 0.4.1, how we can add wsl-vpnkit.service to run as a services.

@tppalani Please take a look at the readme.

@tppalani Please take a look at the readme.

Right, but windows how we can create as a services?

@tppalani I am unsure about what you are asking. I hope you read the release notes on v0.4 about the change to use systemd.
If you need to avoid systemd, you can set up a service by taking the command to run wsl-vpnkit in the foreground and combining it with start-stop-daemon or any other way to run it in the background.

Hi @sakai135 ,
thanks for the response, yes i have seen the release page but my doubt is how we can add below infomation as a service in widows VM, can you please help me.
[Unit]
Description=wsl-vpnkit
After=network.target

[Service]
# for wsl-vpnkit setup as a distro
ExecStart=/mnt/c/Windows/system32/wsl.exe -d wsl-vpnkit --cd /app wsl-vpnkit

# for wsl-vpnkit setup as a standalone script
#ExecStart=/full/path/to/wsl-vpnkit
#Environment=VMEXEC_PATH=/full/path/to/wsl-vm GVPROXY_PATH=/full/path/to/wsl-gvproxy.exe

Restart=always
KillMode=mixed

[Install]
WantedBy=multi-user.target


Failed: Update autorest version to prerelease 3.0.0-alpha.20240625.1

Generated by Autorest Regen Preview build 20240625.1Triggered from pull request: https://github.com/Azure/autorest.csharp/pull/4842

API change check
API changes are not detected in this pull request.


Adding a number_of_units attribute to converters

Background
We have some methods in ET-Engine to calculate the number_of_units attribute based on their capacity and one specifically for (space/water heating technologies) demand_driven converters.
There are, however, plenty of converters where a number_of_units attributes is wanted, but where these methods return 0. Especially when it comes to scalability and costs, this can even be necessary for other methods to return correct values. For instance in https://github.com/quintel/etsource/issues/800 , we need a number_of_units attribute for two car technologies to correctly calculate extra investments costs (otherwise these costs will just be multiplied by 0, the number_of_units returned as of now).
First attempt
I simply added a number_of_units attribute to transport_car_using_hydrogenin ETSource, added this attribute to the list of numeric attributes in note.rb in Atlas, set my Gemlock to my local Atlas in ETEngine and put V(transport_car_using_hydrogen,number_of_units) in the GQL sandbox, which worked and gave me the value I had initially put.
Problem
However, when I created a new scenario, I got a lot of errors of 'nil cannot be coerced into float' and my dashboard wouldn't appear. Debugging the total cost calculation led me to conversion.rb :
when :converter
      cost * number_of_units

I figured this is because ETEngine, now that number_of_units is a converter attribute, looks for it in every converter and returns nil if it is not included in the list of converter attributes. This belief was strengthened by the fact that the error arose in agriculture_burner_crude_oil, the first converter given our folder structure.
Possible solution
The best possible possible solution that came to my mind is the following (however, I don't know how hard it is to implement): make number_of_units an 'optional' attribute, such that ETEngine picks it up if it is included in the particular converters attributes, but 'skips' the converter (and doesn't return number_of_units = nil) if it is not there and then executes other number_of_units calculations mentioned at the start of this ticket.
This solution has the advantage it doesn't require the development of new number_of_units calculation methods and that other converters which would benefit from or need a number_of_units attributes could easily get one as well.
@antw , what are your thoughts, do you think this is easily implemented, do you foresee any trouble, or would you perhaps know a better solution (one that allows us to either calculate or define the number_of_units for converters without capacities)?

@RobTerwel Would you mind pushing your ETSource and Atlas changes to branches on GitHub? I'll take a look and see what I can do.

Would you mind pushing your ETSource and Atlas changes to branches on GitHub?

Sure, ETS is h2_number_scaling and Atlas is new_attributes. Thanks!

Great work, @antw ! Thanks for making this possible, also in such a small timespan!

The best possible possible solution that came to my mind is the following: make number_of_units an 'optional' attribute

This has been done in 13dd4ce5, and all the queries are executing correctly for me.

I figured this is because ETEngine, now that number_of_units is a converter attribute, looks for it in every converter and returns nil if it is not included in the list of converter attributes.

This was pretty much correct. Most converters would get a number_of_units set to nil, since they had no value defined in ETSource. I've set it so that any converter with no NoU will compute the value as before.

:+1:


Move source files into subdirectories to make navigating easier

CI did not run on this pull request because the server timed out, I guess because it’s so enormous?

Also I see you’re preserving the country code prefixes on the file names, i.e. xx/xx-region.json. The France files should be renamed to look like this, too.

Would you both be open for discussion for following the france example and dropping the county code? This seems redundant as it is in the file structure and the coverage object of the source.

I’m open to that as well.

Also @iandees you'll need to update the node tests to recognize sub-directories. As it stands this change is not actually being tested by travis.

Seems fine to me. I can adjust the PR this afternoon.

Is this a rationale for using Python in the unit tests?

I'm going to close and delete this branch so I can re-do it from master in one commit rather than bounce all over the place.


bad service lorempixel.com

I usualy migrating db with fake image.

And now I couldn't migrate a image for the last hour.
Best regards.

This is a third party service. I suggest to use a different service for this. In faker 2.0 this image generation will also be removed from the core.


BUG: paralleljs fails in browserify

When I try to use paralleljs in browserify with the following code:
// test.js
var Parallel = require('paralleljs');
var p = new Parallel('forwards');
p.spawn(function (data) {
  data = data.split('').reverse().join('');
  console.log(data); // logs sdrawrof
  return data;
}).then(function (data) {
  console.log(data) // logs sdrawrof
});

And then I compile it:
$ npm install -g browserify
$ browserify test.js > bundle.js

And then I include it in a simple HTML page:
<!DOCTYPE html>
<script src="bundle.js"></script>

I get the following errors in Chrome:
Uncaught Error: Cannot find module '/node_modules/paralleljs/lib/Worker.js' bundle.js:1
s bundle.js:1
(anonymous function) bundle.js:1
(anonymous function) bundle.js:54
os bundle.js:358
s bundle.js:1
(anonymous function) bundle.js:1
paralleljs bundle.js:360
s bundle.js:1
e bundle.js:1
(anonymous function)

I know you can just include parallels directly as a script tag, but would be nice to use this within browserify.

Seeing this same issue on 0.2.1 and browserify 9.0.3

Same problem Here. Compiling with browserify and babelJS.
When executing on Safari I find no problem.
When executing on Chrome i get this error: Cannot find module '/node_modules/paralleljs/lib/Worker.js'

Got exactly the same issue - tested on Chrome.

+1

found a solution if you are playing with browserify and babelJS.
replace line 3 from
var isNode = typeof global !== "undefined" && {}.toString.call(global) == '[object global]';

to
var isNode = !(typeof window !== 'undefined' && this === window);

Have fun with paralleljs
var Parallel = require('paralleljs');


Bundling failed on RN 0.57.4

Does ptomasroos/react-native-multi-slider work with RN 0.57.4?
I get the following error with the bundler: Error: Unable to resolve module react-native-multi-slider from /home/user/... : Module react-native-multi-slider` does not exist in the Haste module map
This might be related to https://github.com/facebook/react-native/issues/4968
To resolve try the following:

Clear watchman watches: watchman watch-del-all.
Delete the node_modules folder: rm -rf node_modules && npm install.
Reset Metro Bundler cache: rm -rf /tmp/metro-bundler-cache-* or npm start -- --reset-cache.
Remove haste cache: rm -rf /tmp/haste-map-react-native-packager-*.
at ModuleResolver.resolveDependency (/home/user/react-native/.../node_modules/metro/src/node-haste/DependencyGraph/ModuleResolution.js:139:15)
at ResolutionRequest.resolveDependency (/home/user/react-native/.../node_modules/metro/src/node-haste/DependencyGraph/ResolutionRequest.js:49:18)
at DependencyGraph.resolveDependency (/home/user/react-native/.../node_modules/metro/src/node-haste/DependencyGraph.js:219:16)
at Object.resolve (/home/user/react-native/.../node_modules/metro/src/lib/transformHelpers.js:141:30)
at dependencies.map.result (/home/user/react-native/.../node_modules/metro/src/DeltaBundler/traverseDependencies.js:373:31)
at Array.map ()
at resolveDependencies (/home/user/react-native/.../node_modules/metro/src/DeltaBundler/traverseDependencies.js:369:18)
at /home/user/react-native/.../node_modules/metro/src/DeltaBundler/traverseDependencies.js:188:33
at Generator.next ()
at step (/home/user/react-native/.../node_modules/metro/src/DeltaBundler/traverseDependencies.js:298:30)
DELTA  [android, dev] ./index.js ▓▓▓▓▓▓▓▓░░░░░░░░ 53.2% (679/931), failed.

::ffff:<IP_ADDRESS> - - [12/Nov/2018:18:51:33 +0000] "GET /index.delta?platform=android&dev=true&minify=false HTTP/1.1" 500 - "-" "okhttp/3.11.0"

Related issue in the error suggested that there is such an issue, but following the link shows the issue should be resolved with RN 0.57.
P.S. Unfortunately I hadn't check if it worked with RN 0.56, before I upgraded to RN 057.4.

We're using it with 0.57.4 in production already.
You need to show me some code if I should be able to help out sadly.
But i'm pretty sure you importing the wrong package.
from '@ptomasroos/react-native-multi-slider'; is the correct one

Yes that’s my bad as I’m on my way to change the package name but haven’t completed it. Sorry!

I know I'm posting this to a closed issue, but getting the same story with RN 0.55.4 -> @ptomasroos any clue if this could work without an update?

Import from '@ptomasroos/react-native-multi-slider';

Will work fine

Ooooh you meant import, not the npm install... 🤦♂  It works indeed, thanks for the support!

Might want to add this line to "Usage" in the readme:
Import from '@ptomasroos/react-native-multi-slider';


Utility Network update api file

Related to issue: https://devtopia.esri.com/runtime/kotlin/issues/4784
Summary of changes:

update api file. add composable singletons to list of types to ignore.

Pre-merge Checklist

a vTest Job for this PR has been run

[ ] link:

Unit and/or integration tests have been added to exercise this PR's logic, and the tests are passing:

[ ] Yes
[ ] No

merging with one review.


The API Documentation on the first page of this repo is broken

It points to this address
http://localhost:34129/guides/extension_advanced/

#25 Nice catch. Thank you.


androidStudioPackages.canary: 2<IP_ADDRESS> -> 2<IP_ADDRESS>

Automatic update generated by nixpkgs-update tools. This update was made based on information from passthru.updateScript.
meta.description for androidStudioPackages.canary is: Official IDE for Android (canary channel)
meta.homepage for androidStudioPackages.canary is: https://developer.android.com/studio/preview/index.html
Updates performed

Ran passthru.UpdateScript

To inspect upstream changes
Impact
Checks done

built on NixOS
The tests defined in passthru.tests, if any, passed
found 2<IP_ADDRESS> with grep in /nix/store/mgg7fdcmarplsv2hmb5y97krk7yzjjf9-android-studio-canary-2<IP_ADDRESS>
found 2<IP_ADDRESS> in filename of file in /nix/store/mgg7fdcmarplsv2hmb5y97krk7yzjjf9-android-studio-canary-2<IP_ADDRESS>

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

3 total rebuild path(s)

3 package rebuild(s)

First fifty rebuilds by attrpath

androidStudioPackages.canary
androidStudioPackages.dev

Instructions to test this update (click to expand)

Either download from Cachix:
nix-store -r /nix/store/mgg7fdcmarplsv2hmb5y97krk7yzjjf9-android-studio-canary-2<IP_ADDRESS> \
  --option binary-caches 'https://cache.nixos.org/ https://nix-community.cachix.org/' \
  --option trusted-public-keys '
  nix-community.cachix.org-1:mB9FSh9qf2dCimDSUo8Zy7bkq5CX+/rkCWyvRCYg3Fs=
  cache.nixos.org-1:6NCHdD59X431o0gWypbMrAURkbJ16ZPMQFGspcDShjY=
  '

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

Or:
nix build github:r-ryantm/nixpkgs/82019fb33d612ce7f1634186b16b00ccab828011#androidStudioPackages.canary

After you've downloaded or built it, look at the files and if there are any, run the binaries:
ls -la /nix/store/mgg7fdcmarplsv2hmb5y97krk7yzjjf9-android-studio-canary-2<IP_ADDRESS>
ls -la /nix/store/mgg7fdcmarplsv2hmb5y97krk7yzjjf9-android-studio-canary-2<IP_ADDRESS>/bin

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

2 packages built:

androidStudioPackages.canary
androidStudioPackages.dev

Maintainer pings
cc @alapshin @johnrtitor @numinit for testing.

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

2 packages built:

androidStudioPackages.canary
androidStudioPackages.dev


Use Kokkos::bit_cast if available

I am not a big fan of testing for a version still in development. I don't see a reason why we can't at least wait for the release.

We can. I wanted to add essentially a reminder so that we don't forget, but may have been too aggressive. I'm fine with either protecting by 4.1 or not doing it.


Missing bcp # in txt rendering #87

ietf-tools/xml2rfc#743
Suggested label: rendering issue

Project maintainers can transfer issues between GitHub projects.
I have transferred the original issue to xml2rfc.

Thank you!  How do I initiate such a transfer?

https://docs.github.com/en/issues/tracking-your-work-with-issues/transferring-an-issue-to-another-repository


Can't access audio if camera is not enabled

Allow access to the microphone and block access to the camera.
In that case, we can't choose Audio input:

How to reproduce

Move to the page with choosing devices

Block camera and allow microphone

Open Settings -> Audio and Video Settings
There we don't have selected audio input

Try to change audio input (it stays empty after changing)

Expected behavior
We have an initial audio input device.
We can change the audio input device.
Real behavior
We don't have an initial audio input device.
We can't change the audio input device.
Screenshots

Environment:
OS: Windows 10
Browsers: Chrome Version 88.0.4324.150 (Official Build) (64-bit), Edge Version 88.0.705.68 (Official build) (64-bit)
App Version: 0.2.1
Twilio-video: 2.9.0
Node.js version: 14.15.1

Thanks for the issue @artem-gorokhovskii!
I can reproduce the issue that you describe. We don't have a fix at the moment - I'll have to work on one. I've created an internal ticket for this bug and I've added it to our backlog.
Thanks again!


Define interface for the self-defined Mover

[ ] MoverPool : manage all mover actions
[ ] MoverStatus : define information of the status needed and define corresponding interface
[ ] UT

Done!


Templating forward port for github codespace

Fix #1444

I replaced the forward port file with mustache extension to allow import port when importing the file.

I convert it to draft so:

once the tests are fixed
once the commits are squash
change it to ready for review


Update migration.md

@rwjblue I've seen a couple of people run into issues where they treated the migration steps as preparatory work, not realizing that they can't make the qunit-dom changes successfully with a 4.x.x version of ember-qunit.

LGTM

In retrospect, after approving this PR, I realized it is a bit odd to have to add this in the migration guide, since this guide is explicitly for upgrading to v5.x.x.


SwapTradeCsvPlugin: not parsing XCcy ON/ON

SwapTradeCsvPlugin: does not parse cross-currency swaps with "XCcyOvernightOvernightSwapConvention".
At line 350:
if (fxRateOpt.isPresent()) {
XCcyIborIborSwapConvention convention = XCcyIborIborSwapConvention.of(conventionStr);
Does not check for the possible ON/ON conventions.
Would probably be a good idea to have a "XCcySwapConvention" in parallel to "SingleCurrencySwapConvention"

This is an issue only when the trades are loaded using the "convention" field. When the details of each leg are provided, this is not an issue.


Update readme example?

There's been tons of new functionality, maybe we should update the readme example which has been there unchanged for like 5 years?
It doesn't have to become much bigger, probably the same size, just show off more features like:

Reading not all the data but only a slice of it
Attributes
Zstd compression
New fancy dataset builder
A few more things?

As a newer user coming from h5py, I can say this would be incredibly helpful! Particularly, I'm trying to figure out how to use parallel writers, which isn't that clear. I'd be happy to help build up some more examples.

@iangraham If you have an example of this I would happily merge this. Multi-threaded should be straight forward (although serialised), but multi-processing can be a bit finicky. For mpi writing: mpi-sys has had some developments which has not been released yet which may be relevant to us.

@mulimoen I think I can see that how my example would work across threads, just as simple as using write_slice on a container type that's being referenced. But I'm guessing this must be blocking for all writes/reads to the container while write_slice is executing, even if the slices are non-overlapping? If so, do you know if this is blocking just at the container level and down, or higher up in the hierarchy too?
While I don't think it'll be a big deal for my application, I was hoping to find something that would allow for completely parallel writes on a dataset. I'm curious if something like the example here could be implemented with a safe API around the bindings in hdf5-sys?

@ianrgraham I would think the example would work exactly in the example by using the new API in the master branch which is unfortunately not yet published. I am not sure how parallel writes are done when using the mpi functionality of libhdf5, but multi-threaded accesses are always done sequentially based on a mutex.


FileNotFoundError: [Errno 2] No such file or directory: 'tmp\ocr.txt'

When I running bot, it can find npc and click once.
And then bot will get stuck and show the error msg
FileNotFoundError: [Errno 2] No such file or directory: 'tmp\\ocr.txt'
I play on Steam and use install.py to setup bot.
All requirement are installed.
https://imgur.com/a/mIRG5D8

I fixed thanks

Tess not installed in correct location?

Yes, I install Tess manual and forget to copy Tess to correct location. Thank you for reply!


standardize readme file per DevOps TASK 7260369

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

File
Status
Preview URL
Details

README.md
:white_check_mark:Succeeded

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

Learn Build status updates of commit 14ab3cc:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

README.md
:white_check_mark:Succeeded

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

Learn Build status updates of commit 7cbd0ba:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

README.md
:white_check_mark:Succeeded

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


Add concurrency workers to chart/upgrade

Description
Adds a worker pool (default 4) to chart/upgrade.go with a command line flag of workers or -c to change this value from the default.
Motivation and Context
Charts with significant number of images were taking a long time to process in a single stream.

[ ] I have raised an issue to propose this change, which has been given a label of design/approved by a maintainer (required)

How Has This Been Tested?
Previously:
➜  faas-netes git:(workers) time make upgrade-charts
Upgrading images for all helm charts
2024/06/01 21:03:06 Wrote 9 updates to: ./chart/openfaas/values.yaml
2024/06/01 21:03:07 Wrote 1 updates to: ./chart/kafka-connector/values.yaml
2024/06/01 21:03:12 Wrote 1 updates to: ./chart/queue-worker/values.yaml
make upgrade-charts  1.38s user 1.27s system 16% cpu 16.148 total

With 4 workers:
➜  faas-netes git:(testArkWorkers) time make upgrade-charts
Upgrading images for all helm charts
2024/06/02 13:34:37 Wrote 7 updates to: ./chart/openfaas/values.yaml
2024/06/02 13:34:38 Wrote 1 updates to: ./chart/kafka-connector/values.yaml
2024/06/02 13:34:42 Wrote 1 updates to: ./chart/queue-worker/values.yaml
make upgrade-charts  1.34s user 1.22s system 31% cpu 8.137 total

error output
➜  faas-netes git:(testArkWorkers) ✗ time make upgrade-charts
Upgrading images for all helm charts
Error: unable to list tags for ghcr.io/openfaasltd/autoscaler11
unable to list tags for ghcr.io/openfaasltd/faas-netes-oem6
unable to list tags for ghcr.io/openfaasltd/faas-netes4
unable to list tags for ghcr.io/openfaasltd/event-worker3
unable to list tags for ghcr.io/openfaasltd/openfaas-oidc-plugin13
unable to list tags for ghcr.io/openfaasltd/jetstream-queue-worker8
unable to list tags for ghcr.io/openfaas/gateway2
unable to list tags for ghcr.io/openfaasltd/gateway1
unable to list tags for ghcr.io/openfaasltd/openfaas-dashboard12
unable to list tags for ghcr.io/openfaas/faas-netes7
unable to list tags for ghcr.io/openfaasltd/queue-worker9
unable to list tags for ghcr.io/openfaasltd/faas-netes5
unable to list tags for ghcr.io/openfaas/ingress-operator14
unable to list tags for ghcr.io/openfaas/queue-worker10
make: *** [upgrade-charts] Error 1
make upgrade-charts  0.74s user 0.67s system 57% cpu 2.472 total

Note that this change also incorporates the smaller bug fix proposed in #1076, hence the change from 9 updates to 7 in ./chart/openfaas/values.yaml
Types of changes

[ ] Bug fix (non-breaking change which fixes an issue)
[x] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to change)

Documentation

[ ] I have updated the list of tools in README.md if (required) with ./arkade get --format markdown
[ ] I have updated the list of apps in README.md if (required) with ./arkade install --help

Checklist:

[x] My code follows the code style of this project.
[ ] My change requires a change to the documentation.
[ ] I have updated the documentation accordingly.
[x] I've read the CONTRIBUTION guide
[x] I have signed-off my commits with git commit -s

[ ] I have tested this on arm, or have added code to prevent deployment

Thanks for this update. Can you show how errors look now when they're encountered during an update of images?

Thanks for this update. Can you show how errors look now when they're encountered during an update of images?

Added a view of the output to the PR body testing section

I don't think anything needs to be done for faasd/compose: https://github.com/openfaas/faasd/blob/master/Makefile#L78


Are you willing to put a function that will print the version of the extension?

@aloumpas , could you please provide a use case?
If you use Composer then you can find the currently installed version there.

I don't have a specific one, i said that just in case you did not think about that. I am not using composer yet but i will soon.

For now I don't see why such function would be needed.
Please feel free to let me know once you have a valid use case of a function like this.
Thank you!


DOC Typos found by codespell

What does this implement/fix? Explain your changes.
Fix typos and add infrastructure for checking spelling.
Any other comments?
Added codespell configuration to .codespellrc, as there is not setup.cfg, and target in Makefile.

Thanks @DimitriPapadopoulos ! Could you please merge master in to make sure the documentation build runs OK? The current error was fixed on master.


feat: add +s1 and +s2 to identify previous surfaces

Replacement for https://github.com/googleapis/gax-php/pull/470
The above PR is blocked because it has the unwanted affect of changing the client type to "veneer". This change will not have this affect, while still allowing us to query for this data in a separate table.

[ ] verify this shows up in the backend

This has been superseded by #470


Focus state not stylized for ToggleButton

Coverage decreased (-0.03%) to 92.836% when pulling e912d67508bf39e77ea6897c073dba9a889d9979 on Be-Smart:focus-state-not-stylized-for-ToggleButton-#40 into 5adb881a9a021fc4d7dcfa7c960d72a2b16bf295 on bcrumbs:master.

Coverage increased (+0.009%) to 92.878% when pulling 1449fecbdcda96d4d93218e4da9a3fe739c0f9a2 on Be-Smart:focus-state-not-stylized-for-ToggleButton-#40 into 5adb881a9a021fc4d7dcfa7c960d72a2b16bf295 on bcrumbs:master.


Generate usage statistics

[x] Add a property to JSSPInstance that collects information about heuristic usage when solving the instance
[x] Add a method to selectionHH that analyzes all solved instances and summarizes heuristic usage information
[ ] Validate that selectionHH contains a property with a set of lastSolvedInstances to avoid losing information about the solved instances

First item is to be disregarded (at least for now) since information is kept in perfromanceData within ruleBasedSelectionHH, by storing a copy of partially solved instances. Perhaps this should be changed to a single instance and a simple log of steps taken so that the solution can be moved forward/backward without too much computational cost. For now, it shall remain as it is...

Regarding the second item: The method getSolverUsed was added. It returns a vector with the numerical ID of the solvers used at each step, for a given instance. Additionally, the methods plotSolverUsage, plotSolverUsageDistribution, and plotSolverUsageDistributionMulti were added to generate different kinds of plots with this information.

Last item: The information should be retrievable from the performanceData property, but also created the lastSolvedInstances property for ease of access.


Make the deprecation warnings stop (please!)

Description of the issue
I have a project that depends on cirq. It has tests. When I run said tests I literally get more than 10,000 deprecation warnings, most of which are cirq related. A majority of these warnings I cannot address myself because they are occurring within the cirq library itself or its dependencies. This makes it difficult for me to find deprecation warnings (i.e. for other dependencies) that I should actually be concerned with.
Here is a simple example:
import cirq

def test_line_qubit():
    qubit = cirq.LineQubit(0)

invoking pytest on this test throws 100 warnings. It looks like most of them are traced to code locations such as
/cirq_google/engine/client/quantum_v1alpha1/proto/quantum_pb2.py:874
and
/cirq_google/engine/client/quantum_v1alpha1/proto/quantum_pb2.py:860
Cirq version
You can get the cirq version by printing cirq.__version__. From the command line:
0.13.0

I am using python 3.9.7, pytest 6.2.4, and cirq 0.13.0. i'll make a clean virtual env and see if I can reproduce it there.


chore(deps): update dependency eslint to v7.6.0

This PR contains the following updates:

Package
Type
Update
Change

eslint (source)
devDependencies
minor
7.5.0 -> 7.6.0

Release Notes

eslint/eslint
v7.6.0
Compare Source

ecb2b73 Update: require meta for fixable rules in RuleTester (refs #13349) (#13489) (Milos Djermanovic)
6fb4edd Docs: fix broken links in developer guide (#13518) (Sam Chen)
318fe10 Fix: Do not output undefined as line and column when it's unavailable (#13519) (haya14busa)
493b5b4 Sponsors: Sync README with website (ESLint Jenkins)
f100143 Sponsors: Sync README with website (ESLint Jenkins)
16b10fe Fix: Update the chatroom link to go directly to help channel (#13536) (Nicholas C. Zakas)
f937eb9 Sponsors: Sync README with website (ESLint Jenkins)
e71e298 Update: Change no-duplicate-case to comparing tokens (fixes #13485) (#13494) (Yosuke Ota)
6c4aea4 Docs: add ECMAScript 2020 to README (#13510) (Milos Djermanovic)

Renovate configuration
:date: Schedule: At any time (no schedule defined).
:vertical_traffic_light: Automerge: Disabled by config. Please merge this manually once you are satisfied.
:recycle: Rebasing: Whenever PR becomes conflicted, or if you modify the PR title to begin with "rebase!".
:no_bell: Ignore: Close this PR and you won't be reminded about this update again.

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

Available now for Enterprise: Renovate Pro with real-time webhook handling and priority job queue.

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

v5.1.11
GitHub release

Your semantic-release bot :package::rocket:


Update API reference with info about new formatting features

The API Reference for echo is pretty outdated. It doesn't include attributes formatting and doesn't show how to use inline styles.

API got updated


Which singularity image is used?

What singularity image is used for this pipeline? Repo's readme says this pipeline can be run with singularity, but I don't see singularity: defined anywhere in the pipeline.

Running a Snakefile without singularity: defined doesn't result in any warning or error. Isn't this a bug?
Snakefile:
rule aa:
    output: 'aa.txt'
    shell: "touch {output}"

Command used and its output:
$ snakemake  --use-singularity
Building DAG of jobs...
Using shell: /bin/bash
Provided cores: 1
Rules claiming more threads will be scaled down.
Job counts:
	count	jobs
	1	aa
	1

[Wed Dec 11 13:28:33 2019]
rule aa:
    output: aa.txt
    jobid: 0

[Wed Dec 11 13:28:33 2019]
Finished job 0.
1 of 1 steps (100%) done


AzureFileCopy@4 does not work, but AzureFileCopy@3 does when copying files to blog storage

Question, Bug, or Feature?
Type: Bug
Enter Task Name: AzureFileCopy@4
Environment
Server - Azure Pipelines
Agent - Hosted: Windows 2017
Issue Description
This is my yaml definition:
- task: AzureFileCopy@4
  displayName: 'Copy ARM Templates to Azure Storage'
  inputs:
    SourcePath: ArmTemplateTestProject/ArmTemplateTestProject
    azureSubscription: 'my connection to Azure Portal'
    Destination: AzureBlob
    storage: mydatastorage
    ContainerName: armtemplate

Task logs
Uploading files from source path: 'd:\a\1\s\ArmTemplateTestProject\ArmTemplateTestProject\azuredeploy.json' to storage account: 'mydatastorage' in container: 'armtemplate' with blob prefix: ''
& "AzCopy\AzCopy.exe" copy "d:\a\1\s\ArmTemplateTestProject\ArmTemplateTestProject\azuredeploy.json" "https://mydatastorage.blob.core.windows.net/armtemplate"
Error: wrong number of arguments, please refer to the help page on usage of this command
Troubleshooting
Version 3 of the task, with the same settings appears to work. I can't see anything wrong with the arguments, it appears from the logs to be using the same azcopy command

@samsmithnz Are you giving the inputs as a yaml file or in the azure task itself ?

Please let us know the version of AzureFileCopyV4 used if you face the error again

Permissions should be all set, I use this same service connection for other deployments and AzureFileCopyV3 is working on the same connection? Saying that, I get a different error now, which does indicate permissions. Not sure that makes sense, given it's the same settings/storage/etc from v3 to v4, and the SPN has full permissions.
I created another job, with the same settings and V3 and V4. Here are the logs, V3 is working, V4 is not.
### V3:
2020-06-24T11:20:11.5065143Z ##[section]Starting: Copy ARM Templates to Azure Storage V3
2020-06-24T11:20:11.5213684Z ==============================================================================
2020-06-24T11:20:11.5214345Z Task         : Azure file copy
2020-06-24T11:20:11.5214646Z Description  : Copy files to Azure Blob Storage or virtual machines
2020-06-24T11:20:11.5215125Z Version      : 3.167.4
2020-06-24T11:20:11.5215366Z Author       : Microsoft Corporation
2020-06-24T11:20:11.5216421Z Help         : https://docs.microsoft.com/azure/devops/pipelines/tasks/deploy/azure-file-copy
2020-06-24T11:20:11.5216882Z ==============================================================================
2020-06-24T11:20:13.2593551Z ##[command]Import-Module -Name C:\Modules\azurerm_2.1.0\AzureRM\2.1.0\AzureRM.psd1 -Global
2020-06-24T11:20:21.1096058Z ##[warning]The names of some imported commands from the module 'AzureRM.Websites' include unapproved verbs that might make them less discoverable. To find the commands with unapproved verbs, run the Import-Module command again with the Verbose parameter. For a list of approved verbs, type Get-Verb.
2020-06-24T11:20:21.1177009Z ##[warning]The names of some imported commands from the module 'AzureRM' include unapproved verbs that might make them less discoverable. To find the commands with unapproved verbs, run the Import-Module command again with the Verbose parameter. For a list of approved verbs, type Get-Verb.
2020-06-24T11:20:21.1316923Z ##[command]Import-Module -Name C:\Modules\azurerm_2.1.0\AzureRM.Profile\2.1.0\AzureRM.Profile.psm1 -Global
2020-06-24T11:20:21.5020252Z ##[command]Add-AzureRMAccount -ServicePrincipal -Tenant *** -Credential System.Management.Automation.PSCredential -EnvironmentName AzureCloud
2020-06-24T11:20:22.7103675Z ##[command] Set-AzureRmContext -SubscriptionId 07db7d0b-a6cb-4e58-b07e-e1d541c39f5b -TenantId ***
2020-06-24T11:20:25.7192971Z Uploading files from source path: 'D:\a\1\s\ArmTemplateTestProject\ArmTemplateTestProject' to storage account: 'samsappdataeustorage' in container: 'armtemplate' with blob prefix: '4496A'
2020-06-24T11:20:25.7499837Z ##[command] & "AzCopy\AzCopy.exe" /Source:"D:\a\1\s\ArmTemplateTestProject\ArmTemplateTestProject" /Dest:"https://samsappdataeustorage.blob.core.windows.net/armtemplate/4496A" /@:"D:\a_temp\23abf1f9-eb45-4b54-938a-979fda8af775" /XO /Y /SetContentType /Z:"AzCopy" /V:"AzCopy\AzCopyVerbose_0612900c-dafd-413e-9141-7e8eb059ce13.log" /S
2020-06-24T11:20:26.8463231Z [2020/06/24 11:20:26] Transfer summary:
2020-06-24T11:20:26.8464588Z -----------------
2020-06-24T11:20:26.8465406Z Total files transferred: 8
2020-06-24T11:20:26.8466307Z Transfer successfully:   8
2020-06-24T11:20:26.8466805Z Transfer skipped:        0
2020-06-24T11:20:26.8467345Z Transfer failed:         0
2020-06-24T11:20:26.8467992Z Elapsed time:            00.00:00:01
2020-06-24T11:20:26.8666396Z Uploaded files successfully from source path: 'D:\a\1\s\ArmTemplateTestProject\ArmTemplateTestProject' to storage account: 'samsappdataeustorage' in container: 'armtemplate' with blob prefix: '4496A'
2020-06-24T11:20:27.1814707Z ##[section]Finishing: Copy ARM Templates to Azure Storage V3
### V4:
2020-06-24T11:20:27.1856426Z ##[section]Starting: Copy ARM Templates to Azure Storage V4
2020-06-24T11:20:27.2098030Z ==============================================================================
2020-06-24T11:20:27.2098417Z Task         : Azure file copy
2020-06-24T11:20:27.2098749Z Description  : Copy files to Azure Blob Storage or virtual machines
2020-06-24T11:20:27.2099032Z Version      : 4.170.2
2020-06-24T11:20:27.2099298Z Author       : Microsoft Corporation
2020-06-24T11:20:27.2099845Z Help         : https://docs.microsoft.com/azure/devops/pipelines/tasks/deploy/azure-file-copy
2020-06-24T11:20:27.2100243Z ==============================================================================
2020-06-24T11:20:29.1726101Z ##[command]Import-Module -Name C:\Modules\az_3.1.0\Az.Accounts\1.8.1\Az.Accounts.psd1 -Global
2020-06-24T11:20:31.7490286Z ##[command]Clear-AzContext -Scope Process
2020-06-24T11:20:32.6149263Z ##[command]Clear-AzContext -Scope CurrentUser -Force -ErrorAction SilentlyContinue
2020-06-24T11:20:33.1417703Z ##[command]Connect-AzAccount -ServicePrincipal -Tenant *** -Credential System.Management.Automation.PSCredential -Environment AzureCloud @processScope
2020-06-24T11:20:34.4756399Z ##[command] Set-AzContext -SubscriptionId 07db7d0b-a6cb-4e58-b07e-e1d541c39f5b -TenantId ***
2020-06-24T11:20:36.1571794Z ##[command]Import-Module -Name C:\Modules\az_3.1.0\Az.Resources\1.8.0\Az.Resources.psd1 -Global
2020-06-24T11:20:37.1179808Z ##[command]Import-Module -Name C:\Modules\az_3.1.0\Az.Storage\1.9.0\Az.Storage.psd1 -Global
2020-06-24T11:20:38.6126351Z ##[command]Import-Module -Name C:\Modules\az_3.1.0\Az.Compute\3.1.0\Az.Compute.psd1 -Global
2020-06-24T11:20:39.6787093Z ##[command]Import-Module -Name C:\Modules\az_3.1.0\Az.Network\2.1.0\Az.Network.psd1 -Global
2020-06-24T11:20:45.4504022Z ##[command] & "AzCopy\AzCopy.exe" login --service-principal --application-id "" --tenant-id=""
2020-06-24T11:20:45.5018786Z INFO: If you set an environment variable by using the command line, that variable will be readable in your command line history. Consider clearing variables that contain credentials from your command line history.  To keep variables from appearing in your history, you can use a script to prompt the user for their credentials, and to set the environment variable.
2020-06-24T11:20:45.6707780Z INFO: SPN Auth via secret succeeded.
2020-06-24T11:20:45.8973389Z INFO: AzCopy.exe: A newer version 10.4.3 is available to download
2020-06-24T11:20:45.8973856Z
2020-06-24T11:20:46.0263614Z INFO: AzCopy.exe: A newer version 10.4.3 is available to download
2020-06-24T11:20:46.0264042Z
2020-06-24T11:20:46.0363342Z Uploading files from source path: 'D:\a\1\s\ArmTemplateTestProject\ArmTemplateTestProject' to storage account: 'samsappdataeustorage' in container: 'armtemplate' with blob prefix: '4496B'
2020-06-24T11:20:46.0445023Z ##[command] & "AzCopy\AzCopy.exe" copy "D:\a\1\s\ArmTemplateTestProject\ArmTemplateTestProject" "https://samsappdataeustorage.blob.core.windows.net/armtemplate/4496B"  --log-level=INFO --recursive
2020-06-24T11:20:46.1049615Z INFO: Scanning...
2020-06-24T11:20:46.1051628Z INFO: Using OAuth token for authentication.
2020-06-24T11:20:46.3742753Z INFO: AzCopy.exe: A newer version 10.4.3 is available to download
2020-06-24T11:20:46.3743499Z
2020-06-24T11:20:46.8298976Z
2020-06-24T11:20:46.8302476Z Job d6543a78-36f8-7340-74ad-cf508d2d60f6 has started
2020-06-24T11:20:46.8306994Z Log file is located at: C:\Users\VssAdministrator.azcopy\d6543a78-36f8-7340-74ad-cf508d2d60f6.log
2020-06-24T11:20:46.8307712Z
2020-06-24T11:20:46.8309230Z
2020-06-24T11:20:47.3917191Z 0.0 %, 0 Done, 0 Failed, 8 Pending, 0 Skipped, 8 Total,
2020-06-24T11:20:47.3925556Z INFO: Authentication failed, it is either not correct, or expired, or does not have the correct permission -> github.com/Azure/azure-storage-blob-go/azblob.newStorageError, /home/vsts/go/pkg/mod/github.com/!azure/azure-storage-blob-go@v0.7.0/azblob/zc_storage_error.go:42
2020-06-24T11:20:47.3927214Z ===== RESPONSE ERROR (ServiceCode=AuthorizationPermissionMismatch) =====
2020-06-24T11:20:47.3930476Z Description=This request is not authorized to perform this operation using this permission.
2020-06-24T11:20:47.3935525Z RequestId:9d97bcbc-f01e-006a-3f19-4a308a000000
2020-06-24T11:20:47.3939127Z Time:2020-06-24T11:20:47.3877686Z, Details:
2020-06-24T11:20:47.3943435Z    Code: AuthorizationPermissionMismatch
2020-06-24T11:20:47.3951444Z    PUT https://samsappdataeustorage.blob.core.windows.net/armtemplate/4496B/ArmTemplateTestProject/templates/azureStorageTemplate.parameters.json?timeout=901
2020-06-24T11:20:47.3954519Z    Authorization: REDACTED
2020-06-24T11:20:47.3957435Z    Content-Length: [323]
2020-06-24T11:20:47.3961519Z    User-Agent: [TFS_useragent AzCopy/10.3.3 Azure-Storage/0.7 (go1.13; Windows_NT)]
2020-06-24T11:20:47.3964222Z    X-Ms-Blob-Cache-Control: []
2020-06-24T11:20:47.3966905Z    X-Ms-Blob-Content-Disposition: []
2020-06-24T11:20:47.3971952Z    X-Ms-Blob-Content-Encoding: []
2020-06-24T11:20:47.3973506Z    X-Ms-Blob-Content-Language: []
2020-06-24T11:20:47.3984912Z    X-Ms-Blob-Content-Md5: []
2020-06-24T11:20:47.3988367Z    X-Ms-Blob-Content-Type: [application/json]
2020-06-24T11:20:47.3991081Z    X-Ms-Blob-Type: [BlockBlob]
2020-06-24T11:20:47.4037704Z    X-Ms-Client-Request-Id: [54779a9b-b0f0-4eff-762d-61ee0ecc2f18]
2020-06-24T11:20:48.0888385Z    X-Ms-Version: [2018-03-28]
2020-06-24T11:20:48.0889677Z    --------------------------------------------------------------------------------
2020-06-24T11:20:48.0890645Z    RESPONSE Status: 403 This request is not authorized to perform this operation using this permission.
2020-06-24T11:20:48.0891554Z    Content-Length: [279]
2020-06-24T11:20:48.0891977Z    Content-Type: [application/xml]
2020-06-24T11:20:48.0892416Z    Date: [Wed, 24 Jun 2020 11:20:46 GMT]
2020-06-24T11:20:48.0892815Z    Server: [Windows-Azure-Blob/1.0 Microsoft-HTTPAPI/2.0]
2020-06-24T11:20:48.0898032Z    X-Ms-Error-Code: [AuthorizationPermissionMismatch]
2020-06-24T11:20:48.0900060Z    X-Ms-Request-Id: [9d97bcbc-f01e-006a-3f19-4a308a000000]
2020-06-24T11:20:48.0901772Z    X-Ms-Version: [2018-03-28]
2020-06-24T11:20:48.0902351Z
2020-06-24T11:20:48.0912507Z
2020-06-24T11:20:48.0912902Z
2020-06-24T11:20:49.6006870Z 0.0 %, 0 Done, 0 Failed, 8 Pending, 0 Skipped, 8 Total,
2020-06-24T11:20:49.6007691Z
2020-06-24T11:20:49.6008244Z
2020-06-24T11:20:49.6008626Z Job d6543a78-36f8-7340-74ad-cf508d2d60f6 summary
2020-06-24T11:20:49.6008876Z Elapsed Time (Minutes): 0.0334
2020-06-24T11:20:49.6009527Z Total Number Of Transfers: 8
2020-06-24T11:20:49.6010327Z Number of Transfers Completed: 0
2020-06-24T11:20:49.6011196Z Number of Transfers Failed: 1
2020-06-24T11:20:49.6014409Z Number of Transfers Skipped: 0
2020-06-24T11:20:49.6016114Z TotalBytesTransferred: 0
2020-06-24T11:20:49.6018240Z Final Job Status: Cancelled
2020-06-24T11:20:49.6019409Z
2020-06-24T11:20:49.6029414Z ##[command] & "AzCopy\AzCopy.exe" logout
2020-06-24T11:20:49.6029862Z INFO: Logout succeeded.
2020-06-24T11:20:49.6030571Z INFO: AzCopy.exe: A newer version 10.4.3 is available to download
2020-06-24T11:20:49.6030928Z
2020-06-24T11:20:49.6031299Z ##[command]Disconnect-AzAccount -Scope Process -ErrorAction Stop
2020-06-24T11:20:49.6031997Z ##[command]Clear-AzContext -Scope Process -ErrorAction Stop
2020-06-24T11:20:50.1190294Z ##[error]Upload to container: 'armtemplate' in storage account: 'samsappdataeustorage' with blob prefix: '4496B' failed with error: 'AzCopy.exe exited with non-zero exit code while uploading files to blob storage.' For more info please refer to https://aka.ms/azurefilecopyreadme
2020-06-24T11:20:50.2044048Z ##[section]Finishing: Copy ARM Templates to Azure Storage V4
### YAML:
I tried it with both the classic UI and YAML, and get the same result. The only difference is that I appended an A and B to the blobprefix, so that each task would copy to a unique location

pool:
  vmImage: 'windows-latest'

steps:
- task: AzureFileCopy@3
  displayName: 'Copy ARM Templates to Azure Storage V3'
  inputs:
    SourcePath: ArmTemplateTestProject/ArmTemplateTestProject
    azureSubscription: 'SamLearnsAzure connection to Azure Portal'
    Destination: AzureBlob
    storage: samsappdataeustorage
    ContainerName: armtemplate
    BlobPrefix: '$(Build.BuildId)A'
    sasTokenTimeOutInMinutes: 240
- task: AzureFileCopy@4
  displayName: 'Copy ARM Templates to Azure Storage V4'
  inputs:
    SourcePath: ArmTemplateTestProject/ArmTemplateTestProject
    azureSubscription: 'SamLearnsAzure connection to Azure Portal'
    Destination: AzureBlob
    storage: samsappdataeustorage
    ContainerName: armtemplate
    BlobPrefix: '$(Build.BuildId)B'

@samsmithnz This error [AuthorizationPermissionMismatch] comes up only if we do not provide storage blob owner and storage blob contributor permissions to the SPN. Can you please check if these permissions are given to SPN?

I'll look: but does this make sense? Does V3 use the SPN in a different way? Why do I get errors with the new version and not the old version?

@samsmithnz Yes it is different. AzureFileCopyV3 uses azcopy.exe version 7, and AzureFileCopyV4 uses azcopy.exe version 10.
So in AzureFileCopyV4, we have to some extra permissions to our SPN as documented in the document :
https://docs.microsoft.com/en-us/azure/storage/common/storage-use-azcopy-v10#option-1-use-azure-active-directory

Looks like I have contributor and owner access to the storage. Adding the storage contributor role worked, but I have to admit, it's odd having to add an extra role when the same SPN already has owner and contributor roles too. Any idea why they made this change? Otherwise this issue can be closed.

@samsmithnz This permission thing came as a document with new Azcopy.exe version.  I can't say why this change has been made. But you have to give these required permissions to run AzureFileCopyV4 task. I hope all your queries are solved now.

Closing this one, feel free to reopen if face any issue.

Thank you @20shivangi. One last thought: Should any of this be in the v4 task docs? I don't see anything, but it's a change.

@samsmithnz I will check this, if it is not documented, I will take care of it

Seems weird that (A) AzCopy v10 (and hence AzureFileCopy@4) enforces permissions differently than the underlying blob storage  data plane, and (B) that granting permissions via the "this pipeline needs permissions to run" popup when running the Azure Pipeline grants sufficient permissions for AzureFileCopy@3 task but not the AzureFileCopy@4 task.
For those unfortunate enough to be as confused about this as I was, the solution is to:

open the Devops pipeline and note the name of the service connection
open the project settings at the bottom of the Project page, click "Service Connections", select the service connection, and then click "Manage Service Principal" and then get the display name (optionally changing it to something unique -- as all the service principals for service connections in a project have the same default name which can be confusing for the next step)
open the Storage resource (Account or container) in the azure portal, then select "Access Control (IAM)" in the blade on the left, then click "Add a role assignment" add the "Storage Blob Data Contributor" role to the service principal


docker volume sync issue

Hi, I have run some containers using volumes which provided by volume plugins( e.g. convoy). I found that some tricky behavior under unexpected operation:

create a volume using docker:
 docker volume create --name volume1 -d convoy -o size=10G

using it in a container:
docker run -ti  -v volume1:/test busybox sh
And then exit the container.

delete the volume1 using plugins:
convoy delete volume1

using docker to list volume.
 docker volume ls
result: there is no volume1 exists.  as docker will send volumedriver.List API to plugin to get all the volumes.

but we create a new volume named volume1 with  the same name:
docker volume create --name volume1  -d convoy -o size=10G

expected result:
create successfully.
but this operation  will fail, as docker thought the volume1 exist, and will not send volumedriver.Create API to plugin.
Investigatiion:
I found that docker saves the volume name and driver to memory(a map), but a volume created by docker and deleted by plugin, in this condition, this volume in docker daemon will go to wrong state.
Output of docker version:
root@main-server:~/work/elara# docker version
Client:
 Version:      1.11.0-dev
 API version:  1.23
 Go version:   go1.5.2
 Git commit:   1d09425-unsupported
 Built:        Fri Mar 11 15:53:31 2016
 OS/Arch:      linux/amd64

Server:
 Version:      1.12.0-rc2
 API version:  1.24
 Go version:   go1.6.2
 Git commit:   906eacd
 Built:        Fri Jun 17 21:09:07 2016
 OS/Arch:      linux/amd64

Output of docker info:
Containers: 8
 Running: 0
 Paused: 0
 Stopped: 8
Images: 180
Server Version: 1.12.0-rc2
Storage Driver: devicemapper
 Pool Name: docker-253:1-267226-pool
 Pool Blocksize: 65.54 kB
 Base Device Size: 107.4 GB
 Backing Filesystem: ext4
 Data file: /dev/loop0
 Metadata file: /dev/loop1
 Data Space Used: 14.42 GB
 Data Space Total: 107.4 GB
 Data Space Available: 15.03 GB
 Metadata Space Used: 27.36 MB
 Metadata Space Total: 2.147 GB
 Metadata Space Available: 2.12 GB
 Thin Pool Minimum Free Space: 10.74 GB
 Udev Sync Supported: true
 Deferred Removal Enabled: false
 Deferred Deletion Enabled: false
 Deferred Deleted Device Count: 0
 Data loop file: /var/lib/docker/devicemapper/devicemapper/data
 WARNING: Usage of loopback devices is strongly discouraged for production use. Either use `--storage-opt dm.thinpooldev` or use `--storage-opt dm.no_warn_on_loop_devices=true` to suppress this warning.
 Metadata loop file: /var/lib/docker/devicemapper/devicemapper/metadata
 Library Version: 1.02.77 (2012-10-15)
Logging Driver: json-file
Cgroup Driver: cgroupfs
Plugins:
 Volume: local elara
 Network: bridge null host overlay
Kernel Version: 3.13.0-57-generic
Operating System: Ubuntu 14.04.2 LTS
OSType: linux
Architecture: x86_64
CPUs: 4
Total Memory: 7.798 GiB
Name: main-server
ID: MFW2:XZQG:XKPJ:HKJ7:7MIW:M4VF:ZCPN:TKAA:MUST:25SC:UYK2:GK5H
Docker Root Dir: /var/lib/docker
Debug mode (client): false
Debug mode (server): false
No Proxy: /var/run/docker.sock,<IP_ADDRESS>,rnd-dockerhub.huawei.com
WARNING: No swap limit support

Additional environment details (AWS, VirtualBox, physical, etc.):
Steps to reproduce the issue:
1.
2.
3.
Describe the results you received:
Describe the results you expected:
Additional information you deem important (e.g. issue happens only occasionally):
will happen all the time.

I think this might be the same issue as #23367.

Yes, this is a dup.


polish code

Please answer these questions before submitting pull request

Why submit this pull request?
[ ] Bug fix
[ ] New feature provided
[ ] Improve performance
[x] Polish code

New feature or improvement

Describe the details and related test reports.
Since java.lang.ClassLoader#getSystemClassLoader is a static method, we can just call ClassLoader.getSystemClassLoader() for simplicity and suppress IDE warnings.

Coverage decreased (-0.002%) to 13.874% when pulling adf9a74a5bff986bde20be5e6baf6230e2f53a6c on kezhenxu94:polishing into c157b94d4a0679275bcc3c0c82a33724445470b3 on apache:master.


Improve control over dynamic requirements

This PR is meant as a continuation of #3178 and further improves the control over dynamic task requirements handled by the worker.
Description
I added a shallow class DynamicRequirements which is intended to wrap a batch of tasks being yielded as dyn. reqs. and optionally to define a custom, probably optimized completeness check for that batch. The new class is understood by the TaskProcess as a valid yield value of run() methods, which required changes to only a few lines.
Motivation and Context
As already mentioned in #3178, we are sometimes dealing with k's of tasks yielded as dynamic requirements in some wrapper task. These tasks store their outputs in a remote location and we can make the assumption that they are located in the same directory (presumably not unusual). For this matter we don't want to "stat" all output files separately, but just do a "listdir" on the common base directory, followed by a local comparison of basenames, saving us k's of interactions with remote resources.  Although we make use of the caching implemented in the referenced PR, we would like to further reduce remote API calls but the workers (or rather TaskProcess) internally flatten all requirements and perform separate completeness checks:
https://github.com/spotify/luigi/blob/master/luigi/worker.py#L154
Which requirements exist and which don't is not of interest at this point, so batched completeness checks as the one suggested above would be fully compatible with the current logic :)
Have you tested this? If so, how?
Yep, I added a new test case, update the docs, and amended the dynamic_requirements.py example.

The failing test reports
ModuleNotFoundError: No module named 'openapi_spec_validator'

# and connected to that

_pytest.nodes.Collector.CollectError: ImportError while importing test module '/home/runner/work/luigi/luigi/test/contrib/ecs_test.py'.

Is it possible that there's something wrong with contrib/ecs_test.py? I don't think the changes in this PR affect that one.

Seemed like a temporary glitch, all tests pass now 🎉

This could likely improve many of our jobs. Thanks!
I have considered implementing something similar, but in the storage interface layer, e.g. a GCSClient that batches lookups, potentially backed by a cache shared by workers. We already have a GCSClient with an in-memory cache, which improves things, but doesn't go all the way. Our cache implementation is very simple and makes some assumptions, so we haven't shared it.
What would the pros and cons be of DynamicRequirements vs similar functionality in the storage layer? DynamicRequirements can be used for multiple types of storage. A solution in the storage layer would be opaque to the worker core, and might arguably better separate concerns by keeping storage interface complexity within the storage layer. I am not sure how valuable a shared or persistent cache would be.
I do not doubt that this is a good solution. Just taking the opportunity to reason. Open source architecture is often accidental. :-)

Thanks for the feedback @lallea !

What would the pros and cons be of DynamicRequirements vs similar functionality in the storage layer?

Interesting, we also work with in-memory / local caching on SSDs plus batched lookups. However, I think having these DynamicRequirements on-top can be beneficial
a) to reduce the load even further, and
b) to make the first step of savings accessible for projects that can't or perhaps haven't yet invested time into custom caching solutions.
Some more background on our case (Physics research):
We sometimes have dynamic tasks with O(k) yielded tasks, and on some of our file systems, saving O(k) cache lookups can speed things up a lot. Depending on where we process things (we can't always choose that), we cannot control the worker infrastructure so we often end up on machines that only have shared, slow NFS's where caching via local disks isn't an option. Low-hanging fruits such as defining DynamicRequirements could be really helpful there.

Yes, I agree it looks useful even in the presence of other caching.
Could it make the bulk complete code in the Range classes missing_datetimes obsolete? I think that code has never worked properly. I have looked at it, but failed to understand how it could work. :-)

@dlstadther Kind ping :)


Add purge expired questionnaire state ci job

What is the context of this PR?
Adds a new dataflow CI task that purges expired questionnaire states in GCP.
How to review
Need to be tested alongside this pipelines PR
Checklist

[ ] New static content marked up for translation
[ ] Newly defined schema content included in eq-translations repo

 Pipeline to purge questionnaire-state (2 SP)


Counts only ESTABLISHED connections

OCD build https://ocd.appscale.com:8080/job/Daily Build/5121/


Fix typing & defaults for attributes with units

Proposed change

Updates typing & NoneType handling for attributes with units (should be Tuple, but could be None if no data is availabe).
Should fix TypeError: 'NoneType' object is not subscriptable in the HA component.
Type of change

[x] Bugfix (non-breaking change which fixes an issue)
[ ] New feature (which adds functionality to this library)
[ ] Breaking change (fix/feature causing existing functionality to break)
[ ] Code quality improvements to existing code or addition of tests

Additional information

This PR fixes or closes issue: fixes #399
This PR is related to issue:

Checklist

[x] The code change is tested and works locally.
[x] Tests have been added to verify that the new code works.

Codecov Report

Merging #404 (3e8a191) into master (42b7386) will not change coverage.
The diff coverage is 100.00%.

@@           Coverage Diff           @@
##           master     #404   +/-   ##
=======================================
  Coverage   96.91%   96.91%
=======================================
  Files           8        8
  Lines         939      939
=======================================
  Hits          910      910
  Misses         29       29

Flag
Coverage Δ

3.10.x
?

3.6
96.89% <100.00%> (ø)

3.7
?

3.8
?

3.9
96.80% <100.00%> (ø)

Flags with carried forward coverage won't be shown. Click here to find out more.

Impacted Files
Coverage Δ

bimmer_connected/vehicle_status.py
98.77% <100.00%> (ø)

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update 42b7386...3e8a191. Read the comment docs.


Fixed client certificate treatment.

The first problem is the callback function that is set by set_verify_callback() is not called the first accept. But the second accept and later one is called.
I analyzed the problem.
server.hpp calls ctx_.set_verify_callback() int do_accept(). ctx_ is moved from user at the constructor.
Then it is passed to socket_t parameter (actual type is ssl::stream). The type of parameter is ssl::context& but it behaves as copy in the constructor. So ctx_ configuration must be finished before socket_t is created.
I updated the order.
Then the first problem is solved.
However, the second problem is appared.
The username that is set by the callback is wrong. This is caused by ctx_.set_verify_callback() overwriting.
The second do_accept() is called when the first TCP async_accept (lowest_layer) is finished. It is too early. Because in the do_accept(), ctx_.set_verify_callback() is called with the new username memory. Then the callback is called. The expected behavior is the callback is the first one, but the second one is called. To solve this problem, I moved the next do_accept() call to after the all handshake sequences are finished. It would cause degrade connecting performance but so far, there is no way.
Ideally, create the new ctx  for each accept, but it requires a big breaking change. So I don't do that.
NOTE: async_mqtt solves the problem using this way https://github.com/redboltz/async_mqtt/blob/04748f1311f3dff6c2d418f1ac9d39b64f4da0a0/tool/broker.cpp#L322

This PR also contains #982 revert.


Review and if possible reduce the rights of the Synapse SA

Currently using the anyuid SCC on OpenShift, we should review and possibly reduce those rights.

In addition, we should document why having extended rights for Synapse is required


Sprint-Challenge--User-Interface

Making a pull request for my branch to merge into the master student repo.

Minimum Viable Product
Your finished project must include all of the following requirements:
Homepage

[x] Build the HTML and CSS to create the missing navigation and header.
[x] Link the About navigation item to the about.html page

You will also notice there are 10 boxes on the home page that need background colors.  Use this list below to correctly style each box:

[x] box1: teal
[x] box2: gold
[x] box3: cadetblue
[x] box4: coral
[x] box5: crimson
[x] box6: forestgreen
[x] box7: darkorchid
[x] box8: hotpink
[x] box9: indigo
[x] box10: dodgerblue

About Page
Review the provided design file for the about page. You have been provided the HTML wrapper, footer, and page content for the about page. Create the rest of the missing HTML and CSS to match the design file.

[x] Copy and paste your home page navigation and header into the about page
[x] Update the header image with the about page image
[x] Link the Home navigation item back to the index.html page.
[x] Build the rest of the about page layout to match the design

Stretch Problems
After finishing your required elements, you can push your work further. These goals may or may not be things you have learned in this module but they build on the material you just studied. Time allowing, stretch your limits and see if you can deliver on the following optional goals:

[ ] Build a page of your choosing from the navigation items.  Come up with content and images that fit the theme.
[ ] Introduce CSS animations to your site.
[x] Build a contact page and create a form with several inputs of your choosing
[ ] Add responsive breakpoints to your code by using media queries

What Looks Great

Great job reaching MVP!
Code is organized and easy to read
Way to go above and beyond with stretch goals!
Commit history and comments are very descriptive

Suggested Improvements

target='_blank' is used for links outside your page

Rating
3


Clicking (not dragging) inside the terminal window shouldn't flush the clipboard

Environment
Windows build number: Microsoft Windows [Version 10.0.19041.329]
Windows Terminal version (if applicable): 1.0.1811.0

Steps to reproduce
Copy anything to the clipboard, then click in the terminal window, anywhere but the title bar.
Expected behavior
Dragging text in the terminal replaces the clipboard's contents with it.
Clicking without selecting any text does not impact the clipboard.
Actual behavior
Dragging text does behave as expected, however when simply clicking, without selecting anything, the clipboard is flushed completely, which also affects data copied from outside Windows Terminal and may result in unexpected data loss as a result of interacting with it.

I'm presuming you have copyOnSelect enabled, right?

For what it's worth, I exclusively use copyOnSelect and I cannot reproduce this. This is supposed to explicitly guard against it:
https://github.com/microsoft/terminal/blob/09471c3753d888abcfd160dae524988003da862a/src/cascadia/TerminalControl/TermControl.cpp#L1109-L1114

It doesn't seem to happen anymore, regardless of the copyOnSelect setting. I assume the behaviour was linked to some specific other application I tried it with. I will update with more information if it happens again (and if the problem seems tied to WT and not this other application).


Nimplant Issue in webpanel

Hello!
Hello installed Nimplant as agent, seems that everything is running, docker container is running but its not loaded in web control panel

Hi @Chomikmarkus 👋 That's because Nimplant is only compatible with Mythic versions v2.1.X and below. Some changes in Mythic v2.2 require Nimplant to be updated to continue working, but its original author isn't maintaining it at the moment.


Update push notification message to show all commits

Show all commits in a push on separate lines. e.g:
2 commits :
5df7ec2: _added main_content
24a098b: _Merge branch 'alpha' into gamma

maybe this should be a configurable option?

added "latest" commit option back with configuration parameter to enable showing all commits in push message

Great, nice work. I'll merge.


sending "stop_playback" on established bridged calls, will reset ha-sip

I'm not sure if I can explain this, but I'm pretty sure this worked fine before...
Normally when dialing another phone connected to ha-sip, there is just silence while waiting for the other phone to pick up.
So when calling another phone, ha-sip will play an mp3 for the the caller while waiting for the other phone to pick up.
This mp3 is a recoding from a old phonecall, the sounds after you dialed a number, the long repeating beeps :)
When the target phone picks up and the two phones gets bridged, the mp3 needs to stop and this worked fine by sending command: stop_playback to the caller's number and both phones stayed bridged and audio worked fine..
But now a few seconds after the "stop_playback" command are issued, ha-sip just restarts :
calling from port_04 to port_03 :
23:36:43.800219 [1] Registering call with id sip:port_03@<IP_ADDRESS>:5060
| 23:36:43.800246 [ ] Add to state: sip:port_03@<IP_ADDRESS>:5060
| 23:36:43.803917 [1] Calling
| 23:36:43.868187 [1] Early
| 23:36:46.226735 [1] Call connecting...
| 23:36:46.227398 [1] onCallMediaState call info state 4
| 23:36:46.227489 [1] Connected media 1
| 23:36:46.228166 [1] Call connected
| 23:36:46.308558 [1] onCallMediaState call info state 5
| 23:36:46.308663 [1] Connected media 1
| 23:36:47.234931 [1] Call is established.
| 23:36:47.234987 [1] Calling additional webhook sip_connect_call_bridge_03 for event call_established
| 23:36:47.235008 [ ] Calling webhook sip_connect_call_bridge_03 with data {'event': 'call_established', 'caller': 'sip:port_03@<IP_ADDRESS>:5060', 'parsed_caller': 'port_03', 'sip_account': 1}
| 23:36:47.247244 [ ] Webhook response 200 b''
| 23:36:47.248517 [ ] Calling webhook sip_call_webhook_id with data {'event': 'call_established', 'caller': 'sip:port_03@<IP_ADDRESS>:5060', 'parsed_caller': 'port_03', 'sip_account': 1}
| 23:36:47.266072 [ ] Webhook response 200 b''
| 23:36:47.266516 [1] No action supplied
| 23:36:47.266626 [1] Playback interrupted.
| 23:36:47.269317 [1] Scheduled post action: noop
| 23:36:47.270714 [1] Scheduled post action: noop
| 23:36:49.304838 [1] Connect audio stream of "port_04" and "sip:port_03@<IP_ADDRESS>:5060"
| 23:36:49.304964 [1] Audio streams connected.
s6-rc: info: service legacy-services: stopping
s6-rc: info: service legacy-services successfully stopped
s6-rc: info: service legacy-cont-init: stopping
s6-rc: info: service legacy-cont-init successfully stopped
s6-rc: info: service fix-attrs: stopping
s6-rc: info: service fix-attrs successfully stopped
s6-rc: info: service s6rc-oneshot-runner: stopping
s6-rc: info: service s6rc-oneshot-runner successfully stopped
s6-rc: info: service s6rc-oneshot-runner: starting
s6-rc: info: service s6rc-oneshot-runner successfully started
s6-rc: info: service fix-attrs: starting
s6-rc: info: service fix-attrs successfully started
s6-rc: info: service legacy-cont-init: starting
s6-rc: info: service legacy-cont-init successfully started
s6-rc: info: service legacy-services: starting
s6-rc: info: service legacy-services successfully started
Getting config options from home-assistant OS.
Python 3.11.3
| 23:37:11.849195 [ ] Setting name server: ['<IP_ADDRESS>']
| 23:37:11.849313 [ ] Found cache directory '/config/audio_cache'
| 23:37:11.892109 [1] Loaded menu for incoming call.
| 23:37:11.892253 [2] No file name for incoming call config specified.
| 23:37:11.892276 [3] No file name for incoming call config specified.
23:37:11.892         os_core_unix.c !pjlib 2.14.1 for POSIX initialized
23:37:11.894         sip_endpoint.c  .Creating endpoint instance...
23:37:11.894                  pjlib  .select() I/O Queue created (0x7f1b75f4b138)
23:37:11.894         sip_endpoint.c  .Module "mod-msg-print" registered
23:37:11.894        sip_transport.c  .Transport manager created.
23:37:11.894           pjsua_core.c  .PJSUA state changed: NULL --> CREATED
| 23:37:11.902946 [ ] Supported audio codecs: speex/16000/1, speex/8000/1, speex/32000/1, iLBC/8000/1, GSM/8000/1, PCMU/8000/1, PCMA/8000/1, G722/16000/1, opus/48000/2, L16/44100/2, L16/44100/1

I think i created the automations on v3.5, and it worked fine ( running ha-sip-next v3.9 now )
If I disable the "stop_playback" command, they stay bridged, but the mp3 with the ringing sound plays to the end (1 minute long)
Is there maybe a command I can use to roll back to version 3.5 ?
edit: I found backups, tried with restoring 3.5 and 3.6, but the same happends ,  ha-sip just restarts with no error :/

nevermind..
as a workaround, when the calls get bridged it works to issue command: play_audio_file with a 0.2 second blank audio file to the caller, to "stop" the audio. Everything is working excellent now..


[QUESTION] How to improve export speed?

Laravel Framework 5.4.27
If i export to xlsx file it only takes few seconds BUT if I export to PDF file it takes a very long time, what can I do for this sir?
There's my sourcecode :
public function downloadExcel(Request $request, $type)
	{
		$data = $request->session()->get('postdata');
		view()->share('infogempas',$data->toArray());
		return Excel::create('SIBMKG', function($excel) {
			$excel->setTitle('Data Gempa BMKG');
			$excel->sheet('mySheet', function($sheet)
	        {
	        	$sheet->setAllBorders('thin');
	        	$sheet->setAutoSize(true);
				$sheet->loadView('pdfview');
				$sheet->mergeCells('A2:J2');
				$sheet->setSize('A1', 2, 15)->setSize('B1', 5, 15)->setSize('J1', 50, 15)->setSize('C1', 12, 15)->setSize('D1', 12, 15)->setSize('E1', 12, 15)->setSize('F1', 12, 15)->setSize('G1', 14, 15)->setSize('H1', 14, 15)->setSize('I1', 12, 15);
				$sheet->setSize('A3', 2, 15)->setSize('B3', 5, 15)->setSize('J3', 50, 15)->setSize('C3', 12, 15)->setSize('D3', 12, 15)->setSize('E3', 12, 15)->setSize('F3', 12, 15)->setSize('G3', 14, 15)->setSize('H3', 14, 15)->setSize('I3', 12, 15);
	        	$sheet->cells('A2:J2', function($cells) {
							$cells->setFontWeight('bold');
							$cells->setFontSize(14);
							$cells->setAlignment('center');
						});
	        	$sheet->cells('A1:J200', function($cells) {
						$cells->setAlignment('center');
						$cells->setValignment('center');
						});
	        });
				$lastrow= $excel->getActiveSheet()->getHighestRow();
				$excel->getActiveSheet()->getStyle('A1:J'.$lastrow)->getAlignment()->setWrapText(true);
		})->download($type);
	}

Although I'd prefer to use maatwebsite/laravel-excel, I had to stop using it because I couldn't figure out how to do things like stop formula pre-calculation.
This might be of some help - https://phpspreadsheet.readthedocs.io/en/develop/topics/reading-and-writing-to-file/#pdf
Scroll down to Formula Pre-Calculation
Let me know if you can figure out how to adjust these kinds of options from within Laravel-Excel


default README shouldn't contain mox init, it's already init'd!

Perhaps it would be better to have some docs on installing dependencies.

Shall I fix this?

Only to remove mox I it right??

Ah, sorry @Ankush1oo8, I didn't see your comment! Yes, anything marked good first issue you can just fix!


When using interceptors, how to wait some action before continue to another requests?

Describe the feature
Im using ofetch interceptor onResponse to know if the response status code is 401 then I call refresh token, but I have a problem when multiple calls happen at the same time, I want to wait the refresh token call finish in the first request and then continue with the others. This is the code I'm using, the same is mentioned in another closed issue https://github.com/unjs/ofetch/issues/79
import type { FetchRequest, FetchOptions, FetchResponse } from 'ofetch';
import { ofetch } from 'ofetch';
const fetcher = ofetch.create({
  baseURL: process.env.API_URL + '/api',
  async onRequest({ options }) {
    const accessToken = localStorage.getItem('accessToken');
    const language = localStorage.getItem('language');
    if (accessToken) {
      options.headers = {
        ...options.headers,
        Authorization: `Bearer ${accessToken}`,
      };
    }
    if (language) {
      options.headers = {
        ...options.headers,
        'Accept-Language': language,
      };
    }
  },
  async onResponse({ response }) {
    if (response.status === 401 && localStorage.getItem('refreshToken')) {
      const { accessToken } = await ofetch('/auth/token', {
        baseURL: process.env.API_URL + '/api',
        method: 'POST',
        body: {
          accessToken: localStorage.getItem('accessToken'),
          refreshToken: localStorage.getItem('refreshToken'),
        },
      });
      localStorage.setItem('accessToken', accessToken);
    }
  },
});
export default async <T>(request: FetchRequest, options?: FetchOptions) => {
  try {
    const response = await fetcher.raw(request, options);
    return response as FetchResponse<T>;
  } catch (error: any) {
    if (error.response?.status === 401 && localStorage.getItem('refreshToken')) {
      const response = await fetcher.raw(request, options);
      return response as FetchResponse<T>;
    }
    return error.response as FetchResponse<T>;
  }
};

Additional information

[ ] Would you be willing to help implement this feature?

this is how i handle it in nuxt
import type { FetchOptions } from 'ofetch'

export default defineNuxtPlugin(() => {
  const authToken = useCookie('_auth_token')
  const refreshToken = useCookie('_refresh_token')

  const buildContextRetry = (options: FetchOptions, token: string) => {
    const headers = new Headers(options.headers)
    headers.set('Authorization', `Bearer ${token}`)
    return {
      baseURL: options.baseURL,
      body: options.body,
      headers,
      method: options.method,
      params: options.params,
      query: options.query,
      responseType: options.responseType,
      ignoreResponseError: options.ignoreResponseError,
      parseResponse: options.parseResponse,
      duplex: options.duplex,
      timeout: options.timeout,
    }
  }

  const api = $fetch.create({
    retry: 3,
    onRequest({ _request, options, _error }) {
      refreshCookie('_auth_token')
      if (authToken.value) {
        const headers = (options.headers ||= {})
        if (Array.isArray(headers)) {
          headers.push(['Authorization', `Bearer ${authToken.value}`])
        }
        else if (headers instanceof Headers) {
          headers.set('Authorization', `Bearer ${authToken.value}`)
        }
        else {
          headers.Authorization = `Bearer ${authToken.value}`
        }
      }
    },
    onResponse(context) {
      if (context.response.status === 401) {
        refreshCookie('_auth_token')
        return new Promise((resolve, reject) => {
          $fetch('/api/auth/refresh-token', {
            method: 'POST',
            headers: {
              authorization: `Bearer ${refreshToken.value}`,
            },
          })
            .then(async ({ data }) => {
              const accessTokenExpiredAt = new Date(data.accessTokenExpiredAt)
              const refreshTokenExpiredAt = new Date(data.refreshTokenExpiredAt)
              useCookie('_auth_token', { expires: accessTokenExpiredAt, default: () => data.accessToken })
              useCookie('_refresh_token', { expires: refreshTokenExpiredAt, default: () => data.refreshToken })
              const retryOptions = buildContextRetry(context.options, data.accessToken)
              refreshCookie('_auth_token')
              refreshCookie('_refresh_token')
              await resolve($fetch(context.request, {
                ...retryOptions,
                onResponse(ctx) {
                  Object.assign(context, ctx)
                },
              }))
            })
            .catch((error) => {
              authToken.value = undefined
              refreshToken.value = undefined
              reject(error)
              return navigateTo('/login')
            })
        })
      }
    },
  })

  // Expose to useNuxtApp().$api
  return {
    provide: {
      api,
    },
  }
})

Nice! I ended up using it like this
`import { ofetch } from "ofetch"
let refreshingToken = false
let requestsQueue: { resolve: any, reject: any }[] = []
const processQueue = (error: any, token: string | null = null) => {
requestsQueue.forEach((prom) => {
if (error) {
prom.reject(error)
} else {
prom.resolve(token)
}
})
requestsQueue = []
}
const apiFetcher = ofetch.create({
baseURL: import.meta.env.VITE_API_BASE_URL + '/api',
timeout: 30000,
retry: false,
credentials: 'include',
async onResponse(ctx) {
if (ctx.response.status === 401) {
if (refreshingToken) {
return new Promise((resolve, reject) => {
requestsQueue.push({ resolve, reject })
})
.then((resp) => {
if (resp) {
ofetch(ctx.request, ctx.options)
}
})
.catch((err) => {
return Promise.reject(err)
})
}
refreshingToken = true
const retry = new Promise((resolve, reject) => {
ofetch.raw('/auth/Refresh-Token', {
baseURL: import.meta.env.VITE_API_BASE_URL + '/api',
method: 'POST',
credentials: 'include'
}).then((resp) => {
processQueue(null, resp._data)
resolve(this)
}).catch(err => {
processQueue(err, null)
const authStore = useAuthStore()
authStore.signOut()
reject(this)
}).finally(() => {
refreshingToken = false
// resolve(this)
})
})
await retry
}
}
})
export default apiFetcher`

@enzonun Thanks for posting this code, super helpful!
Question :
Do you need to resend original request for which you received accessToken expired? And had to trigger refreshToken flow?
In other words - requestsQueue.push() is called above only for subsequest requests but not for original request

hi @enzonun, Is your app running in SPA or SSR mode?
With your current code I think if it is in SSR there will be state conflicts between users

@enzonun Thanks for posting this code, super helpful! Question : Do you need to resend original request for which you received accessToken expired? And had to trigger refreshToken flow? In other words - requestsQueue.push() is called above only for subsequest requests but not for original request

Yes but because I have a wraper of the apiFetcher, that does the original request when it fails, this way
import apiFetcher from "./apiFetcher"

const apiFetchRaw = async <T = any>(request: FetchRequest, options?: FetchOptions) => {
  try {
    const response = await apiFetcher.raw(request, options)
    return response as FetchResponse<T>
  } catch (error: any) {
    if (error.response?.status === 401) {
      const response = await apiFetcher.raw(request, options)
      return response as FetchResponse<T>
    }
    return error.response as FetchResponse<T>
  }
}

export default apiFetchRaw```

I did it in that way because I wanted a version of ofetch.raw, and another wrapper with ofetch<T>, but maybe it can be done in another way

My app is running currently in SSR:false so IDK if it will have some problems on SSR, and I had to add the ofetch explicitly to use the typescript types, so that's another thing that I have to figure it out, maybe I can use nuxt $fetch directly,

I'm closing this because we already figure it out how to do it


Headings with Mismatched Levels Affecting Accessibility

Does this issue occur when all extensions are disabled?: Yes/No

VS Code Version: 1.92.2
OS Version: 14.6.1 (23G93)

Description: Certain headings, such as "EXPLORER," "WORKSPACE," "OUTLINE," and "TIMELINE," have mismatched heading levels compared to their visual importance, making navigation challenging for screen reader users.
Steps to Reproduce:

Navigate to headings like "EXPLORER" and "WORKSPACE" on the page.
Use a screen reader to notice the incorrect heading levels in relation to their visual hierarchy.

User Impact: Screen reader users may struggle to navigate the page efficiently and accurately due to incorrect heading levels that do not reflect the visual importance of the content.
Expected Behavior: Headings should have levels that match their visual hierarchy on the page. For example, "EXPLORER" should be marked as <h3>, while "WORKSPACE", "OUTLINE," and "TIMELINE" should be marked as <h4>.
Actual Behavior: Headings are currently mismatched, with incorrect heading levels that do not correspond to their visual importance.

I'm not sure what you mean by "mismatched", they currently lack heading levels in general. Thoughts @rperez030 ?

I have not heard any users reporting trouble related to this, thus closing. @isidorn pls lmk if you disagree


Remove invariant requirement.

Seems like in your other projects, you've removed the invariant dependency. It would be nice to do it here as well if you get the chance. We're using systemjs builder to include react-redux, so it ends up needing to map the invariant dependency, and causes some issues when process is not defined. We can work around these, but it'd be nice to just minimize the dependency graph as much as possible.
I could make a PR if you want, but it's pretty simple, and it's up to you if you have a good reason to still have it.

Even if we remove the invariant dependency we're still going to use process.env.NODE_ENV check to tell production from development builds. That's what React does too. When you use CommonJS build from NPM, you're supposed to shim it (e.g. via build tools like envify or webpack's DefinePlugin).
If you absolutely don't want to shim process.env.NODE_ENV yourself, please feel free to use the envified UMD builds in react-redux/dist (which is available in the NPM package).


Make Kron Scheduler DSL more flexible

First of all, still enjoying this little library :)
So, i prefer using the builder DSL for creating schedules due to type safety and verboseness. Ie when building a time zone aware scheduler that should run a job every 5 minutes i would use something like this:

val scheduler = buildSchedule(0) {
            minutes {
                0 every 5
            }
        }

And if i run this like the following:
scheduler.asFlow().collect { ... }
That gives me a timeline of all the seconds on the 5th minute since this is a minute scheduler and makes my job run every second on the 5th minute. Not exactly what i want. And yes, i know i can use the schedule which takes a string cron expression as argument instead to control the data and give me exactly one DateTimeZone back. But as stated, i want to use the DSL builder.
So, i think in most cases you want to trigger your job only once with most schedulers so we need to control seconds, minutes and so on when we use schedulers other than the seconds scheduler. What i've ended up doing is writing a little extension functions like the following:

  @FlowPreview
  private fun KronScheduler.asSingleTzFlow(seconds: Int = 0): Flow<DateTimeTz> = channelFlow {
      doInfinityTz {
          send(it)
      }
  }
      .filter { it.seconds == seconds }

Which solves this problem without a lot of fuzz :) But i was thinking that maybe this is a function that should be included in your library. I think it would be great if we had api functions for all the other schedulers than seconds like this so we can override the seconds, minutes and so forth properties in an easy and concise way.
Thoughts ?

Hello and thank you for your issue :) do I correctly understand that you want some way where we will trigger datetime collecting only for the times we set up in builder? For example, if you set minutes { every(5) }, you want to get trigger each five minutes at 0 seconds. Do I correctly understand your idea?


Some questions for getting start with rust-cardano

Where can I find the API documentation?
Looks like Cardano uses Ed25519 from rust crypto module. And there's a wasm binding for JavaScript. But can I use any other ed25519 Node.js implementation? If so is there any disadvantages. Or is there some modification to Ed25519, so I can only use bip32-ed25519 library.
How to get it working with bip32?

I need something like
1. privateKey is derived from bip32 HD wallet master key.
2. const publicKey = Wallet.getPublicKeyFromPriavteKey(privateKey)
3. const address = Wallet.getAddressFromPublicKey(publicKey)

But from the API, it only provides Wallet.fromSeed method.

the API documentation is not available online, but you can generate it easily with  cargo doc --no-deps --open -p cardano at the root of the repository.

@gutenye we use a specific implementation of ed25519 only available in https://crates.io/crates/cryptoxide (which is our maintained fork of rust-crypto).
You can use other ed25519's implementation for signing and verification, that operate on the extended secret key, but those implementation are rare (IIRC only sodium provide such capabilities).
I haven't clearly looked, but fromSeed is what you're looking for here. bip32 is provided in rust-cardano too, but this is just a way to convert a set of specific words (with a given dictionary), to a seed.

@NicolasDP,	@vincenthz Thanks for the response. I'm going to explore more with it.


Implement range questions with discrete values

For many range type questions, the set of possible outcome values is discrete. Current examples:
https://www.metaculus.com/questions/28845/how-many-of-the-q3-2024-top-16-will-be-in-top-16-in-q4-2024/
https://www.metaculus.com/questions/29028/us-state-dept-global-arms-sales-approved-q4-2024/
(Here, the outcomes are integers but often the resolution source contains numbers rounded to 1 or 2 decimal points, which also means the set of outcomes is discrete).
With the new ability to add an unlimited number of components, to increase their scores, the more experienced forecasters now create predictions with dozens of narrow components centered on the possible discrete values. This requires an expensive time investment and disadvantages the forecasters who are less familiar with the Metaculus interface and scoring system.
Desired behavior:
For the questions with discrete outcomes, use a probability mass function instead of a probability density function and have each component represent a binomial distribution instead of a normal one.

Interesting idea.
I think an alternative here would be to add a setting on each Question that defines the number of bins to consider. For questions with only discrete outcomes (or let's just say evenly spaced expected outcomes that are less than 30 or so in number), the question writer would determine exactly how many "buckets" to have within range.
To let you in on 2 secrets (not actually secrets, just little known facts):

the "pdf" is actually a "pmf" with 200 values (plus 2 additional values for below and above bounds). For questions with a medium number of possible outcomes (too many for a Multiple Choice question), we could just lower that number.
the API actually allows you to predict directly with a 201 point cdf, so you can push the boundaries even further when it comes to making an extremely precise forecast. This is definitely an advantage for those savvy enough to use the API, and so we intend to make it a little easier to understand and eventually add more ways to forecast on continuous questions. We actually have just started supporting forecasting with percentiles to support continuous questions for the AI benchmarking tournament, but it's not yet documented.

Assigning Sylvain to this just for visibility so we can discuss the possibility.

We've considered this new question type in the past. It is only necessary for questions with 10-30 options, since below that you can use a multiple choice, and above that you can use a continuous.
A recent development is our lifting the maximum number of components you can use on continuous questions, making this abomination possible.
On balance, this new question type would be nice to have, but would only somewhat improve a small number of questions. It's unlikely we'll prioritise working on it above our other endeavours in the near future.
Did you know we very much welcome contributions, now that we're open source? We'll even send you a very nice Metaculus hoodie.

If this isn't too difficult to do I'd like to put a vote in for someone working on it. It would be really valuable for group questions like these: https://www.metaculus.com/questions/13960/us-monthly-headline-cpi-inflation/
The ideal for that one would be a group of multiple choice questions, though we currently are unable to do that. But would be much nicer to be able to just fit a distribution and specify that it's going to resolve to a precision of 0.1, and any mass between 0.1 increments should be rounded to the nearest increment. Currently these are tedious to predict on and it's probably hampering engagement (any question where you have to make more than 1 or 2 spikes to have an optimal forecast is very tedious in general).

Currently these are tedious to predict on and it's probably hampering engagement (any question where you have to make more than 1 or 2 spikes to have an optimal forecast is very tedious in general).

I can confirm as a forecaster: I opened that question and immediately ran away screaming.

@ryooan in the question you link, it doesn't seem like people are using spiky predictions, though.

How much would having groups of multiple choice questions solve this?

Multiple choice for groups would be great and would help these a lot, though just scrolling down the page of numeric questions there are at least a few spiky ones that it wouldn't solve. https://www.metaculus.com/questions/?forecast_type=numeric
Though if it was complicated to do it's infrequent enough that it's probably not worth much effort.

Looks like we're moving to table-in-a-table for continuous groups, so multiple choice groups are looking more feasible by the day.