[SPARK-32121][SHUFFLE] Support Windows OS in ExecutorDiskUtils

What changes were proposed in this pull request?
Correct file seprate use in ExecutorDiskUtils.createNormalizedInternedPathname on Windows
Why are the changes needed?
ExternalShuffleBlockResolverSuite failed on Windows, see detail at:
https://issues.apache.org/jira/browse/SPARK-32121
Does this PR introduce any user-facing change?
No
How was this patch tested?
The existed test suite.

Can one of the admins verify this patch?

Can one of the admins verify this patch?

ok to test

Looks fine.

Test build #124618 has started for PR 28940 at commit 187e813.

Test build #124618 has finished for PR 28940 at commit 187e813.

This patch fails build dependency tests.
This patch merges cleanly.
This patch adds no public classes.

Merged build finished. Test FAILed.

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

Merged build finished. Test PASSed.

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

Merged build finished. Test PASSed.

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

Test build #124627 has started for PR 28940 at commit 8cd8bd1.

Test build #124627 has finished for PR 28940 at commit 8cd8bd1.

This patch fails build dependency tests.
This patch merges cleanly.
This patch adds no public classes.

Merged build finished. Test FAILed.

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

Test build #124643 has started for PR 28940 at commit 06024f4.

Test build #124643 has finished for PR 28940 at commit 06024f4.

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

Merged build finished. Test PASSed.

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

Build started: [CORE] org.apache.spark.network.shuffle.ExternalShuffleBlockResolverSuite

What about the following?
As createNormalizedInternedPathname is only used here in production:
https://github.com/apache/spark/blob/50a742da1c48bcfb6f69b319c9a0142801c959c6/common/network-shuffle/src/main/java/org/apache/spark/network/shuffle/ExecutorDiskUtils.java#L48-L49
What about creating the file with the constructor:
https://github.com/openjdk/jdk/blob/9a9add8825a040565051a09010b29b099c2e7d49/jdk/src/share/classes/java/io/File.java#L275-L281:
    public File(String pathname) {
        if (pathname == null) {
            throw new NullPointerException();
        }
        this.path = fs.normalize(pathname);
        this.prefixLength = fs.prefixLength(this.path);
    }

Then read the path via File#getPath back and build the File again with the the path where the String#intern called. As we already doing path transformations twice this new solution is not worse than the current implementation but at least it will be a perfect match regarding the normalized path. The constructed first File will be garbage collected (this might be a disadvantage). Moreover we can get rid of the unnecessary tests.
@Ngone51 @HyukjinKwon what's your opinion?

I was assuming we can't reuse io.File per:

the internal code in java.io.File would normalize it later, creating a new "foo/bar"
String copy. Unfortunately, we cannot just reuse the normalization code that java.io.File
uses, since it is in the package-private class java.io.FileSystem.

If it's clear that it's going to be more performant and simple, let's do it. Otherwise, let's just let get this in for now, and investigate that separately.

We have to measure it for sure.
Regarding simplicity of the solution I described it is basically sth like:
https://github.com/attilapiros/spark/commit/926ebbd417f49fe2897bf29dfaa3b17178bbbdaf
And I checked the prefixLength calculation they are O(1):

https://github.com/openjdk/jdk/blob/jdk8-b120/jdk/src/windows/classes/java/io/WinNTFileSystem.java#L206-L223
https://github.com/openjdk/jdk/blob/jdk8-b120/jdk/src/solaris/classes/java/io/UnixFileSystem.java#L96-L99

For sure we can do it in separate PR too.

Build started: [CORE] org.apache.spark.network.shuffle.ExternalShuffleBlockResolverSuite

Test build #124656 has started for PR 28940 at commit aac01ca.

Merged build finished. Test PASSed.

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

BTW, thank you for reviewing and guiding people in the community, @attilapiros .

@dongjoon-hyun thanks for your kind words!

Test build #124656 has finished for PR 28940 at commit aac01ca.

This patch fails Spark unit tests.
This patch merges cleanly.
This patch adds no public classes.

Merged build finished. Test FAILed.

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

retest this please

Test build #124722 has started for PR 28940 at commit aac01ca.

Merged build finished. Test PASSed.

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

Test build #124744 has started for PR 28940 at commit a80bd6c.

Merged build finished. Test PASSed.

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

Test build #124722 has finished for PR 28940 at commit aac01ca.

This patch fails Spark unit tests.
This patch merges cleanly.
This patch adds no public classes.

Merged build finished. Test FAILed.

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

Test build #124744 has finished for PR 28940 at commit a80bd6c.

This patch fails Spark unit tests.
This patch merges cleanly.
This patch adds no public classes.

Merged build finished. Test FAILed.

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

retest this please

Test build #124765 has started for PR 28940 at commit a80bd6c.

Merged build finished. Test PASSed.

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

Regarding the changes below I will create a PR and open a new Jira ticket (so it will be taken care of).

We have to measure it for sure.
Regarding simplicity of the solution I described it is basically sth like:
attilapiros@926ebbd
And I checked the prefixLength calculation they are O(1):

https://github.com/openjdk/jdk/blob/jdk8-b120/jdk/src/windows/classes/java/io/WinNTFileSystem.java#L206-L223
https://github.com/openjdk/jdk/blob/jdk8-b120/jdk/src/solaris/classes/java/io/UnixFileSystem.java#L96-L99

Of course we can do it in separate PR too.

Sure, @attilapiros. Thanks you for following up and investigating deep. I will merge this one as soon as the tests pass.

Test build #124765 has finished for PR 28940 at commit a80bd6c.

This patch fails Spark unit tests.
This patch merges cleanly.
This patch adds no public classes.

Merged build finished. Test FAILed.

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

retest this please

Test build #124783 has started for PR 28940 at commit a80bd6c.

Merged build finished. Test PASSed.

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

Test build #124783 has finished for PR 28940 at commit a80bd6c.

This patch fails build dependency tests.
This patch merges cleanly.
This patch adds no public classes.

Merged build finished. Test FAILed.

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

retest this please

Test build #124790 has started for PR 28940 at commit a80bd6c.

Merged build finished. Test PASSed.

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

Test build #124790 has finished for PR 28940 at commit a80bd6c.

This patch fails PySpark unit tests.
This patch merges cleanly.
This patch adds no public classes.

Merged build finished. Test FAILed.

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

retest this please

Test build #124838 has started for PR 28940 at commit a80bd6c.

Test build #124838 has finished for PR 28940 at commit a80bd6c.

This patch fails build dependency tests.
This patch merges cleanly.
This patch adds no public classes.

Merged build finished. Test FAILed.

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

Merged build finished. Test PASSed.

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

retest this please

Test build #124840 has started for PR 28940 at commit a80bd6c.

Test build #124840 has finished for PR 28940 at commit a80bd6c.

This patch fails build dependency tests.
This patch merges cleanly.
This patch adds no public classes.

Merged build finished. Test FAILed.

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

Merged build finished. Test PASSed.

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

retest this please

Test build #124850 has started for PR 28940 at commit a80bd6c.

Merged build finished. Test PASSed.

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

Test build #124850 has finished for PR 28940 at commit a80bd6c.

This patch fails build dependency tests.
This patch merges cleanly.
This patch adds no public classes.

Merged build finished. Test FAILed.

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

retest this please

Test build #124859 has started for PR 28940 at commit a80bd6c.

Merged build finished. Test PASSed.

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

Test build #124859 has finished for PR 28940 at commit a80bd6c.

This patch fails due to an unknown error code, -9.
This patch merges cleanly.
This patch adds no public classes.

retest this please

Merged build finished. Test FAILed.

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

Test build #124873 has started for PR 28940 at commit a80bd6c.

Merged build finished. Test PASSed.

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

Test build #124873 has finished for PR 28940 at commit a80bd6c.

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

Merged build finished. Test PASSed.

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

Merged to master and branch-3.0.


Internal Server Error  The server encountered an internal error and was unable to complete your request. Either the server is overloaded or there is an error in the application.

