@vue/cli 5.0.0-beta.1   npm install  404

Version
5.0.0-beta.0
Environment info
win10

Steps to reproduce
create
What is expected?
install
What is actually happening?
@vue/cli 5.0.0-beta.1
npm install  packge   404 error
npm i sass
npm WARN deprecated<EMAIL_ADDRESS>This is a stub types definition. anymatch provides its own type definitions, so you do not need this installed.
npm ERR! code E404
npm ERR! 404 Not Found - GET https://registry.npmjs.com/vue-loader-v15 - Not found
npm ERR! 404
npm ERR! 404<EMAIL_ADDRESS>is not in the npm registry.
npm ERR! 404 You should bug the author to publish it (or use the name yourself!)
npm ERR! 404 It was specified as a dependency of '@vue/cli-service'
npm ERR! 404
npm ERR! 404 Note that you can also install from a
npm ERR! 404 tarball, folder, http url, or git url.

Please follow the issue template and provide the output of vue info here.
It's likely because your npm version is too low.

npm version from 6 to 7,it's nomal


Add .idea/ and *.iml to .gitignore

Add IntelliJ project files to .gitignore.
Useful when developing with the intellij-rust plugin.

Any files like these which are specific to a platform or your IDE of choice really should belong in your own personal gitignore. A project's gitignore should only cover temporary files created by its own build systems.


Issue #1572 Solved :- Added Asthma Prediction

Solves :- #1572
Description
The Asthma Risk Prediction System utilizes real-time environmental data and deep learning algorithms to assess the risk of asthma attacks. Key features include:

Real-time Monitoring: Continuously tracks particulate matter (PM2.5, PM10), temperature, and humidity levels.
Risk Categorization: Classifies asthma risk levels into "Green" (Safe), "Yellow" (Moderate Risk), and "Red" (High Risk) based on predicted Peak Expiratory Flow Rate (PEFR).
Automated Alerts: Sends notifications to users and first responders when high-risk conditions are detected.
Edge Computing: Processes data locally using a Raspberry Pi for low-latency responses.
User-friendly Interface: Provides a smartphone app for easy access to real-time data and alerts.
Use Case

Fixes #1572
Type of change

[yes ] Added a new machine learning frameworks, libraries or software.
[ ] Documentation update

Checklist:

[ yes] My code follows the style guidelines of this project
[ yes] I have performed a self-review of my own code
[yes ] I have commented my code, particularly in hard-to-understand areas
[yes ] I have made corresponding changes to the documentation
[ yes] My changes generate no new warnings

@sanjay-kv  Could you please review it and merge, Thanks a lot.

@sanjay-kv  Can you please  assign me and add gssoc and level label for it


ci: added action to publish wheels to pypi

This PR does not sign or publish to TestPyPI, which we may want to consider.
Fixes: #127

@0xDEC0DE I've not tested this out, and not 100% sure it does what I think it does ;)

I do not see anything that actually calls the script to generate the wheels anywhere. Did you miss a file?

I was hoping I could rely on the previous job, but I think it will clean up the files.  I'm going to create a manual action in a new MR to test uploads into testpypi, once it works there, we can apply those learnings here.
  goreleaser:
	@@ -28,3 +30,4 @@ jobs:
          args: release --clean
        env:
          GITHUB_TOKEN: ${{ secrets.GH_PAT }}

I cannot push to your PR branch.  Bummer.  But here you go if you want to finish the Intel packaging:
diff --git a/python/dist2wheel.py b/python/dist2wheel.py
index 7a2c928..2ba7244 100755
--- a/python/dist2wheel.py
+++ b/python/dist2wheel.py
@@ -107,6 +107,15 @@ class Wheels:
                         f"{self.py_tag}-{self.abi_tag}-musllinux_1_1_x86_64",
                     ],
                 },
+                "386": {
+                    "arch": "i686",
+                    "platform": "manylinux2014_i686.manylinux_2_17_i686.musllinux_1_1_i686",
+                    "tags": [
+                        f"{self.py_tag}-{self.abi_tag}-manylinux2014_i686",
+                        f"{self.py_tag}-{self.abi_tag}-manylinux_2_17_i686",
+                        f"{self.py_tag}-{self.abi_tag}-musllinux_1_1_i686",
+                    ],
+                },
             },
         }

Tested successfully in Debian 12 and Alpine 3.19.

...I can/will verify that the wheels install on those platforms, too if you add them.

Merged what we have for now, so we can build/add on top.

Still just enjoying the irony of a python_gilt package that installs 0 Python files.  😆

Still just enjoying the irony of a python_gilt package that installs 0 Python files. 😆

Yeah, I was just trying to retain the same pypi package that we were using before lol


Some problems of personal habits

VSCode Version:
OS Version:1.1

Steps to Reproduce:

Is it wrong to be here?

Can you add an item to the top that you can manage to open the file?

If you can increase the settings will be left column can be hidden away?

Vscode is a good editor, but I have a habit of being forced to correct it.
I like some of ui.'s sublime
Hope vscode can also have these UI

@lifetin sorry, but I don't understand your first problem because I cannot read your language. Please explain in English.
Your second problem: are you asking for 'tabs'?
Third problem: no, there is no way to hide the action bar.

@weinand

Pretty sure this is about the (S) accelerators where it should be (Y) and (N)
Tabs https://github.com/Microsoft/vscode/issues/224
Hide activity bar https://github.com/Microsoft/vscode/issues/1105

Closing as duplicates, thanks @Tyriar .

@bpasero is the 1st point a duplicate too?


accessToken

Hey mate! Congrats for the code!
How/where do I get the accessToken? Didn't get that. In tuya's cloud I just have access ID and access Secret. Tried to use both with no luck.
Thanks

No need for the access token. You need to provide your username and password:
$tuya = new TuyaCloud([
  "userName" =><EMAIL_ADDRESS>// username/email to access to SmartLife/Tuya app
  "password" => "MyPassword", // password to access to SmartLife/Tuya app
  "bizType" => "smart_life", // type ('tuya' or 'smart_life')
  "countryCode" => "33", // Country code (International dialing number), e.g. "33" for France or "1" for USA
  "region" => "eu" // region (az=Americas, ay=Asia, eu=Europe)
]);

Using just these information I got this error:

PHP Fatal error:  Uncaught exception 'Exception' with message '[tuyacloud] Unable to login: ' in /home/bkdsdd9p/public_html/tuya/TuyaCloud.php:79
Stack trace:
#0 /home/bkdsdd9p/public_html/tuya/TuyaCloud.php(82): TuyaCloud->login(5)
#1 /home/bkdsdd9p/public_html/tuya/TuyaCloud.php(82): TuyaCloud->login(4)
#2 /home/bkdsdd9p/public_html/tuya/TuyaCloud.php(82): TuyaCloud->login(3)
#3 /home/bkdsdd9p/public_html/tuya/TuyaCloud.php(82): TuyaCloud->login(2)
#4 /home/bkdsdd9p/public_html/tuya/TuyaCloud.php(82): TuyaCloud->login(1)
#5 /home/bkdsdd9p/public_html/tuya/TuyaCloud.php(25): TuyaCloud->login()
#6 /home/bkdsdd9p/public_html/tuya/index.php(10): TuyaCloud->__construct(Array)
#7 {main}
thrown in /home/bkdsdd9p/public_html/tuya/TuyaCloud.php on line 79

Your problem is probably different. Make sure you use the correct login information.

Are there any news on that topic? I have the same issues and i can make sure the login data is correct.
I red Tuya changed the verification method. Maybe thats the reason.

It works for me... So it might not be that.

For anyone drifting in here from Google, here was my finding.  I had changed the countryCode and region to 1/az (for USA/Americas) as the comments in the code suggested and I got the same error as above.
I changed it back to 33/eu (France/EU) and... it worked.  The comment about region/country in the code was the culprit.

Good to know! Thanks for sharing!

Hi @Aymkdn i see this issue with country code 880 for Bangladesh and Region bd for Bangladesh.


Standardize the One True Way of specifying literals

Implementation for #294, supersedes #338
Does exactly what the title says, removes the deprecated ways of specifying literals / data type constructors from core and moves them into the package objects. The extended constructors will be eventually removed from the chisel3 package, while the one in Chisel (compatibility) will stay indefinitely.
In a nutshell, the new ways of constructing a literal / data type are:

value.U, value.asUInt (auto-determined width)
value.U(width), value.asUInt(width) (explicit width)
UInt() (inferred width)
UInt(width)

where value is either a Int, BigInt, or String, and width is a Width (Widths can be created from Ints using x.W)
and similar constructors for Bits, SInt (x.S), and Bool (x.B)
A few regex conversion examples are provided that can automate the transformation: (in package.scala):

Bool\((true|false)\) => $1.B
UInt\(width\s*=\s*(\d+|[_a-zA-Z][_0-9a-zA-Z]*)\) => UInt($1.W)
(UInt|SInt|Bits).width\((\d+|[_a-zA-Z][_0-9a-zA-Z]*)\) => $1($2.W)
(U|S)Int\((-?\d+|0[xX][0-9a-fA-F]+)\) => $2.$1
UInt\((\d+|0[xX][0-9a-fA-F]+),\s*(?:width\s*=)?\s*(\d+|[_a-zA-Z][_0-9a-zA-Z]*)\) => $1.U($2.W)
(UInt|SInt|Bool)\(([_a-zA-Z][_0-9a-zA-Z]*)\) => $2.as$1
(UInt|SInt)\(([_a-zA-Z][_0-9a-zA-Z]*),\s*(?:width\s*=)?\s*(\d+|[_a-zA-Z][_0-9a-zA-Z]*)\) => $2.as$1($3.W)

This also enables deprecation warnings in Chisel core and all the tests have been rewritten to the new style.
The old way of specifying Inputs/Outputs (UInt(INPUT, ...)) have also been removed completely from the chisel3 package. A compatibility shim remains in the Chisel package

Since this is a fairly sweeping change that modifies the API, I'd like approvals from people spanning at least two different organizations.
There's not much actually changed code here if you ignore the mostly mechanical replacements in utils and tests.

I suspect that somewhere you've introduced a case where the default CompileOptions are getting pulled in, rather than the CompileOptions in the user's scope.

Try commenting out CompileOptions.materialize, and you'll see that several places within core and ChiselUtil now fail to compile.  This means they're incorrectly failing to pass the user's CompileOptions through.

