Adjusted the height of the price chart after deselecting trading history

Description
In the legacy futures, after deselecting the trading history box, the height of the price chart is not working as expected.
Reverted the following change in #2316

Ref: https://github.com/Kwenta/kwenta/pull/2316/files#diff-75b78545b9e3fae40ffbea8e525c3b600e8a0c65dfbee2dd939021e19a3404caL83-L88
Related issue
#2316
Motivation and Context

How Has This Been Tested?

Screenshots (if appropriate):

https://github.com/Kwenta/kwenta/assets/548702/38410dcd-9e96-4686-81c7-0285a2d3fb08
Minor issue for smaller screens (additional space below banner when switching trading history; but I think this we can neglect this given that legacy futures will be removed very soon.
Approving PR for now.


Ensure compatibility with pyinstaller

🚀 Feature Request
Ensure that this package is compatible with pyinstaller.
🔈 Motivation
I have observed that importing this package into a project that is packaged into an executable with pyinstaller will break the resulting executable. Specifically, you see the following, even if pyserial is installed, and in fact is used elsewhere in the same program without issue:
2022-05-18 11:20:44-0700 [-]  Traceback (most recent call last):
2022-05-18 11:20:44-0700 [-]    File "calibration\reef.py", line 97, in <module>
2022-05-18 11:20:44-0700 [-]    File "c:\users\helen.catanese\pycharmprojects\skalahub\venv\Lib\site-packages\PyInstaller/loader/pyimod03_importers.py", line 391, in load_module
2022-05-18 11:20:44-0700 [-]      exec(bytecode, module.__dict__)
2022-05-18 11:20:44-0700 [-]    File "calibration\sockeye_comm.py", line 7, in <module>
2022-05-18 11:20:44-0700 [-]    File "c:\users\helen.catanese\pycharmprojects\skalahub\venv\Lib\site-packages\PyInstaller/loader/pyimod03_importers.py", line 391, in load_module
2022-05-18 11:20:44-0700 [-]      exec(bytecode, module.__dict__)
2022-05-18 11:20:44-0700 [-]    File "site-packages\granola\__init__.py", line 2, in <module>
2022-05-18 11:20:44-0700 [-]      Modules
2022-05-18 11:20:44-0700 [-]    File "c:\users\helen.catanese\pycharmprojects\skalahub\venv\Lib\site-packages\PyInstaller/loader/pyimod03_importers.py", line 391, in load_module
2022-05-18 11:20:44-0700 [-]      exec(bytecode, module.__dict__)
2022-05-18 11:20:44-0700 [-]    File "site-packages\granola\breakfast_cereal.py", line 38, in <module>
2022-05-18 11:20:44-0700 [-]    File "site-packages\granola\breakfast_cereal.py", line 327, in Cereal
2022-05-18 11:20:44-0700 [-]    File "site-packages\granola\utils.py", line 121, in check_min_package_version
2022-05-18 11:20:44-0700 [-]    File "site-packages\pkg_resources\__init__.py", line 481, in get_distribution
2022-05-18 11:20:44-0700 [-]
2022-05-18 11:20:44-0700 [-]    File "site-packages\pkg_resources\__init__.py", line 357, in get_provider
2022-05-18 11:20:44-0700 [-]
2022-05-18 11:20:44-0700 [-]    File "site-packages\pkg_resources\__init__.py", line 900, in require
2022-05-18 11:20:44-0700 [-]
2022-05-18 11:20:44-0700 [-]    File "site-packages\pkg_resources\__init__.py", line 786, in resolve
2022-05-18 11:20:44-0700 [-]
2022-05-18 11:20:44-0700 [-]  pkg_resources.DistributionNotFound: The 'pyserial' distribution was not found and is required by the application

I suspect this issue is related to how/where/when pyinstaller packages up dependencies. But I would like to build a minimum viable example to ensure that it isn't some idiosyncrasy of my project.
🛰 Alternatives
Rather than any code changes, we might also provide documentation on a known workaround.
📎 Additional context

I think this is in fact a limitation of pyinstaller. https://github.com/pyinstaller/pyinstaller/issues/4795 Checking to see if the copy_metadata hook can be used to resolve the issue.


IE 11 issue

The list inline editing does not work in IE11 (http://w2ui.com/web/demos/#!gr.... Combo works fine.

This can be closed


Automatic RZResourceManger Registration design for API handles + engine wide - use macros

TBD. Architecture design.

Done


Revert "add some parser test"

Reverts CS2103AUG2017-W09-B2/main#34

Coverage decreased (-0.04%) to 88.383% when pulling 563ab894003a1155e5be7bbb1ad9bb90b2de73e9 on revert-34-yiming-parser-test into 94069ba7d51a14f2188da8adb8b384ef0b76b03e on master.


How might Statiq handle "Gated" content?

Hey, I've only just really started exploring Statiq so apologies if this is covered elsewhere.
I have a use-case I wanted to quickly explore and discuss how/whether Statiq will support it.
As well as my static blog (which is currently created using Hugo) I have just launched a new site to host my books/courses etc.
I chose to build this using Blazor Server (with a view to migrating it to Blazor WASM) but I've realised that Blazor is pretty heavy for a lot of the site which is really just landing pages which could easily be static.
Here's an example: https://practicaldotnet.io/c/BlazorByExample
So I think generating these as static pages makes much more sense (all the content is Markdown anyway).
So, to my question.
I'm confident Statiq will handle the landing pages part etc. But what about "gated content".
This page for example shows how you can browse content, but when you attempt to move on to the next module, you would need to purchase the book to continue.
Essentially this is all still static content, but at the moment it's retrieved via an API call the backend which can determine if the visitor has access to the content.
At a high level, how might Statiq support this requirement do we think?
Thanks for the work so far, this project seems to be shaping up very nicely and I'd love to switch my blog from Hugo in the near future!

Great question!
Stepping back and looking at the more general concept of gated static site content, I can come up with a few different approaches that could apply to any JAMstack site and generator:

Relying on capabilities of the static host such as Netlify Identity.
Splitting the site into a set of static landing pages on one host/service and a web server backed site with identity for the gated content, with a proxy like Front Door to unify the two.
Using an API to authenticate and provide the gated content to the client (which is what it sounds like you're currently doing, and probably also how I'd do this).

So let's take that last approach and look at how Statiq might make it easier. I think the key here is that Statiq is just a .NET application (including Statiq Web since it's built on top of Statiq Framework). It can be extended through .NET code and there are lots of ways to do so, including plugging into the deployment process. That provides a high degree of flexibility to adapt to any static generation scenario - it's why I like to say Statiq is designed for building your static generator instead of just being a static generator.
More specifically, and off the top of my head, the way I'd approach this is:

Include the gated content right alongside the non-gated content. This makes managing everything easy. Designate the difference using relative paths or maybe metadata (for example, front matter like Gated: true).
Use a global setting to indicate if you're doing a local build (for example, on the command line like --setting IncludeGated=true) and then treat the gated content normally if so (I.e., don't filter it out in the step below) - that way while you're developing it gets included right alongside your normal ungated content.
Output the non-gated content normally, but filter out the gated content.
Direct the gated content to a separate pipeline that processes it and then either keeps it in memory (for deployment to an API or service like Functions, Cosmos DB, or Azure Search) or writes it to a different output folder (for deployment as static files to a different location/host).
Create a separate deployment pipeline for the gated content that deploys it to the appropriate location/API.

There's likely other ways Statiq could handle this scenario too - that's just the first approach that comes to mind. Hopefully it was clear(ish)? I think the more general point is that because it's .NET code driving everything, and you can add new .NET code in the form of modules and pipelines, the generator itself can adapt to more exotic use cases like this.

Thanks for that, I read it a few times to try and unpack the details (some of the Statiq terminology is still new to me!) but I think I understand in theory at least!
Currently, I'm writing everything in Markdown and serving it via an API (using Markdig to turn the Markdown into HTML), using YAML front matter to indicate whether the content is a FreePreview or not.
So it seems I'm already on a good path to migrate this to Statiq and then just have the same API return the generated content.
I think my next step will be to set up an spike to test this out, taking the existing content and the approach you identified above to pipe the content to two separate locations.
I'd probably want to show consolidated navigation for all the content (free or gated) as I am currently. So I'm assuming the pipeline could spit out nav links for everything (essentially a table of contents) but take the "second pipeline" approach to actually generate and deploy the gated content to a different location.
Thanks again for thinking this through and taking the time to point me in the right direction. Now I have some fun learning to do this weekend :-)

Hello again!
I'm making progress and have managed to output my landing pages using their existing styles etc. to the default output folder.
So all good to this point 👍
One thing I can't quite figure out (yet) is how to write a Deployment pipeline as suggested. Specifically, I've figured out I can indicate Deployment  = true, but the bit I'm stuck on is coping the output files to another location.
Is it a case of using the CopyFiles module as an OutputModule?
If so, how do you point the module at a folder other than the default input folder?
Thanks!
Oh, and if this isn't the best forum for these kinds of questions do let me know and I'll redirect them to wherever is best!

You're very close!
Deployment pipelines have a few special qualities:

They only run when the deploy command is called (dotnet run -- deploy).
They can read the output of other pipelines in their Output phase.
Their Output phases always happen last.

This means that any modules inside the Output phase of a deployment pipeline get a "last pass" at anything other pipelines generated or output.

Is it a case of using the CopyFiles module as an OutputModule?

CopyFiles is intended for copying from the input folder to the output folder. What you're really looking for during deployment is taking files from the output folder and uploading them somewhere else like a host.

If so, how do you point the module at a folder other than the default input folder?

There are a few canned modules geared specifically for deployment (with more planned):

DeployNetlifySite (in the Statiq.Web.Netlify package)
DeployGitHubPages (in the Statiq.Web.GitHub package)
DeployAppService (in the Statiq.Web.Azure package)

These modules are generally placed in the Output phase of a deployment pipeline. They all get the output files using IExecutionContext.FileSystem.GetOutputPath() and then either iterate the files there using normal System.IO calls or the built-in file system. That same strategy works well in your own deployment module if you're able to write deployment code.
Otherwise, if your deployment is typically done via the command line, you can also use a StartProcess module in the Output phase of a deployment pipeline. That gives you a lot of control over forking a process to handle deployment and you can pass it the output path obtained from IExecutionContext.FileSystem.GetOutputPath().


Ignore implicit methods and constructors when creating detections

Detections associated with implicit methods and constructors are being reported by Maracas. This causes some tests to fail in the rest project. After diving into this issue I found that Spoon reports that a constructor is explicit (i.e. the implicit attribute is set to false) even when it is clearly not defined in the class. I already tried using getPosition().isValid() but it didn't work as expected. We need to find a workaround for this issue.

Not commenting on the issue per se, but rest shouldn't be the one complaining first about this issue. core tests should have caught that right away (but there's basically none atm ;)

Check issue 4348 in the Spoon repository.


Edit SDG11 (WoS)

Edit SDG11

Updated the status message, deleted the full search string URL - this should be replaced at the end

Target 11.3