Internal Server Error
The server encountered an internal error and was unable to complete your request. Either the server is overloaded or there is an error in the application.
`bot-on-anything-master/channel/http/auth.py", line 53, in decode_auth_token
payload = jwt.decode(auth_token, channel_conf(const.HTTP).get(
AttributeError: module 'jwt' has no attribute 'decode'
During handling of the above exception, another exception occurred:`
`bot-on-anything-master/channel/http/auth.py", line 93, in identify
payload = Auth.decode_auth_token(authorization)
File "/www/wwwroot/gpt.jingchengbang.com/bot-on-anything-master/channel/http/auth.py", line 59, in decode_auth_token
except jwt.ExpiredSignatureError:
AttributeError: module 'jwt' has no attribute 'ExpiredSignatureError'
During handling of the above exception, another exception occurred:`
`During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/www/wwwroot/gpt.A.com/bot-on-anything-master/62239e6c0f995ae1fdc00d18b7905eac_venv/lib/python3.9/site-packages/flask/app.py", line 2528, in wsgi_app
response = self.full_dispatch_request()
File "/www/wwwroot/gpt.A.com/bot-on-anything-master/62239e6c0f995ae1fdc00d18b7905eac_venv/lib/python3.9/site-packages/flask/app.py", line 1825, in full_dispatch_request
rv = self.handle_user_exception(e)
File "/www/wwwroot/gpt.A.com/bot-on-anything-master/62239e6c0f995ae1fdc00d18b7905eac_venv/lib/python3.9/site-packages/flask/app.py", line 1823, in full_dispatch_request
rv = self.dispatch_request()
File "/www/wwwroot/gpt.A.com/bot-on-anything-master/62239e6c0f995ae1fdc00d18b7905eac_venv/lib/python3.9/site-packages/flask/app.py", line 1799, in dispatch_request
return self.ensure_sync(self.view_functions[rule.endpoint])(**view_args)
File "/www/wwwroot/gpt.A.com/bot-on-anything-master/channel/http/http_channel.py", line 89, in index
if (auth.identify(request) == False):
File "/www/wwwroot/gpt.A.com/bot-on-anything-master/channel/http/auth.py", line 104, in identify
except jwt.ExpiredSignatureError:
AttributeError: module 'jwt' has no attribute 'ExpiredSignatureError'
<IP_ADDRESS> - - [16/May/2023 03:52:08] "GET / HTTP/1.1" 500 -`

一模一样，怎么解决啊

引用的库冲突了，检查一下本地是不是有一个jwt、PyJWT，实际使用的是PyJWT