As for removal of CompileOptions.materialize, that behavior shows up on chisel3 master as well (and when it's uncommented out, rocket successfully elaborates). So while that may be a bug, it seems orthogonal to whatever bug is being introduced in this PR. Which is strange, since the literal constructors don't take compile options.

I'm investigating ...
On Fri, Nov 18, 2016 at 12:22 PM, Richard Lin<EMAIL_ADDRESS>wrote:

As for removal of CompileOptions.materialize, that behavior shows up on
chisel3 master as well (and when it's uncommented out, rocket successfully
elaborates). So while that may be a bug, it seems orthogonal to whatever
bug is being introduced in this PR. Which is strange, since the literal
constructors don't take compile options.
—
You are receiving this because you were assigned.
Reply to this email directly, view it on GitHub
https://github.com/ucb-bar/chisel3/pull/372#issuecomment-261632436, or mute
the thread
https://github.com/notifications/unsubscribe-auth/AGh1wMVSCUCLvfLbjp2Wcb5TEdgJarZNks5q_gj6gaJpZM4K13QD
.

Found it. Was a mistake in converting Log2 to the new style and there seems to have been no unit tests of that util (this is sadly true for many utils in general). Rocket seems to build as well as master now.

Thanks for the detective work.

Looks good to merge. I'd wait until the end of today, and if there are no objections, we should merge.

In particular, does @sdtwigg have any thoughts.

This PR still breaks rocket-chip/master.
I just tried to bump chisel3 in rocket-chip and this causes run-asm-tests to hang.
Is there some sort of API change that chisel user's need to make?
I'll keep digging.

It is not supposed to break anything that imports Chisel (as opposed to chisel3).  If that is the case, there is a regression here.

Try with #380, there was a bug in this PR where asUInt(int) may be misinterpreted as a chained apply.
(and if it works for you, feel free to also review that PR so it can be merged, it's only a few lines long...)

@terpstra can you try #380?  I'll review the PR if it rectifies the problem.

cool, thanks @ducky64 @terpstra


Order by Relations with multiple references

Bug description
prismaClientUnknownRequestError2 [PrismaClientUnknownRequestError]: Invalidprisma.task.findMany() invocation: Error occurred during query execution: ConnectorError(ConnectorError { user_facing_error: None, kind: QueryError(Error { kind: Db, cause: Some(DbError { severity: "ERROR", parsed_severity: Some(Error), code: SqlState("42804"), message: "argument of JOIN/ON must be type boolean, not type record", detail: None, hint: None, position: Some(Original(383)), where_: None, schema: None, table: None, column: None, datatype: None, constraint: None, file: Some("parse_coerce.c"), line: Some(1156), routine: Some("coerce_to_boolean") }) }) }) at cb (/prisma-schema-orderby/node_modules/@prisma/client/runtime/index.js:35105:17) at processTicksAndRejections (internal/process/task_queues.js:93:5) { clientVersion: '2.23.0' }
How to reproduce
I prepare a simple project. There are 3 entities with composite keys. The last entity (TASK) has reference to Company and Project. I Can order tasks by Company_Name, but I cannot order them by Project_Name.
prisma-schema-orderby.zip
Expected behavior
Should order by Project_Name.
Prisma information
	/**
	 * THIS WILL THROW AN ERROR
	 */
	const tasksOrderByprojectName = await prisma.task.findMany({
		where: { deletedAt: null },
		orderBy: {
			project: {
				name: "asc",
			},
		},
	});

	/**
	 * THIS IS OK
	 */
	const tasksOrderByCompanyName = await prisma.task.findMany({
		where: { deletedAt: null },
		orderBy: {
			company: {
				name: "asc",
			},
		},
	});

Environment & setup

OS: Mac OS / Linux
Database: PostgreSQL
Node.js version: v14.15.4

Prisma Version
prisma               : 2.23.0
@prisma/client       : 2.23.0
Current platform     : darwin
Query Engine         : query-engine adf5e8cba3daf12d456d911d72b6e9418681b28b (at node_modules/@prisma/engines/query-engine-darwin)
Migration Engine     : migration-engine-cli adf5e8cba3daf12d456d911d72b6e9418681b28b (at node_modules/@prisma/engines/migration-engine-darwin)
Introspection Engine : introspection-core adf5e8cba3daf12d456d911d72b6e9418681b28b (at node_modules/@prisma/engines/introspection-engine-darwin)
Format Binary        : prisma-fmt adf5e8cba3daf12d456d911d72b6e9418681b28b (at node_modules/@prisma/engines/prisma-fmt-darwin)
Default Engines Hash : adf5e8cba3daf12d456d911d72b6e9418681b28b
Studio               : 0.393.0
Preview Features     : orderByRelation, selectRelationCount

Candidating this one for next sprint to consider moving orderByRelation out of preview.

I can reproduce this with 2.24.1. Thanks for the reprodution zip.

This issue also seems to occur in 2.25.0 when using _count (via selectRelationCount) on a model that has a composite key.
Error:
Invalid `prisma.compensationReview.findMany()` invocation:

Error occurred during query execution:
ConnectorError(ConnectorError { user_facing_error: None, kind: QueryError(Error { kind: Db, cause: Some(DbError { severity: "ERROR", parsed_severity: Some(Error), code: SqlState("42804"), message: "argument of JOIN/ON must be type boolean, not type record", detail: None, hint: None, position: Some(Original(503)), where_: None, schema: None, table: None, column: None, datatype: None, constraint: None, file: Some("parse_coerce.c"), line: Some(1154), routine: Some("coerce_to_boolean") }) }) })
     at cb (/app/node_modules/@prisma/client/runtime/index.js:33820:17)
     at processTicksAndRejections (internal/process/task_queues.js:95:5)

Internal Note: Candidating it since it's one of our oldest preview features 2.16.0 and we should consider looking into this before we remove the preview flag


Improve toList and ModelValue type usage

Returns ModelValue[] from toList
Adjusts rawData to be a property object, adjusts tests to use it.
Make SyntheticStorage compliant and fix more type issues
Fix bad type usage in DescrptionFormatter

Note that this is extracted from my changes for #2863  More changes with this as base PR coming...


[SPARK-37038][SQL][TESTS][FOLLOWUP] Fix flaky test by loosening the number of results for TABLESAMPLE

What changes were proposed in this pull request?
Fix expected number of rows in sample test
Why are the changes needed?
TABLESAMPLE is not repeatable. Shouldn't use a fixed number of rows as the expected result.
Does this PR introduce any user-facing change?
No
How was this patch tested?
existing tests

Thanks @huaxingao !

Test build #145431 has started for PR 34660 at commit 177d3bb.

Tests got passed.
Merged to master.

Test build #145431 has finished for PR 34660 at commit 177d3bb.

This patch passes all tests.
This patch merges cleanly.
This patch adds no public classes.

Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/145431/

Kubernetes integration test starting
URL: https://amplab.cs.berkeley.edu/jenkins/job/SparkPullRequestBuilder-K8s/49904/

Thanks @HyukjinKwon @dongjoon-hyun

Kubernetes integration test status failure
URL: https://amplab.cs.berkeley.edu/jenkins/job/SparkPullRequestBuilder-K8s/49904/

Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder-K8s/49904/


extract integrate common file

Codecov Report

Merging #31 (8056779) into main (ea33ea4) will increase coverage by 31.99%.
The diff coverage is n/a.

@@             Coverage Diff             @@
##             main      #31       +/-   ##
===========================================
+ Coverage   27.68%   59.67%   +31.99%
===========================================
  Files           9       11        +2
  Lines         690      801      +111
===========================================
+ Hits          191      478      +287
+ Misses        480      261      -219
- Partials       19       62       +43

Impacted Files
Coverage Δ

pkg/utils/pulsar_util.go
57.14% <0.00%> (ø)

pkg/utils/http_util.go
55.88% <0.00%> (ø)

pkg/kafsar/group_coordinator_impl.go
70.21% <0.00%> (+1.41%)
:arrow_up:

pkg/kafsar/kafka_impl.go
47.27% <0.00%> (+47.27%)
:arrow_up:

pkg/kafsar/offset_helper.go
60.00% <0.00%> (+60.00%)
:arrow_up:

pkg/kafsar/kafsar.go
71.42% <0.00%> (+71.42%)
:arrow_up:

pkg/kafsar/offset_manager_impl.go
73.83% <0.00%> (+73.83%)
:arrow_up:

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 ea33ea4...8056779. Read the comment docs.


Siri in iOS 13 responds "that feature is not available..." when trying to turn on/off a wemo outlet

After I installed iOS 13 recently, I noticed that I can no longer use Siri to turn on/off my Wemo outlets. She responds with phrases like:
"Hmm, that feature is not available for the <outlet name>"
"Hmm, the <outlet name> does not support that action"
I have tried specifying the outlets using a large variety of ways.  The only thing that works is if I specify "turn on/off the <room name>".  That is only useful when there's only 1 device in that room though.
I talked to Apple about this and they said to make sure my WeMo app is up to date (which it is).  The outlet firmware is up to date as well.  Perhaps there's some new device communication protocol?  I just checked and I've got<EMAIL_ADDRESS>which appears to be current...

Did you have wemo outlets with HomeKit enabled ? I had conflicts with homebridge registering wemo outlets and these very same outlets directly added in HomeKit. I found 2 solutions. First one, forget homebridge for these devices. Find the serial number (wemo app > more > settings and about > hardware info) and add it in the config.json as ignored devices.
Second one, reset the device and let the “natural HomeKit initialisation” to disappear. Then setup the device with the wemo app and let the wemo platform in homebridge to discover the device(s).

I did not at first understand what you were talking about. I'd never messed with enabling HomeKit before, so I didn't know what "directly added in HomeKit" or "natural HomeKit initialisation" meant.
But you inspired me to search the settings app for "HomeKit" and it revealed a HomeKit screen in the Privacy settings that I'd never seen before (settings > privacy > homekit). There was a wemo toggle that was turned on (that I never turned on - so it must've been added either by a WeMo update, the iOS 13 update, or both). I toggled it off and all of a sudden, I could control my WeMo outlets!
There are also a few other entries, like the app for Liftmaster, though that doesn't seem to disrupt my homebridge garage door controls, even though it's turned on.
Thanks for the help.  I will close this issue.


[release-v1.12] Bump vertx/quarkus to latest of 3.2.x line

With the release of 3.2.12, we align midstream to latest of quarkus and its used vertx

/test 415-test-reconciler-keda-aws-415


Checkbox for turning on NN-search

The user should be able to turn off object-detection through a checkbox

at the moment it is a slider with value 0 (off) or 100 (on)


App Settings Menu should fade in

It currently slides from right on iOS.
for android it just fades in, for iOS it slides from the right. Please keep the fade in behaviour consistent for both OS's.
build: 640
device: android

@knguyenBC I see this still has a spike label, have we firmly decided that we're going with the fade in behaviour for both?

I can't remember why it was changed to a spike. I would say fade in for both. For iOS the screen slides to left. Which is odd behaviour. Usually a left sided menu button slides to right, especially if its a sheet. I remember conversations where replicating that behaviour was difficult to do. So a fade in was easier.

Fade works on iOS in build 1077.


Fix typo in TransitiveTagKeys attribute name

Description of changes: Typo
By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.

Thanks so much for the suggestion!


Fix temporary API breakage in dask_cudf groupby

Minor follow-up to #9302
That PR modifies the aggregate method that is inherited in dask_cudf. This PR adds minimal changes to avoid breaking dask_cudf CI.

could you say a little more about the API breakage?

Yes - In dask_cudf, CudfDataFrameGroupBy inherits from DataFrameGroupBy, and overrides DataFrameGroupBy.aggregate (but not DataFrameGroupBy.agg). Therefore, calling CudfDataFrameGroupBy.agg falls back to DataFrameGroupBy.aggregate, which then calls CudfDataFrameGroupBy.aggregate with the unrecognized shuffle kwarg (and same for SeriesGroupBy).
I also can (and will) add handling for shuffle in dask_cudf,  but it also seems unnecessary to introduce an unnecessary version barrier.

Thanks for looking at this @ian-r-rose and @jrbourbeau - I decided it was better to just make the necessary changes in dask_cudf, since the previous release of cudf (22.08) is pinned to an earlier release of dask anyway. Sorry for adding to the PR pile.

No worries! Thanks for handling all the necessary downstream changes : )