Action and topic: Updated phrase 1 with adding "urban planning" OR "human settlement planning". (#54). Changed plan* to plan OR plans OR plann* (#86)

Target 11.4

Action and topic: Updated phrase with removing "natural habitat$"
Updated documentation. (#20)

Target 11.5

Action and topic: Updated phrase 1 with adding  "("affected" OR "injured" OR "traumati$ed" OR "displaced" OR "missing") NEAR/3 ("people" OR "person$")"
Action and topic: Updated phrase 1 with fixing spelling error "degredation" to "degradation". (#53)
Updated interpretation to include people affected. (#63)

Target 11.6
-Phrase 4: Added "compost*" OR "recycle*" OR "reuse*" OR "biologic* degrad*" OR "combust*" OR "heat*" OR "energ*" OR "deposit*"   as different types of waste treatments. (#55)
Target 11.7

Action and topic, phrase 1 and 2: Expanding public spaces in strings:
OR (("park$" OR "street$" OR "avenue$" OR "square$" OR "beach$" OR "waterfront" OR "riverbank$" ) NEAR/15 ("city" OR "cities" OR "metropolitan" OR "town$" OR "built-up area$" OR "urban*" OR "neighbourhood$" OR "neighborhood$"))
OR "boulevard$" OR "public playground$"
OR "public library" OR "public libraries" OR "civic center$" OR "civic centre$" OR "community centre$"OR "community center$" OR "public facilit*" OR "public market$"
Updated documentation, including new reference to UN source document (#24)

@hmbjerkan  Looks good, just a few comments

11.2 - there is an issue here in that the action approach covers things not covered in the topic approach, found by phrase 3 in the action approach. In topic, I suggest that phrase 3 is added as-is from action (i.e. keep the action terms). The alternative would be to take anything that mentions public transport, but this might go too broad.
11.5 - looks fine, but I did a small edit to tidy up some unnecessary brackets. Suggestion for the new addition for affected persons - could consider expanding people OR persons with a couple more central terms, e.g. "people" OR "person$" OR "civilian$" OR "women" OR "men" OR "child*" - I did a quick check, it looks pretty good?
11.6 phrase 4 - there was a brackets error, I think I have fixed it (I also re-structured the lines to make it a bit easier to see the structure). It also makes no difference with biologic* degrad* vs. the simpler biological degrad* as far as I can tell, so I simplified this.
11.c - just something I thought of after working with SDG12 - you could try including green and changing "eco friendly" to just eco in the line : "("sustainab*" OR "ecofriendly" OR "eco" OR "environmentally friendly" OR "resilien*". There is also something referred to in SDG12 which could probably be included here: "Sustainable Building and Construction Initiative" OR ("SBCI" NEAR/3 "UNEP"), but it might not add anything given that "sustainable building" NEAR "sustainab*" is already included.


move next sequence calculation into miq_group

clean cherry pick of https://github.com/ManageIQ/manageiq/pull/5164

fix error around tenant groups with a nil sequence
set sequence by default
set sequence for tenant default_group

We'll backport this directly


Always on error reset position/pointer

If an error occurs, the resulting value of the file-position indicator for the stream is unspecified. https://pubs.opengroup.org/onlinepubs/007904975/functions/fwrite.html
And in the code above if error occurs with 0 bytes written (full disk) it will not reset the pointer (writePos will still be equal to begin), however it need to be reseted.
Otherwise this causes https://github.com/Chia-Network/chiapos/issues/234 - in phase3, when this bucket is read, it goes into endless loop.

Thanks. I was/am not sure what bReading means in context of this write method, and for easier code reading I introduced new variable. I can see bReading is used in Read function, and it is clear to me how it is used there. Maybe here, setting to false, should be actually setting to true on line 219/222 as you suggested. Please feel free to fix the best way you think it is.

bReading indicates whether the last operation was a read or write. if it is different than the current operation, we need to update the file position, since our cached copy of the file position will be outdated.
I agree that it's not ideal to repurpose this to trigger the seek(). I still think a comment is important though.

perhaps a more intuitive patch to fix this would be to set writePos to UINT64_MAX on failure. That models the behavior of the underlying file position being undefined.

Fixed with PR 267 based on your PR tinodj. Thank u!


Utilize useResizeObserver in ButtonGroup

🙋 Feature Request
ButtonGroup currently adds an event listener for window resize events (https://github.com/adobe/react-spectrum/blob/main/packages/@react-spectrum/buttongroup/src/ButtonGroup.tsx#L69-L79). Now that we have a useResizeObserver hook, we should use it in place of the useEffect linked above.
🤔 Expected Behavior
The ButtonGroup's current behavior should be maintained after the addition of useResizeObserver:

When ButtonGroup is in a horizontal orientation: The ButtonGroup should switch to vertical orientation if there isn't enough room to render all the buttons in a single row. This calculation should happen on initial render and on window resize.

When ButtonGroup is in a vertical orientation:  Resizing the window should never switch the ButtonGroup to horizontal orientation even if there is enough room to render all the buttons in a single row

💁 Possible Solution
Example of existing useResizeObserver usage<EMAIL_ADDRESS>🧢 Your Company/Team
RSP

@LFDanLu looks like the #1225 PR did not close that issue probably because it is a dup of #1115?

@LFDanLu looks like the #1225 PR did not close that issue probably because it is a dup of #1115?

Ah, that is correct, thanks for the heads up!

Ah, that is correct, thanks for the heads up!


Question about using Rollup's plugin API for file watchers in plugin

I noticed that  plugin has implemented a file watcher to detect changes in files and update the plugin code. I was wondering, have you used Rollup's built-in plugin API, specifically this.addWatchFile, to watch files.
这个插件自己实现了一个文件的观察者，是不是使用rollup提供的api会更合适。例如this.addWatchFile之类

It has to work with webpack and others too


ignition firstboot detection logic doesn't work on UEFI image

The first boot detection logic doesn't work in our metal-uefi images probably because grub is looking for it in the first partition (sda1, PARTLABEL="EFI System Partition") and not in the second partition where it is (under /boot/ after mounts are done). We'll need to make this a bit more dynamic.

grub2 can find partitions by label so ended up using that functionality to find the /boot/ partition and search for the file directly in #52


assignment mismatch: 2 variables but uuid.NewV4 returns 1 values

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

$ go version
 go version go1.12.9 windows/amd64

Does this issue reproduce with the latest release?
No, is not last version
What operating system and processor architecture are you using (go env)?
go env Output
$ go env
set GOARCH=amd64
set GOBIN=
set GOCACHE=C:\Users\00046605\AppData\Local\go-build
set GOEXE=.exe
set GOFLAGS=
set GOHOSTARCH=amd64
set GOHOSTOS=windows
set GOOS=windows
set GOPATH=D:\myProject\Go\
set GOPROXY=
set GORACE=
set GOROOT=C:\Go
set GOTMPDIR=
set GOTOOLDIR=C:\Go\pkg\tool\windows_amd64
set GCCGO=gccgo
set CC=gcc
set CXX=g++
set CGO_ENABLED=1
set GOMOD=D:\myProject\oauth\go.mod
set CGO_CFLAGS=-g -O2
set CGO_CPPFLAGS=
set CGO_CXXFLAGS=-g -O2
set CGO_FFLAGS=-g -O2
set CGO_LDFLAGS=-g -O2
set PKG_CONFIG=pkg-config
set GOGCCFLAGS=-m64 -mthreads -fno-caret-diagnostics -Qunused-arguments -fmessage-length=0 -fdebug-prefix-map=C:\Users\00046605\AppData\Local\Temp\go-build393022486=/tmp/go-build -gno-record-gcc-switches

What did you do?
Hello everyone, I started experimenting with mod. When I initialize the modules in my project, all libraries are loaded and github.com/satori/go.uuid is loaded accordingly.. But when starting go run server.go

What did you expect to see?
start without errors
What did you see instead?
I get an error {
"resource": "/d:/myProject/oauth/tokenstore/tokenstore.go",
"owner": "generated_diagnostic_collection_name#0",
"severity": 8,
"message": "cannot initialize 2 variables with 1 values",
"source": "LSP",
"startLineNumber": 41,
"startColumn": 20,
"endLineNumber": 41,
"endColumn": 30
}

I am using vscode.
My project is outside gopath

Thanks I got the same issue after migrating to modules for workaround a bug with grpc


”Dumitrița”, ”Budacu de Sus ”, ”Ragla” are listed in the drop-down menu

Description:
When user writes ”Dumitrița”, ”Budacu de Sus ”, ”Ragla” the locations appear in the drop-down menu next to the comune and the county witch is a part according to the law.
Precondition:
The website is up an running.

Step 1
Write in the search bar "Dumitrița"

Expected results
The location appears in the drop-down menu as "Dumitrița, Bistrița-Năsăud (Dumitrița)".

Step 2
Press "x" button.

Expected results
The location was deleted from the search bar.

Step 3
Write in the search bar "Budacu de Sus"

Expected results
The location appears in the drop-down menu as "Budacu de Sus, Bistrița-Năsăud (Dumitrița)".

Step 4
Press "x" button.

Expected results
The location was deleted from the search bar.

Step 5
Write in the search bar "Ragla"

Expected results
The location appears in the drop-down menu as "Ragla, Bistrița-Năsăud (Dumitrița)".


scientific_startup is defining print_function for Python 2.X interactive consoles

From<EMAIL_ADDRESS>on 2013-06-26T23:58:02Z
As reported on the mailing list [1], scientific_startup.py is importing print_function for Python 2.X interactive consoles. This doesn't seem viable even if we provided a disclaimer. It's going to cause problems for too many users.
[1] https://groups.google.com/d/msg/spyderlib/iqg6YvsWkao/v7XSH2XoAF4J
Original issue: http://code.google.com/p/spyderlib/issues/detail?id=1465

From<EMAIL_ADDRESS>on 2013-06-27T21:22:59Z
I'll handle this one. I've got most of the solution already. Commits coming soon.
Owner<EMAIL_ADDRESS>

From<EMAIL_ADDRESS>on 2013-06-28T12:03:21Z
Updated by revision 47b8a8885297 .

From<EMAIL_ADDRESS>on 2013-06-28T10:12:39Z
This issue was closed by revision a2ad0a337d14 .
Status: Fixed


Ruby 2.4.2 bundles openssl 2.0.5.

https://github.com/ruby/ruby/blob/595af866bb46db24274dc26fb9b4d3af84fd0af5/ext/openssl/openssl.gemspec#L7

Thank you!

I do not see this reflected on the web page. Maybe I've not fixed it in proper place?
There's still:
openssl c | 2.0.4

My bad... Something went wrong when I rebased. I released v0.1.9, where it is fixed, and now deployed it correctly.


KAFKA-18129: SharePartition#maybeInitialize should complete the future outsize the write lock

About
In reference to comment https://github.com/apache/kafka/pull/17957#discussion_r1862570482 ,
It might be better not to complete the future while holding the write lock. The registered action for the future could potentially try to acquire another lock that is held by a different thread, which, in turn, could be waiting on the write lock - resulting in a deadlock.
Testing
The code is being tested with the help of already present unit and integration tests.

Thanks for the PR. I think I've seen a deadlock similar to the code this is updating, so it would be good to fix this area before 4.0.

I could be wrong but I doubt this PR will solve any potential deadlocks happeing currently, we should investigate the deadlock if it's occurring elsewhere. I would be glad if this PR solves the deadlock but I doubt.
Regarding concern here, I think we are talking about a scenario which might occur when some additional changes are made and additional locks are held for original request future. I don't recommend doing these changes unless we see some issue in current code.
We anyways will go through some refactoring in 4.1 where I would prefer to attain more granular locks to increase performance in Share Partition. @chia7712 please let me know if you think otherwise and think this can be a bottleneck.

We anyways will go through some refactoring in 4.1 where I would prefer to attain more granular locks to increase performance in Share Partition. @chia7712 please let me know if you think otherwise and think this can be a bottleneck.

I haven't reviewed this PR, but I agree that we should not introduce performance regressions to fix non-existent (or potential) issues. Of course, solutions that do not create bottlenecks are definitely welcome.

ok, I run into a deadlock as I mentioned (https://github.com/apache/kafka/pull/17957#discussion_r1864856887)
"PersisterStateManager":
  waiting for ownable synchronizer 0x0000000081c1dc30, (a java.util.concurrent.locks.ReentrantLock$NonfairSync),
  which is held by "data-plane-kafka-request-handler-6"

"data-plane-kafka-request-handler-6":
  waiting for ownable synchronizer 0x0000000081ce0058, (a java.util.concurrent.locks.ReentrantReadWriteLock$NonfairSync),
  which is held by "PersisterStateManager"

This can be easily reproduced by running two shared consumers concurrently. One consumer holds the write lock of the shared partition and waits for the lock of the delayed fetch while executing completeDelayedShareFetchRequest.
"PersisterStateManager":
	at<EMAIL_ADDRESS>Method)
	- parking to wait for  <0x0000000081c1dc30> (a java.util.concurrent.locks.ReentrantLock$NonfairSync)
	at java.util.concurrent.locks.LockSupport.park(java.base@21.0.5/LockSupport.java:221)
	at java.util.concurrent.locks.AbstractQueuedSynchronizer.acquire(java.base@21.0.5/AbstractQueuedSynchronizer.java:754)
	at java.util.concurrent.locks.AbstractQueuedSynchronizer.acquire(java.base@21.0.5/AbstractQueuedSynchronizer.java:990)
	at java.util.concurrent.locks.ReentrantLock$Sync.lock(java.base@21.0.5/ReentrantLock.java:153)
	at java.util.concurrent.locks.ReentrantLock.lock(java.base@21.0.5/ReentrantLock.java:322)
	at org.apache.kafka.server.purgatory.DelayedOperation.safeTryComplete(DelayedOperation.java:134)
	at org.apache.kafka.server.purgatory.DelayedOperationPurgatory$Watchers.tryCompleteWatched(DelayedOperationPurgatory.java:336)
	at org.apache.kafka.server.purgatory.DelayedOperationPurgatory.checkAndComplete(DelayedOperationPurgatory.java:187)
	at kafka.server.ReplicaManager.completeDelayedShareFetchRequest(ReplicaManager.scala:496)
	at kafka.server.share.SharePartitionManager.lambda$processShareFetch$12(SharePartitionManager.java:590)
	at kafka.server.share.SharePartitionManager$$Lambda/0x00007fc60c6890f0.accept(Unknown Source)
	at java.util.concurrent.CompletableFuture.uniWhenComplete(java.base@21.0.5/CompletableFuture.java:863)
	at java.util.concurrent.CompletableFuture$UniWhenComplete.tryFire(java.base@21.0.5/CompletableFuture.java:841)
	at java.util.concurrent.CompletableFuture.postComplete(java.base@21.0.5/CompletableFuture.java:510)
	at java.util.concurrent.CompletableFuture.complete(java.base@21.0.5/CompletableFuture.java:2179)
	at kafka.server.share.SharePartition.lambda$maybeInitialize$0(SharePartition.java:482)

Another thread holds the lock on the delayed fetch and is waiting for the write lock of the shared partition.
"data-plane-kafka-request-handler-6":
	at<EMAIL_ADDRESS>Method)
	- parking to wait for  <0x0000000081ce0058> (a java.util.concurrent.locks.ReentrantReadWriteLock$NonfairSync)
	at java.util.concurrent.locks.LockSupport.park(java.base@21.0.5/LockSupport.java:221)
	at java.util.concurrent.locks.AbstractQueuedSynchronizer.acquire(java.base@21.0.5/AbstractQueuedSynchronizer.java:754)
	at java.util.concurrent.locks.AbstractQueuedSynchronizer.acquireShared(java.base@21.0.5/AbstractQueuedSynchronizer.java:1079)
	at java.util.concurrent.locks.ReentrantReadWriteLock$ReadLock.lock(java.base@21.0.5/ReentrantReadWriteLock.java:738)
	at kafka.server.share.SharePartition.partitionState(SharePartition.java:1642)
	at kafka.server.share.SharePartition.stateNotActive(SharePartition.java:1142)
	at kafka.server.share.SharePartition.maybeAcquireFetchLock(SharePartition.java:1107)
	at kafka.server.share.DelayedShareFetch.lambda$acquirablePartitions$2(DelayedShareFetch.java:212)
	at kafka.server.share.DelayedShareFetch$$Lambda/0x00007fc60c689320.accept(Unknown Source)
	at java.util.LinkedHashMap.forEach(java.base@21.0.5/LinkedHashMap.java:986)
	at kafka.server.share.DelayedShareFetch.acquirablePartitions(DelayedShareFetch.java:208)
	at kafka.server.share.DelayedShareFetch.tryComplete(DelayedShareFetch.java:160)
	at org.apache.kafka.server.purgatory.DelayedOperation.safeTryComplete(DelayedOperation.java:137)
	at org.apache.kafka.server.purgatory.DelayedOperationPurgatory$Watchers.tryCompleteWatched(DelayedOperationPurgatory.java:336)
	at org.apache.kafka.server.purgatory.DelayedOperationPurgatory.checkAndComplete(DelayedOperationPurgatory.java:187)
	at kafka.server.ReplicaManager.$anonfun$addCompletePurgatoryAction$2(ReplicaManager.scala:988)
	at kafka.server.ReplicaManager$$Lambda/0x00007fc60c6620c8.apply(Unknown Source)
	at scala.collection.mutable.HashMap$Node.foreach(HashMap.scala:642)
	at scala.collection.mutable.HashMap.foreach(HashMap.scala:504)
	at kafka.server.ReplicaManager.$anonfun$addCompletePurgatoryAction$1(ReplicaManager.scala:979)
	at kafka.server.ReplicaManager$$Lambda/0x00007fc60c65e210.run(Unknown Source)
	at org.apache.kafka.server.DelayedActionQueue.tryCompleteActions(DelayedActionQueue.java:45)
	at kafka.server.ReplicaManager.tryCompleteActions(ReplicaManager.scala:774)
	at kafka.server.KafkaApis.handle(KafkaApis.scala:289)
	at kafka.server.KafkaRequestHandler.run(KafkaRequestHandler.scala:158)
	at java.lang.Thread.runWith(java.base@21.0.5/Thread.java:1596)
	at java.lang.Thread.run(java.base@21.0.5/Thread.java:1583)

Hi @chia7712 , thanks for that evidence, with the code changes in my PR, I am trying to reproduce the error that you showed. I followed the following steps -

Produced 10,000,000 records with a throughput of 50,000 using the command bin/kafka-producer-perf-test.sh --record-size 1024 --producer-props bootstrap.servers=localhost:9092 --topic tp1 --throughput 50000 --num-records 10000000
Simultaneously started 2 console share consumers using command bin/kafka-console-share-consumer.sh --topic tp1 --bootstrap-server localhost:9092

I am not seeing the issue that you showed with my changes on this PR. Is this evidence enough to show that these changes work or you recommend me to run any other tests? Thanks!

you recommend me to run any other tests?

@adixitconfluent https://issues.apache.org/jira/browse/KAFKA-18154 shows that ShareConsumerTest.testMultipleConsumersInGroupFailureConcurrentConsumption can encounter the deadlock too.

ok, I run into a deadlock as I mentioned ([#17957 (comment)]

@chia7712 Yeah, you are correct.

One thing I'd observe here is that the InitializationResult and the AtomicReference<Optional<Throwable>> are doing almost exactly the same thing. Maybe they should be unified.

I need to store the exception thrown by InitializationResult(here) and the result from catch (here), hence can't unify them unless I use a second variable. Wdyt?

Sounds fine as we want to fix the issue, I can refactor the code I was suggesting next week.

Hi @chia7712 , the build has passed. Please review it when you can. Thanks!


Blank spaces on tags list

When adding many tags there are white spaces between them on the issue page. Non selected tags are hidden but there's a blank space that persists.

Gogs version (or commit ref): <IP_ADDRESS>9
Git version: 2.6.3.windows.1

Tcl/Tk version 8.6.4

Operating system: Windows 7 x64
Database:

[ ] PostgreSQL
[x] MySQL
[ ] SQLite

Can you reproduce the bug at http://try.gogs.io:

[x] Yes (provide example URL)
[ ] No
[ ] Not relevant

Can you reproduce the bug at http://try.gogs.io:

[x] Yes (provide example URL)

[x] Yes: https://try.gogs.io/gogstest123/testrepo2/issues/1

This seems to be fixed in PR https://github.com/gogits/gogs/pull/3200

Yes, waiting for @Unknwon merge it

This is claimed to be fixed by merging #3200, please help test on develop branch or https://try.gogs.io.

@Unknwon Thanks ! Tested it with XP Chrome - Firefox - Opera - IE, Win10 Chrome - Firefox - Edge and seems fixed now

Close as fixed.


docs: add repository map reference to README.md

Summary
Adding a link to the high-level diagrams including module, library dependency and others (https://sourcespy.com/github/societegeneralefailover/).
Details
Built directly from source and updated on schedule. Intended to simplify developer's introduction to the project. In the spirit of transparency - I am the author of the diagrams. Hope contributors find it useful.
Checklist:

[x] I've added tests for my code.
[x] Documentation has been updated accordingly to this PR
[x] I have verified all the modules and confirmed no impacts

Related issue :
Documentation-only change

@anandmnair Hey Anand, any chance you can take a look at this? Thank you!


Image missing in BYO Blog tutorial on docs

Looks like a missing image in this tutorial in this section: https://docs.fastht.ml/unpublished/tutorial_for_web_devs.html#a-minimal-fasthtml-app

Thanks very much for making fasthtml! Fun to use so far

Oh I'm sorry I am just now realizing that my search took me to an unpublished tutorial. Closing issue for now


fix for #729267

added permission check!

Not sure the point of this fix, but any change should be in removeTagsList


[feat] Investigate pkg.module and bundler tools for better module support & tree shaking

Does your feature request relate to a specific USWDS feature?
No
Is your feature request related to a problem? Please describe.
This is an optimization of the lib bundle size which can improve performance
Describe the solution you'd like
Investigate generating pkg.module with a bundler tool (e.g. rollup, esbuild, or adapt existing webpack). Create a PR implementing the suggested approach  with a brief rationale.
Describe alternatives you've considered
We can choose to do nothing.
Additional context
Port from initial roadmap -- motivation behind this is to optimize the library exports for better performance & modern JS applications.

https://github.com/rollup/rollup/wiki/pkg.module
https://stackoverflow.com/questions/41289200/output-an-es-module-using-webpack

I've had a quick look at using webpack V5 a while ago now, I managed to get it to output an ES6 module however it seems like this feature is very much experimental as it opened up a rabbit hole of issues trying to get the ES module to work with my Next.js build.
I'd like to iterate @jkjustjoshing 's queries above, and see if there would be any appetite in using rollup.js as the approach instead? I think either of his options sound fine. Otherwise I could have another look at the webpack changes I made previously and open a PR with some notes with the issues I encountered so others can take a look? The changes required for webpack were pretty minior, but it seems like a concerning route if webpack is likely to cause more issues down the line.
I'd also like to know what the current teams resourcing is like in terms of supporting a PR, or whether this issue is on your roadmap?
This would also be a great issue to solve from an environmental perspective, I'd imagine there are quite a few high traffic sites that could split their JavaScript bundles in half.

Did you consider esbuild as an alternative to rollup?

I have a proof-of-concept of using vite/vitest here: https://github.com/trussworks/react-uswds/pull/2716


Increased number of timeouts after DBConnection change in Xandra.Connection

After trying out 0.18.1, we noticed that we get an increased amount of timeouts, both in the tests in the CI and locally and in our staging environment.
It is unclear to me why this is the case. I suspected that it was somehow a race condition with the stream ids, since we create the stream ids with MapSet.new(1..5000) and we fetch them with Enum.at(stream_ids, 1), meaning we get deterministically always the same order of stream ids. I tried to fetch random ids, but the timeouts are still there, so that is ruled out.

I tried to fetch random IDs

This shouldn't matter, as the IDs are just IDs and you could be using always the same and be fine.
Do you ever get over the 5000 concurrent requests, as far as you know? Because I’m looking at the code (which, to be clear, I wrote...) and I don't see handling of when we reach the max concurrent requests. Instead, I see my silly self is just doing
    {stream_id, data} =
      get_and_update_in(data.free_stream_ids, fn ids ->
        id = Enum.at(ids, 0)
        {id, MapSet.delete(ids, id)}
      end)

which even worse would result in storing in_flight_requests[nil] 🙈

Do you ever get over the 5000 concurrent requests, as far as you know?

Yeah, this stacktrace https://github.com/whatyouhide/xandra/issues/354#issuecomment-1932443868 is exactly what happens when we get out of concurrent connections.

@harunzengin we saw this as well when we canary deployed 0.18.0 a few months ago. We're still looking into the root cause though.

@harunzengin we saw this as well when we canary deployed 0.18.0 a few months ago. We're still looking into the root cause though.

@peixian Cool, please post if you know more. I already asked a question in Stackoverflow: https://stackoverflow.com/questions/78035081/concurrent-cassandra-async-writes-leading-for-some-packages-to-get-lost

@harunzengin ah, we're on Scylla Enterprise, so it's a little different. Although do you have a repro for your issue, like a minimal set of queries or streams open? I can try on my end to see if Scylla also has the same problems.
I think the thing I'm seeing is slightly different but possibly related (https://github.com/whatyouhide/xandra/issues/357)

@harunzengin are you still seeing this? Did you have any feedback from the Scylla community here?

@peixian In our case, we insert multiple hundred times a second to our Cassandra cluster. I guess a minimal reproducable query would be sth. like this:
{:ok, conn} = Xandra.start_link(nodes: ["localhost"])
query = "insert into keyspace.table(id) values (:id)"
{:ok, prepared} = Xandra.prepare(conn, query)

Enum.each(1..100, fn _ ->
  Enum.each(1..200, fn _ ->
    Task.start(fn ->
      case Xandra.execute(conn, prepared, %{"id" => 12}, timeout: 5000) do
        {:error, %Xandra.ConnectionError{action: "execute", reason: :timeout}} -> IO.puts("timeout")
        _ -> :ok
      end
    end)
  end)

  Process.sleep(1000)
end)

as said, in comparison to Xandra v0.12, this version is causing way more timeouts. I also created a Grafana dashboard and deployed it to our staging environment, this is how it looks:

However, I have implemented a RetryStrategy, so this is not too bad. I unfortunately couldn't find anything regarding to the async protocol having an increased amount of timeouts on Cassandra 4.0.10.

@harunzengin did you see https://github.com/whatyouhide/xandra/issues/362? Changing this value fixed the problem for us.

@peixian Yeah, the version that I deployed to our staging environment has already the commit https://github.com/whatyouhide/xandra/pull/363/commits/6aedc4b147b6dd6bb65c51b0e11512c3984178a1, so it didn't really fix the timeout problem.

I was able to reproduce the timeouts (at least I think this is the same problem) with very simple concurrent queries on a single connection:
iex(1)> Application.spec(:xandra)[:vsn]
~c"0.19.0"
# open a connection with a single connection process
iex(2)> {:ok, conn} = Xandra.Cluster.start_link(nodes: ["localhost"], authentication: {Xandra.Authenticator.Password, username: "cassandra", password: "cassandra"})
{:ok, #PID<0.349.0>}

# sequentially, everyting works fine and is very fast
iex(3)> Enum.each(1..3, fn x -> Xandra.Cluster.execute(conn, "SELECT cluster_name FROM system.local", [], timeout: 1000) |> IO.inspect(width: 200, label: x) end)
1: {:ok, #Xandra.Page<[rows: [%{"cluster_name" => "VPP"}], tracing_id: nil, more_pages?: false]>}
2: {:ok, #Xandra.Page<[rows: [%{"cluster_name" => "VPP"}], tracing_id: nil, more_pages?: false]>}
3: {:ok, #Xandra.Page<[rows: [%{"cluster_name" => "VPP"}], tracing_id: nil, more_pages?: false]>}
:ok

# concurrently, things get slow and we get errors
iex(4)> Enum.each(1..3, fn x -> Task.start(fn -> Xandra.Cluster.execute(conn, "SELECT cluster_name FROM system.local", [], timeout: 1000) |> IO.inspect(width: 200, label: x) end) end)
:ok
1: {:ok, #Xandra.Page<[rows: [%{"cluster_name" => "VPP"}], tracing_id: nil, more_pages?: false]>}
2: {:error, %Xandra.ConnectionError{action: "execute", reason: :timeout}}
3: {:error, %Xandra.ConnectionError{action: "execute", reason: :timeout}}

I tried this against a local single node dockerized Cassandra instance without load. Sometimes you need to run the Enum.each(1..3, fn x -> Task.start(fn -> Xandra.Cluster.execute(...) ... end) twice, otherwise reproduction is very reliable. I also tested this against a three node staging cluster (non-dockerized) with load, same result (for the three node cluster I use target_pools: 1 to force a single connection) . I find pretty worrisome!
I went back through the versions, the first version that does not have the problem is Xandra v0.17.0:
~c"0.17.0"
iex(2)> {:ok, conn} = Xandra.Cluster.start_link(nodes: ["localhost"], authentication: {Xandra.Authenticator.Password, username: "cassandra", password: "cassandra"})
{:ok, #PID<0.223.0>}
iex(3)> Enum.each(1..3, fn x -> Task.start(fn -> Xandra.Cluster.execute(conn, "SELECT cluster_name FROM system.local", [], timeout: 1000) |> IO.inspect(width: 200, label: x) end) end)
:ok
1: {:ok, #Xandra.Page<[rows: [%{"cluster_name" => "VPP"}], tracing_id: nil, more_pages?: false]>}
3: {:ok, #Xandra.Page<[rows: [%{"cluster_name" => "VPP"}], tracing_id: nil, more_pages?: false]>}
2: {:ok, #Xandra.Page<[rows: [%{"cluster_name" => "VPP"}], tracing_id: nil, more_pages?: false]>}

Given that the regression was introduced with v0.18 and that we are talking about concurrent requests on a single connection here I think this is a problem with the implementation of multiplexing requests on a single connection (async protocol with stream IDs).

@harunzengin implemented a timeout counter that - well - counts the number of timeouts. In our staging system (three node cluster, two applications with 1000 insertions/s each) we get around 450 timeouts/minute (0.375 %).
In the experiment with the single connection process we see around 1-2 timeouts per 3 requests. Given the number of request (2000/s) this raises the question why we are not seeing more timeouts in the staging system.
My theory is this: With multiple nodes and a pool size > 1 we have a lot of connection processes. Request are load balanced to the connection pools according to the configured strategy, in our case Xandra.Cluster.LoadBalancingPolicy.DCAwareRoundRobin. Within a connection pool the connection is chosen randomly. I think we only see timeouts if we randomly hit a connection within a pool multiple times before the previous request was finished.
To test the theory I experimented with the pool_size setting in our staging system. A small pool size should increase the likelihood of hitting a single connection with multiple requests concurrently and I would thus expect to see an increase in timeouts. A large pool size should in turn lead to fewer timeouts.
Using the counter implemented by @harunzengin we can generate the following graph in Prometheus:

The yellow line is application A, with 1000 insertions/s. For this application I adjusted the pool size.

before the experiment we had pool_size: 10 with three nodes, i.e. 30 connection
around 14:30 I decreased to pool_size: 1 (Application A only)
around 14:40 I increased to pool_size: 50 Application A only)
around 14:50 I switched back to the default pool_size: 10

Application B is the blue line, also with 1000 insertions/s. It had pool_size: 10 the whole time.
As you can see, the number of connections has a quite significant effect on the number of timeouts. This is in line with what I would expect from my theory. I think this supports the idea that the timeouts we are seeing in staging and production are related to the multiplexing of requests on a single connection.

This seems to be a problem with the Cassandra Native protocol v5, see https://github.com/whatyouhide/xandra/pull/368#issuecomment-2194272959. This means you can set the protocol version to v4 as a  workaround. On the staging system I tested this on, it completely eliminated timeouts for me.

Closed in #368 🎉


Flac and Windows support

Checklist

[x] Used a personal fork of the feedstock to propose changes
[x] Bumped the build number (if the version is unchanged)
[x] Reset the build number to 0 (if the version changed)
[x] Re-rendered with the latest conda-smithy (Use the phrase @conda-forge-admin, please rerender in a comment in this PR for automated rerendering)
[x] Ensured the license file is being packaged.

Hi! This is the friendly automated conda-forge-linting service.
I wanted to let you know that I linted all conda-recipes in your PR (recipe) and found some lint.
Here's what I've got...
For recipe:

Selectors are suggested to take a <two spaces>#<one space>[<expression>] form. See lines [61]
If python is a host requirement, it should be a run requirement.

Hi! This is the friendly automated conda-forge-linting service.
I just wanted to let you know that I linted all conda-recipes in your PR (recipe) and found it was in an excellent condition.

Ok, this should be good to go now.

Hi! This is the friendly automated conda-forge-webservice.
I was asked to ping @conda-forge/sox and so here I am doing that.


Authentication per remote

Use case: Login needed for reading from a repository too.
Use case: Different credentials for different repositories.

Started in #88, @bilke

Done in the 0.17.0.beta1. Check changelog.


Suggestion: .$listeners and .$style

It would be pretty great to be able to create event listeners in WebScript. Heres an example of what I mean:
const { div } = builders(createDOMElement);

document.body.appendChild(
   div.class`my-actions`(
      div.class`button first-button`.$listeners({
         'mousedown': (el, ev) => {
            console.log('The first button was pressed!');
         }
      }),
      div.class`button second-button`.$listeners({
         'mousedown': [
            (el, ev) => {
               console.log('The second button was pressed!')
            },
            (el, ev) => {
               console.log('I am also called when the second button is pressed!');
            }
         ]
      })));

In terms of implementation, I believe you would need to have something interject in setPropertyValue if the elementName is "$listener", and then store it somewhere until the actual element is constructed.
People may also find it useful to be able to set the styles with $style, but idk.
Hopefully this wouldn't be too painful to implement.

Hi @K4rakara thanks for this.
I should probably add a section to the documentation about different ways to do events.
Here is one way:
let button =
  div.class`button first-button`
    .mousedown((el, ev) => {
      console.log('The first button was pressed!');
    });

But that doesn't use the addEventListener interface.
A way to use the addEventListener interface is to use the exact code that you wrote above and also use your own createElement function that wraps the createDOMElement function that you are using.
For example:
import createDOMElement from '../dist/createDOMElement.esm.js';

function createElementWithListeners(tagName, props, ...children) {
  let element = createDOMElement(tagName, props, ...children)
  if(isObject(props.$listeners)) {
    let listeners = props.$listeners;
    for(listenerName of Object.keys(listeners)) {
      for(listenerFunc of listeners[listenerName]) {
        element.addEventListener(listenerName, listenerFunc);
      }
    }
  }
}

const { div } = builders(createElementWithListeners);

The above is not a complete example but it shows adding your own functionality to the createElement functionality that you use.

Thanks! I hadn't thought of the createElement functions until you mentioned it!
I've got a nice wrapper around WebScript set up in my Kuudere framework, and its pretty nice syntactically!

Nice!

Another idea (not sure if its just too magic or something): if the value is of type function don't set the value but call the addEventListener function with the property name and the value? Maybe this could work.


Usage of Vuepress' Custom Containers

Example:

Vuepress plugin: https://vuepress.github.io/en/plugins/container/#render

Closed by #292


Update udpTransport to only send Jaeger.thrift

[x] Need to remove the notion of peer in span.go and use the tags instead
[x] Update thrift_span.go to accommodate the above change

Coverage decreased (-1.3%) to 83.755% when pulling 86602b290785b1673da6ae6028f7f82556ab81a9 on do_something_useful into ea8f4c21306fc629d67ad60d3ac0f6936e13471e on master.

Coverage increased (+0.05%) to 85.135% when pulling 54fc44f1b4ac9b386e8302069d30b2ab124855ca on do_something_useful into ea8f4c21306fc629d67ad60d3ac0f6936e13471e on master.

Coverage decreased (-0.5%) to 85.246% when pulling 46661222ea5857bbe4c4165bb20a1e42ea27834b on do_something_useful into 39b0a4234a1c700332c2bba02be75a1948b6dca7 on master.

Coverage decreased (-0.5%) to 85.246% when pulling cea1de547cbdcfe56ebfb8609a87f47bc868d2d4 on do_something_useful into 39b0a4234a1c700332c2bba02be75a1948b6dca7 on master.

Coverage decreased (-0.4%) to 85.311% when pulling 8ad14a59b10441b5d5c14e263ffec3aa8eec4467 on do_something_useful into bcb0e9e606be652774700cbfbd822f1cc80ae27a on master.


Feature/map button style

Adapt buttons on the map to the Figma style
Use dark theme when we change to light basemap
Update the style and images on the Map settings pop-up

Everything addressed. Thanks for the feedback!

I would avoid defining the navigation elements as titles because then the structure isn't right (see below). Why don't you make “Identify areas of interest for research or interventions.” the only <h1 /> title and then the dataset groups, <h2 />?

I'm using an extension called HeadingsMap, in case you want to try it.
By the way, did you see my previous comment about the basemaps? Will you address it in this PR or another one?
Thanks!

Nice recommendation, thanks. I was hesitant as the h1 is used on the search to define the page and that explanation seemed a bit generic. Ah, of course maybe only the active nav item should have h1. But I don't think is so important for now


Native WASM

Support running content-addressed wasm bytecode that can load (and write) a stream of an IPFS/Filecoin CID via a syscall, and maybe call other content-addressed wasm functions
See also: Juan's talk on IPVM, IPVM wg

Vision
Bacalhau currently targets POSIX-based, Docker-based data science people – it is about doing generic compute jobs that are not about the machinery of running a blockchain (like FVM is). Docker-based jobs work well for this but are somewhat heavy-weight for some use cases. What we are aiming at with this work is something more like "serverless for IPFS".
Juan's ultimate vision is (paraphrased) 'ultimately we want different WASM modules that together implement an execution system [like Bacalhau]' – i.e. a resilient global compute substrate that is upgradable. So we want to be able run WASM code from CIDs... and for it to support dynamic linking e.g. running functions from other CIDs. A.k.a "I should have just put V8 in IPFS…". This is the vision that IPVM are pursuing, above. This work is the first step towards that, but probably more for the learning rather than the code.
Determinism
This is gonna become more important when incentives are invovled, and we need it to be easy to prove that what one execution is producing is the same as another. x86 contains a lot of sources of entropy that we have to find and switch off, which is error prone. WASM should be easier to start with a blank substrate and only expose features that are deterministic. When people start paying for execution, we may only want to support deterministic jobs [through WASM].
Relation to FVM
FVM also runs WASM, but that framework is about running code on the chain itself (i.e. to move things between wallets) and isn't designed to scale to generic compute that can read any data from IPFS CIDs.
Easier data transformation
As an example, we may want to transform some data (contained in IPFS/Filecoin) by e.g. joining some other data onto it or computing some aggregate over it. With the correct interface, it should be easier to write a very simple WASM-based script to do that. So WASM could be something more like a data transformation device. Ultimately, we are not sure what users will want to do with it, but it should provide an approachable interface for building higher level things.
Pyodide
We currently support running Python code by compiling it to WASM and then running it in a container.
But we are allowed to write lots of executors. So we don't need to make this the perfect WASM interpreter that can run anything for all time. Instead, lets start with something simple without constraining ourselves later.
How it could work
Broadly: download some data with this CID, download some code with that CID, load up that data and code and run it to get some output, and now store that into IPFS.
We will need:

[ ] A storage provider that streams the bytes of a file from a CID and can list the entries in a CID.
[ ] Work out how to provide those syscalls to WASM – is the answer WASI, or something else? Use the same one as the FVM team…
[ ] For now write stuff into STDOUT, but we will also need to write to arbitrary IPFS later.
[ ] Make this simple to use, with some user-facing commands.

Questions/reading list

[ ] How configurable is WASI? If we want to only provide deterministic functions, what does that look like? How would we provide IPFS-reading capability in that world? Could we do it in a way that means non-Bacalhau-aware payloads could "just work"?
[ ] What is the IPVM working group doing and where are the opportunities to collaborate?
[ ] What is the FVM group doing and what can we learn from them about making WASM work?
[ ] What support is there in Go for running WASM? Or do we need to implement this with containers?
[ ] What implications does Juan's vision have?

Did you do this? @simonwo

Yes, I think we can mark this as done.


Model loaded from Checkpoint differ in Master and Development branch

Trained models saved in the master branch and then loaded within the development branch do not give the same results.
I tested it using the Intro_Amortized_Posterior_Estimation-notebook in a clean install of the Master branch and saved the model by providing the checkpoint_path argument for the Trainer. Then I loaded the model within a clean install of the Development branch where I only skipped the online training cell.
All the diagnostics plots in the notebook changed significantly. Most prominently the plot_recovery as can be seen in the attached images.
Master branch

Development branch

However, retrain the model on the Development branch gives the correct results like in the Master branch. Hence, it seems like the branches have different defaults somewhere, which would be interesting to know.

Hi Jonas, nice spot! Are you using the most recent versions of both branches?

I found out the reason why that happens even though defaults are the same across branches. Development will allow the use of residual coupling blocks, which outsourced the output layer of the block outside the internal Sequential network. TensorFlow does not know how to assign the weights for that new layer after loading. I will re-write the addition in a backward-compatible manner.

I pushed a preliminary fix. Could you try to reproduce the bug with the current state of the Development branch? :)

The preliminary fix works nicely. Issue seems to be solved!

FYI: If one tries to use the trainer.checkpoint.restore function to restore a former checkpoint after the trainer = Trainer(...) has been already initialised, the problem still exists. However, this function is probably not meant to be called outside the class.


fix: also log clean messages for CRAM-MD5 failures (#1182 pt2)

please see https://github.com/postalserver/postal/issues/1182#issuecomment-1360832523
auth/login gets logged, but seems cram failures were missed.
this code has been tested with wrong user, wrong password, and the correct variants of either and works as expected
-> but i don´t actually ruby, so feel free to rework this to wrap the message in a function or there like =)

as long as it still allows you to send messages using SMTP and CRAM-MD5 then :ok_hand:

as long as it still allows you to send messages using SMTP and CRAM-MD5 then 👌

Not entirely clear if that´s a question or a statement, so in case:
Yes correct logins still pass and send > and the correct variants of either and works as expected

@adamcooke could you have a look here please?
(sorry for the bump, but given "this is security", possible to get a rather timely release - especially now that were all forced to docker? 😢 (I have send a PR to fix that ci-build as well ;-) )
thanks!


User cannot update its own profile, even with update-profile capability

Setup:

a user that have access to the dashboard
with a role containing update-profile but NOT collection_users-read

The bug:
This user clicks the profile icon, the page does not load.
There is a crash here: https://github.com/pruvious/pruvious/blob/88271c02e78ce8cece9201bf1e8dfc7cf1fc0ab0/src/runtime/pages/dashboard/profile.vue#L31
Because of this: https://github.com/pruvious/pruvious/blob/88271c02e78ce8cece9201bf1e8dfc7cf1fc0ab0/src/runtime/pages/dashboard/profile.vue#L86
collections.users is not defined
What I understood:

the dashboard loads only a collection if the user has the read capability of the collection
the profile page expects to always have the users collection loaded

So, we cannot have users that do not have the collection-users-read capability.

Fixed in v3.13.4.


Support of latgen-faster-mapped

Are there any plan for PyKaldi to support latgen-faster-mapped function? It is under bin package.

I guess you are asking if we are planning to add a Python script to PyKaldi that behaves similar to latgen-faster-mapped executable in Kaldi. We don't intend to replicate the behavior of existing Kaldi executables since we don't see the benefit apart from showing how it can be done using PyKaldi. I mean why not use the existing latgen-faster-mapped binary if that is the desired functionality? If you don't mind me asking, what is the use case you have in mind that is not answered by the existing Kaldi binary?
There is an example here which shows how gmm-decode-faster can be implemented using PyKaldi. It should be fairly straightforward to implement something similar for latgen-faster-mapped. I believe all of the wrappers necessary for implementing such a script already exist in PyKaldi.

I hope to fully understand how latgen-faster-mapped works. I wonder if there is any resource to assist me to understand the source code. So the purpose of PyKaldi is to use Kaldi in Python. Am I correct?

I hope to fully understand how latgen-faster-mapped works. I wonder if there is any resource to assist me to understand the source code.

I don't know of any resource other than kaldi documentation and source code that might help you understand how latgen-faster-mapped works. I am not sure why you need/want to fully understand how it works though. My guess is you want to use this decoder by providing precomputed likelihoods and you probably don't care how Kaldi does decoding. If this is the intended goal, you need to construct a DecodableMatrixScaledMapped object from the matrix of likelihoods (separate for each utterance) and call the decode method of the decoder with that decodable object as the argument. Then you can use the get_best_path method of the decoder to retrieve the highest scoring hypothesis.

So the purpose of PyKaldi is to use Kaldi in Python. Am I correct?

Yes, you are correct. The purpose is to expose Kaldi C++ library API to Python code. You can call Kaldi functions and construct Kaldi objects in Python. That being said, PyKaldi does not provide scripts that are analogues of Kaldi executables. PyKaldi provides the wrappers for the functions/classes needed for implementing such scripts but not the scripts themselves.

I understand. Thanks for your clarification!


Cloudflare token expired. Please wait a few minutes while I refresh

Why do I keep reporting this error, I waited for a few minutes and it is still the same

selenium.common.exceptions.WebDriverException: Message: unknown error: cannot connect to chrome at <IP_ADDRESS>:40593
from chrome not reachable

@fred913 @acheong08 Please give me a solution, thanks


Qualifier Support for DP

This PR add qualifier support for the Dolphin Platform.
To use qualifiers a QualifierBinder can be injected (see Test example).
The qualifiers of the DP are using generics for a better type safety.

This change is

I ask myself if we should rename QualifierBinder to PropertyBinder ;)

Coverage decreased (-0.07%) to 69.605% when pulling 31fa9f7938e7c3925d575e7428af3b0d529f2054 on qualifier into 57c722c9834a80c9a08cbea136ccf4c65e0244fd on master.

BindingException is too plain. it could be richer by receiving the property name, identifier and other arguments; crafting the message internally and providing access to some of its args if saved on final fields. IOW BindingException is too close to plain RuntimeException.

Coverage decreased (-0.07%) to 69.605% when pulling da0ecd8a065b39f989c192764e7b9bd77beb2c76 on qualifier into 57c722c9834a80c9a08cbea136ccf4c65e0244fd on master.

Coverage decreased (-0.2%) to 69.524% when pulling b8fe2b4b85595e38ae61fdb963bbd416e12a0ba8 on qualifier into 57c722c9834a80c9a08cbea136ccf4c65e0244fd on master.

Reviewed 23 of 32 files at r1, 6 of 8 files at r2, 3 of 3 files at r3.
Review status: all files reviewed at latest revision, 2 unresolved discussions, some commit checks failed.

platform/dolphin-platform-core/src/main/java/com/canoo/dolphin/impl/ReflectionHelper.java, line 97 [r3] (raw file):

        Assert.requireNonNull(type, "type");
        Assert.requireNonNull(name, "name");
        for(Field field : getInheritedDeclaredFields(type)) {

the side effect of this call is to compute the full list of fields and then filter it. Given that we need to find a single one I'd say the behavior of getInheritedDeclaredFields(type) should be inlined here, that is, search and filter as you go.

platform/dolphin-platform-server/src/main/java/com/canoo/dolphin/server/binding/Qualifier.java, line 13 [r3] (raw file):

 * @see PropertyBinder
 */
public class Qualifier<T> {

should this type be subclassed? if not make it final.

Comments from Reviewable

Review status: all files reviewed at latest revision, 2 unresolved discussions, some commit checks failed.

platform/dolphin-platform-core/src/main/java/com/canoo/dolphin/impl/ReflectionHelper.java, line 97 [r3] (raw file):
Previously, aalmiray (Andres Almiray) wrote…
> the side effect of this call is to compute the full list of fields and then filter it. Given that we need to find a single one I'd say the behavior of `getInheritedDeclaredFields(type)` should be inlined here, that is, search and filter as you go.

Make sense. Can you fix it? By doing so you can merge the PR.

platform/dolphin-platform-server/src/main/java/com/canoo/dolphin/server/binding/Qualifier.java, line 13 [r3] (raw file):
Previously, aalmiray (Andres Almiray) wrote…
> should this type be subclassed? if not make it `final`.

Make sense. Can you fix it? By doing so you can merge the PR.

Comments from Reviewable

Review status: all files reviewed at latest revision, 2 unresolved discussions, some commit checks failed.

platform/dolphin-platform-core/src/main/java/com/canoo/dolphin/impl/ReflectionHelper.java, line 97 [r3] (raw file):
Previously, hendrikebbers (Hendrik Ebbers) wrote…
> Make sense. Can you fix it? By doing so you can merge the PR.

done

platform/dolphin-platform-server/src/main/java/com/canoo/dolphin/server/binding/Qualifier.java, line 13 [r3] (raw file):
Previously, hendrikebbers (Hendrik Ebbers) wrote…
> Make sense. Can you fix it? By doing so you can merge the PR.

done

Comments from Reviewable


I Don't Know What I'm Doing Whats Wrong

I don't know whats wrong

@GoChance did you initialize submodules after cloning the repository?

clean build folder Alt+Shift+Cmd+K and rebuild

@gochance can you confirm you cloned submodules

How do you do that?

Read the readme, make sure you cloned with the command git clone --recursive git@github.com:gabrieloc/GIOVANNI.git


Basic Scrubber is mangling certain symbols and encodings

As reported by @ColinAnthony :
# bad character (&)
scrub id = '55737b7a-5d56-4473-9ae9-94b797a5fad2'
encoded_string = 'Oude Molen Road & Ndabeni'
scrubbed_result = "Oude Molen Road, Western Cape, South Africa"

# bad encoding (byte string)
scrub id = '5c2cae1d-d3b8-410e-8a04-e26836004b70'
encoded_string = b'Oude Molen Road and Ndabeni'
scrubbed_result = "b\'Oude Molen Road and Ndabeni\', Western Cape, South Africa"

# good result
scrub id = '3e0d4bff-91c5-46ef-937c-48e03beb2db1'
encoded_string = 'Oude Molen Road and Ndabeni'
scrubbed_result = "Oude Molen Road and Ndabeni, Western Cape, South Africa"

Looking at the first problem - substring being stripped off:
The first case is a bit of mystery, as it's not clear from the scrubber code why it would strip off the & Nabeni bit of the string.
Looking at the server logs (looks like the scrub request ID is actually 9eb6825e-c71a-4f3d-be46-00b5e74084fc):
[2020-09-08T09:39:13+0000]-[PID:1]-[RID:9eb6825e-c71a-4f3d-be46-00b5e74084fc] authorization_controller.check_basicAuth [DEBUG]: Checking 'city-user'...
[2020-09-08T09:39:13+0000]-[PID:1]-[RID:9eb6825e-c71a-4f3d-be46-00b5e74084fc] authorization_controller.check_basicAuth [DEBUG]: user_auth_check='True'
[2020-09-08T09:39:13+0000]-[PID:1]-[RID:9eb6825e-c71a-4f3d-be46-00b5e74084fc] scrub_controller.scrub [INFO]: Scrubb[ing]...
[2020-09-08T09:39:13+0000]-[PID:1]-[RID:9eb6825e-c71a-4f3d-be46-00b5e74084fc] scrub_controller.scrub [DEBUG]: address='Oude Molen Road '
[2020-09-08T09:39:13+0000]-[PID:1]-[RID:9eb6825e-c71a-4f3d-be46-00b5e74084fc] BasicScrubber.scrub [DEBUG]: Received address 'Oude Molen Road '
[2020-09-08T09:39:13+0000]-[PID:1]-[RID:9eb6825e-c71a-4f3d-be46-00b5e74084fc] BasicScrubber.scrub [DEBUG]: address after strip: 'Oude Molen Road'
[2020-09-08T09:39:13+0000]-[PID:1]-[RID:9eb6825e-c71a-4f3d-be46-00b5e74084fc] BasicScrubber.scrub [DEBUG]: address after value injection: Oude Molen Road, Western Cape, South Africa
[2020-09-08T09:39:13+0000]-[PID:1]-[RID:9eb6825e-c71a-4f3d-be46-00b5e74084fc] scrub_controller.scrub [DEBUG]: scrubbed_values=
['Oude Molen Road, Western Cape, South Africa']
[2020-09-08T09:39:13+0000]-[PID:1]-[RID:9eb6825e-c71a-4f3d-be46-00b5e74084fc] scrub_controller.scrub [INFO]: ...Scrubb[ed]!
[2020-09-08T09:39:13+0000]-[PID:1]-[RID:NA] _internal._log [INFO]: <IP_ADDRESS> - - [08/Sep/2020 09:39:13] "GET /v1/scrub?address=Oude%20Molen%20Road%20&%20Ndabeni HTTP/1.1" 200 -

So the scrubber never saw the & Ndabeni substring at all. Looking at the server log line (the last one), you can see that the & is plainly in the URL.
This unfortunately looks like this has to be handled on the client side - the & is in the URL string, so it's assumed to be a new URL parameter.
One fix would be to be properly URL-ify the string. The other is to use the official python client (TM)

Second problem - byte strings resulting in strange escaped quotes being injected.
Request ID for scrub is actually a517617d-133b-4fc0-b990-1265e54afad7:
[2020-09-08T09:42:07+0000]-[PID:1]-[RID:a517617d-133b-4fc0-b990-1265e54afad7] authorization_controller.check_basicAuth [DEBUG]: Checking 'city-user'...
[2020-09-08T09:42:07+0000]-[PID:1]-[RID:a517617d-133b-4fc0-b990-1265e54afad7] authorization_controller.check_basicAuth [DEBUG]: user_auth_check='True'
[2020-09-08T09:42:07+0000]-[PID:1]-[RID:a517617d-133b-4fc0-b990-1265e54afad7] scrub_controller.scrub [INFO]: Scrubb[ing]...
[2020-09-08T09:42:07+0000]-[PID:1]-[RID:a517617d-133b-4fc0-b990-1265e54afad7] scrub_controller.scrub [DEBUG]: address='b'Oude Molen Road and Ndabeni''
[2020-09-08T09:42:07+0000]-[PID:1]-[RID:a517617d-133b-4fc0-b990-1265e54afad7] BasicScrubber.scrub [DEBUG]: Received address 'b'Oude Molen Road and Ndabeni''
[2020-09-08T09:42:07+0000]-[PID:1]-[RID:a517617d-133b-4fc0-b990-1265e54afad7] BasicScrubber.scrub [DEBUG]: address after strip: 'b'Oude Molen Road and Ndabeni''
[2020-09-08T09:42:07+0000]-[PID:1]-[RID:a517617d-133b-4fc0-b990-1265e54afad7] BasicScrubber.scrub [DEBUG]: address after value injection: b'Oude Molen Road and Ndabeni', Western Cape, South Africa
[2020-09-08T09:42:07+0000]-[PID:1]-[RID:a517617d-133b-4fc0-b990-1265e54afad7] scrub_controller.scrub [DEBUG]: scrubbed_values=
["b'Oude Molen Road and Ndabeni', Western Cape, South Africa"]
[2020-09-08T09:42:07+0000]-[PID:1]-[RID:a517617d-133b-4fc0-b990-1265e54afad7] scrub_controller.scrub [INFO]: ...Scrubb[ed]!
[2020-09-08T09:42:07+0000]-[PID:1]-[RID:NA] _internal._log [INFO]: <IP_ADDRESS> - - [08/Sep/2020 09:42:07] "GET /v1/scrub?address=b'Oude%20Molen%20Road%20and%20Ndabeni' HTTP/1.1" 200 -

Mmm, again, looks like the issue is coming from the client side - as far as the server is concerned, it's getting the string "b'Oude Molen Road and Ndabeni'". I presume that the byte string is getting cast to a unicode string without encoding (repr(b"test string") vs b"test_string".decode() on the client side.
One pretty dangerous option to handle this on the server would be to evaluate the string (using exec) - this would allow for arbitrary code injection. A safer one would be to just add a regex into the server's deserialisation, to automatically strip out what looks like a byte string - something along the lines of ^b['"](.*)['"]$ addresses the failing case above.


support ipv4 type

Enhancement
I met a requirement before, similar to
'select * from xxx where ip between <IP_ADDRESS> and <IP_ADDRESS>'.
Because starrocks does not support ip types at present, I have to select elasticsearch, so I want to add an ip type to help people with similar needs.
Now I have finished some work, and can insert and query the range.

Thanks for contribution. You can create a PR for it.


Update intro_metadata.rst

This PR adds time formats as part of the metadata documentation. Formats have been discussed previously and are (partially) used in the metadata branch already.
The documentation here serves as reference for related attribute definitions throughout the schema.

How much of this documentation applies to the current API in master, and how much is only relevant to proposed future enhancements?
For example, are there any durations or intervals in the current schema? (I'm not remembering any offhand, but I haven't looked exhaustively.)

Not sure if there is any time related implementation in the current version => check?
However, we know that we will need both time points and intervals/durations, at least in metadata, but probably also for object housekeeping. For metadata, the need of the different types given through the examples is pretty clear & has been discussed based on our developing data test implementations.
I've made a note about
FIXME: Add examples for time attributes as when such are implemented in the schema.

On 08 Oct 2015, at 12:21, David Glazer<EMAIL_ADDRESS>wrote:
How much of this documentation applies to the current API in master, and how much is only relevant to proposed future enhancements?
For example, are there any durations or intervals in the current schema? (I'm not remembering any offhand, but I haven't looked exhaustively.)
—
Reply to this email directly or view it on GitHub https://github.com/ga4gh/schemas/pull/436#issuecomment-146600543.

Given the slow progress on doc, I am for collecting as much
stuff as possible in this branch and then cherry picking a merge
into master.
David Glazer<EMAIL_ADDRESS>writes:

How much of this documentation applies to the current API in master, and how
much is only relevant to proposed future enhancements?
For example, are there any durations or intervals in the current schema? (I'm
not remembering any offhand, but I haven't looked exhaustively.)
—
Reply to this email directly or view it on GitHub.*

Thanks Michael for confirming that this is mostly forward-looking.
Mark, your call on process -- it just means the merge into master will be
trickier.
On Thu, Oct 8, 2015 at 9:31 AM, Mark Diekhans<EMAIL_ADDRESS>wrote:

Given the slow progress on doc, I am for collecting as much
stuff as possible in this branch and then cherry picking a merge
into master.
David Glazer<EMAIL_ADDRESS>writes:

How much of this documentation applies to the current API in master, and
how
much is only relevant to proposed future enhancements?
For example, are there any durations or intervals in the current schema?
(I'm
not remembering any offhand, but I haven't looked exhaustively.)
—
Reply to this email directly or view it on GitHub.*

—
Reply to this email directly or view it on GitHub
https://github.com/ga4gh/schemas/pull/436#issuecomment-146605863.

Doc that seems solid and short term future looking I will take
in and deal with the merge.  Longer term, most speculative
stuff, such as GUID, I have ask to be delayed.
Will probably take suggestion of breaking in to multiple pull
requests.
David Glazer<EMAIL_ADDRESS>writes:

Thanks Michael for confirming that this is mostly forward-looking.
Mark, your call on process -- it just means the merge into master will be
trickier.
On Thu, Oct 8, 2015 at 9:31 AM, Mark Diekhans<EMAIL_ADDRESS>wrote:

Given the slow progress on doc, I am for collecting as much
stuff as possible in this branch and then cherry picking a merge
into master.
David Glazer<EMAIL_ADDRESS>writes:

How much of this documentation applies to the current API in master, and
how
much is only relevant to proposed future enhancements?
For example, are there any durations or intervals in the current schema?
(I'm
not remembering any offhand, but I haven't looked exhaustively.)
—
Reply to this email directly or view it on GitHub.*

—
Reply to this email directly or view it on GitHub
https://github.com/ga4gh/schemas/pull/436#issuecomment-146605863.

—
Reply to this email directly or view it on GitHub.*


US969005: Write file-based secrets as properties

https://internal.almoctane.com/ui/entity-navigation?p=131002/6001&entityType=work_item&id=969005

A developer build has not yet been created for this branch. Click here to go ahead and create the build...

CI Build Link:
https://sou-jenkins2.swinfra.net/job/CAFapi/job/CAFapi~opensuse-base-images~US969005~CI

@rorytorneymf can you add details of this script to the main readme under pre-installed-utility-scripts please?


Setup dependabot.yml

GitHub recently acquired Dependabot and there is a new GitHub-native way to do the setup.
https://docs.github.com/en/github/administering-a-repository/enabling-and-disabling-version-updates
@agilgur5 docs seem pretty straightforward. I enabled it on tsdx via the dependabot app, but it appears that the yaml config allows for more granular control over things. I think we can safely set it to for weekly checks. As for rest of setup (ie auto-rebasing and automerging and pr limits), I will leave those decisions to you.

https://docs.github.com/en/github/administering-a-repository/enabling-and-disabling-version-updates

@jaredpalmer yea I was looking at this last night to try and configure security updates to ignore /website but this is for dependency upgrades (it says ignore affects both but not if 0 PR limit affects both -- asked support).
What I didn't like (besides the bugs) with Snyk was that it was making PRs for patches and minors even though those aren't pinned anyway -- they're unnecessary. It sounds like dependabot's version upgrades are the same, though not clear in practice how the widen versioning strategy works if already inclusive.
But Greenkeeper was basically only monitoring for patches and minors that failed tests and otherwise would only raise PRs for major bumps (i.e. outside of the pinned range), which wasn't unnecessary and was sometimes helpful (would still need batching together and sometimes no one was requesting the update). It's not clear from the docs if dependabot covers potentially useful majors or only unnecessary minors/patches.

@agilgur5 docs seem pretty straightforward. I enabled it on tsdx via the dependabot app, but it appears that the yaml config allows for more granular control over things

Oh, well the Dependabot app uses .dependabot/config.yml whereas native uses .github/dependabot.yml so I think you'll have to uninstall the app in order to use native and not duplicate or something

Uninstalled. Try it now


No MediaStack download link in version 18.3.0

There is no download link for MediaStack.tar.gz binary package in version 18.3.0 as in previous versions. There are only links for the pdf release notes and for source code.
Is this intentional?

It doesn't seem to be the final release. @alariono can you clarify?

Yes, it's not a final version yet.

Yes, this is intentional. Once val cycle completed, and all required checks passed, I'll upload tarball along with release promotion to "release" state.

Ok. The previous releases are also not final versions and they contain the binary package MediaStack.tar.gz. That's why I'm asking, because it's different from previous pre-releases.

18.3.0/MediaStack.tar.gz been uploaded.


Updating "Receipt" attributes using ShopifyAPI::Fulfillment

I see that when an order is sent to Amazon, Shopify or Amazon is updating this receipt hash. I try and do the same and it saves, just does not seem to persist to the order.
Is this a bug or working as intended?

Working as intended – this is a custom integration with legacy fulfillment providers.


Sharp 0.33 does not create binaries for alpine linux / docker

Possible bug
Is this a possible bug in a feature of sharp, unrelated to installation?

[x] Running npm install sharp completes without error.
[x] Running node -e "require('sharp')" completes without error.

If you cannot confirm both of these, please open an installation issue instead.
Are you using the latest version of sharp?

[x] I am using the latest version of sharp as reported by npm view sharp dist-tags.latest.

If you cannot confirm this, please upgrade to the latest version and try again before opening an issue.
If you are using another package which depends on a version of sharp that is not the latest, please open an issue against that package instead.
What is the output of running npx envinfo --binaries --system --npmPackages=sharp --npmGlobalPackages=sharp?
System:
OS: Linux 5.4 Ubuntu 20.04.6 LTS (Focal Fossa)
CPU: (4) x64 Intel(R) Xeon(R) CPU E5-2690 v3 @ 2.60GHz
Memory: 29.95 GB / 31.33 GB
Container: Yes
Shell: 5.0.17 - /bin/bash
Binaries:
Node: 20.5.1 - /usr/bin/node
npm: 10.2.3 - /usr/bin/npm
npmPackages:
sharp: ^0.33 => 0.33.1
What are the steps to reproduce?
After a lot of tinkering with docker I narrowed it down to:
I want to use Alpine Linux and I guess I have to rebuild sharp for that so I do:
npm rebuild --arch=x64 --platform=linux --libc=musl sharp

For Sharp 0.33 I get:
ls node_modules/sharp/
install  lib  LICENSE  package.json  README.md  src

No binaries are generated. Hence, no binaries are moved to the docker image and sharp does not work in the resulting container.
What is the expected behaviour?
For Sharp 0.32.6 I get:
ls node_modules/sharp/
binding.gyp  build  install  lib  LICENSE  package.json  README.md  src  vendor

The vendor folder seems to contain the generated binaries. As a consequence, the generated image and the container works as desired.
Please provide a minimal, standalone code sample, without other dependencies, that demonstrates this problem
Tested on Ubuntu 22.04 as a base system for my Docker builds.
Please provide sample image(s) that help explain this problem

I want to use Alpine Linux and I guess I have to rebuild sharp

Hi, this sounds like an installation issue. It might be faster if you provide answers to all of the questions in https://github.com/lovell/sharp/issues/new?labels=installation&template=installation.md
Please ensure you've read the installation documentation, especially when upgrading to v0.33.0:

Supporting multi-platform within the same installation tree - https://sharp.pixelplumbing.com/install#cross-platform
Building from source to use a globally-installed libvips - https://sharp.pixelplumbing.com/install#building-from-source

I am having the same issue.  If I leave my project at sharp 0.32.6 it runs fine locally (MacOS) and in production (Amazon EC2 linux instance).  If I update to 0.33.1 it still works locally, but not in production.
Gives this error:
uncaughtException: Could not load the "sharp" module using the linuxmusl-x64 runtime
ERR_DLOPEN_FAILED: Error relocating /dist/.yarn/unplugged/<EMAIL_ADDRESS>_ZSt28__throw_bad_array_new_lengthv: symbol not found
Possible solutions:
- Ensure optional dependencies can be installed:
npm install --include=optional sharp
[error]         yarn add sharp --ignore-engines
[error]     - Ensure your package manager supports multi-platform installation:
[error]         See https://sharp.pixelplumbing.com/install#cross-platform
[error]     - Add platform-specific dependencies:
[error]         npm install --os=linuxmusl --cpu=x64 sharp
[error]         npm install --force @img/sharp-linuxmusl-x64
[error]     - Update your OS:
[error]         Found musl 1.2.2
[error]         Requires musl >=1.2.2
[error]     - Consult the installation documentation:
[error]         See https://sharp.pixelplumbing.com/install

Also, I tried updating my .yarnrc.yml file per the installation instructions, but it did not make a difference:
supportedArchitectures:
  os: ["current","darwin","linux","win32"]
  cpu: ["current","x64","ia32","arm64"]

Yarn 4.0.2
Node 21.4.0

@gtwilliams03 The ZSt28__throw_bad_array_new_lengthv error suggests this is a different problem. Please see https://github.com/lovell/sharp/issues/3872, which might suggest you're using an outdated version of Alpine Linux. If you're still having problems, please open a new installation issue.

As per the docs in https://sharp.pixelplumbing.com/install#cross-platform I tried:
Instead of building sharp like
RUN npm install && \
        npm rebuild --arch=x64 --platform=linux --libc=musl sharp

I installed the platform specific version
RUN npm install && \
    npm install --cpu=x64 --os=linux --libc=musl sharp

For sharp 0.32.6 this generates the binaries in node_js/sharp, sharp just works fine
/app/node_modules/sharp $ ls -al
total 28
drwxr-xr-x    5 nextjs   nodejs        4096 Dec 18 21:15 .
drwxr-xr-x   29 nextjs   nodejs        4096 Dec 18 21:15 ..
drwxr-xr-x    3 nextjs   nodejs        4096 Dec 18 21:15 build
drwxr-xr-x    2 nextjs   nodejs        4096 Dec 18 21:15 lib
-rw-r--r--    1 nextjs   nodejs        7821 Dec 18 21:15 package.json
drwxr-xr-x    3 nextjs   nodejs        4096 Dec 18 21:15 vendor

for 0.33 this does not generate the binaries. My app then complains that it could not find sharp.
/app/node_modules/sharp $ ls -al
total 28
drwxr-xr-x    5 nextjs   nodejs        4096 Dec 18 21:15 .
drwxr-xr-x   29 nextjs   nodejs        4096 Dec 18 21:15 ..
drwxr-xr-x    2 nextjs   nodejs        4096 Dec 18 21:15 lib

The binaries live in packages under the @img/ namespace. I've just tried running the exact commands in the documentation locally and it works fine:
$ npm -v
10.2.3

$ ls node_modules/@img
ls: cannot access 'node_modules/@img': No such file or directory

$ npm install --cpu=x64 --os=darwin sharp
added 13 packages, and audited 14 packages in 1s

$ ls  node_modules/@img
sharp-darwin-x64  sharp-libvips-darwin-x64

$ npm install --cpu=arm64 --os=darwin sharp
added 2 packages, and audited 16 packages in 505ms

$ ls  node_modules/@img
sharp-darwin-arm64  sharp-darwin-x64  sharp-libvips-darwin-arm64  sharp-libvips-darwin-x64

You have probably run into the npm lockfile bug 4828 that is linked to in the documentation.
https://sharp.pixelplumbing.com/install#cross-platform

@gtwilliams03 The ZSt28__throw_bad_array_new_lengthv error suggests this is a different problem. Please see #3872, which might suggest you're using an outdated version of Alpine Linux. If you're still having problems, please open a new installation issue.

@lovell Thank you!  I updated the first line of the Dockerfile to:
FROM node:21-alpine3.19

and all is well.  I had been using alpine 3.15 and hadn't realized I had not upgraded it in a while...

The binaries live in packages under the @img/ namespace. I've just tried running the exact commands in the documentation locally and it works fine:
$ npm -v
10.2.3

$ ls node_modules/@img
ls: cannot access 'node_modules/@img': No such file or directory

$ npm install --cpu=x64 --os=darwin sharp
added 13 packages, and audited 14 packages in 1s

$ ls  node_modules/@img
sharp-darwin-x64  sharp-libvips-darwin-x64

$ npm install --cpu=arm64 --os=darwin sharp
added 2 packages, and audited 16 packages in 505ms

$ ls  node_modules/@img
sharp-darwin-arm64  sharp-darwin-x64  sharp-libvips-darwin-arm64  sharp-libvips-darwin-x64

You have probably run into the npm lockfile bug npm/cli#4828 that is linked to in the documentation.
https://sharp.pixelplumbing.com/install#cross-platform

Hmm, seems to be different for 0.32.6 and 0.33.
I don't know too much about the details of where npm stores binaries but that's what I see:
0.32.6 seems to install the binaries in node_modules/vendor
0.33 seems to install the binaries in @img
This is regardless of whether I delete package-lock.json before running npm i ...
I am just a plain user of NextJs next/image and I am not aware of how they are using sharp. Can it be that the changes of where the binaries are stored affects them?
0.32.6:
npm install --cpu=x64 --os=linux --libc=musl sharp

ls -al node_modules/@img
ls: cannot access 'node_modules/@img': No such file or directory

ls -al node_modules/sharp/
total 76
drwxr-xr-x   7 root root  4096 Dec 19 04:51 .
drwxr-xr-x 574 root root 20480 Dec 19 04:53 ..
-rw-r--r--   1 root root  7430 Dec 19 04:51 binding.gyp
drwxr-xr-x   3 root root  4096 Dec 19 04:51 build
drwxr-xr-x   2 root root  4096 Dec 19 04:51 install
drwxr-xr-x   2 root root  4096 Dec 19 04:51 lib
-rw-r--r--   1 root root 10273 Dec 19 04:51 LICENSE
-rw-r--r--   1 root root  7821 Dec 19 04:51 package.json
-rw-r--r--   1 root root  3071 Dec 19 04:51 README.md
drwxr-xr-x   3 root root  4096 Dec 19 04:51 src
drwxr-xr-x   3 root root  4096 Dec 19 04:51 vendor

0.33:
npm install --cpu=x64 --os=linux --libc=musl sharp

ls -al node_modules/@img
total 40
drwxr-xr-x   6 root root  4096 Dec 19 04:56 .
drwxr-xr-x 576 root root 20480 Dec 19 04:56 ..
drwxr-xr-x   3 root root  4096 Dec 19 04:56 sharp-libvips-linuxmusl-x64
drwxr-xr-x   3 root root  4096 Dec 19 04:56 sharp-libvips-linux-x64
drwxr-xr-x   3 root root  4096 Dec 19 04:56 sharp-linuxmusl-x64
drwxr-xr-x   3 root root  4096 Dec 19 04:56 sharp-linux-x64

ls -al node_modules/sharp/
total 60
drwxr-xr-x   5 root root  4096 Dec 19 04:56 .
drwxr-xr-x 576 root root 20480 Dec 19 04:56 ..
drwxr-xr-x   2 root root  4096 Dec 19 04:56 install
drwxr-xr-x   2 root root  4096 Dec 19 04:56 lib
-rw-r--r--   1 root root 10273 Dec 19 04:56 LICENSE
-rw-r--r--   1 root root  7547 Dec 19 04:56 package.json
-rw-r--r--   1 root root  3172 Dec 19 04:56 README.md
drwxr-xr-x   2 root root  4096 Dec 19 04:56 src

Found a solution here: https://flinect.com/blog/nextjs-standalone-docker-sharp-installation, it boils down to:
Install sharp globally via npm install -g, point to the sharp installation via NEXT_SHARP_PATH=/usr/local/lib/node_modules/sharp and NextJS seems to pick up sharp even for 0.33.

Hmm, seems to be different for 0.32.6 and 0.33.

This is expected and correct, please see https://github.com/lovell/sharp/issues/3750 for all the details.

Install sharp globally

Please avoid installing sharp globally, it will only lead to further problems later. If doing so appears to fix a problem then I suspect you have multiple, conflicting versions of sharp within the same installation tree or you had previously installed sharp globally and were seeing the effects of having done so.
The issue installation template asks the question: What is the output of running npx envinfo --binaries --system --npmPackages=sharp --npmGlobalPackages=sharp? The answer to this may be helpful.

I totally agree, installing sharp globally is not best practice in the first place. On the other hand, it is installed in a docker container that runs one NextJS app only, so it might be not that bad.
My guess on the whole thing is:
When deploying a NextJS app on vercel, they provide sharp for the app. No need to include sharp in package.json.
I guess that they are accessing sharp in a way that basically resembles a global installation.
So when creating a docker container that runs on a non-Vercel system, it might be OK to install sharp globally on this container and think of it as an infrastructure component.

@rhufsky If you still require help, the best thing to do is provide a complete, minimal, standalone repo including a Dockerfile that allows someone else to reproduce.
@tinrab The advice in your https://flinect.com/blog/nextjs-standalone-docker-sharp-installation article is somewhat misguided (e.g. installing a release candidate globally is going to end in tears). it looks like you are using Next.js standalone mode and therefore have very likely hit a known Vercel bug - see https://github.com/vercel/nft/issues/371 - I'd very much appreciate it if you could edit your article to reflect this so others are not confused by it.

This was a Vercel bug, now fixed - see https://github.com/vercel/nft/issues/371 and https://github.com/lovell/sharp/issues/3870#issuecomment-1875044844


v4 breaking change: watchers on $route.query triggered on route change

Version
4.0.14
Reproduction link
codesandbox.io
Steps to reproduce

Create a watcher on $route.query in a component that's only rendered on one route.
Notice that the watcher is triggered when navigating to another route.
If you do the same with Vue 2 / vue-router v3, the watcher is not triggered.

What is expected?
The behaviour is the same as vue-router v3.
What is actually happening?
The behaviour changed!

We have a very common pattern of a watcher on $route.query that fetches data when the URL query changes. Now, because of this change, our app makes many more unnecessary network requests when navigating to different routes.
One potential workaround is to set some global state, like isUnmounting = true, in the router's global before hook (and then unset it in the after hook). Then, we could return early in the watchers if this boolean is true. However, this isn't a very clean solution!

Duplicate of https://github.com/vuejs/core/issues/2291 for when leaving a route.


[Bitwarden Vault] ...

Extension
https://www.raycast.com/jomifepe/bitwarden
Description
It'd be helpful to have the "Send" feature of Bitwarden implemented within Raycast. The "Send" feature is useful in sending crendentials or any other sensitive information as text through a secure link. I use this functionality everyday at my place of work.

Who will benefit from this feature?
Anyone using Bitwarden to send important sensitive information over a secure link.
Anything else?
No response

Hey, thanks for the suggestion. This will be implemented in the future for sure 🙂

3 new commands were released, give them a try @angelineflorajohn 🚀


Introduce a #competitions channel / calendar

Introduce a #competitions channel / calendar
This issue has been posted on behalf of eohomegrownapps
A description of the issue:
Recently, there has been a fair amount of interest regarding STEM-based competitions for teenagers on the server (including but not limited to maths/informatics/science olympiads, Cyber Centurion, Google Code-In, cipher challenge etc). To widen participation and encourage people to take part in these, it could be useful to have a read-only channel with a list of events that people might want to take part of, along with a description of them.
Proposed Solution:
A few solutions, some/all of which could be implemented:

Make a #competitions or #olympiads channel with read only permissions containing a list of fun events to participate in
Make a #competitions-discussion or #olympiads-discussion channel to encourage discussion / for people to ask questions about thse events
Make a calendar (Google Calendar / iCal?) with these events listed
There exists a Discord server for discussion of maths / informatics olympiads in the UK: perhaps this could be added to #friends-of-CD?

Additional Comments:
n/a

watch ractf get rejected from it

I'd personally support this. I think it fits in well with the server audience.

With the introduction of #events, I feel this issue is fairly resolved now 😄

I disagree


improvement(results): add sending text and screenshots

improvement(results): add sending text and screenshots
Implemented support for sending text results to argus.
Text results are ignored in graphs.
If a text result is a link to image it is shown as button which opens
given image in a modal (e.g. screenshots). This enables to send
screenshots from latency_decorator in SCT.
Also did a bit of refactor around results (moved fetching result tables
to ResultsService where fits better.
improvement(screenshots): move to separate component
Moved screenshot modal to separate component to reuse it.
Also added 'close by esc' feature.

This is how it will look in results:

Clicking button opens image in modal - same way as in 'Screenshots' tab.

This is how it will look in results:  Clicking button opens image in modal - same way as in 'Screenshots' tab.

how the copy to markdown would look ?

how the copy to markdown would look ?

P90 read [ms]
P99 read [ms]
duration [HH:MM:SS]
Overview
QA dashboard

Cycle #1
$${\color{red}5.03}$$
$${\color{green}9.72}$$
$${\color{green}00:28:35}$$
view
view


PP-586 No retries for web application based requests

Remove retries for any request that are within the context of the web application.
This is to ensure we do not hang web requests due to issues with third party APIs.
Also add a log for request times.
Description

Motivation and Context
Having retry logic for outgoing requests during an incoming web request is a hindrance, and should be removed.
JIRA

How Has This Been Tested?
Manually tested the retry failures within the /loans requests, and script based retries with the axis_monitor.
Added a unit test for the web application reduced retries.

Checklist

[ ] I have updated the documentation accordingly.
[x] All new and existing tests passed.

This looks good @RishiDiwanTT. I know you mentioned this in planning for this ticket, and I disagreed, but I've come around. Can you also reduce the timeout on requests in the web context to 5s. We can use the data gathered by the added logging to reduce it further if we need.


ROCm version 0.1.0, getting errors

Hello,
I've updated from: exllamav2-0.0.20+rocm6.0-cp310-cp310-linux_x86_64.whl
(was working quite well)
to
exllamav2-0.1.0+rocm6.0.torch2.3.0-cp310-cp310-linux_x86_64.whl
Now I get errors at inference with the same code I had:
/lib/python3.10/site-packages/exllamav2/model.py", line 880, in forward_chunk
x = module.forward(x, cache = cache, attn_params = attn_params, past_len = past_len, loras = loras, **kwargs)
/lib/python3.10/site-packages/exllamav2/attn.py", line 730, in forward
attn_output,
UnboundLocalError: local variable 'attn_output' referenced before assignment
Also, I see some changes on this version require recent versions of flash-attn. The latest ROCm compatbile version I found is 2.0.4.
Any suggestions besides downgrading?
Thanks!

The changes do require flash-attn, but only for paged attention/dynamic batching support. Sadly ROCm is pretty far behind on flash-attn support and I don't want to hold back important features indefinitely waiting for it to catch up. There is a PR for xformers support which I'll probably get to soon, but it's still second-rate support because xformers still doesn't have the paging feature that makes dynamic batching possible.
All that said, 0.1.0 should still work the same as 0.0.21 as long as you're not using the new generator. The one exception, the one you're probably running into, is that I removed the multiple-caches mode because it was kind of a dead-end feature and it was really complicating the control flow. Are you actually running generations with multiple caches or is it simply that you're passing a single cache as a list?

Hi! Thanks for the response. I will check out the generation code, I am actually using EricLLM to wrap multiple exllamav2 threads, so maybe that code is using the feature you refer.
Thanks again!