Fix mermaid code fences (#410)

This PR restores the display of mermaid graphs using code fences - so called alternate syntax and fixing #410.
Both mermaid and hugo-learn are executing code in the browsers onLoad event. Because both executions aren't synced, display will fail if mermaids onLoad-handler is executed before hugo-learns onLoad-handler.
I observed this issue in latest FF on Windows but not in latest Chrome on Windows.
The solution of this PR should work reliably in all browsers.

@matcornic Any chance to get the PR in?


Fix: CI send coverage condition

pull-request events are not triggered when a PR is merged
push events are not triggered when a PR created from a fork repository
So we need both to run tests on every PR and after merging

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

Comparison is base (23bf6b9) 100.00% compared to head (5cb23a9) 100.00%.
Report is 66 commits behind head on main.

Additional details and impacted files
@@            Coverage Diff            @@
##              main      #138   +/-   ##
=========================================
  Coverage   100.00%   100.00%
=========================================
  Files            4         4
  Lines          308       308
=========================================
  Hits           308       308

Flag
Coverage Δ

unittests
100.00% <ø> (ø)

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

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


fix(vue): Segmented strong highlighting

Fixing #49 by iterating only over rendered SegmentedButtons for strong highlighting

Merged, thanks!


Fix: Increase timeout of e2e tests

Just a stopgap for now to make the tests pass 🙈

This change is

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

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


Remove engines property from package.json

See https://github.com/jslicense/licensee.js/pull/90#issuecomment-1784162651
Per npm's package.json doc, at most setting engines gets us a warning on install.  The engineStrict property, which I don't think this package ever set, has been deprecated.
My general thinking on version support so far has been roughly:

Checking licenses on long-dormant and "legacy" projects remains important.

Many of those projects are locked to old Node.js versions.

This is a relatively simple package, without need for many new language or core-library features, anyway.

That said, we want to reuse, not reinvent, npm's ways of interpreting and analyzing node_modules directories.

npm has its own preferences and constraints for Node.js version support, which we're going to inherit.

Upshot: CI across LTS versions so we can catch and revert new syntax, core APIs, or dependency versions that needlessly sacrifice support for projects on old LTS versions.
I don't like the idea of having to twiddle engines for every release.  And I'm not aware of any tools for analyzing our full production dep tree and calculating a composite supported engines range.  In practice, we're just having users do that when they run npm install on whatever node and npm they have.
However, in practice, I suspect most projects adopting licensee from scratch will be on later Node.js versions, and get away with just installing the latest licensee.  Those diving into old projects will likely have the package.json from days of yore, specifying an old licensee version that worked with whatever Node.js they were using at the time.  So long as we and all our dep authors make major version bumps for engine breaks, that should be fine.  Alternatively, we could ship npm-shrinkwrap.json, but that makes perpetual bump chores, and we've done fine without it so far.

Per npm's package.json doc, at most setting engines gets us a warning on install. The engineStrict property, which I don't think this package ever set, has been deprecated.

I might be misreading but I feel like there's some misunderstanding here. The engineStrict property in package.json has indeed been deprecated, but the engine-strict option still exists. The latter can be used by end-users of this (or other) package to ensure they don't run things that don't support their current Node.js version, getting an error otherwise (unless --force is used).
That being said, I think "npm has its own preferences and constraints for Node.js version support, which we're going to inherit." is an appropriate decision for this project.

The tentative plan was to release without engines with a major-version bump. In practice, installs on Node versions not supported by our deps would get warnings. npm install runs with engine-strict would fail.
Interpreting engines: undefined as "all Node versions supported" breaks down for the vast majority of packages that don't set engines, as soon as underlying Node.js changes break them.
Node.js' APIs are over us, not under us. Users will "select" a Node.js version before running npm i. As for compatibility, I don't think this package has anything more to say about Node.js version compatibility than the composite of its deps' constraints.

It doesn't break down at all, * is the explicit default inside npm.
Every package should declare explicit engines, with zero exceptions, and those versions should be what's tested in CI.
I'm really confused what's motivating this PR anyways - #90 made all the right changes for the breaking change it's proposing. What's the benefit of removing engines?

Per @ljharb here, this was clearly a misfire. Closing.
As a side note, you're right about the default for engines, @ljharb. But if we interpret what that means strictly---and make it a part of SemVer---then I'm guessing the overwhelming majority of actively used library packages have bad metadata and violate SemVer.
I do like the way Licensee has approached Node version support so far. I don't see any more reason to touch engines. I'd recommend the same approach for other packages with special concern for older compat. But I wouldn't push too hard for everyone else. That way lies...disappointment.


"failed to fetch" is not a descriptive error

The http response code should be included in "failed to fetch" pop-up, at least then we'd have a better understanding of what went wrong
Ps....maybe there could be an "error logs" section?

added status code with failed fetch message: https://github.com/mrdjohnson/llm-x/commit/ca83d68f7e516efc2b5d2ef6d796ef7e9b7e21a6


net/http: request canceled (Client.Timeout exceeded while reading body)

What version of Go are you using (go version)?

$ go version
go 1.13.3 linux/amd64

Does this issue reproduce with the latest release?
no
What operating system and processor architecture are you using (go env)?
go env Output
$ go env
GO111MODULE=""
GOARCH="amd64"
GOBIN=""
GOCACHE="/root/.cache/go-build"
GOENV="/root/.config/go/env"
GOEXE=""
GOFLAGS=""
GOHOSTARCH="amd64"
GOHOSTOS="linux"
GONOPROXY=""
GONOSUMDB=""
GOOS="linux"
GOPATH="/home/go"
GOPRIVATE=""
GOPROXY="https://proxy.golang.org,direct"
GOROOT="/opt/tools/go"
GOSUMDB="sum.golang.org"
GOTMPDIR=""
GOTOOLDIR="/opt/tools/go/pkg/tool/linux_amd64"
GCCGO="gccgo"
AR="ar"
CC="gcc"
CXX="g++"
CGO_ENABLED="1"
GOMOD=""
CGO_CFLAGS="-g -O2"
CGO_CPPFLAGS=""
CGO_CXXFLAGS="-g -O2"
CGO_FFLAGS="-g -O2"
CGO_LDFLAGS="-g -O2"
PKG_CONFIG="pkg-config"
GOGCCFLAGS="-fPIC -m64 -pthread -fmessage-length=0 -fdebug-prefix-map=/tmp/go-build380477337=/tmp/go-build -gno-record-gcc-switches"

What did you do?

https://play.golang.org/p/GitRj9yIY8j
The file stream returned from the server is about 30M. At the same time as io.copy, the disk io reaches 100%. The network environment is as follows

What did you expect to see?
I want to know why the error is returned and then how to circumvent the error
What did you see instead?
The error code of line 51 is printed as follows:
net/http: request canceled (Client.Timeout exceeded while reading body)

You set a 30s timeout on the client.

You set a 30s timeout on the client.

https://play.golang.org/p/R0zj8dkj4Qw
In my code, the testClient above is actually used. I have set the timeout equal to 30 seconds. Is it wrong?


Extend processor-chaining

Remove global AudioConfiguration
Allow for processors for modifying (returning) the number of buffered bytes to be provided for next processor
move maximum buffer bytes to StreamData
Add methods to AudioProcessors to provide supported audio-configuration (esp. format, samplerate, bufferframes)
Allow for AudioHandler to use accepted values from AudioProcessors
add AudioConfiguration as parameter to AudioHandler#configure()

mostly implemtend, still TODO:

add method to AudioProcessor to provide supported number of buffered frames
Allow for AudioHandler to use accepted values from AudioProcessors

To be added:

RTPPackageHandler needs to be extended to store actual package size. This will be set (on the receiving side) by RTPBuffer and used in ProcessorRTP to set the newly implemented bufferSize


Track more details

Closes #12

:+1:

@jackboberg I went ahead and nested the npm/node properties under engines in the validations...decided to keep it consistent with the version handlers.

:shipit:


[web/interop] New JS interop extensions that provide jsify() / dartify()

Currently the dart:js_interop provides a jsify() method that is described as this:
extension NullableObjectUtilExtension on Object? {
  /// Converts a Dart object to the JavaScript equivalent if possible.
  ///
  /// Effectively the inverse of [JSAnyUtilityExtension.dartify], [jsify] takes
  /// a Dart object and recursively converts it to a JavaScript value. Only Dart
  /// primitives, [Iterable]s, typed lists, and [Map]s are supported.
  ///
  /// > [!NOTE]
  /// > Prefer using the specific conversion method like `toJS` if you know the
  /// > Dart type as this method may perform many type-checks.
  // TODO(srujzs): We likely need stronger tests for this method to ensure
  // consistency.
  external JSAny? jsify();
}

=> Based on this description it would seem one can only use .jsify() for things that can be encoded as json (i.e. maps, lists and primitives (including e.g. typed arrays))
But the implementation allows using arbitrary objects:
import 'dart:js_interop';
class Foo {}
main() {
  print(Foo());
  print(Foo().jsify().dartify());
}

On top of that, it behaves differently on dart2js vs dart2wasm:
% dart compile js test.dart
% third_party/d8/linux/x64/d8 out/ReleaseX64/dart-sdk/lib/_internal/js_runtime/lib/preambles/d8.js out.js
Instance of 'Foo'
Instance of 'Foo'

% dart compile wasm test.dart
% pkg/dart2wasm/tool/run_benchmark test.wasm
Instance of 'Foo'
{}

So I think we have to address at least those two aspects:

[ ] Implementation allows arbitrary objects <-> API docs say it doesn't
[ ] Behaves differently in dart2js vs dart2wasm

IMHO it would make sense to rethink the API itself:

[ ] Ensure we have the basic building blocks, so users can write their own recursive jsify() / dartify()
[ ] Do we actually want to provide an implementation in core libraries?
[ ] Can we separate Tree vs DAG handling (most uses will have trees in Dart already - so we pay an unnecessary high cost for DAG handling)
[ ] Can we restrict to pure JSON only (avoid overhead of 15+ is <X> / instance of <X> calls)?
[ ] Can we restrict to JSON only or should allow wrapped user objects (IMHO dangerous (e.g. postMessage(<obj>.jsify()) may fail in dart2wasm and do strange things in dart2js))
[ ] Should we require users to specify whether JS numbers that can be represented as int64 should be converted to int64 or not (see e.g. https://github.com/dart-lang/sdk/issues/55203)
[ ] Should we offer an option to throw if numbers loose precision when crossing boundary

/cc @srujzs @sigmundch

I think the ability to call jsify on arbitrary Dart objects is a relic from dart:js_util. The above conversion is almost never what the user wants, and may lead to subtle bugs where users thought a different value was passed instead. I think we should prefer to instead throw if the object is not one of the allowed values.

Behaves differently in dart2js vs dart2wasm

We should double-check our tests to make sure we have good coverage here. Are you seeing this discrepancy even in the allowed types or just the disallowed types (arbitrary Dart objects)?

Ensure we have the basic building blocks, so users can write their own recursive jsify() / dartify()

I believe beyond the Map=>JS object and the Iterable=>JS array conversion, the rest already exist with the existing toJS conversions (the Iterable conversion only exists for Lists), but we can add the former two if we want. I'm not sure how useful they'll be as standalone conversions.

Do we actually want to provide an implementation in core libraries?

Yes, at least for dartify when you get back JSAnys from JS that could be several different values. Manually type-checking all the possible values is less desirable. There are likely some web APIs that benefit from jsify as well.

Can we separate Tree vs DAG handling (most uses will have trees in Dart already - so we pay an unnecessary high cost for DAG handling)

I can see this adding overhead if it's a large map. We could make this a named parameter e.g. isTree to avoid the excessive checking if users know better.

Can we restrict to pure JSON only (avoid overhead of 15+ is  / instance of  calls)?

We could speed-up the current is checks by just checking for is TypedData - not sure why we don't (maybe to be more explicit about which TypedData we support?).

Can we restrict to JSON only or should allow wrapped user objects (IMHO dangerous (e.g. postMessage(.jsify()) may fail in dart2wasm and do strange things in dart2js))

Can you specify what you mean by "wrapped user objects" and what "" here is?

Should we require users to specify whether JS numbers that can be represented as int64 should be converted to int64 or not
Should we offer an option to throw if numbers loose precision when crossing boundary

Reading through the other thread, would the user ever want to lose precision here? Should we always throw? Or is checking whether we'd lose precision slow?

Are you seeing this discrepancy even in the allowed types or just the disallowed types (arbitrary Dart objects)?

I meant the discrepancy of instances of user-defined classes. We do have the number discrepancy as well, where in wasm one always gets doubles atm IIRC.

Yes, at least for dartify when you get back JSAnys from JS that could be several different values. Manually type-checking all the possible values is less desirable. There are likely some web APIs that benefit from jsify as well.

Even if one gets the dartify()ed object graph, one still has to manually type check/cast all the values, it's just on the dart types instead of the js types.
What I meant here is: If we have building blocks, we could have the extension e.g. in package:web or somewhere else. By having it in dart:js_interop and by having them under the very general dartify() / jsify() names we actively encourage users to use them (just too easy to use compared with .toJS* methods).

Can you specify what you mean by "wrapped user objects" and what "" here is?

Objects of user-defined classes (like (new Foo().jsify() in the example).
You mentioned this is unintentional in the first place (👍 ) and we should throw. If users need it for some esoteric use case, they can write their own recursive code for that (if we have the building blocks)

Reading through the other thread, would the user ever want to lose precision here? Should we always throw? Or is checking whether we'd lose precision slow?

We'd need to benchmark to see the impact. Seems to be also somewhat inconsistent atm for the explicit operations

for <jsNumber>.toDartInt we apparently do check
for <dartInt>.toJS we apparently do not check

I meant the discrepancy of instances of user-defined classes. We do have the number discrepancy as well, where in wasm one always gets doubles atm IIRC.

Got it, disallowing user-defined classes should get us just to just the double case in terms of discrepancies.

What I meant here is: If we have building blocks, we could have the extension e.g. in package:web or somewhere else. By having it in dart:js_interop and by having them under the very general dartify() / jsify() names we actively encourage users to use them (just too easy to use compared with .toJS* methods).

This is a fair point. I have seen users leaning towards these functions and unintentionally introduing overhead, whereas if they knew the type or set of types the value could be, the conversion would be faster. If we added the conversion functions for Map and Iterable, maybe removing jsify/dartify makes sense. Slightly related: I've also seen feature requests for supporting JS Maps and Sets but the conversions for those types are not the same as what jsify/dartify do.

You mentioned this is unintentional in the first place (👍 ) and we should throw. If users need it for some esoteric use case, they can write their own recursive code for that (if we have the building blocks)

Agreed.

We'd need to benchmark to see the impact. Seems to be also somewhat inconsistent atm for the explicit operations

I think this is just oversight. The JS compilers don't have the same issue around losing precision, and the conversion to int case is much more common than losing precision. I presume the cost isn't high as the bottleneck will be the interop, but benchmarking makes sense.

There's also one other discrepancy I noticed here we should fix:
https://github.com/dart-lang/sdk/blob/061004f83f2f606b5db9488ba50c478dcaa22ba4/sdk/lib/_internal/wasm/lib/js_util_patch.dart#L29
https://github.com/dart-lang/sdk/blob/061004f83f2f606b5db9488ba50c478dcaa22ba4/sdk/lib/_internal/js_shared/lib/js_util_patch.dart#L36
null returns two different values here. On DDC and dart2js, you get back null, and on dart2wasm, you get back a JSValue.

Not sure if this is the right place - but I found that dartify is different between dart2js and dart2wasm when it comes to numbers - dart2js correctly recognized an int in a map value but dart2wasm treated it as a double. Obviously was able to work around by parsing with num, but it was an unexpected surprise.

@curt-weber I'm assuming this is the same issue as https://github.com/dart-lang/sdk/issues/55203? If so, then yes, it's still a bug we need to fix to get consistency. :)

Yep - good find, same issue as the commenter even - wrapper around indexeddb.

One more discrepancy here that came up in https://github.com/flutter/flutter/issues/153742:

When compiling to JS, we pass through unrelated JS objects if they don't need a conversion in dartify.
When compiling to Wasm, we wrap all such JS objects if they don't need a conversion in dartify.

The idea is to return some interoperable value that users can use, but may lead to issues like https://github.com/flutter/flutter/issues/153742#issuecomment-2299838014 where casts may succeed in one compiler but fail in the other. invalid_runtime_check_with_js_interop_types detects erroneous casts, but the result of dartify is general enough that it doesn't help here.


Arrange the back and forward button to not overlap with the API server

Info:

OS: macOS

Logseq ver:

Plugin ver:

Theme name:

[ ] ⚠ Do i have issue with DISABLED my custom.css?

Description:
There is a minor update needed on Awesome UI, since the release of the HTTP API server. Check this screenshot
Image

To Reproduce:
Enable the API server
Expected behavior:
the API server icons should not overlap with the the back button
Screenshots
If applicable, add screenshots to help explain your problem.
Attach files
Add (via drag-n-drop) .zip with .md files (if it needs) to help with bugfixind

BTW, what it for and how it works? any docs? info?

fixed in v.1.5.1!


chore: Update README.md for android setup running on React Native 0.65 and bellow

Overview

Recently used the library on an old React Native Project, worked just fine for iOS but it failed to integrate with Android. After some search I found this issue #221 .

The steps on this comment was the solution for my project that is running on React Native 0.64

This PR adds a section with the necessary steps for projects running bellow React Native 0.65

Screenshot

Thanks, it makes sense to include the manual steps in the readme :)


Search in readium over book

Is there an option to search for text over book content,over all pages in all chapters?
Currently i don't have this option.

We already have an issue recorded for that:
https://github.com/readium/readium-js/issues/17
We do not have a concrete plan / schedule for implementing this feature though. It all depends on programmer resources (+ developer contributions). Right now there are a bunch of other high-priority issues to address, so watch this space!

How to implement text search over entire book using norch.js?

How to implement text search over entire book on readium. Which version previosly integrated. I checked all version. Still i cant able to check that


Basic: correctly identify paths as absolute/relative on Windows

Use the sanctioned PathIsRelativeW API from Windows to handle the
absolute/relative path checking.  Use Foundation for converting paths
to the canonicalized representation first.

@swift-ci test

@swift-ci test linux


How can a VectorSource containing regular features return an array of render features?

I'm upgrading from ol 8.1.0 to 8.2.0 and saw a lot of types have changed due to the introduction of render features.
However, one thing is not clear to me, if I have a source of type VectorSource<Feature>, then I can only add and remove regular features (looking at the signatures of addFeature and so on). But when I call getFeatureById on that source the return type is Feature<Geometry> or RenderFeature[]. Is this the intended return type? And how can this return a render feature if only regular features can be added to the source?

Yes, that's intended, and happens when the GeoJSON format is configured with ol/render/Feature as featureClass. And if you upgrade to ol@dev you'll get a fix that determines the correct type depending on which featureClass the GeoJSON format was configured with.

Clear, thanks


Automated Package Upgrade

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

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


App hangs / cannot be loaded

On the nano s, latest firmware, the app:

v3. cannot be loaded -> ledgerblue.commException.CommException: Exception : Invalid status 5103
v2. can be loaded but hangs when opened

Previous firmware could run v2. Unfortunately, I cannot downgrade and I'm stuck now with no working version.
App works fine in zemu

We are reactivating development in this app... So it will get a tiny bit unstable because it is very memory sensitive.. but it should go back to normal in 1 or 2 weeks.
Happy to see you are following the development!! It is not a normal app.. quite complex to get this to work in such small device..

I see you released a new build but I can't seem to load it on my nano s either.

I think this is not relevant anymore, can you confirm @hhanh00 ?

Unfortunately, I still get the same error. Building and loading the bitcoin-test app works flawlessly but not this one.

It is probably related to app size and available space in the device.
Ledger modified the error codes in firmware 2.0 and I believe 5103 is related to size.
@ftheirs @becominginsane  maybe you can confirm?

FYI, my nano S is freshly reset and does not contain any app, yet it cannot load this app.

5103 should be indeed related to size.
I wasn't able to load the app on my clean Nano S either, with that error being thrown. I had observed it in the past and we had confirmation from ledger that it's related to insufficient space

The app has increased in size overtime solely via the Ledger SDK to the current status where it doesn't fit in a Nano S device anymore.
Considering that Ledger discontinued the Nano S device, all support moving forward will be for the Nano X and S+ devices only.

Hey @hhanh00 we are trying to do some integration & update work and we already noticed you integrated the app with YWallet...
Does this code live somewhere? Can we access it to test our changes since you have a working integration already? Also we'd like to have a channel to communicate with you, can you reach out to francesco  zondax.ch ?
Thank you!

The code is on github https://github.com/hhanh00/zcash-sync/blob/master/src/ledger/sapling.rs
Note that it is experimental and not in production.

@becominginsane i have sent an email to Francesco.


Height issues with ajax

Hi,
I'm using matchHeight() on a WordPress site, and its working fine on initial render. But I'm using Ajax Load More to load more posts, using jQuery's ajaxComplete() to update the height on loaded posts. It's working fine on the first load, but on the second load the heights are set to high (should be around 300px, gets set to around 500px).
Here is my JS:
    jQuery.noConflict();
    jQuery(document).ready(function($){

        $(function() {
            $('#employees .person').matchHeight();
        });

        $( document ).ajaxComplete(function() {
            $.fn.matchHeight._apply('#employees .person')
            $.fn.matchHeight._maintainScroll = true;
        });

    });

And ideas?

I can confirm that the initial recommendation above from @liabru works well with Ajax Load More in WordPress. Thank you for that tip!

Hello,
It is not the first time I am confronted to this issue
If, like me, you are using the Data API, for some strange reasons $.fn.matchHeight._update(); doesn't seem to work
Instead, I am calling $.fn.matchHeight._applyDataApi();
Here is an exemple :
// statechangecomplete is the event I trigger when AJAX call has successfully ended
$(window).on('load statechangecomplete', function () {
    $.fn.matchHeight._applyDataApi();
});


A small detail in the floating buttons :)