Check helm template: currently web service can't access the db service due to the password being incorrect

The issue was due to the sharing of persistent volumes local host folder among different deployments (which needs to be fixed later on)


Add support for OpenCL language server

Which server would you like to request to be added?

Server name: OpenCL Language Server
Server homepage (e.g., GitHub page): https://github.com/Galarius/vscode-opencl

Which languages does this server target?

Languages: OpenCL, a custom dialect of C, that targets kernel development in the parallel programming of heterogeneous systems (GPUs, FPGAs, CPUs, DSPs)

How is this server distributed?

Is the server distributed through a standardized channel (such as release files, npm, pip, etc.)? (leave empty if unknown): VSCode Marketplace, but possible to get a .vsix file and install locally.
Is this server added in lspconfig?: No

Further Comments
It is vital to add this language server to vim.  There is literally no good extension (either in vimscript or Lua) that provides modern OpenCL editing capabilities. The existing plugins are all outdated syntax highlighting based on old OpenCL standards.  OpenCL is getting popular as a vendor-agnostic way to program heterogeneous systems that includes accelerators like GPUs and FPGAs.

Hello! I will wait for initial response in https://github.com/Galarius/vscode-opencl/issues/34 before proceeding with this

So just FYI: it seems like much of the VSCode extension's features are implemented on the client side entirely, meaning some of it won't be available for other clients. The author made an effort to extract the server from the VSCode extension to its own repository with a separate release pipeline, so this should be good to land soon

Added in #415. Note that you may run into a bunch of errors when saving files. This was fixed in https://github.com/Galarius/opencl-language-server/pull/2 but has not yet made it into a new release.


Fix debian buster compatibility

The images specify debian:latest and it seems they break on debian buster. Should start by hardcoding debian:stretch and then fix so we support buster instead.

This has suddenly become a high priority now that the package repos for stretch started 404'ing 😨
mzagozen@bn831-dcdev-8a-lab:~/vrnetlab$ docker run -it --rm debian:stretch
root@28a42d6346f8:/# apt update
Ign:1 http://security.debian.org/debian-security stretch/updates InRelease
Err:2 http://security.debian.org/debian-security stretch/updates Release
  404  Not Found [IP: 2a04:4e42::644 80]
Ign:3 http://deb.debian.org/debian stretch InRelease
Ign:4 http://deb.debian.org/debian stretch-updates InRelease
Err:5 http://deb.debian.org/debian stretch Release
  404  Not Found [IP: 2a04:4e42:6f::644 80]
Err:6 http://deb.debian.org/debian stretch-updates Release
  404  Not Found [IP: 2a04:4e42:6f::644 80]
Reading package lists... Done
E: The repository 'http://security.debian.org/debian-security stretch/updates Release' does not have a Release file.

The current stable is bullseye, let's see how that fares?

@plajjan do you happen to remember the failure conditions on buster?
After switching to bullseye I noticed sros doesn't boot up in distributed mode because the same drive (actually overlay image) cannot be shared between VMs?! The actual error is Failed to get "write" lock:
mzagozen@bn831-dcdev-8a-lab:~$ docker run -it --rm --name mz-vmx --privileged  vrnetlab/vr-sros:22.2.R2 --trace
2023-04-25 05:33:06,090: launch     INFO     License found
2023-04-25 05:33:06,090: launch     INFO     Number of NICS: 5
2023-04-25 05:33:06,091: launch     INFO     Mode: cli
2023-04-25 05:33:06,091: launch     INFO     Number of linecards: 1
2023-04-25 05:33:06,091: vrnetlab   DEBUG    Creating overlay disk image
qemu-img: warning: Deprecated use of backing file without explicit backing format (detected format of qcow2)
2023-04-25 05:33:06,102: launch     INFO     License file found for UUID 48fd3df1-9908-48ea-8304-13b480a38432 with start date None
2023-04-25 05:33:06,102: launch     INFO     SROS release 19 or higher, use card xcm-x20 instead of cpm-x20
2023-04-25 05:33:06,102: launch     INFO     License file found for UUID 48fd3df1-9908-48ea-8304-13b480a38432 with start date None
2023-04-25 05:33:06,106: vrnetlab   DEBUG    Starting vrnetlab SROS
2023-04-25 05:33:06,106: vrnetlab   DEBUG    VMs: [<__main__.SROS_cp object at 0x7fd9d1ee7430>, <__main__.SROS_lc object at 0x7fd9d1ece400>]
2023-04-25 05:33:06,113: vrnetlab   DEBUG    VM not started; starting!
2023-04-25 05:33:06,113: vrnetlab   INFO     Starting SROS_cp
2023-04-25 05:33:06,113: vrnetlab   DEBUG    ['qemu-system-x86_64', '-enable-kvm', '-display', 'none', '-machine', 'pc', '-monitor', 'tcp:<IP_ADDRESS>:4000,server,nowait', '-m', '6144', '-serial', 'telnet:<IP_ADDRESS>:5000,server,nowait', '-drive', 'if=ide,file=/sros-overlay.qcow2', '-uuid', '48fd3df1-9908-48ea-8304-13b480a38432', '-smbios', 'type=1,product=TIMOS:address=<IP_ADDRESS>/24@active license-file=tftp://<IP_ADDRESS>/license.txt chassis=XRS-20 chassis-topology=XRS-40 slot=A sfm=sfm-x20-b card=xcm-x20', '-device', 'e1000,netdev=p00,mac=52:54:00:23:4b:00', '-netdev', 'user,id=p00,net=<IP_ADDRESS>/24,tftp=/tftpboot,hostfwd=tcp::59400-<IP_ADDRESS>:57400,hostfwd=tcp::2080-<IP_ADDRESS>:80,hostfwd=tcp::2830-<IP_ADDRESS>:830,hostfwd=udp::2161-<IP_ADDRESS>:161,hostfwd=tcp::2443-<IP_ADDRESS>:443,hostfwd=tcp::2022-<IP_ADDRESS>:22', '-device', 'e1000,netdev=vcp-int,mac=52:54:00:3d:eb:01', '-netdev', 'tap,ifname=vcp-int,id=vcp-int,script=no,downscript=no']
2023-04-25 05:33:12,129: launch     TRACE    OUTPUT:

Press any key to stop auto-boot...
 1
2023-04-25 05:33:12,129: vrnetlab   DEBUG    VM not started; starting!
2023-04-25 05:33:12,129: vrnetlab   INFO     Starting SROS_lc
2023-04-25 05:33:12,129: vrnetlab   DEBUG    ['qemu-system-x86_64', '-enable-kvm', '-display', 'none', '-machine', 'pc', '-monitor', 'tcp:<IP_ADDRESS>:4001,server,nowait', '-m', '6144', '-serial', 'telnet:<IP_ADDRESS>:5001,server,nowait', '-drive', 'if=ide,file=/sros-overlay.qcow2', '-uuid', '48fd3df1-9908-48ea-8304-13b480a38432', '-smbios', 'type=1,product=TIMOS:chassis=XRS-20 chassis-topology=XRS-40 slot=1 sfm=sfm-x20-b card=xcm-x20 mda/1=cx20-10g-sfp', '-device', 'pci-bridge,chassis_nr=1,id=pci.1', '-device', 'e1000,netdev=mgmt,mac=52:54:00:b1:df:00', '-netdev', 'user,id=mgmt,net=<IP_ADDRESS>/24', '-device', 'e1000,netdev=vfpc-int,mac=52:54:00:41:13:00', '-netdev', 'tap,ifname=vfpc1-int,id=vfpc-int,script=no,downscript=no', '-device', 'e1000,netdev=p01,mac=52:54:00:01:32:01', '-netdev', 'socket,id=p01,listen=:10001', '-device', 'e1000,netdev=p02,mac=52:54:00:4c:d4:02', '-netdev', 'socket,id=p02,listen=:10002', '-device', 'e1000,netdev=p03,mac=52:54:00:97:0d:03', '-netdev', 'socket,id=p03,listen=:10003', '-device', 'e1000,netdev=p04,mac=52:54:00:13:c5:04', '-netdev', 'socket,id=p04,listen=:10004', '-device', 'e1000,netdev=p05,mac=52:54:00:33:6c:05', '-netdev', 'socket,id=p05,listen=:10005', '-device', 'e1000,netdev=p06,mac=52:54:00:81:3b:06', '-netdev', 'socket,id=p06,listen=:10006']
2023-04-25 05:33:12,162: vrnetlab   INFO     STDOUT:
2023-04-25 05:33:12,163: vrnetlab   INFO     STDERR: qemu-system-x86_64: -drive if=ide,file=/sros-overlay.qcow2: Failed to get "write" lock
Is another process using the image [/sros-overlay.qcow2]?

My first thought was OK, let's just create a separate overlay for the other VM so both guests end up writing to individual overlays, but is that correct? What if the two sros VMs (and other platforms that run in distributed mode) really expect to access the same device? I did not find a switch to disable write locks for shared guest access in the newer version of qemu, but it looks the same can be achieved by using NDB.

Uh yeah so I definitely think they should have an overlay per vm. I don't really see how it can ever work if they share one, so do we currently run on magic? 😜

And no I don't remember any specifics of the failures...


trivial: remove a debug println

Motivation
fix a #clowntown
Have you read the Contributing Guidelines on pull requests?
(Write your answer here.)
Test Plan
eyes
Related PRs

/land


NO-JIRA: Remove jakobmoellerdev from owners

Codecov Report
All modified and coverable lines are covered by tests :white_check_mark:

Project coverage is 69.97%. Comparing base (1059d90) to head (1e069ff).

Additional details and impacted files

@@            Coverage Diff             @@
##             main     #739      +/-   ##
==========================================
- Coverage   70.00%   69.97%   -0.03%
==========================================
  Files          49       49
  Lines        3351     3351
==========================================
- Hits         2346     2345       -1
+ Misses        830      829       -1
- Partials      175      177       +2

Flag
Coverage Δ

?

Flags with carried forward coverage won't be shown. Click here to find out more.
see 2 files with indirect coverage changes

/override ci/prow/e2e-aws ci/prow/e2e-aws-single-node ci/prow/e2e-aws-hypershift


[image_picker_for_web] Introduce image_picker_for_web package

Description
This is a first version of an Image Picker plugin for web.
Since dart:io File is not available on the web, this only implements the new PickedFile methods from the platform interface.
Instead of storing a "normal" path value on the file, however, it stores an "object URL" (see createObjectUrl) that the browser keeps track of. The PickedFiles in the web platform can be accessed through a network request (not a file operation).
Demo
https://dit-picker-tests.web.app
Known issues

Is there any opportunity to add revokeObjectUrl to free resources in the browser?
Safari is misbehaving