Hi, I hope you are well, I have already contributed to this project, for now it has been small things and I bring you another one (in my case I feel it doesn't look good). And it is that these buttons are not aligned, I feel that if they were well aligned in desktop view, it would be great. In mobile if they are well aligned. I don't know if this is done on purpose, in that case close the issueeee, thank u

Looks good, feel free to open a PR! How will it look on mobile?

looks nice, and okay, i'll <3


Add the ability to import query hooks from a custom path

What is the problem this feature would solve?
Projects may have custom override hooks that wrap around the standard useQuery, useMutation and useInfiniteQuery.
These hooks usually have the same signature, names and overall behavior of the RQ ones.
They may implement additional logic do the vanilla hook that would be inefficient to generate dynamically.
Right now, implementing them requires recreating all Query templates, which can be overwhelming considering the change is only an import path
External documents/projects?
No response
What is the feature you are proposing to solve the problem?
One solution is to add a string parameter in the config option
This new param would only change the import path from @tanstack/react-query to what is supplied.
This param could be supplied for any rendering framework and replace the import paths given here:
https://github.com/kubb-labs/kubb/blob/main/packages/swagger-tanstack-query/src/utils.ts
Another solution would be to add the import template as a customizable component:
      templates: {
        mutation: Mutation.templates,
        query: Query.templates,
        queryOptions: QueryOptions.templates,
        queryKey: QueryKey.templates,
        operations: Operations.templates,
        imports: Imports.templates
        ...templates,
      },

This template would allow user to edit the default import without having to edit other templates
What alternatives have you considered?
No response

imports has been added to the templates and another option has been added to override the import without using React/templates.
The following config will use import { useQuery } form '@kubb/react-query' instead of using import { useQuery } form '@tanstack/react-query.

Important note: This will work so long you are using the same syntax of UseQuery.

import { defineConfig } from '@kubb/core'
import { definePlugin as createSwagger } from '@kubb/swagger'
import { definePlugin as createSwaggerTanstackQuery } from '@kubb/swagger-tanstack-query'
import { definePlugin as createSwaggerTS } from '@kubb/swagger-ts'

export default defineConfig({
  input: {
    path: './petStore.yaml',
  },
  output: {
    path: './src/gen',
  },
  plugins: [
    createSwagger({ output: false }),
    createSwaggerTS({}),
    createSwaggerTanstackQuery({
      query: {
        importPath: "@kubb/react-query"
      },
    }),
  ],
})

See https://kubb.dev/plugins/swagger-tanstack-query/#query-importpath and https://kubb.dev/examples/advanced for an example of how to configure this.


ErrorDeviceClosed result in a 500 response code

The ErrorDeviceClosed error results in a 500 response code which means there was an internal server error.  I think this is not the right code.
If the request has not been sent to the device, the error code should be 404 if the device was not there the instant the sending of the message was attempted.
If the request has been sent & the device disconnected mid-flight, we should probably define a new error code (540?) or use 504 to indicate that the transaction may have made it to the device, but the outcome is unknown due to a disconnection
Code of interest:
https://github.com/Comcast/webpa-common/blob/29d8d92a5b112b81d5d7b2dc4ad82180468598a0/device/device.go#L194

Addressed by: https://github.com/Comcast/webpa-common/pull/314


Split Information for the Mainnet

The information of the mainnet producers is not being loaded in the Rewards Distribution part,
This, because there are too many producers, is not responding efficiently to show the information.
One option to display the information faster may be to divide the information called one hundred by one hundred.
As a user I want to see that information, so we are going to find how we can improve the speed in which we can show it


Invalid link for Sass version

The SASS button on the documentation point to the following URL: https://github.com/materializecss/materialize/releases/download/1.1.0-alpha/materialize-src-v1.1.0-alpha.zip.
Expected Behavior
I was expecting to download a zip with the following structure:
  |--js/
  |  |--bin/
  |
  |--scss/
  |  |--materialize.scss
  |  |--components/

Current Behavior
This file does not exist, or is now missing.
I could download the entire repository, clean it, but I don't know how to build the materialize.js and materialize.min.js.
Possible Solution
Maybe something is missing from the current release flow.
I would be nice to have this version available, as it was supported before and help people getting started quickly with materializecss.
Steps to Reproduce (for bugs)
Click the SASS SOURCE button.
Context
I am new to web development (I come from the back-end side) and I was trying to get the sass version of materialize theme.
Your Environment

Version used: https://materializecss.github.io/materialize/getting-started.html
Browser Name and version: Chrome (90.0.4430.93 - Official Build - 64-bit)
Operating System and version (desktop or mobile): Windows 10 (Build 21370.1)

Hello @DanielRuf I think this issue has been resolved long time ago.
Getting started page download looks fine as of now:
https://materializeweb.com/getting-started.html
Can / should close this issue?

Thanks for letting me know, closing.


[Bug]: Insert out-of-range value into IDENTITY column

Contact Details
<EMAIL_ADDRESS>What happened?
I observed divergent behavior between SQL Server 2019 and Babelfish PostgreSQL 13.6 when inserting an out-of-range value into an IDENTITY column. SQL Server accepts, Babelfish rejects if it is the first value but succeeds if a valid value was already inserted.
 Alternately, if 0 is going to be rejected then it should be rejected regardless of the current contents of the table.
Version
BABEL_1_X_DEV (Default)
Extension
babelfishpg_tsql (Default)
What flavour of Linux are you running into the bug?
Ubuntu (Default)
Relevant log output
2022-03-18 11:44:11.151 EDT [226134] LOG:  Unmapped error found. Code: 2600, Message: portal snapshots (1) did not account for all active snapshots (2), File: portalmem.c, Line: 1338, Context: babelfishpg_tsql
2022-03-18 11:44:11.151 EDT [226134] CONTEXT:  PL/tsql function inline_code_block line 1 at SQL statement
        TDS Protocol: Message Type: SQL BATCH, Phase: TDS_REQUEST_PHASE_PROCESS. Processing SQL Batch Request
2022-03-18 11:44:11.151 EDT [226134] LOG:  Unmapped error found. Code: 2600, Message: portal snapshots (1) did not account for all active snapshots (2), File: portalmem.c, Line: 1338, Context: babelfishpg_tsql
2022-03-18 11:44:11.151 EDT [226134] CONTEXT:  TDS Protocol: Message Type: SQL BATCH, Phase: TDS_REQUEST_PHASE_PROCESS. Processing SQL Batch Request
2022-03-18 11:44:11.151 EDT [226134] ERROR:  portal snapshots (1) did not account for all active snapshots (2)
2022-03-18 11:44:11.151 EDT [226134] CONTEXT:  PL/tsql function inline_code_block line 1 at SQL statement
        TDS Protocol: Message Type: SQL BATCH, Phase: TDS_REQUEST_PHASE_PROCESS. Processing SQL Batch Request
2022-03-18 11:44:11.151 EDT [226134] LOG:  Unmapped error found. Code: 2600, Message: portal snapshots (1) did not account for all active snapshots (2), File: portalmem.c, Line: 1338, Context: TDS
2022-03-18 11:44:11.151 EDT [226134] CONTEXT:  TDS Protocol: Message Type: SQL BATCH, Phase: TDS_REQUEST_PHASE_PROCESS. Processing SQL Batch Request

Code of Conduct

[X] I agree to follow this project's Code of Conduct

This is a bug. But inserting an invalid value into an identity column is arguably not a very realistic use case.

I don't disagree and would certainly characterize trying to do this as an application-level bug, but it seemed worth pointing out and documenting even as we fix it on our side.

In context of TSQL dialect support, here is what microsoft says: https://docs.microsoft.com/en-us/sql/relational-databases/tables/disable-foreign-key-constraints-with-insert-and-update-statements?view=sql-server-ver15#Restrictions

Limitations and restrictions
After you disable these constraints, future inserts or updates to the column will not be validated against the constraint conditions.

For my own sake (of being curious), I'd like to know what the SQL Standard is saying about "check constraints", in use cases related to "alter table" related to those, as well as "disable" and "enable"  knowing those apply on update and insert only, when they are enabled... assuming SQL Standard defines those.
I think this is realistic use case, and I'd like to know if SQL Standard define those same operations, as it could be used for a "lint your code or SQL implementation against SQL Standard" purposes.
I hope babelfish can support the same in the future, albeit maybe postgresql back end works differently with constraints?

I would like to add to this issue as it's pretty much stopped my migration testing. We have existing SQL server databases that have identity values of 0 (or less!) that we can't easily insert into a babelfish database. As above, if I issue a set identity_insert on for the table and try to insert 0 into the identity column I get a bizarre error message. Note, there is nothing wrong with identity values of zero or less, it's just that 1 is the normal default starting value. I don't understand why inserting 0 gives an error, but only in an empty table. If there are already rows in there then it works just fine. We commonly use a 0 identity value for "default" records in various tables and don't have an easy workaround at the moment for automated migration of any of our databases. Any help would be appreciated.

Oh, BTW, using AWS Aurora Babelfish for Postgres version 14.3 (with Babelfish 2.1.1)


chore: ignore kotlin binary compatability validation files

These are auto generated and shouldn't be checked into vcs.

See Kotlin/binary-compatiblity-validator:

Preparation phase (one-time action):

As the first step, apply the plugin, configure it and execute apiDump.
Validate your public API manually.
Commit .api files to your VCS.
At this moment, default check task will validate public API along with test run and will fail
the build if API differs.

You may have run the wrong Gradle task.

BTW, we haven't checked it yet, since we haven't released any official version.

Oh ok, if I run Gradle build it generates them, but I guess they should be checked in on release anyway.


Specify which version Publisher-s3 uses

Pre-flight checklist

[X] I have read the contribution documentation for this project.
[X] I agree to follow the code of conduct that this project uses.
[X] I have searched the issue tracker for a bug that matches the one I want to file, without success.

Electron Forge version
6.4.2
Electron version
26.2.1
Operating system
Windows 10 Pro (19045.3448)
Last known working Electron Forge version
No response
Expected behavior
Specify in the configuration of publisher-s3 to use a different version than the one defined in package.json.
Actual behavior
Hey lads,
In my current setup, I'm specifying the version of my app through a variable, which is then passed to for example the config of squirrel
makers: [
    {
      name: '@electron-forge/maker-squirrel',
      config: {
          version: APPLICATION_VERSION, // <-- assume this to be 6.1.0
          name: 'zapp',
        },
    },
]

Now, if I try to publish it, this won't work and will return the following error
 Error: ENOENT: no such file or directory, open '/out/make/squirrel.windows/x64/zapp-0.0.0-full.nupkg'
I noticed this is because my package.json is set to 0.0.0 which seems to be used by publisher-s3.
Is there any way to configure publisher-s3 to use a specific version rather than the one defined in package.json?
Steps to reproduce
const forgeConfig: any = {
  makers: [
    {
      name: '@electron-forge/maker-squirrel',
      config: {
          version: APPLICATION_VERSION, // <-- assume this to be 6.1.0
          name: 'zapp',
        },
    },
  ],
  make_targets: {
    win32: ['squirrel'],
  },
  electronPackagerConfig: {
    packageManager: 'yarn',
  },
  electronWinstallerConfig: {
    name: 'zapp',
  },
  windowsStoreConfig: {
    packageName: 'Zapp',
    name: 'zapp',
  },
  publishers: [
    {
      name: '@electron-forge/publisher-s3',
      config: {
        bucket: '...',
        endpoint: '...',
        folder: '...' + channel,
        region: 'ams3',
        public: true,
      },
    },
  ],
  plugins: [
    new VitePlugin({
      build: [
        {
          entry: './src/electron/main/main.ts',
          config: './src/electron/main/vite.config.electron.ts',
        },
      ],
      renderer: [
        {
          name: 'splash_window',
          config: './src/electron/renderer/splash_window/vite.config.splash.ts',
        },
        {
          name: 'main_window',
          config: './src/electron/renderer/main_window/vite.config.renderer.ts',
        },
      ],
    }),
  ],
};

Additional information
I tried setting AppVersion in packagerConfig: {}, but it doesn't seem to work either

Does it work if you specify your app version in your package.json and then import it in your forge.config.ts?
// package.json
{
  "version": "6.1.0",
}

// forge.config.ts
import packageJSON from './package.json'

// ...
makers: [
  {
    name: '@electron-forge/maker-squirrel',
    config: {
        version: packageJSON.version,
        name: 'zapp',
      },
  },
],


Rename credential offers to notifications and define proof-of-possesion methodolgy

For @borisrizov-zf
We decided to rename credential offers to credential notifications and include a proof-of-posession feature for sending notifications.

@jimmarino There seems to be a double key entry credentials in section 4.1.1 can you take a look and advise. Also the sentence in the first occurrence is incomplete, should I just consolidate them?

I think that is a merge error. Can you clean that up as part of this PR?

@jimmarino one more thing, do you remember what we decided for the keys in json? camelCase or snake_case?

@jimmarino one more thing, do you remember what we decided for the keys in json? camelCase or snake_case?

I can't remember exactly but DSP uses camel case and since we are planning on contributing these specs there at some point, it may make sense to adopt that convention.

@jimmarino one more thing, do you remember what we decided for the keys in json? camelCase or snake_case?

I can't remember exactly but DSP uses camel case and since we are planning on contributing these specs there at some point, it may make sense to adopt that convention.

Ok, I'll do that then. Maybe we should have a quick chat, because I've got some other questions, are you on matrix?


Menu update3

added a background
color changes
added button noises on both menus for when you hover and when you click
hid vertical scrollbar on each description box

Nice job! This is so cute!


broken wheelchair routing - priority and elevation improvements

Should fix #2497.
The problem was that the priority encoder was never written too leading to an infinite weight. Additionally, when using elevation, the same could happen for short routes with a too big "elevation noise".
Can you try again with these changes @zdila?

Thanks! I will try it within couple of days.

Works for me. Thank you!

BTW Graphopper is able to find a route now, but routes are often strange, not using footways but roads for cars.
Also for example check this: https://www.freemap.sk/?map=18/48.724220/21.236095&layers=X&tool=route-planner&points=48.724433/21.236876%2C48.723818/21.234326&transport=foot-stroller - it is using latest GH from yesterday with this PR merged and also data from yesterday. It navigates the wheelchair from a footway to the road in opposite direction, then "u-turn" and then it jumps up on the bridge on the road in the construction (there is no shared node). Uses wheelchair with any weighting.

then it jumps up on the bridge on the road in the construction

I can't reproduce this behaviour - a highway=construction way cannot be visited except there is an explicit wheelchair=yes tag. Are you using an unmodified version of GH? Which config are you using?
btw: the opposite direction of a road should be legal for a wheelchair.

there is no shared node

What do you mean here?

I am actually using modified GH only to give marked trails higher priority:
https://github.com/FreemapSlovakia/graphhopper/commit/16f084a48aa44d204cdab8b4fefdee1d9ed51cb7#diff-ff39f67e2307d6318e51faed22356a33d312eccd88ff854234aa8e89d470a3ef
And also different elevation provider: https://github.com/FreemapSlovakia/graphhopper/commit/87884a2defe6553e6aad43dc3650e60253c6edd7

there is no shared node
What do you mean here?

I mean that bridge and road beneath doesn't share a node:
https://www.freemap.sk/?map=19/48.724215/21.236521&layers=X&point=48.724226/21.236518

Actually I was wrong, it is not using the bridge, but this area https://www.openstreetmap.org/way/561084192
I don't think that border of amenity=hospital should be used for any routing, even if it has wheelchair=yes. Should I report it as a different issue?

Ah, thanks. Ugly. This is another bug and relates to this PR here - will fix it here.

I think my last change should fix the problem - can you try again?

Tested now, but is still seems to use the edge of that area for wheelchair routing.

The way will be excluded for the most recent version:

The Wheelchair encoder now uses the same whitelist approach for highway types like the other encoders and this shouldn't happen.
Can you test the original GH code and with this map extract? map.zip

I tried graphopper from master (d358d4b8a) with data from https://download.geofabrik.de/europe/slovakia.html and wheelchair routing doesn't use the area edge (but doesn't work at all with fastest weighting). Is it enough? Or is your map.zip somewhat special?

Can you try this branch wheelchair_fix? The change is not yet in master.

I am slightly confused now :).
I tried this branch today morning with https://download.geofabrik.de/europe/slovakia.html and the routing on area edge was still present. It is commit 29a73c3035c680a8fa26dd01e7ead63013682297.

hm, tried again with clean-build and now it works properly with this branch.

Thanks!


Docker on archlinux

Hello bankjaneo.
I wanted to ask can i download docker on archlinux installation media ? Because i tried the docker command line and it says
bash: docker: command not found
Sorry im new to this ^^

Try installing docker with sudo pacman -Syu docker docker-compose

Try installing docker with sudo pacman -Sy docker docker-compose

I tried it but it dosent work with sudo but it managed to work without sudo only pacman, at the end of downloading it stops and says something about corrupt files i don't know why
Thanks in advance

You are probably running out of memory. Are you trying to use the same virtual machine from the old repo? The docker method is meant to be used on a normally installed operative system. The original method runs entirely on your RAM without writing anything on your disk. It only uses 256MB so you'll completely run out of memory if you try to also install docker in that space

@Kashozs You might not need the docker method. This repo already offers the mitigate.py script with the fixes applied so you could curl the one on this repo instead. You'd basically follow the original guide but using the fixed script url instead.
# Make sure you remove prior leftover files
rm ./definitions.json ./ffxiv.exe
# Download new static one from this repo
wget https://raw.githubusercontent.com/bankjaneo/XivMitmDocker/main/app/ffxiv.exe
wget https://raw.githubusercontent.com/bankjaneo/XivMitmDocker/main/app/definitions.json
# Fetch and run the mitigate.py script from this repo instead of the main one
curl https://raw.githubusercontent.com/bankjaneo/XivMitmDocker/main/app/mitigate.py | python