with videos, it should work (this might be a bug in the VideoPlayer plugin for web). (Issue: https://github.com/flutter/flutter/issues/58527)
taking pics on an iPhone: the aspect ratio is lost, and every pic seems to be rendered in "landscape" (Can't reproduce anymore)
In general, only videos that can be opened directly by the browser can be previewed. There's no client-side transcoding of any kind. Not sure if this is detectable, but it'd be a nice exception to throw! (Issue: https://github.com/flutter/flutter/issues/58532)

Related Issues

https://github.com/flutter/flutter/issues/36281
https://github.com/flutter/flutter/issues/53283

Checklist
Before you create this PR confirm that it meets all requirements listed below by checking the relevant checkboxes ([x]). This will ensure a smooth and quick review process.

[x] I read the Contributor Guide and followed the process outlined there for submitting PRs.
[x] My PR includes unit or integration tests for all changed/updated/fixed behaviors (See Contributor Guide).
[x] All existing and new tests are passing.
[x] I updated/added relevant documentation (doc comments with ///).
[x] The analyzer (flutter analyze) does not report any problems on my PR.
[x] I read and followed the Flutter Style Guide.
[x] The title of the PR starts with the name of the plugin surrounded by square brackets, e.g. [shared_preferences]
[x] I updated pubspec.yaml with an appropriate new version according to the pub versioning philosophy.
[x] I updated CHANGELOG.md to add a description of the change.
[x] I signed the CLA.
[x] I am willing to follow-up on review comments in a timely manner.

Breaking Change
Does your PR require plugin users to manually update their apps to accommodate your change?

[x] No, this is an optional plugin, and users don't need to use it if they don't want to.

I think I addressed all the comments, @ferhatb, @yjbanov, PTAL if you have some time, thanks!

Mostly LGTM although I would prefer to return an ImageProvider rather than a PickedFile. This way, the developer could just do Image(pickedImage) whether you are on web or not.
See: https://api.flutter.dev/flutter/widgets/Image/Image.html

@hterkelsen I looked a little bit into this, and the issue I encountered was that only Images can be created that way; there's no concept of VideoProvider, AudioProvider, "AssetProvider" or FileProvider (AFAIK), so that solution would only cover a fraction of the use cases of the plugin (I didn't measure what's the actual breakdown of usage, it might be a large fraction of the use cases :P)
PS: Now that web and desktop are coming, there's already feature requests of "let me pick any arbitrary file from my disk.
In any case, I think that's a very good idea for an extra API method down the line; if you're only using the plugin for Images, we can add a "PickedImageProvider" class that lets you create Image widgets directly! (It'd still require dart:io vs dart:html implementations, but they'd be doable). Do you think we need an issue to track that task (P5/P6?), or wait until some user asks for something like that explicitly?

Ah, that makes sense. I don't think we need to add it in that case

Published to pub.dev:
https://pub.dev/packages/image_picker_for_web (^0.1.0)

hi I am stuck in some issues regarding file validation, i.e. how can we check is user has uploaded only image extension file on web, because user can select option "All files" and upload any file on web.
if (kIsWeb) {
  Image.network(pickedFile.path);
} else {
  Image.file(File(pickedFile.path));
}

like here for web if I console the Image I am getting -
Image(image: NetworkImage("blob:http://<IP_ADDRESS>:55555/316c9cde-1333-4294-a72d-03e45d97f5f7", scale: 1), frameBuilder: null, loadingBuilder: null, alignment: center, this.excludeFromSemantics: false, filterQuality: low)
blob:http://<IP_ADDRESS>:55555/316c9cde-1333-4294-a72d-03e45d97f5f7
does not contains any file extension info or meta data kind something ?? Please Help ...

@parammittal162 the only reliable way of doing what you want is either doing it via server-side, or by looking at the bytes of the PickedFile and trying to recognize the header of the image.
You would be in a similar situation if your user renames "file.txt" to "file.jpg" and tries to pick it.

ok Thanks @ditman

@parammittal162 the only reliable way of doing what you want is either doing it via server-side, or by looking at the bytes of the PickedFile and trying to recognize the header of the image.

This is my problem too right now. I've used the readAsBytes() function to show the image using Image.memory(), but the problem is I want to upload the file to the server. I don't know how to get the extension of the file by reading the bytes, any help on this? Is there a way for the plugin to give this info? like a the whole filename. We can't use path extension() method also because it's in web .

@markgrancapal you can use findDecoderForData() of package image

@andrea689 thanks for the help!

We probably need to add a file metadata attribute to the PickedFile object. It'll be redundant in mobile, but useful for web. Thanks for the feedback!!

@ditman thanks for all your work on this.  I've been messing with 0.6.7+1 and converted my implementation.  I switched to bytes so that it would work on both web and mobile.
final _picker = ImagePicker();
try {
final pickedFile = await _picker.getImage(
source: ImageSource.gallery,
maxWidth: 400,
maxHeight: 400,
imageQuality: 80,
);
final result = await pickedFile.readAsBytes();
  bloc.updateImageSelection(result);
} catch (e) {
  Log.d(e.toString());
}

However, I never make it to an image selection.  As soon as I run this code I receive >
MissingPluginException(No implementation found for method pickImage on channel plugins.flutter.io/image_picker)
I'm assuming that I missed something, and tips would be appreciated.

"No implementation found for method pickImage on channel plugins.flutter.io/image_picker"
@m-j-g  The image_picker_for_web plugin is still not officially endorsed, so it will not be added to your dependencies automatically. You probably need to update your pubspec.yaml and depend on it, like so:
image_picker: ^0.6.7
image_picker_for_web: ^0.1.0

Once the plugin has been adopted by more people and we iron out whatever issues/features come up, we'll endorse it, so you just need to depend on a recent version of image_picker. For now, please add the dependency on the web version to your app!
Thanks for giving this a shot!
PS: check the README in the web version of the plugin, it has documentation about installation, browser support, etc...

@ditman
ahh thanks.  I kept seeing that package, but my mind dismissed it as transitive.  Thanks for clearing that up!

@m-j-g makes sense, almost every other plugin "hides" the web implementation so you don't have to worry about it. Note that every web plugin has (or should have) a similar README, with installation instructions and "quirks" of the web platform.

@markgrancapal you can use findDecoderForData() of package image

It worked! Thanks! But now I need to know the file extension for videos, and I can't find any suitable package for this one. Any suggestion? Thank you!

We probably need to add a file metadata attribute to the PickedFile object. It'll be redundant in mobile, but useful for web. Thanks for the feedback!!

a way to know the filename or even the extension would be a big help for sure.
image_picker_web does this but the problem is it doesn't provide a network path. For videos I can't find a way to play a video using Byte data or Html.File

@ditman Can you please share the link of the source code of the Demo:
https://dit-picker-tests.web.app

@shujaatak it should be this: https://github.com/flutter/plugins/tree/master/packages/image_picker/image_picker/example

@ditman I used method pickImage found that image not resizing and compressing follow maxWidth maxHeight and imageQuality. Please suggest me. Thank you

@nonnyzcsrt resizing on the fly is not supported on web, for now. You might be able to load the image bytes in a canvas and then do the resizing, but this is not natively supported!

If someone ever gets here before resizing the image is implemented in the package, you can use the following function to resize an image in the browser:
import 'dart:html' as html;

  static Future<String> resizeImage(String src, int maxWidth, int maxHeight, int imageQuality) {
    var completer = Completer<String>();
    var img = html.ImageElement();
    img.onLoad.listen((event) {
      var canvas = html.CanvasElement();
      var ctx = canvas.context2D;
      double ratio = 1;
      print("Original size: ${img.width} x ${img.height}");
      if (img.width > img.height) {
        if (img.width > maxWidth) ratio = maxWidth / img.width;
      } else if (img.height > maxWidth) {
        ratio = maxWidth / img.height;
      }
      if (img.width > img.height) {
        if (img.width < maxHeight) ratio = maxHeight / img.width;
      } else if (img.height < maxHeight) {
        ratio = maxHeight / img.height;
      }
      print("Resizing $ratio times");
      canvas.height = (img.height * ratio).floor();
      canvas.width = (img.width * ratio).floor();
      // Draw the image to canvas and resize
      ctx.drawImageScaled(img, 0, 0, canvas.width, canvas.height);
      var base64 = canvas.toDataUrl("image/png", imageQuality / 100);
      completer.complete(base64);
    });
    img.src = src;
    // make sure the load event fires for cached images too
    if (img.complete) {
      // Flush cache
      img.src = 'data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///ywAAAAAAQABAAACAUwAOw==';
      // Try again
      img.src = src;
    }
    return completer.future;
  }

If someone ever gets here before resizing the image is implemented in the package, you can use the following function to resize an image in the browser:
import 'dart:html' as html;

  static Future<String> resizeImage(String src, int maxWidth, int maxHeight, int imageQuality) {
    var completer = Completer<String>();
    var img = html.ImageElement();
    img.onLoad.listen((event) {
      var canvas = html.CanvasElement();
      var ctx = canvas.context2D;
      double ratio = 1;
      print("Original size: ${img.width} x ${img.height}");
      if (img.width > img.height) {
        if (img.width > maxWidth) ratio = maxWidth / img.width;
      } else if (img.height > maxWidth) {
        ratio = maxWidth / img.height;
      }
      if (img.width > img.height) {
        if (img.width < maxHeight) ratio = maxHeight / img.width;
      } else if (img.height < maxHeight) {
        ratio = maxHeight / img.height;
      }
      print("Resizing $ratio times");
      canvas.height = (img.height * ratio).floor();
      canvas.width = (img.width * ratio).floor();
      // Draw the image to canvas and resize
      ctx.drawImageScaled(img, 0, 0, canvas.width, canvas.height);
      var base64 = canvas.toDataUrl("image/png", imageQuality / 100);
      completer.complete(base64);
    });
    img.src = src;
    // make sure the load event fires for cached images too
    if (img.complete) {
      // Flush cache
      img.src = 'data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///ywAAAAAAQABAAACAUwAOw==';
      // Try again
      img.src = src;
    }
    return completer.future;
  }

@postacik this is a cool example, why not add it to the plugin code itself?

@postacik this is a cool example, why not add it to the plugin code itself?

@ditman , I am not familiar with the flutter plugins structure. It would be great if someone else could add it to the plugin.

@ditman , I am not familiar with the flutter plugins structure. It would be great if someone else could add it to the plugin.

I'll do @ditman @postacik.
I'll open a PR later today containing this code!

I'll do @ditman @postacik.
I'll open a PR later today containing this code!

The thing that I was thinking about is that the code above is only meant for. Would it be better to make a code that runs on any platform??

The thing that I was thinking about is that the code above is only meant for. Would it be better to make a code that runs on any platform??

    final _picker = ImagePicker();
    final PickedFile pickedFile = await _picker.getImage(source: ImageSource.gallery, maxWidth: 400, maxHeight: 400, imageQuality: 80);

If this code is run on iOS or Android it resizes the selected image with the given size parameters and image quality.
However on web the maxWidth, maxHeight and imageQuality parameters have no effect. The image is returned as is.
If you add this code to the web platform implementation, it will be behaving just like the mobile platforms.
@ditman , please correct me if I'm wrong.

    final _picker = ImagePicker();
    final PickedFile pickedFile = await _picker.getImage(source: ImageSource.gallery, maxWidth: 400, maxHeight: 400, imageQuality: 80);

If this code is run on iOS or Android it resizes the selected image with the given size parameters and image quality.
However on web the maxWidth, maxHeight and imageQuality parameters have no effect. The image is returned as is.
If you add this code to the web platform implementation, it will be behaving just like the mobile platforms.
@ditman , please correct me if I'm wrong.

@jesusrp98 @postacik yes, I think the native picker is already able to resize images both on iOS and Android. This is a missing feature of Flutter web.
Please @jesusrp98, remember to create a Flutter issue for [image_picker_for_web] that explains what you're going to do :)
@postacik the code for picking images in web is here, in case you want to lend a hand to @jesusrp98 :) https://github.com/flutter/plugins/blob/master/packages/image_picker/image_picker_for_web/lib/image_picker_for_web.dart

@jesusrp98 @postacik yes, I think the native picker is already able to resize images both on iOS and Android. This is a missing feature of Flutter web.
Please @jesusrp98, remember to create a Flutter issue for [image_picker_for_web] that explains what you're going to do :)
@postacik the code for picking images in web is here, in case you want to lend a hand to @jesusrp98 :) https://github.com/flutter/plugins/blob/master/packages/image_picker/image_picker_for_web/lib/image_picker_for_web.dart

By the way, ImageSource.camera has no effect on desktop. It works only on mobile.
WhatsApp web uses browser WebRTC functions to capture image from webcam.
There's a flutter library called flutter_webrtc which has web support and can capture image from webcam.
Maybe we can copy the web implementation from that library to support ImageSource.camera on desktop.

By the way, ImageSource.camera has no effect on desktop. It works only on mobile.
WhatsApp web uses browser WebRTC functions to capture image from webcam.
There's a flutter library called flutter_webrtc which has web support and can capture image from webcam.
Maybe we can copy the web implementation from that library to support ImageSource.camera on desktop.

Planning to open the issue tomorrow if I have the time @ditman.
Also @postacik, I think it would be awesome to implement that feature directly into image_picker.

Planning to open the issue tomorrow if I have the time @ditman.
Also @postacik, I think it would be awesome to implement that feature directly into image_picker.

We're soon going to work on the camera plugin for web, which should implement this specific feature. Then (maybe) depend on the camera plugin for the ImageSource.camera on desktop browsers?

We're soon going to work on the camera plugin for web, which should implement this specific feature. Then (maybe) depend on the camera plugin for the ImageSource.camera on desktop browsers?

any news for provide ImageSource.camera on desktop browsers ?


Add tradable capability to Bitfinex trader

Couldn't get the trader to work without this capability. Not sure if it was removed/not added intentionally?

I think I forgot this, thanks! Will push into develop and test to make sure it works.


Web Color Highlight

Description
styles css/web colors found in your document
Inspirations:

https://github.com/enyancc/vscode-ext-color-highlight

POC

[x] hex, rgb, rgba, hsl, display p-3, lch, oklab, and hwb color formats
[x] simple toggle enable/disable command that toggles enabled property

check release https://github.com/rifandani/vscode-ecosystem/releases/tag/v1.2.0


Widget sharing links to base 64

https://github.com/intersystems-community/analytics-dashboars/issues/270#issuecomment-1818472556

We are currently facing an issue with URL encoding in the DSW application. Problems arise when using Encode and Base64:
Link before encoding:
https://analytics.community.intersystems.com/dsw/index.html#/COMMUNITY/Monthly Reports/MembersPostsViews.dashboard?FILTERS%25253DTARGET:*;FILTER:%25255BDateDimension%25255D.%25255BH1%25255D.%25255BMonthYear%25255D.%252526%25255B202305%25255D:%252526%25255B202310%25255D%2526widget%253DMembers%3D%26FILTERS%3DVEFSR0VUOio7RklMVEVSOiU1QkRhdGVEaW1lbnNpb24lNUQuJTVCSDElNUQuJTVCTW9udGhZZWFyJTVELiUyNiU1QjIwMjMwNiU1RCUzQSUyNiU1Qk5PVyU1RA%3D%3D%26widget%3DPosts Table=&FILTERS=VEFSR0VUOio7RklMVEVSOiU1QkRhdGV
Link after Logi usage:
https://analytics.community.intersystems.com/dsw/index.html#/login?from=%2FCOMMUNITY%2FMonthly%2520Reports%2FMembersPostsViews.dashboard%3FFILTERS%252525253DTARGET:*;FILTER:%252525255BDateDimension%252525255D.%252525255BH1%252525255D.%252525255BMonthYear%252525255D.%2525252526%252525255B202305%252525255D:%2525252526%252525255B202310%252525255D%25252526widget%2525253DMembers%25253D%252526FILTERS%25253DVEFSR0VUOio7RklMVEVSOiU1QkRhdGVEaW1lbnNpb24lNUQuJTVCSDElNUQuJTVCTW9udGhZZWFyJTVELiUyNiU1QjIwMjMwNiU1RCUzQSUyNiU1Qk5PVyU1RA%25253D%25253D%252526wid%253D%2526FILTERS%253DVEFSR0VUOio7RklMVEVSOiU1QkRhdGVEaW1lbnNpb24lNUQuJTVCSDElNUQuJTVCTW9udGhZZWFyJTVELiUyNiU1QjIwMjMwNiU1RCUzQSUyNiU1Qk5PVyU1RA%253D%253D%2526widget%253DMembers%3D
These changes lead to the setting of a common filter on the dashboard. It has also been suggested to update the Base64 encoding to include the entire tail from the URL.

This is a known issue of Logi, It breaks valid URLs into invalid ones. I've added some support for invalid URLs, but Logi still can generate some crazy urls, that can't be processed. So I need to check each case separately.
Before I start checking it, please update DSW to the last version(3.2.19) - there are a lot of changes for Logi broken links support. Currently, you use a version that doesn't support broken links.
If after updating and regenerating the link by DSW and after it by Logi issue will stay - let me know.

@jakcpto @Frisle check please

Links are now working as required. This issue is resolved


Add default description

For some decks, especially when one dedicates a note to a deck, one could find handy to fill by default the descriptions (both sides). We could think of something like a file variable (eg ´flashcard-desc-side1: "Atome number"´ ´flashcard-desc-side2: "Atome name"´)

Done


Affected file not mentioned on LaTeX projects

I went through the documentation and found how to modify the messages to show if it is a warning or error etc, but I did not see the following:
When I get an error on a LaTeX project, I can only see the lines that are affected, but I do not know on which file the issue is. For example, in the following picture I am editing my .tex file, but these errors come from the .sty style file, and the .bbl bibliography file. This can get confusing. It would be great if I could also see which file is affected, because every time I need to check all my files to see where this is coming from.

I really like that I can see these errors even though I have not opened these files, so I will not forget about them.

Please include the full output of :ALEInfo.
Are you saying that you see errors from other files being highlighted incorrectly in files you are editing, or just that you want the errors from other files to appear in the quickfix list?

The output is huge. How do you export it to a file automatically?
The errors are not highlighted in the file that I am editing. They are only listed in the quickfix. The problem is that I do not know in which file lines for example 23-26 have an issue, until I try on many files to comment them out, until the error disappears.

I'll have to look at the full output to see if there's something that can be done about that. Use :ALEInfoToClipboard to copy the output to your clipboard, as mentioned in the issue template comment.

Here it is: https://paste.fedoraproject.org/paste/E9EBxdk175t9-Curv--86Q

Can you capture the output when you see the error above?

I could see the error at the time so I investigated it further. I disabled ale and the error was still there. It must have been a vimtex error. Sorry about that, I will report it there.
Thanks for the great work!

Okay, cool!


Unclear how to override default URL

Using the latest version of this plugin, how do we specify custom urls?
Say our slack is located at: banana.slack.com.

@ilovemysillybanana
You can customize the base URL this way:
from slack import WebClient
client = WebClient(token="your-token-here", base_url="https://banana.slack.com/api/")

See also: https://github.com/slackapi/python-slackclient/blob/v2.7.2/slack/web/base_client.py#L40
If this is helpful to you, could you close this question?


Update lots test

Використовує #109

This change is

Після прийняття #109 можна буде втягнути.

Reviewed 5 of 5 files at r1, 5 of 5 files at r2, 7 of 7 files at r3, 7 of 7 files at r4.

Comments from Reviewable

Review status: 10 of 11 files reviewed at latest revision, 3 unresolved discussions.

op_robot_tests/tests_files/multiLotTender.robot, line 58 [r4] (raw file):
Done. Добавив ще owner-a, бо він має мати у кеші ці дані.

op_robot_tests/tests_files/multiLotTender.robot, line 115 [r4] (raw file):
Done.

op_robot_tests/tests_files/multiLotTender.robot, line 134 [r4] (raw file):
Done.

Comments from Reviewable

Reviewed 1 of 11 files at r5, 3 of 7 files at r6, 7 of 7 files at r7.
Review status: all files reviewed at latest revision, 3 unresolved discussions.

op_robot_tests/tests_files/multiLotTender.robot, line 58 [r4] (raw file):
Undone.

op_robot_tests/tests_files/multiLotTender.robot, line 115 [r4] (raw file):
Undone.

op_robot_tests/tests_files/multiLotTender.robot, line 134 [r4] (raw file):
Undone.

Comments from Reviewable

Review status: 9 of 10 files reviewed at latest revision, 3 unresolved discussions, some commit checks failed.

op_robot_tests/tests_files/multiLotTender.robot, line 58 [r4] (raw file):
Done.

op_robot_tests/tests_files/multiLotTender.robot, line 134 [r4] (raw file):
Done.

Comments from Reviewable

Review status: 9 of 10 files reviewed at latest revision, 3 unresolved discussions, some commit checks failed.

op_robot_tests/tests_files/multiLotTender.robot, line 115 [r4] (raw file):
Done.

Comments from Reviewable

Reviewed 1 of 1 files at r8, 7 of 7 files at r9, 7 of 7 files at r10, 2 of 2 files at r11, 1 of 1 files at r12.
Review status: all files reviewed at latest revision, 3 unresolved discussions.

op_robot_tests/tests_files/keywords.robot, line 207 [r10] (raw file):
Не зразу зрозумів, що це видаляється через те, що воно вже присутнє в #134.

op_robot_tests/tests_files/brokers/openprocurement_client.robot, line 146 [r12] (raw file):
:+1:
AFAICS, з цим не треба робити revert для #139. Прошу підтвердити.

op_robot_tests/tests_files/brokers/openprocurement_client.robot, line 241 [r12] (raw file):
А з цим – не треба revert для #140.

Comments from Reviewable

Review status: all files reviewed at latest revision, 2 unresolved discussions.

op_robot_tests/tests_files/brokers/openprocurement_client.robot, line 146 [r12] (raw file):
Підтверджую.

op_robot_tests/tests_files/brokers/openprocurement_client.robot, line 241 [r12] (raw file):
Підтведжую.

Comments from Reviewable

Review status: :shipit: all files reviewed at latest revision, all discussions resolved, all commit checks successful.

Comments from Reviewable


modular unittest.TestCase classes for DataInterfaces

fix #289
This creates an abstract unittest class for testing each interface that does the following:

allows for multiple "cases" (different input paths and configurations)
validates source schema against json schema
validates conversion schema against json schema
validates metadata schema against json schema
instantiates interface
validates metadata against metadata schema
validates extracted metadata against expectations
runs conversion
reads data and checks it against in-memory interface

The beauty of doing tests this way is that someone could write a RecordingInterface in a completely different library and all they would need to do to test it is:
# test_interface.py
from unittest import TestCase

from neuroconv.tools.testing.data_interface import AbstractRecordingExtractorTest

from .my_library import MyRecordingInterface

class TestMyRecordingInterface(AbstractRecordingInterfaceTest, TestCase):
    data_interface_cls = MyRecordingInterface
    data_interface_kwargs = dict(file_path="path/to/data")
    save_directory = OUTPUT_PATH

This could really pave the way for users to submit custom interfaces from their on repositories.
Also, this allows us to incorporate metadata tests with the reading of the interface instead of in a different part of the test suite.

@CodyCBakerPhD I'm not sure why codespell is failing. What are the words that are setting it off? How do I add them to an ignore list?

(this can wait until after Cosyne)

I'm not sure why codespell is failing.

You can view it in the workflow: click on 'Details': https://github.com/catalystneuro/neuroconv/actions/runs/4336597805/jobs/7572002186
And scroll down to error: Error: ./tests/test_on_data/test_recording_interfaces.py:75: Pyton ==> Python
Codespell is so magical that I've not seen a case yet where a true 'ignore' is needed.
You can fix this locally by running codespell -w (-w auto-fixes easy change slike this), I plan to add that capability to the workflow eventually so it's more like black. Won't work in all cases, it can fail when a misspelling has multiple candidate corrections.

Idea looks quite sound, and quite beneficial
To make the sequence of changes more manageable, could you break up this large PR into the following bite-size pieces?
PR 1) The base Mixin class
This first one could be approved and merged quickly, the others could all be separate (unchained) for modularity
PR 2) Implementation on recording
PR 3) Implementation on sorting
PR 4) Implementation on imaging
PR 5) Implementation on segmentation
PR 6) Implementation on behavior
I really just want to be careful and make sure during review that we aren't loosing anything along the way, and with a refactor this big it would be relatively easy to drop a line or two might be important