This docker way shouldn't be using with any Linux that run on installation media. Try the original method instead but with modified mitigate.py and definitions.json as @steponmepls suggested.

@Kashozs You might not need the docker method. This repo already offers the mitigate.py script with the fixes applied so you could curl the one on this repo instead. You'd basically follow the original guide but using the fixed script url instead.

# Make sure you remove prior leftover files

rm ./definitions.json ./ffxiv.exe

# Download new static one from this repo

wget https://raw.githubusercontent.com/bankjaneo/XivMitmDocker/main/app/ffxiv.exe

wget https://raw.githubusercontent.com/bankjaneo/XivMitmDocker/main/app/definitions.json

# Fetch and run the mitigate.py script from this repo instead of the main one

curl https://raw.githubusercontent.com/bankjaneo/XivMitmDocker/main/app/mitigate.py | python

Hi
I tried your idea but when i type the second code it gives me this

Also when i type the curl command it says this

I also managed to install archlinux and downloadid the docker but when i type the docker command it says this

Thanks.

definitions.json has been deleted from the repo because the maintainer integrated the hotfixes that now work with the 6.3 ffixv.exe so by trying to fetch that URL you'll get a 404 file not found.
As always, follow the guide on the main repo, use an Arch installation iso and once you are at the part where you curl <script-url> | python use the following forked script instead
https://raw.githubusercontent.com/xzn/XivMitmLatencyMitigator/main/mitigate.py

For the script, please use new URL as @steponmepls mentioned. The original method on main repo is back to working again with new script URL.
For the docker, I have no experience on Arch but from your screenshot, it looks like docker daemon is not running. You might want to try follow step 2 and 4 on this website https://www.linuxfordevices.com/tutorials/linux/install-docker-on-arch.
You can skip step 3 since you are already running as root user by default.


Bump Ansible version to 2.6.16

Noticed while deploying prod67. The creation of the router failed with an issue similar to the one reported in https://github.com/ansible/ansible/issues/44432. Upgrading Ansible locally was sufficient to create the OpenStack infrastructure.
Increasing the Ansible version should include the latest bug and security fixes.
Proposed to release as 0.4.2

Now released as https://pypi.org/project/ome-ansible-molecule/0.4.2/


Creating PowerPoint using node JS APIs

Is there any way to create PowerPoint slides with node JS APIs?
I am searching for a way but I still have no result

@AyaMohamed1 what's your problem ? Gave you tried this demo ?https://github.com/gitbrent/PptxGenJS/blob/master/demos/node/demo.js


Blue geen deployment in terraform

Is your request related to a new offering from AWS?
Is this functionality available in the AWS provider for Terraform? See CHANGELOG.md, too.

No 🛑: please wait to file a request until the functionality is avaialble in the AWS provider
Yes ✅: please list the AWS provider version which introduced this functionality

Is your request related to a problem? Please describe.
i can see that aws rds module has blue green deployment option but this module does not have that can we add this a feature

Does RDS Aurora support blue/green? Does the AWS Terraform provider support blue/green for RDS Aurora?