@CodyCBakerPhD that breakdown seems reasonable. I'll keep this one up for reference

that breakdown seems reasonable

Thanks, I know it's a lot of work but it helps tremendously for review


Nd4j.sum with row/column vector

I get the following results when using Nd4j.sum:
scala> val m1 = Nd4j.rand(2,2)
m1: org.nd4j.linalg.api.ndarray.INDArray =
[[0.5065258540001533, 1.9942128950445461]
 [-0.4765064602250793, -0.2165105757052097]]

scala> Nd4j.sum(m1, 0)
res0: org.nd4j.linalg.api.ndarray.INDArray =
[0.030019393775073955, 1.7777023193393364]

scala> Nd4j.sum(m1, 1)
res1: org.nd4j.linalg.api.ndarray.INDArray =
[2.5007387490446993, -0.693017035930289]

scala> val m2 = Nd4j.rand(1,2)
m2: org.nd4j.linalg.api.ndarray.INDArray =
[-1.2997101524213759, 1.8985879742017755]

scala> Nd4j.sum(m2, 0)
res2: org.nd4j.linalg.api.ndarray.INDArray = 0.5988778217803996

scala> Nd4j.sum(m2, 1)
res3: org.nd4j.linalg.api.ndarray.INDArray = 0.5988778217803996

scala> val m3 = Nd4j.rand(2,1)
m3: org.nd4j.linalg.api.ndarray.INDArray =
[[-1.560695524421142,
  -1.5865038444613484]]

scala> Nd4j.sum(m3, 0)
res4: org.nd4j.linalg.api.ndarray.INDArray = -3.1471993688824904

scala> Nd4j.sum(m3, 1)
res5: org.nd4j.linalg.api.ndarray.INDArray = -3.1471993688824904

I expected that the results res2 and res5 will be arrays. Comparing to Numpy:
In [67]: a1 = np.random.uniform(size=(1,2))

In [68]: np.sum(a1, axis=0)
Out[68]: array([ 0.11115371,  0.1535297 ])

In [69]: np.sum(a1, axis=1)
Out[69]: array([ 0.2646834])

In [70]: a2 = np.random.uniform(size=(2,1))

In [71]: np.sum(a2, axis=0)
Out[71]: array([ 0.54788375])

In [72]: np.sum(a2, axis=1)
Out[72]: array([ 0.40779894,  0.14008481])

Here's a test of this passing.
https://github.com/deeplearning4j/nd4j/blob/master/nd4j-api/src/main/java/org/nd4j/linalg/api/test/NDArrayTests.java#L716-716
Here's more tests with the op executioner (the lower level interface to the dimension wise ops):
https://github.com/deeplearning4j/nd4j/blob/master/nd4j-api/src/main/java/org/nd4j/linalg/api/ops/tests/OpExecutionerTests.java#L264
Which version are you using and which backend?

The test you pointed out is for a sum operation on a 2x2 matrix; The issue is not with these but with e.g. 1x2 or 2x1 vectors. If, for example, a function that needs to sum by columns in a matrix gets an MxN matrix, the matrix.sum(0) op should return a vector regardless if M=1 or M>1 (for N>1); otherwise every similar function will have to treat M=1 as a special case.

Ahh I see now. I encountered a similar edge case before. I'll push a fix for that today. Thanks again!

Fixed.

Hi, thanks for the quick fixes. I get an exception with column vectors:
  val m2 = Nd4j.rand(1, 2)                        //> m2  : org.nd4j.linalg.api.ndarray.INDArray = [0.3582044243812561, 0.8265518
                                                  //| 546104431]
                                                  //|
  Nd4j.sum(m2, 0)                                 //> res0: org.nd4j.linalg.api.ndarray.INDArray = [0.3582044243812561, 0.8265518
                                                  //| 546104431]
                                                  //|
  Nd4j.sum(m2, 1)                                 //> res1: org.nd4j.linalg.api.ndarray.INDArray = 1.1847563

  val m3 = Nd4j.rand(2, 1)                        //> m3  : org.nd4j.linalg.api.ndarray.INDArray = [[-0.2484026998281479,
                                                  //|   -1.2237846851348877]]
                                                  //|
  Nd4j.sum(m3, 0)                                 //> res2: org.nd4j.linalg.api.ndarray.INDArray = -1.4721874
  Nd4j.sum(m3, 1)                                 //> java.lang.IllegalArgumentException: Illegal index 2 derived from 1 with off
                                                  //| set of 0 and stride of 2
                                                  //| 	at org.nd4j.linalg.api.ndarray.BaseNDArray.linearIndex(BaseNDArray.java:
                                                  //| 2607)
                                                  //| 	at org.nd4j.linalg.api.ndarray.BaseNDArray.getDouble(BaseNDArray.java:28
                                                  //| 89)
                                                  //| 	at org.nd4j.linalg.api.ndarray.BaseNDArray.toString(BaseNDArray.java:389
                                                  //| 3)
                                                  //| 	at scala.runtime.ScalaRunTime$.scala$runtime$ScalaRunTime$$inner$1(Scala
                                                  //| RunTime.scala:332)
                                                  //| 	at scala.runtime.ScalaRunTime$.stringOf(ScalaRunTime.scala:337)
                                                  //| 	at scala.runtime.ScalaRunTime$.stringOf(ScalaRunTime.scala:262)
                                                  //| 	at org.scalaide.worksheet.runtime.library.WorksheetSupport$.$show(Worksh
                                                  //| eetSupport.scala:90)
                                                  //| 	at jackson$$anonfun$main$1.apply$mcV$sp(jackson.scala:95)
                                                  //| 	at org.scalaide.worksheet.runtime.library.WorksheetSupport$$anonfun$$exe
                                                  //| cute$1.apply$mcV$sp(WorksheetSupport.scala:76)
                                                  //| 	at org.scalaide.worksheet.runtime.library.WorksheetSupport$.redirected(W
                                                  //| orksheetSupport.scala:65)
                                                  //| 	at org.scalaide.worksheet.runtime.library.WorksheetSupport$.$execute(Wor
                                                  //| ksheetSupport.scala:75)
                                                  //| 	at jackson$.main(jackson.scala:27)
                                                  //| 	at jackson.main(jackson.scala)

I'm running that code and not able to reproduce it. The error is related to
the striding stuff from earlier. Would you mind pulling again to make sure?
If not open a separate issue.
Thanks!
ᐧ
On Sun, Mar 22, 2015 at 10:20 AM, migel<EMAIL_ADDRESS>wrote:

Hi, thanks for the quick fixes. I get an exception with column vectors:
val m2 = Nd4j.rand(1, 2)                        //> m2  : org.nd4j.linalg.api.ndarray.INDArray = [0.3582044243812561, 0.8265518
//| 546104431]
//|
Nd4j.sum(m2, 0)                                 //> res0: org.nd4j.linalg.api.ndarray.INDArray = [0.3582044243812561, 0.8265518
//| 546104431]
//|
Nd4j.sum(m2, 1)                                 //> res1: org.nd4j.linalg.api.ndarray.INDArray = 1.1847563
val m3 = Nd4j.rand(2, 1)                        //> m3  : org.nd4j.linalg.api.ndarray.INDArray = [[-0.2484026998281479,
//|   -1.2237846851348877]]
//|
Nd4j.sum(m3, 0)                                 //> res2: org.nd4j.linalg.api.ndarray.INDArray = -1.4721874
Nd4j.sum(m3, 1)                                 //> java.lang.IllegalArgumentException: Illegal index 2 derived from 1 with off
//| set of 0 and stride of 2
//|   at org.nd4j.linalg.api.ndarray.BaseNDArray.linearIndex(BaseNDArray.java:
//| 2607)
//|   at org.nd4j.linalg.api.ndarray.BaseNDArray.getDouble(BaseNDArray.java:28
//| 89)
//|   at org.nd4j.linalg.api.ndarray.BaseNDArray.toString(BaseNDArray.java:389
//| 3)
//|   at scala.runtime.ScalaRunTime$.scala$runtime$ScalaRunTime$$inner$1(Scala
//| RunTime.scala:332)
//|   at scala.runtime.ScalaRunTime$.stringOf(ScalaRunTime.scala:337)
//|   at scala.runtime.ScalaRunTime$.stringOf(ScalaRunTime.scala:262)
//|   at org.scalaide.worksheet.runtime.library.WorksheetSupport$.$show(Worksh
//| eetSupport.scala:90)
//|   at jackson$$anonfun$main$1.apply$mcV$sp(jackson.scala:95)
//|   at org.scalaide.worksheet.runtime.library.WorksheetSupport$$anonfun$$exe
//| cute$1.apply$mcV$sp(WorksheetSupport.scala:76)
//|   at org.scalaide.worksheet.runtime.library.WorksheetSupport$.redirected(W
//| orksheetSupport.scala:65)
//|   at org.scalaide.worksheet.runtime.library.WorksheetSupport$.$execute(Wor
//| ksheetSupport.scala:75)
//|   at jackson$.main(jackson.scala:27)
//|   at jackson.main(jackson.scala)
—
Reply to this email directly or view it on GitHub
https://github.com/deeplearning4j/nd4j/issues/43#issuecomment-84616214.