@bryantbiggs there is an option in RDS module https://registry.terraform.io/modules/terraform-aws-modules/rds/aws/latest?tab=inputs "blue_green_update"

That is RDS - this is RDS Aurora. They are two separate services and APIs

@bryantbiggs Aurora does support blue green deployments and it looks like the provider does too.
https://aws.amazon.com/blogs/aws/new-fully-managed-blue-green-deployments-in-amazon-aurora-and-amazon-rds/
https://registry.terraform.io/providers/hashicorp/aws/latest/docs/resources/db_instance#blue_green_update

@toneill818 again - that is a link to an RDS instance resource which is not Aurora
Our RDS module does support this since RDS instances support this https://github.com/terraform-aws-modules/terraform-aws-rds/blob/a4ae4a51545f5cb617d30b716f6bf11840c76a0e/main.tf#L115

Is there any timeline to support this feature for Aurora module? Since RDS module already has this supported

https://github.com/hashicorp/terraform-provider-aws/issues/28956#issuecomment-1826174309


ttx fails to convert iOS 8.2 AppleSDGothicNeo.ttc

The current master version of ttx seems to fail on a new font that is part of iOS 8.2:
$ ttx AppleSDGothicNeo.ttc
Dumping "AppleSDGothicNeo.ttc" to "AppleSDGothicNeo.ttx"...
Error: specify a font number between 0 and 13 (inclusive)
$
fontNumber seems to be -1.
If I change the exception to a 'pass' ttx appears otherwise happy.
I've put a copy of the font here: https://www.dropbox.com/s/so9awb7ot1q5pai/AppleSDGothicNeo.ttc?dl=0
(I'm guessing it may well be that the font is incorrect, but thought it worth reporting anyhow just in case. Thanks for ttx, I use it a lot!)

hey @jogu, the font is not incorrect. In fact, that's the way ttx is supposed to work.
The font you mention is a TrueType Collection (*.ttc) font, therefore you need to pass the -y option to specify the index of the individual font in  the TrueType collection that you wish to dump.
Here ttx is telling you the collection contains 14 fonts -- between 0 and 13 (inclusive). If you want to dump all of them, you can repeat the call to ttx incrementing the -y value until you have dumped all the fonts.
If you type ttx --help, it should display the -yoption as well.
All best,
Cosimo

hi @anthrotype - that makes a lot of sense. Thanks. I'd missed that.  :-) Thanks!

I have some code to handle TTCs as a whole.  Have to finish that...


Create a tutorial to create a Slack event integration with PHP using this SDK

Create a tutorial that explains how to create a simple integration with Slack that allows an email to be triggered based on some defined event.
The example should utilize best practices for storing credentials.
Please add the tutorial to USE_CASES.md.

I'll have a pull request submitted for this shortly.

Closing as this feels like more of a blog post than library documentation and use cases.


Swagger parser fails to validate valid url is given in License information

Swagger parser fails to validate valid url is given in License information.
By Specification
"
A URL to the license used for the API. MUST be in the format of a URL.
"
This is not getting validated as of now.

The same is the case for url in contact object.

I have fixed the issue and also raise a pr for the issue


Trapping rainwater problem

--
Title: trapping rainwater problem
About: I would like to add solution to this problem.
Name: SIDDHI BHANUSHALI
Label: Feature Request
Assignee: ''

Define You:

[x] DevIncept Participant
[ ] Contributor

Is your feature request related to a problem? Please describe.
No.

Describe the solution you'd like...
I would like to add solution to this problem.

Describe alternatives you've considered?

Approach to be followed (optional):
I will be adding this in dp folder by making a new folder named trapping rainwater and initializing with a readme.

Additional context

Issue assigned. @siddhi-244

Its been 3 days. 9th is the last date to accept PR's. If you wouldn't do it by then, obviously you can submit later but points won't be counted towards DCP program. @siddhi-244

Its been 3 days. 9th is the last date to accept PR's. If you wouldn't do it by then, obviously you can submit later but points won't be counted towards DCP program. @siddhi-244

Will do it today !

Update? @siddhi-244

Update? @siddhi-244

Done


Include exercises data for multi lang code support.

Summary
Hi @cpauya .
This fixes the exercise content data is not found for Swahili language packs.
Screenshots (if appropriate)

@mrpau-richard Are these the fixes that you've shown earlier?

I tested the build from the build server which incorporate with our fix.
http://dungeon.learningequality.org:8085/browse/CP-MTCP2-13

@cpauya Yes, It's my changes.


SANDI in AMICO

Title:
Implementation of soma and neurite density imaging (SANDI) in the accelerated microstructure imaging via convex optimization (AMICO) framework
Project lead:
Marco Palombo @MarcoPalombo3

Project collaborators:
Simona Schiavi @simonaschiavi24
Alessandro Daducci @ADaducci
Registered Brainhack Global 2020 Event:
Brainhack Atlantis The Atlantic Ocean - Micro2Macro
Project Description:
The aim of the project is to implement an algorithm for fast and robust fitting of complex microstructure imaging methods, such as the soma and neurite density imaging (SANDI), using the accelerated microstructure imaging via convex optimization (AMICO) framework.
SANDI is a novel imaging technique based on diffusion MRI and biophysical modelling, designed to provide maps of MR indices of apparent soma density and size, as well as apparent neurite density. As such, SANDI is of interest for studies involving the characterization of brain cytoarchitectonics in a wide range of conditions: e.g., brain development, aging, plasticity, neuroinflammation, neurodegeneration, and more.
The fitting of the SANDI model originally proposed is based on machine learning regression, which provides ultra-fast model parameters estimation but requires the careful design of both the training strategy and the machine learning model.
The AMICO framework can overcome these issues and provide the scientific community with a more agnostic algorithm for the fast and robust estimation of SANDI indices.
The AMICO framework offers the possibility to re-formulates virtually any microstructure imaging model as convenient linear systems which, then, can be efficiently solved using very fast algorithms. To date, it has been successfully employed with other models, such as NODDI and ActiveAx. We will implement an AMICO version of SANDI building upon the code publicly available at https://github.com/daducci/AMICO
Data to use:
We will use unpublished data collected at high field and high diffusion gradient strength on the mouse brain. Since it is unpublished, the data will be made available privately by the project leader.
Link to project repository/sources:
https://github.com/daducci/AMICO
Goals for Brainhack Global 2020:
Deliverable 1: stable version of SANDI-AMICO;
Deliverable 2: tested version of SANDI-AMICO on one suitable dataset;
Good first issues:

Implementing data and protocol loader: read NIFTI file; read b values and directions; check data consistency; separate data in shells and average across directions;
Implementing database generator: define functions to generate response functions to be used in the AMICO linear system according to the SANDI model and the Gaussian Phase Distribution approximation;
Implementing the optimizer: define the objective function, setup the optimizer, perform the voxelwise fitting;
Implementing the result writer: save the SANDI maps in NIFTI format, keeping the correct header file;
Test performances: generate known ground-truth conditions using analytical simulations and different noise characteristics (e.g. Gaussian, Gaussian + floor; Rician);
Write up an initial tutorial on the wiki page of the AMICO repository.

Skills:
Python programming;
Familiar with DWI data processing (e.g. NIFTI/DICOM format, diffusion-weighted MRI protocols etc.);
Basic understanding on inverse linear problems (least square method, common regularization techniques, etc.);
Tools/Software/Methods to Use:
Python 3, AMICO (pip install dmri-amico), Camino, visual studio code or spider or jupyter.

Communication channels:
https://mattermost.brainhack.org/brainhack/channels/micro2macro-sandi_in_amico

Zoom

Project labels
#dMRI, #modelling, #AMICO, #SANDI, #Microstructure, #InVivoMicroscopy, #Neuro

Type of project:
#coding_methods #pipeline_development

Project development status:
#1_basic structure

Topic of the projet:
#diffusion #MR_methodologies

Tools used in the project:
#DIPY, #FSL, #Jupyter, #AMICO #Camino

Tools skill level required to enter the project (more than one possible):
#familiar

Programming language used in the project:
#Python

Modalities involved in the project (if any):
#DWI, #MRI

Git skills reuired to enter the project (more than one possible):
#0_no_git_skills

Project Submission
Submission checklist
Once the issue is submitted, please check items in this list as you add under ‘Additional project info’

[x] I added all of the labels I want an associate to my project

Project Submission
Submission checklist
Once the issue is submitted, please check items in this list as you add under ‘Additional project info’

[ ] Link to your project: could be a code repository, a shared document, etc.
[ ] Goals for Brainhack Global 2020: describe what you want to achieve during this brainhack.
[ ] Flesh out at least 2 “good first issues”: those are tasks that do not require any prior knowledge about your project, could be defined as issues in a GitHub repository, or in a shared document.
[ ] Skills: list skills that would be particularly suitable for your project. We ask you to include at least one non-coding skill. Use the issue labels for this purpose.
[ ] Chat channel: A link to a chat channel that will be used during the Brainhack Global 2020 event. This can be an existing channel or a new one. We recommend using the Brainhack space on Mattermost.

Optionally, you can also include information about:

[ ] Number of participants required.
[ ] Twitter-sized summary of your project pitch.
[ ] Provide an image of your project for the Brainhack Global 2020 website.

We would like to think about how you will credit and onboard new members to your project. If you’d like to share your thoughts with future project participants, you can include information about:

[ ] Specify how you will acknowledge contributions (e.g. listing members on a contributing page).
[ ] Provide links to onboarding documents if you have some:

Hi @Brainhack-Global/project-monitors: my project is ready!

Hi @Brainhack-Global/project-monitors: my project is ready!

Dear @palombom Welcome to the Brainhack Micro2Macro event! Thank you very much for proposing such an amazing project 🎉
Your issue looks almost ready! May I just ask from you to add an image to the issue please so we can create a project card for you as the others here and use it for the Twitter advertisement if you would like please? Once you add the image, I will make the project published and it will be ready for the view!
We look forward to hearing from you. Again welcome to the Brainhack family! 🤗

Dear @palombom Welcome to the Brainhack Micro2Macro event! Thank you very much for proposing such an amazing project 🎉
Your issue looks almost ready! May I just ask from you to add an image to the issue please so we can create a project card for you as the others here and use it for the Twitter advertisement if you would like please? Once you add the image, I will make the project published and it will be ready for the view!
We look forward to hearing from you. Again welcome to the Brainhack family! 🤗


Question about keyword searching

I have an example of a search where the results are not as I would expect.
The search is
Category: Parents and Caregivers
Topic or organisation: "Open Home".
Link to search
The results include many providers with the name "Open Home Foundation", which is great.
However, I can't follow the logic about how the results are ordered.
Some of the Open Home listings appear at the top.  Others are scattered further down the results, as far down as 43rd/50 position.
I'm guessing that the ranking is affected by both the category (Parents and Caregivers) and the keywords (Open Home).  I would have thought that the results that have the keywords "Open Home" next to each other would be ranked the highest
Question: Is that the expected behaviour?
If not, is it possible to achieve this kind of ranking, or unlikely?

Hi Sarah, just wanted to leave a note to say I've looked at this quickly and it will need more investigation. You're right to think that the ranking is being effected by the category 'parents and caregivers'.
We added the category to the database query to get better results when no keywords are given (when you just click on a category filter), but it might be better to stop using the category if there are keywords present. The results should be similar to what you see if you search for 'open home' without any category selected. That's a fairly quick change for us to make if you'd like to try it out.
Looking a little deeper, the search results for 'open home' in particular are affected by the way the search server is set up. It doesn't know that the title is more important than any other text so results which say 'open' and 'home' a lot in the body will get a higher ranking than things which say 'open home' once in the title. I looked into fixing this previously (boosting the title field) and found some documentation of how it should be possible but didn't have time to test it out because I was focusing on location searching at the time.
If I have more time to work on this I'd recommend an 'investigate search field boosting' task as a high priority because it could improve the ranking of results quite a lot.


Atom crashes on install packages

System details:

Atom 1.0.19
Windows 7

Whenever I go to "Install" to add packages, atom crashes after a couple of seconds with a windows error "The editor has crashed":

Yesterday I got a new machine (very similar specs) and installed atom but it still happens.  It also happens in safe mode and nothing is logged to the console. I'm not sure how to debug it further.

Try running "As Administrator" it might be that atom doesn't have privilege to modify it's packages directory.

Nope, still crashes as administrator.

What is the filesystem of the partition where you $HOMEPATH% is? It can be because of the long file names like: .../node_modules/foo/node_modules/bar/node_modules/baz/.... Not all filesystems can handle that, if it's not NTFS (for windows) you are doomed :sweat_smile:.

It looks like atom is installed to ~\AppData\local\atom, which I'm pretty sure is NTFS.  I also tried manually deleting everything atom-related I could find to makes sure there weren't any left over node_modules, but it still crashes.  Is there a way I can force it to install to another location (e.g. C:\atom) with a shorter path name?

with NTFS you shouldn't have that problem. what the version of npm that you are using? maybe update node and npm and reinstall atom. because the newer versions of npm try to flatten the hierarchy. These are just shots in the dark, the best I can come up with :3 I hope you can get it fixed asap.
P.S. once I couldn't get it working either. maybe try truncating the compiler-cache folder? that fixed my issue once.

Node and npm are already the latest (4.1.1 and 3.3.5 respectively), and I already cleared the entire ~\.atom folder including compiler-cache.  One other thing I've just noticed though: I'm running behind a rather monstrous proxy with self-signed certificates and the only way I can get apm (or npm, gem, git, etc) to work is by using strict_ssl=false (or the equivalent for the other tools).  Before I add that line, downloading the list of available packages fails (obviously), but atom doesn't crash.  After I add the line, atom loads the list of packages, then crashes.  I'm not too sure what this says, but it might be of some use.

There is another issue where people can't update behind proxies.
A quick search revealed those: #8839
#8465

@Zireael07 Somehow I missed the second of those in my search (#8465) - it does appear to be a duplicate.  Not the same as #8839 though.


Chore/prepare 5 5 0

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

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


Improve the pure Rust APIs

There are a fair number of assumptions currently about the global state that don't play well if we wanted to support a dumb fuzzing mode with no instrumentation. Some TODO items:

[ ] Figure out how to approach multiple Fazi instances to avoid mismatching global state from local state.
[ ] Remove certain instrumentation-only mutations if instrumentation is not enabled (e.g. SanCov-enabled comparisons).
[ ] Provide a pure Rust sample of using Fazi with and without instrumentation.

FWIW, yesterday I published what I find a pretty neat API for property based testing:
https://docs.rs/arbtest/latest/arbtest/
under the hood, that just uses some poor random numbers to populate buffer with bytes.
My ideal fuzzer would use more or less similar API, just with more intelligent approach to generating input bytes.


environment variables file

Thanks for sharing this repo.  @RobLoweMOJ / @brown-a2, can you please provide me ".env.local" to try this platform.

Thanks for getting in touch. We've not changed this build to use all the variables within the docker compose so a .env file is not required. Best


Introduce an id generator

When we construct Quint expressions, we have to assign a unique id. Currently, fresh identifiers are only generated in ToIrListener, that is, in the parser.
We are producing new Quint expression in the simulator, when converting JS objects back to Quint. Hence, we need a reliable way of generating unique identifiers. It can be as simple as having a function that keeps incrementing an internal counter. However, we should understand how atomicity and thread-safety works in JS. That's why I have opened a separate issue.

This would be required for the incremental REPL #618


Dual wielding in slow motion after taking first "dual wielding 20% increase" perk in the one handed tree

The title says it all. Default Elysium installed by wabbajack with Ultrawide monitor mods as well, no bugs at all until I grabbed this perk at level 11. weapons work fine one-handed. They will even swing normally after unequipping and re-equipping until I actually try and hit a valid target, in which case they slow down and stay slowed down til unequipped and re-equipped again.

So my weaponspeedmult is 1.2, til I hit somebody and it goes to .2. changing this in the console works until I try and power attack anybody, at which point it goes back down to .2. It has made my current character that I was really enjoying unplayable. Looking forward to a patch or news, thanks!

any news? because I've the same issue :(

No updates, and I doubt it will be fixed without the modpack just being straight-up updated. I've found no fix which lasts longer than 5 seconds with console commands. I had to make a new character entirely cuz the one I had just didn't feel good anymore. Sorry bruddah.

I found a solution just yesterday and I wanted to update you. the problem lies in the "dual flurry" perk. From console, remove the perk totally (so both). My pg is back to attack with the right speed. Then personally, again from the console, I speeded it up by 0.2 sec to make it more dynamic. I hope you still have your old pg to verify that it works for you too.
Ps. I hope I made myself understood, my english sucks lol

Afaik this is a long time bug in skyrim which got never really true fixed. I also tried several console command with no luck.
Maybe this one helps https://www.nexusmods.com/skyrimspecialedition/mods/32859 - I have to make some tests this evening.

Hey dude, I saved that save game so I could see about attempting to load it
up and see, though I am enjoying my current new character. I'll let you
know!
On Mon, Apr 5, 2021 at 9:16 PM MysteryumXarxes @.***>
wrote:

I found a solution just yesterday and I wanted to update you. the problem
lies in the "dual flurry" perk. From console, remove the perk totally (so
both). My pg is back to attack with the right speed. Then personally, again
from the console, I speeded it up by 0.2 sec to make it more dynamic. I
hope you still have your old pg to verify that it works for you too.
Ps. I hope I made myself understood, my english sucks lol
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/TitansBane/Elysium/issues/71#issuecomment-813553370,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ATINZYIDDD46DZUAVDDOFX3THH5BPANCNFSM4ZJRRODA
.

Fix for the next update.


Update README file to present updated figma file

The figma file link in the README does not link to current version. Update link to reflect the recent figma file.

will review