Improve data augmentation by using builtin entities examples

Codecov Report

Merging #556 into develop will increase coverage by <.01%.
The diff coverage is 100%.

@@             Coverage Diff             @@
##           develop     #556      +/-   ##
===========================================
+ Coverage    93.74%   93.75%   +<.01%
===========================================
  Files           38       38
  Lines         2382     2385       +3
  Branches       490      490
===========================================
+ Hits          2233     2236       +3
  Misses          90       90
  Partials        59       59


Keptn CLI: using create project with --shipyard pointing to an URL does not properly work

With PR #1648 the --shipyard flag was enhanced to make the distinction between a file path and a URL pointing to s shipyard file. However, when passing in a URL, the cli still tries to read the shipyard file from disk.
Affected Component

[ ] CLI

Steps to reproduce the behavior:
keptn create project <projectname> --shipyard=https://url.com/path/to/shipyard.yaml
Expected behavior
The shipyard.yaml is downloaded from the location given by the --shipyard flag and used throughout the further proccess.
Current behavior
The cli tries to load the file from disk and fails

Hi @warber Thanks for bringing this up. I cross-checked, it just silently fails without throwing any error. It would be great if you can attach more information like the logs and the keptn cli version.


[Question] Can custom license functionality be handled using videojs-contrib-dash?

Description
Briefly describe the issue.
Use a custom license functionality instead of passing just the license URL.
I have been using inbuilt vhs of videojs 7.0 along with videojs-contrib-eme to successfully play a protected content with a custom license mechanism. videojs-contrib-eme provides getLicense method which helps us. I am trying to migrate to videojs-contrib-dash because of TTML captions support. After adding videojs-contrib-dash plugin, getLicense function is not getting invoked and there is an error
[224][Stream] DRM: No license server URL specified!
Steps to reproduce
Explain in detail the exact steps necessary to reproduce the issue.

Add videojs-contrib-dash and videojs-contrib-eme plugins.
Play content which required a custom flow for license acquisition.

Results
Expected
Please describe what you expected to see.
getLicense function does not get invoked.
Actual
Please describe what actually happened.
getLicense function should get invoked and license should be fetched from here.
Error output
If there are any errors at all, please include them here.
[224][Stream] DRM: No license server URL specified!
Additional Information
Please include any additional information necessary here. Including the following:
versions
videojs
what version of videojs does this occur with?
7.14.3
browsers
what browser are affected?
Chrome
OSes
what platforms (operating systems and devices) are affected?
Windows
plugins
are any videojs plugins being used on the page? If so, please list them below.
videojs-contrib-eme

I don't think that this project works with contrib-eme. I believe everything is handled directly by DASH.js. I'm pretty sure that DASH.js has similar functionality, and if it does you'll probably need to configure it appropriately, see https://github.com/videojs/videojs-contrib-dash#initialization-hook.

@gkatsev Thank you. Will check it out.

Hi were you able to fix this?

Hi @AkashYadav00 . Did you find any solution to this issue or might have used any hack. I am facing the same issue. Thanks in advance. @gkatsev Can you help to resolve this issue?


[feat.]: Failed to display the OBServer's port

Please check the issue list for the same feature first

[X] Please checked issue list and confirm this feature is encountered for the first time.
[X] Please try full text in English and attach precise description.

A full description of the feature and provide some example if the same feature exists in other products, such as mysql
安装的时候，显示observer端口异常，实际端口正常，属于显示问题

other information

Could you please provide more details, otherwise it is hard to do further action.

hardware information
obd log
os information
ssh information
the procedure of the bug

When the initialization is just completed, only the root service information in the cluster is complete, and other servers in the zone need to wait for a while, so the display at this time may lack some information. You can confirm by obd cluster display<deploy name>

Due to the lack of response over an extended period, we will close this issue for now. If there are further requirements in the future, please feel free to open a new issue.


Discord chat: inaccessible

The discord badge is labelled 'inaccessible'

You have to Enable Server Widget under the Widgets section on your server settings


New demo app

@mjlodge as you requested, I've Translated @tomwilkie's example app. Once this is merged you can deploy the stack using the URL below.
https://console.aws.amazon.com/cloudformation/home#/stacks/new?templateURL=https:%2F%2Fs3.amazonaws.com%2Fweaveworks-cfn-public%2Fintegrations%2Fecs-larger-app.json

Nice!


Question about the loss function

I was just wondering which version of loss function you are using, the negative term appears everywhere for the loss that I can see below.

The loss function was wrong, I tested it. You should remove all minus signs from Em. Do the same thing for global loss


Linux Support?

Now, I'm not 100% certain that this mod doesn't work on linux, but I use a standard XDG home dir setup (Downloads folder located at ~/Downloads) and the mod has not once worked correctly for me. I can import the worlds just fine with Prism Launcher, but the mod will always say that it can't find any valid worlds.

PS:
If I was more experienced with Java, I'd probably just open a PR, but unfortunately I have to ask you to do this...

Looking at the code for grabbing the world files, it seems pretty simple, I'm gonna try and add support on my own.


TypeError: diverse_beam_strength

🐛 Bug
diverse_beam_strength is a tuple, but does not currently support tuples.
Are you expanding diverse beam search? Or is it wrong to be a tuple?
https://github.com/pytorch/fairseq/blob/3335de5f441ee1b3824e16dcd98db620e40beaba/fairseq/tasks/fairseq_task.py#L247
https://github.com/pytorch/fairseq/blob/244835d811c2c66b1de2c5e86532bac41b154c1a/fairseq/search.py#L114
Environment

fairseq Version (master):

I removed the brackets and the comma, and it seemed to work.
diverse_beam_strength = (getattr(args, "diverse_beam_strength", 0.5),)
==>
diverse_beam_strength = getattr(args, "diverse_beam_strength", 0.5)

Yes, this was a bug introduced in fab2e86e51f48301146a37fc86d01fdbf5e8a5f2. @Nickeilf's fix is correct, I'll submit a PR for it shortly.


bug on sdk_system_rtc_mem_read/sdk_system_rtc_mem_write

Hi guys,
I've found a small bug in the two functions.
in the write the 'write' operation need (obviously) to be:
RTCMEM_SYSTEM[i + des_addr] = src_buf[i];
i.o
RTCMEM_SYSTEM[i] = src_buf[i];
The same for read:
dest_buf[i] = RTCMEM_SYSTEM[i + src_addr];
i.o.
dest_buf[i] = RTCMEM_SYSTEM[i];
Many thanks for your great job!
Kind regards,
--gra

Hi @gpreviato,
thanks for the report. It was fixed by #303.
You are probably using an older version.


Support for GDScript LSP

Thanks for this awesome package @blahgeek
I've noticed that it doesn't apply to GDScript since it doesn't use the stdio
(lsp-register-client
 (make-lsp-client :new-connection (lsp-gdscript-tcp-connect-to-port)
                  :activation-fn (lsp-activate-on "gdscript")
                  :server-id 'gdscript))

In comparison to something like JS:
(lsp-register-client
 (make-lsp-client :new-connection
                  (lsp-stdio-connection (lambda ()
                                          (cons lsp-clients-deno-server
                                                lsp-clients-deno-server-args)))
...

Is it possible to support GDScript? I don't mind implementing it with a bit of guidance. Thanks!

More context:
lsp-gdscript-tcp-connect-to-port is defined as:
(defun lsp-gdscript-tcp-connect-to-port ()
  "Define a TCP connection to language server."
  (list
   :connect (lambda (filter sentinel name _environment-fn _workspace)
              (let* ((host "localhost")
                     (port lsp-gdscript-port)
                     (tcp-proc (lsp--open-network-stream host port (concat name "::tcp"))))

                (set-process-query-on-exit-flag tcp-proc nil)
                (set-process-filter tcp-proc filter)
                (set-process-sentinel tcp-proc sentinel)
                (cons tcp-proc tcp-proc)))
   :test? (lambda () t)))

Actually, on that note: I'm not sure if the GDScript LSP uses JSON in the first place :thinking:

Hello,
see https://github.com/blahgeek/emacs-lsp-booster/pull/33
It's only experimental because I don't really use any language servers that use TCP transport and I'm not sure how should we do the elisp part for configuration. It would be great if you can help testing it.

Hey @blahgeek, awesome! I'll test it out, thanks.


CancellationException when calling the feedback service

Hi,
I have a problem when calling the feedback service.
To sum up, the shutdown seems to be performed to quickly, cancelling some future tasks before they were performed. I did not fully understand the whole mechanism so here are some information that I hope can be useful.
Reproducing
I don't think I made anything special to make this happen. A sample of calling of the PushManager is available below.
Environment and versions
Pushy version: v0.4.3
This has been happening on my development machine (Windows 7, Eclipse environment) and on our test server (Unix).
Logs
 INFO --- [           main] PushManager              : MyPushManager starting.
DEBUG --- [           main] ApnsConnection           : MyPushManager-connection-0 beginning connection process.
DEBUG --- [           main] ApnsConnection           : MyPushManager-connection-1 beginning connection process.
 INFO --- [           main] PushManager              : MyPushManager shutting down.
DEBUG --- [ntLoopGroup-4-1] ApnsConnection           : MyPushManager-connection-0 connected; waiting for TLS handshake.
DEBUG --- [ntLoopGroup-4-2] ApnsConnection           : MyPushManager-connection-1 connected; waiting for TLS handshake.
DEBUG --- [ntLoopGroup-4-1] FeedbackServiceConnection: MyPushManager-feedbackConnection-0 connected; waiting for TLS handshake.
DEBUG --- [ntLoopGroup-4-1] FeedbackServiceConnection: MyPushManager-feedbackConnection-0 failed to complete TLS handshake with APNs feedback service.

And then a java.util.concurrence.CancellationException appears in the log without any more information.
My call to the PushManager
try {
    pushManager = ...
    pushManager.registerFailedConnectionListener(myFailedConnectionListener);
    pushManager.start();

    pushManager.registerExpiredTokenListener(collecter);
    pushManager.requestExpiredTokens();

} catch (Exception e) {
    throw new RuntimeException(e);
} finally {
    if (pushManager != null) {
        try {
            pushManager.shutdown();
        } catch (InterruptedException e) {
        }
    }
}

Clues and ugly workaround
While debugging to understand the cause, I found that having a breakpoint at the beginning of FeedbackServiceConnection.shutdownImmediately() solved the problem. So I tried adding a sleep and this works:
	/**
	 * Closes this feedback connection as soon as possible. Calling this method when the feedback connection is not
	 * connected has no effect.
	 */
	public synchronized void shutdownImmediately() {
		try {
			Thread.sleep(1000L);
		} catch (InterruptedException e) {
			e.printStackTrace();
		}
		if (this.connectFuture != null) {
			synchronized (this.channelRegistrationMonitor) {
				if (this.connectFuture.channel().isRegistered()) {
					this.connectFuture.channel().eventLoop().execute(this.getImmediateShutdownRunnable());
				} else {
					this.closeOnRegistration = true;
				}
			}
		}
	}

This is however undescribably ugly.

@cyChop does this FAQ describe your scenario?

Hi @eager.
I am not sure this matches my case, since I am not pushing in this case, only fetching the feedback information.
I may be doing something wrong, but based on my understanding of the documentation, I do not see what I missed.

It's the same idea, I think: you're shutting down your push manager before we have time to finish talking to the feedback service. I don't think this is a bug, though I also don't think it's desirable behavior. That said, I see two ways forward here:

We can modify the PushManager's shutdown method to wait for feedback connections to close. I don't really want to do do this for a variety of reasons, not the least of which is that the feedback service is getting removed when APNs moves from their wacky proprietary protocol to HTTP/2 "this summer" (see #184).
You can register listeners and wait for either (a) a list of expired tokens or (b) a failed connection to the feedback service. Either will tell you that the "poll for expired tokens" operation has finished and it's safe to shut down the push manager.

Hope that helps!

@jchambers I suppose you are speaking of the ExpiredTokenListener and the FailedConnectionListener. It seems unnatural to me that such listeners should be the ones to perform the shutdown, but I can work with it. I will make the change ASAP (which is not right now).
If this is the way to go, maybe it could be highlighted on pushy's homepage?
Thank you for your advice.

It seems unnatural to me that such listeners should be the ones to perform the shutdown…

It is, indeed, a bit weird. Our "expected" use case for Pushy is that people will create a long-lived PushManager and queries for expired tokens will rarely happen around shutdown time, and starting a push manager for the sole purpose of gathering expired tokens isn't really a case we had considered (or really believe to be common, even now).
You are right that we could add to the docs, but I think that might raise more questions than it answers; I think I'm still going to take the lazy road and just wait for the feedback service to go away entirely.

OK, your position is perfectly fine and based on a specific use case. But if I may, I do not find this use case obvious when having a look at the documentation, only after some use.
Maybe you could highlight it a bit so that future users could determine if Pushy is a fit for their need or if they should look at an alternative which would be more adapted.
(For example, our current use case is to generate and push notifications in a batch. The PushManagers (several applications) are created, notifications pushed and the managers are shut down. The same way, the manager is started, we get the feedback and it is shut down. We hope to move later to a continuous-flow solution, but in the meanwhile, we do not match your target use case.)


fix(drive): uncommitted state if db transaction fails

Issue being fixed or feature implemented

We had a chain halt on mainnet on block 32326. Compaction happened and transaction.commit() returned an error. Due to a bug in tenderdash, validators just proceeded on next block without committing data but keeping updated cache. To keep consistency with mainnet chain we need to skip transaction commit for this block.
What was done?

Skip transaction commit on 32326
Panic if app hashes in memory and on disk are different (except 32326)
Panic if we aren't able to commit drive state to restart Drive and try this block from scratch

How Has This Been Tested?

Syncing testnet and mainnet
Breaking Changes

None
Checklist:

[x] I have performed a self-review of my own code
[x] I have commented my code, particularly in hard-to-understand areas
[x] I have added or updated relevant unit/integration/functional/e2e tests
[x] I have added "!" to the title and described breaking changes in the corresponding section if my code contains any
[x] I have made corresponding changes to the documentation if needed

For repository code-owners and collaborators only

[x] I have assigned this pull request to a milestone

@coderabbit review


Major Performance Improvement

The for loop at line https://github.com/RogerQi/pascal-5i/blob/d570d80c1c8a48249a16e4496476fd6862cf973d/pascal5i_reader.py#L105 usually takes 2 mins and 30 seconds on my device to run, which is... slow. However, those maps are essential for few-shot (obv). So, we can save them to a file when we create them once and load them back almost instantly every other time (after checking that the file exists).
Small change but a big improvement
And thank you for writing such a nice dataloader! Took me <5 mins to integrate with my project!

Hello @plutonium-239 - thank you for your work! I have added a minor fix to your code.

Hey @RogerQi would it need to be named differently for every fold? (i.e. dataset_{fold}.pt)

@plutonium-239 Oh - you are indeed right. I can apply a simple patch right now.


Update PaaS deployment credentials

You can preview this change here:
Built with commit 50c09cbe5af03c0eb9d3f374deb8645f257a060a
https://deploy-preview-1221--govuk-design-system-preview.netlify.com


(PUP-8984) Add --format=json option to puppet parser validate

Tools like the Puppet Development Kit which invoke puppet parser validate on behalf of the user need a consistent, machine-readable output format so that they don't have to rely on complex and brittle regular expressions matching output that may change between Puppet releases.

Works for me, but the --render-as vs --format is really jarring:
david@davids:~/git/puppetlabs-ntp$ bundle exec puppet parser validate --help

USAGE: puppet parser validate [--format json] [<manifest>] [<manifest> ...]

This action validates Puppet DSL syntax without compiling a catalog or
syncing any resources. If no manifest files are provided, it will
validate the default site manifest.

RETURNS: Nothing, or the first syntax error encountered.

OPTIONS:
  --render-as FORMAT             - The rendering format to use.
  --verbose                      - Whether to log verbosely.
  --debug                        - Whether to log debug information.
  --format json                  - Format output as JSON instead of default.

See 'puppet help parser' or 'man puppet-parser' for full help.
david@davids:~/git/puppetlabs-ntp$ bundle exec puppet parser validate --format json manifests/init.pp
{
  "manifests/init.pp": {
    "issue_code": "SYNTAX_ERROR",
    "message": "Syntax error at ')'",
    "full_message": "Could not parse for environment production: Syntax error at ')' (file: /home/david/git/puppetlabs-ntp/manifests/init.pp, line: 286, column: 3)",
    "file": "/home/david/git/puppetlabs-ntp/manifests/init.pp",
    "line": 286,
    "pos": 3,
    "environment": "production",
    "node": null,
    "arguments": null
  }
}
david@davids:~/git/puppetlabs-ntp$

I've played around a bit with the face API, and I came up with this:
david@davids:~/git/puppet$ git diff
diff --git a/lib/puppet/face/parser.rb b/lib/puppet/face/parser.rb
index f83dda254..e1f37482c 100644
--- a/lib/puppet/face/parser.rb
+++ b/lib/puppet/face/parser.rb
@@ -78,11 +78,20 @@ Puppet::Face.define(:parser, '0.0.1') do
           parse_errors.each { |_, error| Puppet.log_exception(error) }
         end

-        exit(1)
+        # exit(1)
       end

-      nil
+      parse_errors
     end
+
+    when_rendering :console do |parse_errors|
+      parse_errors.each {|p| puts p}
+    end
+
+    when_rendering :json do |parse_errors|
+      puts JSON.pretty_generate(parse_errors.map { |file, error| [file, error.to_h] }.to_h)
+    end
+
   end

david@davids:~/git/puppet$

results in this:
david@davids:~/git/puppetlabs-ntp$ bundle exec puppet parser validate --render-as json manifests/init.pp
Error: Could not parse for environment production: Syntax error at ')' (file: /home/david/git/puppetlabs-ntp/manifests/init.pp, line: 286, column: 3)
{
  "manifests/init.pp": {
    "issue_code": "SYNTAX_ERROR",
    "message": "Syntax error at ')'",
    "full_message": "Could not parse for environment production: Syntax error at ')' (file: /home/david/git/puppetlabs-ntp/manifests/init.pp, line: 286, column: 3)",
    "file": "/home/david/git/puppetlabs-ntp/manifests/init.pp",
    "line": 286,
    "pos": 3,
    "environment": "production",
    "node": null,
    "arguments": null
  }
}
null
david@davids:~/git/puppetlabs-ntp$

CLA signed by all contributors.

@DavidS Ah, thanks for your help deciphering the face API. The other kind of annoying thing is that puppet parser dump implements it's own --format option and also ignores --render-as, so it's going to be inconsistent one way or another. :(

Re-implemented with --render-as support which also helped clean up the spec tests. (Although I did have to dig around for a while to figure out how to invoke the output renderers from unit tests.)

@hlindberg @thallgren So if I understand correctly, there are two things to address here:

There may already be code somewhere to turn a Puppet::ParseErrorWithIssue (or maybe just Puppet::ParseError) into a hash and that should be used instead of adding a new method to the class. @hlindberg can you point me in the general direction of where that code might be?

If included, the @arguments property needs special treatment to ensure it is serialized properly into JSON. I don't think we actually care about the value of the @arguments for our use case, so if there is an approach similar to the to_structured_hash method that @thallgren showed that simply excludes that property, I would be fine with that. But happy to implement the more robust serialization for that property as discussed.

@hlindberg @thallgren  could you take another look at this. It would be good to move this forward.
The rich data support in puppet 6 will impact this implementation.

Seems like we can just do:
data = errors.map { |file, error| [file, error.to_h] }.to_h)
puts Puppet::Pops::Serialization::ToDataConverter.convert(data, rich_data: false)

I think the converter's default options "do the right thing" for the simple case.

Updated PR based on feedback. Specifically I implemented @joshcooper 's suggested simplification.
Further research revealed that the Puppet.log_exception method has a special case for logging ParseErrorWithIssue that does it's own hash serialization of the class before creating a log event object out of it. https://github.com/puppetlabs/puppet/blob/master/lib/puppet/util/logging.rb#L53-L68
A further improvement might be to have that method call to_h on the ParseErrorWithIssue instance and then merge in the log specific attributes before creating the Log object. This could reduce the redundancy between the two approaches right now.
Another approach might be to extend the :console log destination to support multiple formats, for this particular feature it seems inefficient to be forced to write to a temp file (and then read it back so it can be output to STDOUT) just to get the logger's built-in JSON support.

It looks like the last few things we need to figure out on this ticket is to address Henrik's comment on parsing @arguments. It looks like @environment and @node should also have some special treatment so that we only return the name of the object, not the object itself, depending on what gets passed in.
@kris-bosland will move this forward

Note that validation result can contain issues of warning type as well

@scotje , can you remove the :arguments entry, and get the name or other suitable .to_s result for the :environment and :node entries?  Thanks!

@melissa @kris-bosland My understanding was that the use of ToDataConverter would handle ensuring things are serialized to JSON-safe values. It doesn't seem correct to coerce things to strings in the .to_h method since things other than this might be interested in that output and would expect things to still be their original classes/types. As long as ToDataConverter is calling to_s on things it doesn't recognize we should be good?
I can delete the arguments key out of the hash right before it is serialized to JSON however, since we really don't care about that and it's probably the most likely thing to not serialize well.

I can delete the arguments key out of the hash right before it is serialized to JSON however, since we really don't care about that and it's probably the most likely thing to not serialize well.

Thanks @scotje .  The reason to filter or remove those entries is because they can contain arbitrarily large data structures and those data structures don't contribute much to solving the users issue.  The name of the environment or node may be helpful, however.

@kris-bosland I've removed arguments from the return value of to_h and explicitly called to_s on the environment and node values. I've also updated the Validate face to filter out all three of those keys before rendering it's output to JSON format since they are unlikely to be useful. We can always add one or more of them back in later should they prove useful.
Also rebased on master and updating tests to use rspec-mocks, etc.