miniflare segfaults during startup on Ubuntu 22.04 (jammy)

> npx wrangler dev --port $MC_SERVER_PORT --var MC_CONFIG_LOCAL_SUFFIX:$MC_CONFIG_LOCAL_SUFFIX LOG_LEVEL:$LOG_LEVEL GIT_SHA:$GIT_SHA

[WebServer]  ⛅ wrangler 3.5.0
------------------
[WebServer] wrangler dev now uses local mode by default, powered by 🔥 Miniflare and 👷 workerd.
To run an edge preview session for your Worker, use wrangler dev --remote
[WebServer] Your worker has access to the following bindings:
- Durable Objects:
  - ROOM_DURABLE_OBJECT: RoomDurableObject
- Vars:
  - ENVIRONMENT: "Local"
  - WORKER_NAME: "magiccircle-gg"
  - MC_CONFIG_LOCAL_SUFFIX: "(hidden)"
  - LOG_LEVEL: "(hidden)"
  - GIT_SHA: "(hidden)"
[WebServer] ⎔ Starting local server...
[WebServer] workerd/util/symbolizer.c++:99: warning: Not symbolizing stack traces because $LLVM_SYMBOLIZER is not set. To symbolize stack traces, set $LLVM_SYMBOLIZER to the location of the llvm-symbolizer binary. When running tests under bazel, use `--test_env=LLVM_SYMBOLIZER=<path>`.
[WebServer] *** Received signal #11: Segmentation fault
stack: /__w/magiccircle.gg/magiccircle.gg/node_modules/.pnpm/@cloudflare+workerd-linux-64@1.20230807.0/node_modules/@cloudflare/workerd-linux-64/bin/workerd@1693d32 /__w/magiccircle.gg/magiccircle.gg/node_modules/.pnpm/@cloudflare+workerd-linux-64@1.20230807.0/node_modules/@cloudflare/workerd-linux-64/bin/workerd@1693c85 /__w/magiccircle.gg/magiccircle.gg/node_modules/.pnpm/@cloudflare+workerd-linux-64@1.20230807.0/node_modules/@cloudflare/workerd-linux-64/bin/workerd@168513d /__w/magiccircle.gg/magiccircle.gg/node_modules/.pnpm/@cloudflare+workerd-linux-64@1.20230807.0/node_modules/@cloudflare/workerd-linux-64/bin/workerd@1685843 /__w/magiccircle.gg/magiccircle.gg/node_modules/.pnpm/@cloudflare+workerd-linux-64@1.20230807.0/node_modules/@cloudflare/workerd-linux-64/bin/workerd@168be6c /__w/magiccircle.gg/magiccircle.gg/node_modules/.pnpm/@cloudflare+workerd-linux-64@1.20230807.0/node_modules/@cloudflare/workerd-linux-64/bin/workerd@168e956 /__w/magiccircle.gg/magiccircle.gg/node_modules/.pnpm/@cloudflare+workerd-linux-64@1.20230807.0/node_modules/@cloudflare/workerd-linux-64/bin/workerd@168cfdd /__w/magiccircle.gg/magiccircle.gg/node_modules/.pnpm/@cloudflare+workerd-linux-64@1.20230807.0/node_modules/@cloudflare/workerd-linux-64/bin/workerd@167fc76 /__w/magiccircle.gg/magiccircle.gg/node_modules/.pnpm/@cloudflare+workerd-linux-64@1.20230807.0/node_modules/@cloudflare/workerd-linux-64/bin/workerd@167f848 /__w/magiccircle.gg/magiccircle.gg/node_modules/.pnpm/@cloudflare+workerd-linux-64@1.20230807.0/node_modules/@cloudflare/workerd-linux-64/bin/workerd@167f624 /__w/magiccircle.gg/magiccircle.gg/node_modules/.pnpm/@cloudflare+workerd-linux-64@1.20230807.0/node_modules/@cloudflare/workerd-linux-64/bin/workerd@167f60c /__w/magiccircle.gg/magiccircle.gg/node_modules/.pnpm/@cloudflare+workerd-linux-64@1.20230807.0/node_modules/@cloudflare/workerd-linux-64/bin/workerd@326483e /__w/magiccircle.gg/magiccircle.gg/node_modules/.pnpm/@cloudflare+workerd-linux-64@1.20230807.0/node_modules/@cloudflare/workerd-linux-64/bin/workerd@326443d /__w/magiccircle.gg/magiccircle.gg/node_modules/.pnpm/@cloudflare+workerd-linux-64@1.20230807.0/node_modules/@cloudflare/workerd-linux-64/bin/workerd@3262728 /__w/magiccircle.gg/magiccircle.gg/node_modules/.pnpm/@cloudflare+workerd-linux-64@1.20230807.0/node_modules/@cloudflare/workerd-linux-64/bin/workerd@32624ea /__w/magiccircle.gg/magiccircle.gg/node_modules/.pnpm/@cloudflare+workerd-linux-64@1.20230807.0/node_modules/@cloudflare/workerd-linux-64/bin/workerd@1670[29](https://github.com/magic-circle-studio/magiccircle.gg/actions/runs/5817705610/job/15772781605#step:8:30)3 /lib/x86_64-linux-gnu/libc.so.6@29d8f /lib/x86_64-linux-gnu/libc.so.6@29e3f /__w/magiccircle.gg/magiccircle.gg/node_modules/.pnpm/@cloudflare+workerd-linux-64@1.202[30](https://github.com/magic-circle-studio/magiccircle.gg/actions/runs/5817705610/job/15772781605#step:8:31)807.0/node_modules/@cloudflare/workerd-linux-64/bin/workerd@167002d
[WebServer] ✘ [ERROR] MiniflareCoreError [ERR_RUNTIME_FAILURE]: The Workers runtime failed to start. There is likely additional logging output above.

thanks for the detailed reply — candidly, it'd be quite a lot of work on my end to set all that up, since we're only running docker via GitHub Actions CI environment. i'll see if i have a chance to get to it, but the workaround is so trivial and has almost no cost (a couple extra seconds in CI time) that from our perspective this is "solved" via the workaround.

the plot thickens: i've just experienced this segfault with libc++1 being installed. seems like this segfault is unrelated to libc++1 being uninstalled, and there is some kind of flakiness/nondeterminism here. it seems like a roughly 1-in-10 segfault
given that it's NOT a libc++1 linking issue, and I now have no viable workaround, what would you recommend for continuing to debug this?

ok, even more digging...

this crash is definitely non-deterministic. If I launch my server 10 times, odds are about half of them (randomly, seemingly) will segfault. zero modifications going on between runs; literally just spawning server, pressing Ctrl-c, then re-running. Total roll of the dice whether it will crash or not.

For some reason, I can — so far — ONLY repro this crash when running my code via npx [concurrently](https://www.npmjs.com/package/concurrently). Without that, i.e. running npm run server-dev (which invokes wrangler), I don't get a segfault. Of course, this makes no sense.

Given the above, my guess is there is some sort of race condition which may be agitated by various factors, such as whether wrangler is being invoked directly on the shell or via another process as a subcommand (as in the case of concurrently).

Happy to help track this down as best I can... I now have a way to reliably get shell access to the GitHub CI environment to manually poke around and trigger this segfault at will, and I would be happy to provide a Cloudflare employee with that access for a debugging session if it's valuable. Feel free to contact me via email, my email is in my GitHub profile.

I'm observing signal 11: segmentation fault errors intermittently running wrangler pages dev on GitHub Actions ubuntu runners. It happens frequently, but not every time.
workerd/util/symbolizer.c++:99: warning: Not symbolizing stack traces because $LLVM_SYMBOLIZER is not set. To symbolize stack traces, set $LLVM_SYMBOLIZER to the location of the llvm-symbolizer binary. When running tests under bazel, use `--test_env=LLVM_SYMBOLIZER=<path>`.
  *** Received signal #11: Segmentation fault
  stack: /home/runner/work/example/example/node_modules/.pnpm/@cloudflare+workerd-linux-64@1.20230814.1/node_modules/@cloudflare/workerd-linux-64/bin/workerd@16966b2 /home/runner/work/example/example/node_modules/.pnpm/@cloudflare+workerd-linux-64@1.20230814.1/node_modules/@cloudflare/workerd-linux-64/bin/workerd@1696605 /home/runner/work/example/example/node_modules/.pnpm/@cloudflare+workerd-linux-64@1.20230814.1/node_modules/@cloudflare/workerd-linux-64/bin/workerd@1686f8d /home/runner/work/example/example/node_modules/.pnpm/@cloudflare+workerd-linux-64@1.20230814.1/node_modules/@cloudflare/workerd-linux-64/bin/workerd@1687693 /home/runner/work/example/example/node_modules/.pnpm/@cloudflare+workerd-linux-64@1.20230814.1/node_modules/@cloudflare/workerd-linux-64/bin/workerd@168dcbc /home/runner/work/example/example/node_modules/.pnpm/@cloudflare+workerd-linux-64@1.20230814.1/node_modules/@cloudflare/workerd-linux-64/bin/workerd@1691266 /home/runner/work/example/example/node_modules/.pnpm/@cloudflare+workerd-linux-64@1.20230814.1/node_modules/@cloudflare/workerd-linux-64/bin/workerd@168f8ed /home/runner/work/example/example/node_modules/.pnpm/@cloudflare+workerd-linux-64@1.20230814.1/node_modules/@cloudflare/workerd-linux-64/bin/workerd@16807e6 /home/runner/work/example/example/node_modules/.pnpm/@cloudflare+workerd-linux-64@1.20230814.1/node_modules/@cloudflare/workerd-linux-64/bin/workerd@16803b8 /home/runner/work/example/example/node_modules/.pnpm/@cloudflare+workerd-linux-64@1.20230814.1/node_modules/@cloudflare/workerd-linux-64/bin/workerd@1680194 /home/runner/work/example/example/node_modules/.pnpm/@cloudflare+workerd-linux-64@1.20230814.1/node_modules/@cloudflare/workerd-linux-64/bin/workerd@168017c /home/runner/work/example/example/node_modules/.pnpm/@cloudflare+workerd-linux-64@1.20230814.1/node_modules/@cloudflare/workerd-linux-64/bin/workerd@326b86e /home/runner/work/example/example/node_modules/.pnpm/@cloudflare+workerd-linux-64@1.20230814.1/node_modules/@cloudflare/workerd-linux-64/bin/workerd@326b46d /home/runner/work/example/example/node_modules/.pnpm/@cloudflare+workerd-linux-64@1.20230814.1/node_modules/@cloudflare/workerd-linux-64/bin/workerd@3269758 /home/runner/work/example/example/node_modules/.pnpm/@cloudflare+workerd-linux-64@1.20230814.1/node_modules/@cloudflare/workerd-linux-64/bin/workerd@326951a /home/runner/work/example/example/node_modules/.pnpm/@cloudflare+workerd-linux-64@1.20230814.1/node_modules/@cloudflare/workerd-linux-64/bin/workerd@1671293 /lib/x86_64-linux-gnu/libc.so.6@29d8f /lib/x86_64-linux-gnu/libc.so.6@29e3f /home/runner/work/example/example/node_modules/.pnpm/@cloudflare+workerd-linux-64@1.20230814.1/node_modules/@cloudflare/workerd-linux-64/bin/workerd@167102d

Still getting similar error with<EMAIL_ADDRESS><EMAIL_ADDRESS>and<EMAIL_ADDRESS>when running the following command offline: npx wrangler dev -e local
workerd/util/symbolizer.c++:98: warning: Not symbolizing stack traces because $LLVM_SYMBOLIZER is not set. To symbolize stack traces, set $LLVM_SYMBOLIZER to the location of the llvm-symbolizer binary. When running tests under bazel, use `--test_env=LLVM_SYMBOLIZER=<path>`.
workerd/server/server.c++:2518: error: Uncaught exception: kj/async-io-unix.c++:778: disconnected: remote.worker_do_not_log; Request failed due to internal error
stack: /home/vladan/dev/api-gate/node_modules/@cloudflare/workerd-linux-64/bin/workerd@32d45ff /home/vladan/dev/api-gate/node_modules/@cloudflare/workerd-linux-64/bin/workerd@32d27ce /home/vladan/dev/api-gate/node_modules/@cloudflare/workerd-linux-64/bin/workerd@223fdbb /home/vladan/dev/api-gate/node_modules/@cloudflare/workerd-linux-64/bin/workerd@32a91e0 /home/vladan/dev/api-gate/node_modules/@cloudflare/workerd-linux-64/bin/workerd@32a9402 /home/vladan/dev/api-gate/node_modules/@cloudflare/workerd-linux-64/bin/workerd@3296fb0 /home/vladan/dev/api-gate/node_modules/@cloudflare/workerd-linux-64/bin/workerd@32bc800 /home/vladan/dev/api-gate/node_modules/@cloudflare/workerd-linux-64/bin/workerd@1985280 /home/vladan/dev/api-gate/node_modules/@cloudflare/workerd-linux-64/bin/workerd@1e38f81 /home/vladan/dev/api-gate/node_modules/@cloudflare/workerd-linux-64/bin/workerd@1d5809d /home/vladan/dev/api-gate/node_modules/@cloudflare/workerd-linux-64/bin/workerd@1d55930 /home/vladan/dev/api-gate/node_modules/@cloudflare/workerd-linux-64/bin/workerd@1af8bc0 /home/vladan/dev/api-gate/node_modules/@cloudflare/workerd-linux-64/bin/workerd@1af98c9 /home/vladan/dev/api-gate/node_modules/@cloudflare/workerd-linux-64/bin/workerd@199c8a0 /home/vladan/dev/api-gate/node_modules/@cloudflare/workerd-linux-64/bin/workerd@199ced0 /home/vladan/dev/api-gate/node_modules/@cloudflare/workerd-linux-64/bin/workerd@199dff0 /home/vladan/dev/api-gate/node_modules/@cloudflare/workerd-linux-64/bin/workerd@199e620 /home/vladan/dev/api-gate/node_modules/@cloudflare/workerd-linux-64/bin/workerd@19e2dad /home/vladan/dev/api-gate/node_modules/@cloudflare/workerd-linux-64/bin/workerd@1985280 /home/vladan/dev/api-gate/node_modules/@cloudflare/workerd-linux-64/bin/workerd@222a31b /home/vladan/dev/api-gate/node_modules/@cloudflare/workerd-linux-64/bin/workerd@22297b0 /home/vladan/dev/api-gate/node_modules/@cloudflare/workerd-linux-64/bin/workerd@16b6ae0 /home/vladan/dev/api-gate/node_modules/@cloudflare/workerd-linux-64/bin/workerd@1af8e80 /home/vladan/dev/api-gate/node_modules/@cloudflare/workerd-linux-64/bin/workerd@1af9228 /home/vladan/dev/api-gate/node_modules/@cloudflare/workerd-linux-64/bin/workerd@32911ff /home/vladan/dev/api-gate/node_modules/@cloudflare/workerd-linux-64/bin/workerd@3291593 /home/vladan/dev/api-gate/node_modules/@cloudflare/workerd-linux-64/bin/workerd@199f96d /home/vladan/dev/api-gate/node_modules/@cloudflare/workerd-linux-64/bin/workerd@32911ff /home/vladan/dev/api-gate/node_modules/@cloudflare/workerd-linux-64/bin/workerd@3292788 /home/vladan/dev/api-gate/node_modules/@cloudflare/workerd-linux-64/bin/workerd@3292fd1 /home/vladan/dev/api-gate/node_modules/@cloudflare/workerd-linux-64/bin/workerd@3299b54 /home/vladan/dev/api-gate/node_modules/@cloudflare/workerd-linux-64/bin/workerd@328f497


Cannot Authorize

Allows me to go to authorization page but either redirect isn't sent or the application isn't handling it.

https://github.com/Franiac/TwitchLeecher#support--issues
Please provide all necessary information, I cannot read minds :)

Coming across this issue as well with a fresh download of 1.3.3.

It seems to hang on the login action.

I can confirm the issue. Stuck on "Sending". On my end nothing has been changed since the authorization system was introduced in TL. Interestingly enough the url works in Chrome and any other desktop browser (I receive an access token as expected). Could be a Windows or a .NET update that causes trouble here. Needs investigation, but so far I do not have any clue what's going wrong.

So, I tried Chrome, Firefox and Opera and the authorization system works. Now guess what browser does not work... yea... Edge. I get an error dialog from Twitch:
"Oops! We encountered an unexpected error logging you in. Please try again."
This dialog is just not shown in TL, because I deactivated JavaScript error popups. Now TL uses a web browser control from .NET framework and that again uses the Edge browser engine in the background. If Edge does not work, TL does not work.
I guess this all is either a Microsoft or a Twitch problem. I suggest you to be patient and just try again tomorrow.

I am having the same issue... Otherwise working well though.

I now even tried to switch the browser control in TL to Awesomnium (Chrome based browser). Did not do the trick. Edge worked today again. But as soon as I try to run the authorization process in any embedded browser control, Twitch does not redirect to the needed page. I still think it is a Twitch error. The redirect has to be initiated by the Twitch server and this does not happen.
Any advice is appreciated but there is actually nothing I can do about this right now.

So I managed to get the auth token response in my browser by right clicking on your in app browser, creating a shortcut, running it and logging in.  My twitch account is authorized now but I don't know where to put the auth token in your config...or if doing it this way is even possible.

snmr1345, would you mind explaining what you did with the auth token? I would also like to be able to use this aspect of the program.

%appdata%\Twitch Leecher\runtime.xml
<?xml version="1.0" encoding="utf-8"?>
<RuntimeData>
  <Authorization>
    <AccessToken>Put Token Here</AccessToken>
  </Authorization>
</RuntimeData>

Excellent! Got it working as well... Thank you, Novynn!

how can i edit that? I can't find it <%appdata%\Twitch Leecher\runtime.xml>

Ok guys, I realized that Twitch introduced a new dropdown box for the registered application where the developer has to set an "Application Category". Mine was not set to anything because when I registered Twitch Leecher, the dropdown box was simply not there yet. Now I have set a value and suddenly I could authorize Twitch Leecher again.
Can you please confirm that it works again, thanks!

I revoked and re-authorized, worked correctly.

Does anyone know why when I try verifying my account, it doesn’t even let me press the authorize button? It just does nothing, stuck and dont know what to do


is there a way to make a camera with 1:1 ratio frame?

Hello, thank you a lot for this awesome framework.
I was curious if there is a way to make a camera with a 1:1 ratio frame?
thank you in advance!

Please see https://github.com/Silence-GitHub/BBMetalImage/issues/30#issuecomment-594066056

It's not just about the frame size but I believe the camera ratio? is different. when the ratio is 16:9 by default, it's more slender and when it's 1:1 ratio in the default ios camera app, it contains more of the side areas.
based on your response, I assume there is no other way but cropping it to square size which means no different camera ratio.
is that correct?
thanks.

As far as I know, there is no way to set the camera ratio 1:1. So we need to crop.


numpy_groupies

[x] Closes https://github.com/pydata/xarray/issues/4473
[ ] Tests added
[x] Passes isort . && black . && mypy . && flake8
[ ] User visible changes (including notable bug fixes) are documented in whats-new.rst
[ ] New functions/methods are listed in api.rst

Very early effort — I found this harder than I expected — I was trying to use the existing groupby infra, but think I maybe should start afresh. The result of the numpy_groupies operation is a fully formed array, whereas we're used to handling an iterable of results which need to be concat.
I also added some type signature / notes and I was going through the existing code; mostly for my own understanding
If anyone has any thoughts, feel free to comment — otherwise I'll resume this soon

Cheers @dcherian . I've been a bit absent from xarray features for the past couple of months as you know.
If you want to take this on, please feel free. It's still at the top of my list — so I would get to it — but I really don't want to slow the progress.

@dcherian I know we discussed this a couple of weeks ago, and I said I was hoping to take another pass at this using https://github.com/dcherian/dask_groupby
For transparency, I haven't managed to spend any time on this yet. I certainly don't want to block you if you're interested in taking this forward.
FWIW my selfish motivation is more around speeding up in-memory groupbys than dask groupbys — the elegance of numpy_groupies & dask_groupby is that they can potentially be unified.

No worries @max-sixty! It looks like @andersy005 will be trying to get this completed soon

Hello all, my fellow xclim https://github.com/Ouranosinc/xclim devs and I would be interested to know if this PR is still moving forward?  xr.resample is pretty fundamental to much of our package so we are definitely interested in seeing the possibility of improved performance.
cheers

Hi @tlogan2000 , this is moving forward but slowly.
The good news is that I got resampling working this week (at least for some minimal test cases). It works by rechunking so that every chunk boundary lines up with a group boundary, and then applies numpy_groupies blockwise.
https://github.com/dcherian/dask_groupby/blob/8a30c4b20f23acacfc3b53dbeab2a7b268ecd3fc/dask_groupby/xarray.py#L268-L272
You can test it out with something like this
dask_groupby.xarray.resample_reduce(ds.resample(time="M"), func="mean")

For general groupby use
dask_groupby.xarray.xarray_reduce(...)

This still fails a few xarray tests but a lot of them pass! Let me know how it goes and please file bug reports over at the dask_groupby repo if you find any.

FYI @aulemahal @Zeitsperre @huard  ... re: xclim discussion yesterday.  If we have spare moments in the following weeks we could try a few tests on our to end to benchmark and provide bug reports


Ignore failed triggers

Proposal
When a ScaledObject has more than one trigger, if one of the triggers is in failure state exclude it from the HPA and keep the HPA healthy. For example, if you define Prometheus, CPU and Memory triggers, and for some reason the Prometheus trigger is not able to provide the metric value due to any kind of error - use only the CPU and Memory triggers.
Use-Case
We have cases where we have multiple triggers, one of them is Prometheus. We had incident this week with Prometheus, which cause all ScaledObject to stop scaling up / down the services. This is not ideal, and we would like a way to safely ignore this error.
Is this a feature you are interested in implementing yourself?
Maybe
Anything else?
No response

This would be a great addition

This sounds reasonable, I can see a new property next to type,metadata etc in the triggers section: https://keda.sh/docs/2.10/concepts/scaling-deployments/#triggers


[17/10/2022]: Backend API [feat] - Role based Permissions handler

Summary
Implemented a middleware to handle role based access control (RBAC) for express routes
Fixes #45
USAGE
    // import permission handler middleware
    const permit = require('./permissions')

    // pass a string of allowed roles to the permission handler
    // each role should be seperated with a space

    permitted_roles = 'Admin EndUser SuperAdmin'

    // Express route
    router
        .post('/your/route/path/', permit(permitted_roles), (req, res, next) => { })

    // Will return UnAuthorized error if user not permitted

List of changes proposed in this PR (pull-request)

Add express router middleware to handle role based access control

[x] Everything looks ok?

@BatoolMM please review and merge, thanks


Retrieve and show output files on run page

Detect and show output files on run page as they are produced (allow download as well). Show thumbnails for image files. Also detect if path no longer exists on deployment target (e.g., due to automatic cleanup).

Files that do not exist even when the run has completed should be marked with an error symbol, while files that do exist should have a check mark (like pending files are marked with spinners)

Files that do not exist even when the run has completed should be marked with an error symbol, while files that do exist should have a check mark (like pending files are marked with spinners)

Thumbnails moved to #76

Thumbnails moved to #76

Finished in b75cbea

Finished in b75cbea


Merge/update not working properly

I tried to update my client from 8.60 to 10.98 but I had several problems ingame, I will post pictures of the bugs. By the way with the regular spr and dat 10.98 client these problems do not occur.

I recorded a video also demonstrating some problems caused by the merge.
https://youtu.be/FTgTKliBKBE
If you know of any way I can update my client without bugging like this, please let me know, or maybe there is something I can do to make it work normally.
In the last case I would have to add sprite by sprite in the 10.98 client

yes you better adding sprite by sprite because converting a version to another is not 100% working to just "convert and use", the code is not complete, there are LOTS of item flags/attributes that need to be recreated for the client to read them properly


"Sklep spożywczy" and "Spożywczy" should be deleted from name suggestions

These just mean "grocery". So it's kind of pleonasm and I guess many will regard it bad tagging like a pond named "Pond" and so on.

Thanks for the suggestion - iD actually pulls these name suggestions from another repository automatically.  Can you open this issue in osmlab/name-suggestion-index instead?

So I reviewed the list and added these, among others that I found. Now how does this whole system work? I see it needs to run against planet pbf, after it's completed how will it be deployed in iD?
BTW, wouldn't it be sensible to delegate presets and translations out of the codebase so they can be updated regularly and automatically without manual deployment?

So I reviewed the list and added these, among others that I found. Now how does this whole system work? I see it needs to run against planet pbf, after it's completed how will it be deployed in iD?

iD treats it like the background imagery sources - whenever there are new additions we can run a command to get the latest data file from the other project.

BTW, wouldn't it be sensible to delegate presets and translations (mainly translations) out of the codebase so they can be updated regularly and automatically without manual deployment?

These things can be overridden by the page that contains the iD container.  Although I don't know of anyone doing it, it is possible to host iD and replace the presets, translations, imagery with more updated versions (e.g. using a daily cron job).


Replace get= with scheduler= keyword

This adds a new scheduler= keyword to compute and persist functions,
replacing the non-intuitive get= keyword, enabling users to specify different
schedulers with names like the following:
x.compute(get=dask.threaded.get)  # Before
x.compute(scheduler='threads')    # After

The common schedulers are stored in a dictionary in dask/base.py
and dask.distributed is handled specially to avoid importing by default
This also changes docstrings and documentation.

[x] Tests added / passed
[x] Passes flake8 dask
[x] Fully documented, including docs/source/changelog.rst for all changes
and one of the docs/source/*-api.rst files for new API

Fixes https://github.com/dask/dask/issues/3442
cc @jcrist , who I suspect has thoughts on this problem

I would consider introducing top level constants (or maybe an enum), e.g., dask.SYNCHRONOUS, dask.THREADING, dask.MULTIPROCESSING and dask.DISTRIBUTED. With auto-complete, these are easier to type correctly than strings.

My experience has been that most projects use normal strings for options like this, for example:
xarray.open_mfdataset(..., engine='h5netcdf')

:)
That being said I'm open to the idea of global top level constants.  However because I suspect that they won't be used that often and would like to keep top-level namespaces somewhat clear I'd be more inclined to move them to some sub-namespace like dask.base, which unfortunately diminishes their utility and probably makes the concern self-fulfilling.
One way to approach this problem would be to push the idea of using top-level constants into other projects and show that they're commonly appreciated?  Perhaps there are cases in Numpy or Pandas where this approach could gain traction first?

My experience has been that most projects use normal strings for options like this

Fair enough, I agree that strings probably make sense here. (For what it's worth, if I were writing that xarray API today I would more strongly consider using constants instead of strings.)

Fair enough, I agree that strings probably make sense here. (For what it's worth, if I were writing that xarray API today I would more strongly consider using constants instead of strings.)

Yeah, I can see reasons why that would be nicer, especially as Python grows into being slightly more of a systems language.  I definitely have no desire to actively push on that cause within this particular project though :)

OK, does anything remain to be done here?

OK, I plan to merge this tomorrow morning US Eastern time if there are no further comments

Merging.  Thank you all for the productive review.

@mrocklin sorry to resurrect old ghosts, but I'm with @shoyer in being allergic to string-based APIs. (And yes, as with @shoyer, you'll find plenty of counter-examples within scikit-image. We are all on a journey. =)
Mostly, though, I am very allergic to the fact that the distributed scheduler now depends on some global thing happening "behind the scenes." As such I would like to maintain the ability to specify an object/callable as a scheduler, either through:

a de-deprecated get= kwarg, or
a "polymorphic" scheduler= kwarg, that accepts not only strings but also either get= functions or scheduler objects, however those look. (Whichever makes most sense to you.)

What do you think of this? I can attempt a PR if you and others are on board with one of these options.

@jcrist had thoughts on what a scheduling context would look like somewhere.  Perhaps he can point you to that.

  I think that Jim's suggestion was to have a class that bundled up all of the state of a scheduler.  The dask.distributed.Client object would be one, but we would also develop another class for the local scheduler that included state like the ThreadPool, that is currently lingering in globals.
If you wanted to take a stab at this @jni that would be welcome.  I do recommend waiting for @jcrist to chime in though.  He might be able to refer to other relevant pieces of state and API that we scatter around the project.

Originally I was thinking that just as you can do:
with Client() as client:
    # dask code

it might be good to encapsulate other scheduler state/apis inside a client object. Things that might go in here:

settings like pool, n_workers
Scheduler-specific settings, like what shuffle algorithm to use, or what lock
Non-get apis, like the concurrent-futures++ api that distributed supports

This wasn't super thought out though, and I think we'd want to iterate on it a bit before committing to anything.
For now, would you be satisfied by allowing Client objects be passed through the scheduler= kwarg? Then you could specify which client to use local to a computation, we wouldn't have to commit to this working for other schedulers yet, and the get kwarg remains deprecated.

Mostly, though, I am very allergic to the fact that the distributed scheduler now depends on some global thing happening "behind the scenes." As such I would like to maintain the ability to specify an object/callable as a scheduler, either through:

Yes, we should have a way to set the distributed scheduler for a particular operation, which isn't supported with the scheduler option. I found this awkward recently when trying to write a benchmarking script.

For now, would you be satisfied by allowing Client objects be passed through the scheduler= kwarg?

Yes, yes I would. =)

For now, would you be satisfied by allowing Client objects be passed through the scheduler= kwarg?

I've actually been meaning to open a feature request for exactly this functionality!
What bugged me was the discrepancy when using a distributed cluster  (client):
client.compute(darray)
darray.compute(scheduler='synchronous')

...whereas it would be nicer to simply pass it as the scheduler argument:
darray.compute(scheduler='synchronous')
darray.compute(scheduler=client)


conda recipe in Windows for a package using pythran

I have created a conda recipe to add the package PyLandStats (which uses Pythran) to conda-forge. While creating the recipe has been kind of straight-forward, it does not seem to work for Windows, and I have not been able to get a clue of why the build fails from the error logs.
This is the link to the latest pull request with the respective platform-specific checks in Azure pipelines.
I leave here the traceback of the error on the build for Windows and Python 3.7:
Traceback (most recent call last):
  File "C:\Miniconda\Scripts\conda-build-script.py", line 10, in <module>
    sys.exit(main())
  File "C:\Miniconda\lib\site-packages\conda_build\cli\main_build.py", line 445, in main
    execute(sys.argv[1:])
  File "C:\Miniconda\lib\site-packages\conda_build\cli\main_build.py", line 436, in execute
    verify=args.verify, variants=args.variants)
  File "C:\Miniconda\lib\site-packages\conda_build\api.py", line 209, in build
    notest=notest, need_source_download=need_source_download, variants=variants)
  File "C:\Miniconda\lib\site-packages\conda_build\build.py", line 2324, in build_tree
    notest=notest,
  File "C:\Miniconda\lib\site-packages\conda_build\build.py", line 1439, in build
    windows.build(m, build_file, stats=build_stats, provision_only=provision_only)
  File "C:\Miniconda\lib\site-packages\conda_build\windows.py", line 294, in build
    check_call_env(cmd, cwd=m.config.work_dir, stats=stats, rewrite_stdout_env=rewrite_env)
  File "C:\Miniconda\lib\site-packages\conda_build\utils.py", line 397, in check_call_env
    return _func_defaulting_env_to_os_environ('call', *popenargs, **kwargs)
  File "C:\Miniconda\lib\site-packages\conda_build\utils.py", line 377, in _func_defaulting_env_to_os_environ
    raise subprocess.CalledProcessError(proc.returncode, _args)
subprocess.CalledProcessError: Command '['cmd.exe', '/d', '/c', 'conda_build.bat']' returned non-zero exit status 1.
##[error]Cmd.exe exited with code '1'.

The problem is related too the windows compiler, nt conda build, closing the issue as windows failure are already well documented :-/


Error: Building package v8:x86-windows failed with: BUILD_FAILED

Host Environment

OS: Windows
Compiler: MSVC

To Reproduce
Steps to reproduce the behavior:
./vcpkg install v8
C:\Users\lusyv\OneDrive\Documents\Elevation\projects\vcpkg>vcpkg install v8
Computing installation plan...
The following packages will be built and installed:
v8[core]:x86-windows
Detecting compiler hash for triplet x86-windows...
Starting package 1/1: v8:x86-windows
Building package v8[core]:x86-windows...
Could not locate cached archive: C:\Users\lusyv\AppData\Local\vcpkg\archives\97\97139b1ff7a12f6b0915e05b1798ffbeaf7851ad.zip
-- Using msys root at C:/Users/lusyv/OneDrive/Documents/Elevation/projects/vcpkg/downloads/tools/msys2/b1b4e6089ab84adb
-- Using cached C:/Users/lusyv/OneDrive/Documents/Elevation/projects/vcpkg/downloads/v8-7565e93eb72cea4268028fc20186d415c22b1cff.tar.gz
-- Cleaning sources at C:/Users/lusyv/OneDrive/Documents/Elevation/projects/vcpkg/buildtrees/v8/src/15c22b1cff-c34597ce8b.clean. Use --editable to skip cleaning for the packages you specify.
-- Extracting source C:/Users/lusyv/OneDrive/Documents/Elevation/projects/vcpkg/downloads/v8-7565e93eb72cea4268028fc20186d415c22b1cff.tar.gz
-- Applying patch C:/Users/lusyv/OneDrive/Documents/Elevation/projects/vcpkg/ports/v8/v8.patch
-- Using source at C:/Users/lusyv/OneDrive/Documents/Elevation/projects/vcpkg/buildtrees/v8/src/15c22b1cff-c34597ce8b.clean
-- Fetching submodules
-- Generating v8 build files. Please wait...
-- Generating build (x86-windows-dbg)...
CMake Error at scripts/cmake/vcpkg_execute_required_process.cmake:106 (message):
Command failed: C:/Users/lusyv/OneDrive/Documents/Elevation/projects/vcpkg/downloads/tools/gn/qUkAhy9J0P7c5racy-9wB6AHNK_btS18im8S06_ehhwC/gn.exe gen C:/Users/lusyv/OneDrive/Documents/Elevation/projects/vcpkg/buildtrees/v8/x86-windows-dbg "--args=is_component_build=true target_cpu="x86" v8_monolithic=false v8_use_external_startup_data=true use_sysroot=false is_clang=false use_custom_libcxx=false v8_enable_verify_heap=false icu_use_data_file=false is_debug=true enable_iterator_debugging=true pkg_config_libdir="/cygdrive/c/Users/lusyv/OneDrive/Documents/Elevation/projects/vcpkg/installed/x86-windows/debug/lib/pkgconfig""
Working Directory: C:/Users/lusyv/OneDrive/Documents/Elevation/projects/vcpkg/buildtrees/v8/src/15c22b1cff-c34597ce8b.clean
Error code: 1
See logs for more information:
C:\Users\lusyv\OneDrive\Documents\Elevation\projects\vcpkg\buildtrees\v8\generate-x86-windows-dbg-out.log
C:\Users\lusyv\OneDrive\Documents\Elevation\projects\vcpkg\buildtrees\v8\generate-x86-windows-dbg-err.log
Call Stack (most recent call first):
scripts/cmake/vcpkg_configure_gn.cmake:45 (vcpkg_execute_required_process)
scripts/cmake/vcpkg_configure_gn.cmake:53 (generate)
ports/v8/portfile.cmake:145 (vcpkg_configure_gn)
scripts/ports.cmake:136 (include)
Error: Building package v8:x86-windows failed with: BUILD_FAILED
Please ensure you're using the latest portfiles with .\vcpkg update, then
submit an issue at https://github.com/Microsoft/vcpkg/issues including:
Package: v8:x86-windows
Vcpkg version: 2020.11.12-nohash
Additionally, attach any relevant sections from the log files above.

Please attach the log files for further review to aid in troubleshooting:
C:\Users\lusyv\OneDrive\Documents\Elevation\projects\vcpkg\buildtrees\v8\generate-x86-windows-dbg-out.log
C:\Users\lusyv\OneDrive\Documents\Elevation\projects\vcpkg\buildtrees\v8\generate-x86-windows-dbg-err.log

Pretty sure you're missing the Windows SDK 10.0.19041.0 package from VS Installer.
Install that and try again

We don't have enough information to solve this issue, unfortunately; if you have any more information to help us solve this, please reopen!


dotnet: missing dependency for dotnet-hostfxr and hostfxr not published

Describe the bug
The dotnet binary has a codepath with requires a binary provided by dotnet-hostfxr but the package manager doesn't know about this requirement.
To Reproduce
Steps to reproduce the behavior:
cameronbaird@cam-mariner [ ~/repos/mariner-2 ]$ sudo dnf install dotnet-host -y
...
cameronbaird@cam-mariner [ ~/repos/mariner-2 ]$ dotnet tool install -g git-credential-manager
Error: [/usr/share/dotnet/host/fxr] does not exist
cameronbaird@cam-mariner [ ~/repos/mariner-2 ]$ sudo dnf whatprovides /usr/share/dotnet/host/fxr
Last metadata expiration check: 0:00:48 ago on Thu Mar 28 20:44:11 2024.
dotnet-hostfxr-6.0-6.0.5-1.x86_64 : Microsoft .NET Host FX Resolver - 6.0.5
Repo        : mariner-official-microsoft
Matched from:
Filename    : /usr/share/dotnet/host/fxr
Expected behavior
A clear and concise description of what you expected to happen.
When I try to remedy the missing dep manually:
sudo dnf install dotnet-hostfxr -y
Last metadata expiration check: 0:03:36 ago on Thu Mar 28 20:44:11 2024.
No match for argument: dotnet-hostfxr
Error: Unable to find a match: dotnet-hostfxr
Screenshots
If applicable, add screenshots or log outputs to help explain your problem.

Found this when following: https://eng.ms/docs/cloud-ai-platform/devdiv/one-engineering-system-1es/1es-docs/1es-security-configuration/configuration-guides/gcm?tabs=linux-install

Might be worth reporting a bug against https://github.com/dotnet/core/issues. They are the maintainer of the Mariner binary packages. Closing this bug for now.


Compile against supported openssl version

Purpose
The crate openssl has a struct called SslOptions that provides bit flags.
These flags can be used to controll the behavior of an SslContext.

Bit Flags (also: Bit Fields) can be used to store more than one
boolean value in one byte or a whole set of bytes.

The use of one particular bit flag is currently causing a compile
error on machines running Ubuntu 18.04 LTS, that tries to build
FerrumFIX without having OpenSSL version 1.1.1 or newer installed.
This pull request removes the build error on Ubuntu 18.04 LTS
by adding conditional compilation to the lines of code that are causing the error.
Problem
In file fefix/src/fixs/mod.rs the SslOptions bit flag NO_TLSV1_3
is used to disable the use of TLSv1.3.
However, on Ubuntu 18.04 LTS, the use of bit flag NO_TLSV1_3
introduces a dependency on the target machine - requiring OpenSSL 1.1.1
or newer to be installed. If OpenSSL 1.1.1 or newer is not installed, then the
Rust compiler will fail  with the  error message:
error[E0599]: no associated item named `NO_TLSV1_3` found for struct `openssl::ssl::SslOptions` in the current scope
   --> fefix/src/fixs/mod.rs:118:49
    |
118 |                 context.set_options(SslOptions::NO_TLSV1_3);
    |                                                 ^^^^^^^^^^
    |                                                 |
    |                                                 associated item not found in `openssl::ssl::SslOptions`
    |                                                 help: there is an associated constant with a similar name: `NO_TLSV1_1`

error: aborting due to previous error

Approach
This Pull Request provides an easy solution to the described problem
by using conditional compilation, as proposed by @neysofu .
By adding a configure attribute to the NO_TLSV1_3 bit flag, the Rust
compiler will ignore the bit flag unless OpenSSL 1.1.1 or newer is
installed on the machine at compile time.
// In file: fefix/src/fixs/mod.rs
#[cfg(openssl111)]
context.set_options(SslOptions::NO_TLSV1_3);

Tested solution

Machine used: Dell Latitude E7470, running Ubuntu 18.04LTS.

The solution has been tested by the following procedure:

Fork the latest ferrum-fix commit on branch develop (commit: dd03638 )
Git clone and run cargo build locally
Verify that cargo build fails due to openssl dependency error
Make changes in a seperate branch
Run cargo build and verify that openssl error disapears

Open Questions and Pre-Merge TODOs
This pull request was only tested on Ubuntu version 18.04 LTS.
Some open (and potentially high priority) questions  remain:

[ ] Does the same cargo build error occur on machines running LibreSSL?
[ ] If the problem would turn out to exists on machines running LibreSSL - does the
solution proposed in this pull request solve the issue?
[ ] Is TLS 1.3 supported in LibreSSL, and if so, from which version and onward?
[ ] Does the same problem exist for machines running Windows?
[ ] Does support for TLS 1.3 varry between clients and servers?

Learning
Preparation for this pull request mostly consisted of reading about
conditional compilation and getting acquainted with openssl.
Sources used

Conditional compilation
Crate openssl
Bit Flag `NO_TLSV1_3
LibreSSL 3.1.1 release notes

Hi @cryptopatrick, thanks for looking into this and taking the time to make this PR.
Compilation failure due to an outdated version of OpenSSL is clearly undesirable behavior, so I agree that the current situation needs fixing. Let's think about this. We need to take into considerations several factors:

Each revision of the FIXS standard mandates a specific range of protocol versions, e.g. TLS 1.2/1.3 in the case of FIXS v1.1-rc1. Currently, FerrumFIX only supports v1.0-draft, but that will change very soon. I want our solution to be future-proof and not specific to the current revision of the FIXS standard. 1
Each protocol version in turn requires a specific minimum version of OpenSSL, e.g. TLS 1.3 requires OpenSSL 1.1.1+. 2
OpenSSL dependency should not be turned on by default, but rather be opt-in via a crate feature. The same applies for rustls, if and when we decide to add support.

Given these constraints, I would also like to note that modifying the behavior of the library based on the version of OpenSSL is currently installed is bad security practice. Sure, the openssl111 approach is innocuous enough, but it's quite the slippery slope, don't you think? What happens to openssl111 once FIXS suggests TLS 1.3+ for all users? Will we disable it for people who haven't selected openssl111 despite obvious security concerns?
Please note that besides the feature itself we also need to make it available to users in fefix/Cargo.toml. Marking regions of the code with #[cfg(feature = "..."]) is not enough. See the related code review above.
My proposal
Rather that exposing weird, low-level versioning details of OpenSSL via features like openssl111, let's create crate features like the following:

fixs10, fixs11 (depending on what version of FIXS users want).
fixs-util-openssl, which enables OpenSSL-specific features for the selected FIXS version.

This way, we avoid dealing with OpenSSL versioning issues almost entirely and we ask users to update if and only if they wish to use the most recent features, like fixs11 and any future versions.
Pressing issues

[ ] Does the same cargo build error occur on machines running LibreSSL?

Not sure, I'll have to investigate and set up some tests to run on the CI server.

[x] If the problem would turn out to exists on machines running LibreSSL - does the
solution proposed in this pull request solve the issue?

The openssl crate supports LibreSSL, so things should work out fine. They might require additional tuning and fixes though, but I'm cautiously optimistic. Same answer as above!

[ ] Is TLS 1.3 supported in LibreSSL, and if so, from which version and onward?

3.2.2, but it doesn't expose OPENSSL_NO_TLS1_3. I'll have to think about what to do about this.

[x] Does the same problem exist for machines running Windows?

Assuming OpenSSL 1.1.1+ is not installed, yes. The solution is the same, too.

[x] Does support for TLS 1.3 varry between clients and servers?

OpenSSL supports both, which is what I'd like to solve with this PR. I'll create an issue to discuss LibreSSL and rustls in the future.


nixos/openldap: Fix quoting of log level

Motivation for this change
You cannot specify multiple log levels right now (like acl trace).
Things done

[ ] Tested using sandboxing (nix.useSandbox on NixOS, or option sandbox in nix.conf on non-NixOS)
Built on platform(s)

[ ] NixOS
[ ] macOS
[ ] other Linux distributions

[ ] Tested via one or more NixOS test(s) if existing and applicable for the change (look inside nixos/tests)
[ ] Tested compilation of all pkgs that depend on this change using nix-shell -p nox --run "nox-review wip"
[ ] Tested execution of all binary files (usually in ./result/bin/)
[ ] Determined the impact on package closure size (by running nix path-info -S before and after)
[ ] Assured whether relevant documentation is up to date
[ ] Fits CONTRIBUTING.md.

Hm, I just tested passing -d "acl trace" and slapd said
unrecognized log level "acl trace"
Where is it documented that it should be able to take string values like that, like the nixos module example says?

Ah, I think the CLI option only takes one word, but it can be passed multiple times: -d acl -d trace. Perhaps the multiple loglevels can be set at once in the config file.
Then to really make the loglevel setting correct, either we should make it a list of strings, or set the loglevel option in the config file rather than on the command-line.

Where is it documented that it should be able to take string values like that, like the nixos module example says?

man slapd, man slapd.conf.

After reading a bit more, I think the point of the original "-d 0" argument in the nixos module was just to prevent slapd from forking. slapd loglevels are bitfields, so the -d 0 is really a NOP wrt. logging.

Btw, there's lib.escapeShellArg you could've used instead


Week of Dec 10

minor formatting issues
added timestamps to the 'meta' sub-object

Approved on 12/12 call


Add brief help descriptions with (?) near components

e.g., near Client ISPs, Metric, Time Aggregation etc.

closing for now. we can add more as needed.


Add vk.com pixel

Hi! I added a pixel that allows to monitor site visitors and to match them to the audience of the social network vk.com

Ok, I corrected it

Sorry, I didn't notice that. I corrected it.

Perfect, thanks!


Database authentication guide

To generated locally ./gradlew clean micronautSecuritySessionDatabaseAuthenticationBuild
open build/dist/index.html

Failing for Java 21 and Maven 🤔
I'll take a look

🎉


Change maven version from 3.3.3 to 3.3.9

What is this PR for?
Change maven version from 3.3.3 to 3.3.9 in vagrant script and documentation due to path to 3.3.3 doesn't exist (return 404 from apache mirror)
What type of PR is it?
Bug Fix | Documentation
What is the Jira issue?
ZEPPELIN-1299
Questions:

Does the licenses files need update? no
Is there breaking changes for older versions? no
Does this needs documentation? no

@yoonjs2 Thank you for taking care of this. Could you update the below sentence as well in this section? :)
mvn --version should report Apache Maven 3.3.3

to
mvn --version should report Apache Maven 3.3.9

@AhyoungRyu Thanks for comment! Of course I did :)

This seems to overlap with PR #1264?

@felixcheung Thanks for comment but this PR (#1294) for vagrant script and its documentation under scripts/vagrant/zeppelin-dev. PR #1264 for root README.md about How to build Zeppelin. It may confusing because title of PR doesn't describe its scope of change. Should I change the title?

I think it'd be great if you update the PR title and PR description. Thanks!

Merge if there is no more discussion


Opening hours

POI opening hours would be a really cool thing to have, especially useful for bars and food courts. "Nearest bar" at 5 am is quite useless if the only bar that is still open at that time is the Uptime Bar.

that is correct, but implementing a full-features opening times data structure would be too much for now.

Are there any POIs with different opening times on different days? I don't think so. So opening and closing time would be enough then.


Straight-thru gradients vs Gumbel Softmax

I'm curious if you considered trying the gumbel softmax as an alternative to the way you implemented straight-thru gradients in this paper/code. It seems like it might be a less-biased way of backpropagating through the operation of sampling from a categorical distribution. The "hard" variant allows you to retain a purely discrete one-hot output in the forward pass, as you did here.
As I understand it, you implemented:

forward: one_hot(draw(logits))
backward: softmax(logits, temp=1)

And the (hard version of the) gumbel softmax is:

forward: one_hot(arg_max(log_softmax(logits) + sample_from_gumbel_dist)
backward: softmax(log_softmax(logits) + sample_from_gumbel_dist), temp=temp_hyperparam)

The forwards in both versions are equivalent - the second is just a reparameterization of the first. By altering the temperature hyperparameter, you can trade off bias and variance.

Hey, I've tried gumble softmax back then but found it required careful temperature tuning and even temperature annealing to match the performance of straight-through gradients, which are easier and free of hparams. It's possible that gumble can be made to work better though, I'm not sure.


Iterators for the SparseMap

SparseMap should have both non-const and const iterators.
https://github.com/LesleyLai/Beyond-Game-Engine/blob/1050615ed73fe3210ecc61a33b06d36f9f907b2e/Engine/core/include/core/ecs/sparse_map.hpp#L40-L188

Need to research how to implement -> operator on proxy std::pair

Resolved


CAS and multiple authentication handlers

I connected my CAS to our corporate AD FS, is there any way to have multiple authentication handlers? For example AD FS + DatabaseAuthenticationHandler ?
Normally CAS will loop through all authentication handlers specified in the configuration until one of them succeeds, but in AD FS case user is redirected to FS's login page. Is it possible to have sort of a backdoor to get directly to another authentication handler or something?

https://github.com/Unicon/cas-adfs-integration/blob/master/cas-server-support-wsfederation-sample-site/src/main/webapp/WEB-INF/login-webflow.xml#L88 is what triggers the redirect to ADFS. Restore that line back to the default and in the login view construct a link using the variable WsFederationIdentityProviderUrl (which will effective replace https://github.com/Unicon/cas-adfs-integration/blob/master/cas-server-support-wsfederation-sample-site/src/main/webapp/WEB-INF/login-webflow.xml#L202) and then the user will see the CAS login page. They can either type in credentials for use with the other handlers or click a link and be redirected to ADFS.


Sort output of docker ps --filter with order by creation time

- What I did
This fix tries to address the issue raised in #25374 where the output of docker ps --filter is in random order and not deterministic.
- How I did it
This fix sorts the list of containers by creation time so that the output is deterministic.
- How to verify it
An integration test has been added.
- Description for the changelog
- A picture of a cute animal (not mandatory but encouraged)
This fix fixes #25374.
Signed-off-by: Yong Tang<EMAIL_ADDRESS>

Thanks @yongtang; left some comments/suggestions, but works good otherwise

@thaJeztah The pull request has been updated. Please let me know if there are any issues.

Awesome! LGTM
ping @estesp @vdemeester PTAL

LGTM :cat:

Added this to the 1.12.1 milestone as this is a regression introduced in 1.12 (through https://github.com/docker/docker/pull/23084)


Make it work with rem

I can help with this, but you'll need to put this on cocoapods first. Seems like the npm module and the cocoapods module should be owned by the same person.
https://github.com/ReactExtensionManager/rem#writing-modules-for-rem-for-module-authors

pod spec lint react-native-camera.podspec
 -> react-native-camera (0.2.8)
    - WARN  | Github repositories should use an `https` link.
    - ERROR | [iOS] Returned an unsuccessful exit code. You can use `--verbose` for more information.
    - NOTE  | [iOS]  react-native-camera/RCTCameraManager.h:1:9: fatal error: 'RCTViewManager.h' file not found
    - NOTE  | [iOS]  react-native-camera/RCTCamera.m:1:9: fatal error: 'RCTBridge.h' file not found
    - WARN  | [iOS]  react-native-camera/UIImage+Resize.m:136:22: warning: implicit conversion from enumeration type 'enum CGImageAlphaInfo' to different enumeration type 'CGBitmapInfo' (aka 'enum CGBitmapInfo') [-Wenum-conversion]
    - WARN  | [iOS]  react-native-camera/UIImage+Resize.m:170:13: warning: enumeration values 'UIImageOrientationUp' and 'UIImageOrientationUpMirrored' not handled in switch [-Wswitch]
    - WARN  | [iOS]  react-native-camera/UIImage+Resize.m:190:13: warning: 4 enumeration values not handled in switch: 'UIImageOrientationUp', 'UIImageOrientationDown', 'UIImageOrientationLeft'... [-Wswitch]
    - WARN  | [iOS]  react-native-camera/UIImage+Resize.m:18:17: warning: method definition for 'thumbnailImage:transparentBorder:cornerRadius:interpolationQuality:' not found [-Wincomplete-implementation]
    - NOTE  | [iOS]  react-native-camera/UIImage+Resize.h:12:1: note: method 'thumbnailImage:transparentBorder:cornerRadius:interpolationQuality:' declared here
    - WARN  | [iOS]  react-native-camera/UIImage+Resize.m:167:1: warning: category is implementing a method which will also be implemented by its primary class [-Wobjc-protocol-method-implementation]
    - NOTE  | [iOS]  react-native-camera/UIImage+Resize.m:15:1: note: method 'transformForOrientation:' declared here

Changed my podspec:
Pod::Spec.new do |s|

  s.name         = "react-native-camera"
  s.version      = "0.2.8"
  s.summary      = "A Camera component for React Native. Also reads barcodes."
  s.homepage     = "https://github.com/lwansbrough/react-native-camera"
  s.license      = { :type => "MIT", :file => "LICENSE" }
  s.author       = { "Lochlan Wansbrough" =><EMAIL_ADDRESS>}
  s.platform     = :ios, "7.0"
  s.source       = { :git => "https://github.com/lwansbrough/react-native-camera.git", :tag => "v0.2.8" }
  s.source_files = "*.{h,m}"
  s.requires_arc = true
  s.dependency 'React'
end

And now I'm getting this:
$ pod spec lint react-native-camera.podspec
[!] /bin/bash -c camera
set -e
npm install

><EMAIL_ADDRESS>install /Users/loch/Library/Caches/CocoaPods/Pods/Release/React/0.4.4-17e98/node_modules/ws

> (node-gyp rebuild 2> builderror.log) || (exit 0)

  CXX(target) Release/obj.target/bufferutil/src/bufferutil.o

><EMAIL_ADDRESS>install /Users/loch/Library/Caches/CocoaPods/Pods/Release/React/0.4.4-17e98/node_modules/jest-cli/node_modules/jsdom/node_modules/contextify

> node-gyp rebuild

  CXX(target) Release/obj.target/contextify/src/contextify.o

  SOLINK_MODULE(target) Release/contextify.node
npm WARN engine<EMAIL_ADDRESS>wanted: {"node":"0.8.x || 0.10.x"} (current: {"node":"2.2.1","npm":"2.11.0"})

npm WARN engine<EMAIL_ADDRESS>wanted: {"node":"~0.10"} (current: {"node":"2.2.1","npm":"2.11.0"})

ld: library not found for -lgcc_s.10.5

clang: error: linker command failed with exit code 1 (use -v to see invocation)

make: *** [Release/contextify.node] Error 1

gyp ERR! build error

gyp ERR! stack Error: `make` failed with exit code: 2

gyp ERR! stack     at ChildProcess.onExit (/usr/local/lib/node_modules/npm/node_modules/node-gyp/lib/build.js:269:23)

gyp ERR! stack     at emitTwo (events.js:87:13)

gyp ERR! stack     at ChildProcess.emit (events.js:172:7)

gyp ERR! stack     at Process.ChildProcess._handle.onexit (internal/child_process.js:199:12)

gyp ERR! System Darwin 14.0.0

gyp ERR! command "/usr/local/bin/iojs" "/usr/local/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js" "rebuild"

gyp ERR! cwd /Users/loch/Library/Caches/CocoaPods/Pods/Release/React/0.4.4-17e98/node_modules/jest-cli/node_modules/jsdom/node_modules/contextify

gyp ERR! node -v v2.2.1

gyp ERR! node-gyp -v v1.0.3

gyp ERR! not ok

npm WARN prefer global<EMAIL_ADDRESS>should be installed with -g

npm ERR! Darwin 14.0.0

npm ERR! argv "/usr/local/bin/iojs" "/usr/local/bin/npm" "install"

npm ERR! node v2.2.1

npm ERR! npm  v2.11.0

npm ERR! code ELIFECYCLE

npm ERR<EMAIL_ADDRESS>install: `node-gyp rebuild`

npm ERR! Exit status 1

npm ERR!

npm ERR! Failed at the<EMAIL_ADDRESS>install script 'node-gyp rebuild'.

npm ERR! This is most likely a problem with the contextify package,

npm ERR! not with npm itself.

npm ERR! Tell the author that this fails on your system:

npm ERR!     node-gyp rebuild

npm ERR! You can get their info via:

npm ERR!     npm owner ls contextify

npm ERR! There is likely additional logging output above.

npm ERR! Please include the following file with any support request:

npm ERR!     /Users/loch/Library/Caches/CocoaPods/Pods/Release/React/0.4.4-17e98/npm-debug.log


Update 2020-09-12_editorconfig.md

I made changes that were more than grammar.

Thanks!  I made a couple copy edits on your proposed changes.  You can create another PR if you think there are still improvements to be made.


401 status code, even though Bearer token is valid?

I am visiting https://localhost:5001/connect/token, getting my token and then passing it as the value to the Authorization header key although the endpoint with has [Authorize] still returns a 401?
Here is my Startup.cs:
public class Startup
{
    public Startup(IConfiguration configuration)
    {
        Configuration = configuration;
    }

    public IConfiguration Configuration { get; }

    // This method gets called by the runtime. Use this method to add services to the container.
    public void ConfigureServices(IServiceCollection services)
    {
        services.ConfigureApplicationCookie(config =>
        {
            config.Events = new CookieAuthenticationEvents
            {
                OnRedirectToLogin = ctx => {
                    ctx.Response.StatusCode = (int)HttpStatusCode.Unauthorized;
                    return Task.FromResult(0);
                }
            };
        });

        services.AddAuthentication(options =>
            {
                options.DefaultScheme = IdentityServerAuthenticationDefaults.AuthenticationScheme;
                options.DefaultAuthenticateScheme = JwtBearerDefaults.AuthenticationScheme;
                options.DefaultChallengeScheme = JwtBearerDefaults.AuthenticationScheme;
            })
            .AddIdentityServerAuthentication(options =>
            {
                options.Authority = "http://localhost:5001";
                options.ApiName = "api";
            });

        services.AddControllers();

        services.AddSingleton<IDatabaseProvider, DatabaseProvider>();

        services.AddTransient<UserDao>();
        services.AddTransient<IResourceOwnerPasswordValidator, ResourceOwnerPasswordValidator>();

        services.AddIdentityServer()
            .AddDeveloperSigningCredential()
            .AddInMemoryApiScopes(ApiConfig.GetApiScopes())
            .AddInMemoryApiResources(ApiConfig.GetApiResources())
            .AddInMemoryClients(ApiConfig.GetClients())
            .AddResourceOwnerValidator<ResourceOwnerPasswordValidator>();
    }

    // This method gets called by the runtime. Use this method to configure the HTTP request pipeline.
    public void Configure(IApplicationBuilder app, IWebHostEnvironment env)
    {
        if (env.IsDevelopment())
        {
            app.UseDeveloperExceptionPage();
        }

        app.UseHttpsRedirection();

        app.UseRouting();

        app.UseAuthentication();

        app.UseAuthorization();

        app.UseEndpoints(endpoints => { endpoints.MapControllers(); });

        app.UseIdentityServer();
    }
}

Check the logs in your API host to see what they say.

It is a local API, no logs with any relevant data, and nothing being printed to the console.

take a look in your jwt. Does you jwt includes the scope name "api"? it not you need to configure your client definition.


Updated buttons and discord badge

Fixes #258
Describe the changes you have made in this pr -
I have made the appropriate changes as requested in #259
@satu0king Can you please review this

Something is wrong here

@satu0king Sorry, my mistake.
I have included the missing discord channel link.


Typeface Request

Hi Eddie, Liebling is a great theme, one of the best CMS themes, but can you allow choosing different typefaces or try out a different font from development, the source sans pro typeface looks somehow, won't say boring but it's not allowing the theme reach full potentials.
Might consider Inter, Lato or some other nice fonts.

Hi Moses,
Thanks for your input, I appreciate it. However, I'm afraid that providing different typefaces is something that I don't plan to do it, the reason is because it's a bit tricky to implement, I don't want to increase the size of the zip file by including multiple font files that users might or might not use. Using Google fonts directly is not an option due GDPR concerns.
What I could do in the future is to change the current typeface, Inter and Lato are good options, I will think about it 👍🏻
In the meantime, if you want to change the font you can follow the steps described in this thread.

Yeah, I actually thought of going through that process already, even before i saw the thread, just had to inform you as some people are not really tech savvy and may also want to change the typeface. I'll change the fonts myself, Thank you Eddie.


Null element in the column will crash when query with order by and limit;

Describe the bug
when I type select * from t order by v1 limit 4, because there is a Null element in v1, RW return a error
To Reproduce
create table t (v1 int);
insert into t values (1),(2),(3),(null);
select * from t order by v1;
result is ok
select * from t order by v1 limit 4;
ERROR:  internal error: error reading a body from connection: broken pipe
Expected behavior
Null
1
2
3
Additional context
Add any other context about the problem here.

This has been fixed in the main branch: #2826


Tags garbage collecting

Is the tag table cleaned at some point or will it only ever grow? I couldn't find information about that in the doc. That could be a problem when adding tags with dynamic values.

The tag table (tracing) only ever grows. At this time, there is no job that attempts to identify tags that are no longer in use to remove them.
Can you give me some examples of the kinds of tag values that worry you?

I don't hit a limitation myself since I'm pretty early in instrumenting my code. It could become a problem if you add for example a session id, user IP...
In any case, I think this limitation should be documented.

Implementing the tags cleanup is dependent on productionizing the cache invalidation. more details here


missing MLM traning files for replication?

Hello,
I am trying to reproduce your results.  The mlm.sh file references training and test data files that I do not see in your repo:
--train_data_file $DATA_DIR/testdata/mlm_pretrain_enwiki.train.t \
--eval_data_file $DATA_DIR/testdata/mlm_pretrain_enwiki.test.t \

Any help appreciated.

Hi, I have the same problem could you find any solution?

Hi, I have the same problem could you find any solution?

Hi, I am confused about this issue. Can you help in some way? Thank you for your advice.


v1.1.0 beta

Hi guys,
I just build v1.1.0-beta. Thanks to everybody, who contributed and helped to improve jsxc. If you have time, please test and report issues.
If no showstopper bug occurs, we will release 1.1.0 around Sunday. Together with this release I will also move all repositories to the new jsxc organisation and delete the css/ folder.
@Zauberstuhl @dimaursu @jhass
Best regards,
Klaus

Nice! Good idea with the css/ folder, it confused me a lot in a diff.

awesome ! I will have a look at my PR asap. Good job

@shaggybb

Nice! By the moment, everything seems work properly.
I love ajax login!

Hi @sualko,
I have found that jsxc.gui.init method is called twice and it duplicates the jsxc_windowList and jsxc_windowListSB divs on the body. The first call is into jsxc.init and second into jsxc.xmpp.connected.
To avoid duplication, I have done this pull request #126 to try to resolve it. May be, there is another way to do that but for the moment it avoids the problem.


Double updateing

Hi,
I have a cron job that checks for updates every 30 mins. with this:
/usr/local/bin/arkmanager update --update-mods --warn --saveworld
But all weekend it seesm to be updateing, then 30 misn later shuting down for an update but the second update seems to do nothing, the client does not update nor does it download any mods on the second one, but does first pass.
Any idea what is happening?

Yes I know, but it's not that.,
When the arkmanger then the clients usually do as well, if it is a mod update then they definitely will, and most server updates are also client updates (but not always)
But what I have been seeing today is when ark updates the next cron job will also trigger the shutdown for update but nothing is updated as far as I can tell.  All day it has been this way.

Do you have 111111111 in your ShooterGame/Content/Mods directory?  If so, then the hotfix that ignores the Primitive+ "mod" will be needed.

Ok, installing the hotfix, cheers, do I need to worry about this message?
WARNING: A previous version of ARK Server Tools was detected in your system, your old configuration was not overwritten. You may need to manually update it.
ARK Server Tools were correctly installed in your system inside the home directory of steam!

This message just means that an existing config was found (expected).  Since no changes occurred to the default config, you can ignore this.

Please, close your ticket if you think it's resolved :)


module object has no attribute _RawStore

Hi !
I was hit by this issue that I solved by deleting my caches :/ I'd like to know if there's a way to avoid that.
I was refactoring my code, moving a module up to another one. Suddenly when I ran my scripts I got:
File "/home/vince/.virtualenvs/abelujo/local/lib/python2.7/site-packages/requests/api.py", line 50, in request
    response = session.request(method=method, url=url, **kwargs)
  File "/home/vince/.virtualenvs/abelujo/local/lib/python2.7/site-packages/requests_cache/core.py", line 111, in request
    hooks, stream, verify, cert)
  File "/home/vince/.virtualenvs/abelujo/local/lib/python2.7/site-packages/requests/sessions.py", line 465, in request
    resp = self.send(prep, **send_kwargs)
  File "/home/vince/.virtualenvs/abelujo/local/lib/python2.7/site-packages/requests_cache/core.py", line 89, in send
    response, timestamp = self.cache.get_response_and_time(cache_key)
  File "/home/vince/.virtualenvs/abelujo/local/lib/python2.7/site-packages/requests_cache/backends/base.py", line 64, in get_response_and_time
    if key not in self.responses:
  File "/home/vince/.virtualenvs/abelujo/lib/python2.7/_abcoll.py", line 388, in __contains__
    self[key]
  File "/home/vince/.virtualenvs/abelujo/local/lib/python2.7/site-packages/requests_cache/backends/storage/dbdict.py", line 171, in __getitem__
    return pickle.loads(bytes(super(DbPickleDict, self).__getitem__(key)))
AttributeError: 'module' object has no attribute '_RawStore'

That problem goes away if I delete my cache databases. It looks like the database had information about a module or about a path and didn't find it back when unpickling an object. Fortunately they're not vital but still, I'd like to keep them. Do you have an idea of why this pb occured, and how I could keep my cached content ?
Regards,

Could you please provide steps to reproduce?

Can't reproduce. Feel free to reopen with steps to reproduce

Hey, sorry, I couldn't reproduce it either.


add CONTRIBUTING.md

according to redux-polyglot/issues/52.
write a new CONTRIBUTING.md

closed due to #5


Change shape and position of account chip in message list

At the moment (v 5.705) in the Unified View the account colour is displayed left of the subject for each message:

I like this, but on (very) small phones, this reduces the place available for the subject line. I want to propose to increase the space for message details:

To move the account colour to the left border of the whole message.
Move the attachment icon to the right border below (or above) the star (maybe it can be even clicked, so that the attachment will open?)
Reduce the space between the coloured name icon and the message details.

Environment
K-9 Mail version: 5.705
Android version: 8.1.0
Account type (IMAP, POP3, WebDAV/Exchange): IMAP

Optimizing for small screen sizes is not a priority. What might help and is available already:

Uncheck 'General settings > Display > Show contact pictures'
Use smaller font size: 'General settings > Font size > Message lists'

That's a workaround. Thanks for pointing it out. I even removed the star.
Still, I like the space saving layout better, even for bigger displays ...


Unable to use SDK in Vercel serverless environment due to proxy-agent dependency.

[x] I have checked that the SDK documentation doesn't solve my issue.
[x] I have checked that the API documentation doesn't solve my issue.
[x] I have searched the Box Developer Forums and my issue isn't already reported (or if it has been reported, I have attached a link to it, for reference).
[x] I have searched Issues in this repo and my issue isn't already reported.

Description of the Issue
I've built a NextJS app and have included the Box SDK within some API routes. These routes work locally and also from a clean GitPod environment. When the NextJS route is deployed to Vercel, I receive the following error when trying to execute any of the API routes that include Box SDK.
Steps to Reproduce

Create a NextJS starter project and place the lines of code below in an API route folder. This example is for demonstratable purposes only. Get Started with NextJS

import {
  BOX_CLIENT_ID,
  BOX_CLIENT_SECRET,
  BOX_CONTRACT_TEMPLATE_ID,
  BOX_ENTERPRISE_ID,
  BOX_USER_ID,
} from '@/constants'
import { BoxCcgAuth } from 'box-typescript-sdk-gen'

export async function GET(
  req: NextRequest
) {
  try {
    const authClient = new BoxCcgAuth({ config: this._config });
    const tokenResponse = await authClient.withUserSubject(BOX_USER_ID as string).retrieveToken()
    return NextResponse.json({ success: true }, { status: 200 })
  } catch (e) { return NextResponse.json({ success: false }, { status: 400 }) }
}

Deploy to Vercel.com with the free plan
Call the API from Postman

Expected Behavior
You should receive a 200
Error Message, Including Stack Trace
⨯ Error: Cannot find module 'proxy-agent'
Require stack:
- /var/task/.next/server/chunks/295.js
- /var/task/.next/server/webpack-runtime.js
- /var/task/.next/server/instrumentation.js
- /var/task/node_modules/next/dist/compiled/next-server/server.runtime.prod.js
- /var/task/___next_launcher.cjs
- /opt/rust/nodejs.js
    at Module._resolveFilename (node:internal/modules/cjs/loader:1145:15)
    at /var/task/node_modules/next/dist/compiled/next-server/server.runtime.prod.js:11:25613
    at Module._load (node:internal/modules/cjs/loader:986:27)
    at /opt/rust/nodejs.js:1:11604
    at Function.or (/opt/rust/nodejs.js:1:11978)
    at e.<computed>.te._load (/opt/rust/nodejs.js:1:11574)
    at Module.require (node:internal/modules/cjs/loader:1233:19)
    at b.require (/var/task/node_modules/next/dist/compiled/next-server/server.runtime.prod.js:11:25829)
    at a (/opt/rust/bytecode.js:1:1075)
    at createAgent (/var/task/.next/server/chunks/295.js:1:37998) {
  code: 'MODULE_NOT_FOUND',
  requireStack: [
    '/var/task/.next/server/chunks/295.js',
    '/var/task/.next/server/webpack-runtime.js',
    '/var/task/.next/server/instrumentation.js',
    '/var/task/node_modules/next/dist/compiled/next-server/server.runtime.prod.js',
    '/var/task/___next_launcher.cjs',
    '/opt/rust/nodejs.js'
  ]
}

Versions Used
Typescript SDK: "box-typescript-sdk-gen": "^1.1.0"
Platform: Vercel
Node.js (if applicable): 20x
"typescript": "^5.3.3"

Hi @andrusch
Can you take a look at this comment
Please let me know if it works for your case.
Bests,
Minh

Hey @congminh1254
Yep, this resolved the issue. Apologies for not finding that ahead of opening this.
Best,
Charlie


Upgrade go version to 1.17

Description of changes:
Upgrading go to a version that is compatible with curated packages.
By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.

/hold

/unhold


System crashes when adding gifs as the collection image

When I add a gif as an image for the collection cover the app crashes when I press submit.
https://snip.lol/JipE3/RiWidELu53.png

Hello,
I couldn't reproduce, could you please provide me some logs ? They should be located in var/log/prod.log from the project root directory.
Right now thought, the collection cover doesn't support animated images, you'll only get a static image (the first frame of the gif).
I think I have an idea how to handle it, I'll try a bit later.


Mandrill templates not working with django-mailer

When using django-mailer queue as the email backend, email message attribute template_name isn't saved, so djrill fails to use the correct mandrill API call and uses a regular send method without using the template.
My settings:
EMAIL_BACKEND = 'django_mailer.smtp_queue.EmailBackend'
MAILER_EMAIL_BACKEND = 'djrill.mail.backends.djrill.DjrillBackend'
When using djrill as EMAIL_BACKEND directly, it works fine.
Would be great to add full support of django-mailer.

It sounds like you're actually using django-mailer-2 (a.k.a. "django_mailer", with an underscore) -- not django-mailer (with a hyphen).
Django-mailer-2 is architected to work with an SMTP backend, not a backend that calls a web service like Djrill does. Django-mailer-2 queues a message by flattening it to an RFC822 message string and storing that in the DB. But that message string won't have any of Djrill's custom properties, so this will never work with Djrill. (And there's not really much we could do in Djrill to solve this.)
Django-mailer, on the other hand, pickles the original EmailMessage object and stores that in the DB to queue the message. This works just fine with Djrill, because the unpickled object at send time retains all of the original custom properties.
You have a couple of options:

If you want to keep using django-mailer-2, don't use Djrill. Instead, point django-mailer-2 directly at Mandrill's SMTP server, and use Mandrill's custom SMTP headers to specify templates and other Mandrill options.

If you want to keep using Djrill, don't use django-mailer-2. Instead, switch to django-mailer. Django-mailer's email backend will handle Djrill EmailMessage objects properly. (I've been using this combination successfully for a couple of years now on a site I run.)

One caveat on django-mailer: if you want to use its DontSendEntry blacklist, that's not enforced in its backend (only in django-mailer's send_mail and similar functions, oddly). So the blacklist won't apply if you use EmailMessage.send(). (This isn't specific to Djrill -- it applies to any usage of django-mailer.) Here's a gist with the function I use to queue a message into django-mailer while enforcing the DontSendEntry blacklist.

@medmunds Thank you for such elaborate answer!


Add a ConsensusHeader interface

Define an interface for the POW data of the BlockHeader
This is an extra layer of abstraction at first glance but represents the interface for all future consensus models that may be integrated into the package
Define it as part of the blockheader file

Resolved in e213d0482b9ababbd4f2850be01315993829fac1
Extended POW implementation in 6249845


proposal for serialisation of models

Description

Develop a text serialisation format for pybamm models
Write an export tool to export pybamm models into this format
Write an import tool to read in models in this format

Motivation
One of the original goals of PyBaMM was to facilitate the sharing of physics-based battery models. PyBaMM has been very successful in this, allowing users to share pybamm models created using the Python language. However, to enable a wider "shareability" of PyBaMM models I would propose that we need a text serialisation format that pybamm models can be converted to and created from. This would enable easiler interoperability of pybamm with other solvers or tools. For example, if someone was developing a battery model in Matlab they could write it out in this format for later import into pybamm. Or if someone was developing a battery parameterisation tool (in any language) they could allow the import of pybamm models by writing a reader for our serialisation format.
Possible Implementation
I would propose that we focus on serialisation of pybamm models that are already discretised and ready to be solved, as sharing a continuum model still leaves many questions on how in particular this model should be discretised.
My proposal for a serialisation format is a text based, human readable language based on tensors (inspired mainly by the TACO tensor algebra compiler for reference), and example of which is below. This is based on another project I'm working on and I'm happy to iterate on this, just wanted to put something down to start the conversation!
in_i {                    //"input" tensor, describes input parameters to the model
    r -> [0, inf],
    k -> [0, inf],
}
sm_ij {                     // rank 2 tensor (indexed by i and j)
    (0..2, 0..2): 1,       // diagonal entries denoted by .. range format
}
I_ij {
    (0:2, 0:2): sm_ij,    // block entries denoted by : range format
    (2, 2): 1,                // sparse tensors, any indices not here are implicitly zero
    (3, 3): 1,
}
u_i {
    y -> R**2 = 1,      // "u" tensor is the state, here y is a vector of dimension 2, initialised to 1 at t=0
    z -> R**2,
}
rhs_i {
    (r * y_i) * (1 - (y_i / k)),    // expressions use tensor index notation
    (2 * y_i) - z_i,
}
F_i {                                  // model equations expressed by "F" and "G" tensors
    dot(y_i),                       // such that the equations are $ F(u, \dot{u}, t) = G(u, t) $
    0,
    0,
}
G_i {
    sum(j, I_ij * rhs_i),          // this is a matrix multiply using a sum over index "j"
}
out_i {                             // "out" tensor describes that output of the model
    y_i,
    t,
    z_i,
}

Additional context
There have been a few proposals for serialisation formats for model parameters (e.g. BPX) but I would argue that the usefulness of these is very much hampered by the lack of a model serialisation format. Having a bunch of parameters means nothing unless you have a description of the model that uses these parameters. E.g. $y = exp(-at)$ with $a=1$ is very different to $y = exp(-at/10)$ with $a=1$, even if both of those models are very similar (you would describe them both as "exponential decay", just the details are different)

Sounds good. Anytree also have a json exporter which would be easier to implement but maybe not as generalizable. What about FMU?

FMU is nice that its an existing standard, I like that. The bit I don't like is the XML description, its machine readable but not human readable. There is a reason we program in languages and not in xml.....
Mind you, the "existing standard" bit is very convincing, so happy to be pursuaded!

can FMU do sparse vectors or linear algebra? I can't find this....?

an alternative to json is (flatbuffers https://flatbuffers.dev/). This could simplify transferring pybamm models to other languages (e.g. Julia)

There is also this: https://protobuf.dev/

I've been looking into this for a while, thought I'd leave a note as to where I'm at. Current plan as per the above conversation is to use JSON.Our initial approach was to use Pydantic for serialisation, which makes use of type annotations to create a schema/serialise the data.

Just wanted to post a quick progress update on this issue:
I first looked at Pydantic, a library which can use type annotations to generate a JSON schema for serialising Python objects. To integrate with Pydantic, PyBaMM would have to be type-hinted throughout and inherit from the Pydantic's BaseModel class. Actually, we’d have to make use to this patch which fixes a Pydantic issue related to property getters/setters – a pattern used frequently in PyBaMM. However Pydantic’s serialisation support doesn’t work out of the box for PyBaMM, since most PyBaMM objects are not natively JSON serialisable. I.e., it does not seem that Pydantic can infer this from the base types alone so we'd still have to manually the JSONEncoder for each PyBaMM object we wish to serialise.
While experimenting with Pydantic, I added type hints to most expression tree files. I’ll include these in a separate pull request even if they end up not being required for serialization.
Before continuing with Pydantic, I looked for more automated alternatives. JSONpickle is an obvious candidate: the library reads/writes JSON files for pickleable Python objects. The authors demonstrate cross-language support with a deserialization module that can reconstruct Python objects in JavaScript, but similar code could be written in any language. JSONpickle also supports complex Python objects: “py/id” tags are used to handle multiple references made to the same Python object.
I ran a few tests of JSONpickle. First, I serialized an expression tree (inspired by the PyBaMM expression tree example)
Import pybamm
import jsonpickle

y = pybamm.StateVector(slice(0,1))
t = pybamm.t

equation = 2*y * (1 - y) + t

eq_json = jsonpickle.dumps(equation, keys=True)
eq_loaded = jsonpickle.loads(eq_json, keys=True)

This works great! Next, I tried to serialize a model object which is part of a PyBaMM simulation (inspired by this example):
import pybamm
import jsonpickle
import jsonpickle.ext.numpy as jsonpickle_numpy
jsonpickle_numpy.register_handlers()

model = pybamm.lithium_ion.DFN()
sim = pybamm.Simulation(model)
state = sim.__getstate__()

model_json = jsonpickle.dumps(state[‘model’], keys=True)
model_r = jsonpickle.loads(model_json, keys=True)

Unfortunately, this code produces errors. I started debugging by writing a script that recurses through the object and tries dumping & loading each property. This reveals errors with multiple properties in the object structure. I’ve attached a stack dump I generated: 2023-07-06_13-06-43.txt
I’m going to continue debugging issues here while having a look at Google Protobuf as an alternative cross-platform serialisation method.


[BUG] GUI Transparency Interference

Description
Certain menus do not have filled background colors, thus resulting in a transparent background and interfering with the usability of the menus.
Reproduction

Any menu that results from hovering. (Server names, settings, information about icon, etc).
Server menu.

Screenshots
Here are just a few

Setup

OS: Windows
Client Mod: BetterDiscord
Release Channel: Stable
Enabled Themes: Zelk (Only)
Enabled Plugins: N/A

Not in my experience. Have you changed the --background-floating or --background-1 variables?

v1.1.1
It has been like this say day one. The only code changes are displaying the scrollbar and implementing split text that you gave me.

Try downloading v1.2, you will have to re-enable scrollbars btw

I noticed your 1.2 push happened about 2 minutes before my issue report, unlucky as I would have just pulled it,
1.2 fixes the issue, closed.

I'm going to reopen this for the sake of not spamming you; we can close it shortly after.
Due to the split text implementation, my message prompt is looking cluttered. I'm only familiar with discord bots, not themes, so would you down to provide me the needed code to increase the chat lower cutoff?

The image and text are obviously hidden behind the message prompt, but the message background CSS is obviously not cutoff yet.
What's it going to take to make it look like so:

.messagesWrapper-1sRNjr {margin-bottom: 8px;}

add some pixels if you'd like there to be a space


Explicitly defining data type, but get: "could not determine data type of parameter $1"

Version
1.25.0
What happened?
Hi, thanks for contributing to such an awsome library.
I'm trying to define explicit data types in my query, but I keep getting "could not determine data type of parameter $1" error.
My code:
-- name: ScanReports :many
SELECT *
FROM reports
WHERE
ST_DWithin(
    point,
    ST_Point(@lat::DOUBLE PRECISION, @long::DOUBLE PRECISION, 3857),
    @radius::DOUBLE PRECISION
)
AND region = $4
AND occur_at >= $5
AND occur_at <= $6
ORDER BY occur_at
LIMIT $7;

instead of DOUBLE PRECISION, I've also tried: float, text. Nothing works.
I'm not sure how this feature is supposed to work since documentation doesn't elaborate, so I might be completely using it wrong.
Thank you.
Note: I'm using sql_package: "pgx/v5", which I can't add to playground.
Relevant log output
could not determine data type of parameter $1

Database schema
CREATE TABLE reports (
    id SERIAL PRIMARY KEY,
    created_at TIMESTAMPTZ NOT NULL DEFAULT CURRENT_TIMESTAMP,
    occur_at TIMESTAMPTZ NOT NULL,
    external_src_id TEXT NOT NULL,
    neighborhood TEXT,
    location_type TEXT,
    crime_type crime_type NOT NULL,
    region region NOT NULL,
    point geometry(Point, 3857) NOT NULL,
    lat DOUBLE PRECISION NOT NULL,
    long DOUBLE PRECISION NOT NULL
);

SQL queries
-- name: ScanReports :many
SELECT *
FROM reports
WHERE
ST_DWithin(
    point,
    ST_Point(@lat::DOUBLE PRECISION, @long::DOUBLE PRECISION, 3857),
    @radius::DOUBLE PRECISION
)
AND region = $4
AND occur_at >= $5
AND occur_at <= $6
ORDER BY occur_at
LIMIT $7;

Configuration
No response
Playground URL
https://play.sqlc.dev/p/d0ce752bc2b6c9fb35b1b5c114ab6e8959c10b5685381cb181033ccc0b6c79c0
What operating system are you using?
Windows
What database engines are you using?
PostgreSQL
What type of code are you generating?
Go

I ran into a similar issue yesterday and finally figured out that this is caused by skipping a numbered parameter. sqlc can not determine the type of $1, because it is not used in your query.
If you rewrite your query like to use $1..$4 instead of $4..$7, it works.
https://play.sqlc.dev/p/b601faca75148b3a49705675aedac91758588632b27de60ec4a51679057f91d6

@AmirSolt had the same issue, but followed @phooijenga and it works!! +💯


Fix #110 Add instructions for django configurations in docs

It looks to me like this tip isn't purely specific to django-configurations - it should work if you only install dj-database-url without installing the rest of django-configurations.
I use dj-database-url on my Heroku projects without django-configurations so I like this pattern a lot.

So instead of headlining this session "Django Configurations", I suggest:
dj-database-url and django-configurations
Plus updated copy to reflect that using either package will enable this configuration pattern.

You're totally right. I've updated the code to reflect your comment.

Thanks very much!


Update description and gif's url

Checklist

[x] Used a personal fork of the feedstock to propose changes
[x] Bumped the build number (if the version is unchanged) 1 --> 2
[x] Reset the build number to 0 (if the version changed) NA
[ ] 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 just wanted to let you know that I linted all conda-recipes in your PR (recipe) and found it was in an excellent condition.

@conda-forge-admin, please rerender


请问有pytorch实现版本吗

你好，我们没有pytorch的实现版本。

Hi @mengxiangyudlut
I just uploaded a PyTorch porting: https://github.com/cattaneod/MaskFlownet-Pytorch
The results are slightly different from the original implementatio.
So far, only inference on KITTI is implemented, but should be easy to adapt it to other datasets.


Smite Seq in Message#multiParams, Uri#multiParams, Query#multiParams

Addresses the #1695.
This might be very controversial. So share what you think.

Since we are targeting > 2.12 we can use Vector instead of List.
That has better performance characteristics even for small collections after the changes in 2.13

That has better performance characteristics even for small collections after the changes in 2.13

@hamnis Can you please share some links to the benchmark or where this is declared? I've attempted to find it multiple times and didn't succeed every time. Though I believed for sequence collections of <100 elems size List is about the same perf as Vector. At least for sure, I remember a small discussion with @RafalSumislawski on Twitter about it :)

One is here:
https://august.nagro.us/list-vs-vector.html
official docs:
https://docs.scala-lang.org/overviews/collections-2.13/performance-characteristics.html

So IIUC:

Internally we are already using List, since you only had to change signatures.
The signature changes are all in covariant positions (i.e., we are giving the user a List, not asking for one).

If both those things are true, then actually we can even make this change compatibly in series/0.23 if we wanted, since we are not breaking any contract.

@armanbilge I'm 100% sure this change should go in 1.0. Since users can expect in their code that returning type is exactly Seq. So we can break it very easily. Hence even if MiMa will allow us to do this change in 0.23, it's still not binary-compatible.

Since users can expect in their code that returning type is exactly Seq

A List is a Seq :)

Hence even if MiMa will allow us to do this change in 0.23, it's still not binary-compatible.

It is binary-compatible :) binary-compatibility is about the signatures as represented in the bytecode. Indeed, if you inspect the bytecode you will find that it is unchanged, due to type erasure of generics.

@armanbilge Hmm, tend to agree with you. I just was worried about using scala.collection.Seq within Message in 2.12 (not immutable one as we do almost everywhere when using Seq). So it seems because we already use List in internals, we can't hurt users somehow.

FWIW I'm not advocating we make this change in series/0.23 ... just saying we could, if we wanted to, since it is actually compatible. So I think this is not such a controversial change for 1.0 at all.
Changing to Vector would be more controversial IMHO.

Did those Vector improvements apply to 2.13?  The benchmarks were run on 3.1.1.  The last time I baked off List and Vector, List was a winner on traversals.
There was this 2018 argument for Chain, but I don't imagine we use it semigroupally enough to justify the exotic Cats type.

Yes, the Scala 2.13 standard lib is shared with Scala 3. So the Vector benchmark should apply to both.

So, with the power vested in me, I merge this. If someone wants to bring Vector somewhere, I believe we can do this iteratively.


Update kotlinx-metadata library and replace deprecated API usage

Fixes

https://github.com/gradle/gradle-private/issues/4287

Context

Contributor Checklist

[ ] Review Contribution Guidelines.
[ ] Make sure that all commits are signed off to indicate that you agree to the terms of Developer Certificate of Origin.
[ ] Make sure all contributed code can be distributed under the terms of the Apache License 2.0, e.g. the code was written by yourself or the original code is licensed under a license compatible to Apache License 2.0.
[ ] Check "Allow edit from maintainers" option in pull request so that additional changes can be pushed by Gradle team.
[ ] Provide integration tests (under <subproject>/src/integTest) to verify changes from a user perspective.
[ ] Provide unit tests (under <subproject>/src/test) to verify logic.
[ ] Update User Guide, DSL Reference, and Javadoc for public-facing changes.
[ ] Ensure that tests pass sanity check: ./gradlew sanityCheck.
[ ] Ensure that tests pass locally: ./gradlew <changed-subproject>:quickTest.

Reviewing cheatsheet
Before merging the PR, comments starting with

❌ ❓must be fixed
🤔 💅 should be fixed
💭 may be fixed
🎉 celebrate happy things

The merge queue build has failed. Click here to see all failures.


ROX-23029: Add advanced filters component to Node CVE overview page

Description
Replaces the placeholder filter bar on the Node CVEs list page with the Advanced Filters bar.
Checklist

[ ] Investigated and inspected CI test results
[ ] Unit test and regression tests added
[ ] Evaluated and added CHANGELOG entry if required
[ ] Determined and documented upgrade steps
[ ] Documented user facing changes (create PR based on openshift/openshift-docs and merge into rhacs-docs)

If any of these don't apply, please comment below.
Testing Performed

ocp-4-12-ui-e2e-tests  failures are known, existing Config Mgmt flakes


Does not generalise to other face alignments

The MS1M dataset provided by Insight face has been aligned using MTCNN. The mobilefacenet pre-trained model fails to work on faces aligned using dlib. Does anyone else face this issue?

You should ensure alignment is same no matter which tool to do that.


Modify edit command

Issue #66

Allow users to edit remark field with edit command

Coverage increased (+0.09%) to 92.157% when pulling d7e7dc83cf47dd35cd6a08aecd6b7e4bd4d6972b on zenghou:modifyEditCommand into 1831fbc1a0d7c7415b8aea993dd573a45fed79ce on CS2103AUG2017-F11-B4:master.


pnpm audit

In this PR:

moved the pipeline file to common/config/azure-pipelines folder to match other iTwin repos
Added run-pnpm-audit.js script (source: https://github.com/iTwin/object-storage/blob/1b00c16fef05a69df7904c458fe097bd9b051d77/common/scripts/run-pnpm-audit.js)
Added the audit script to pipeline templates.

/azp run

/azp run


Multi-tenant Use Case and Get Account Balances

I'm trying to experiment with multi-tenant use cases of the Tigerbeetle. As stated in the docs, I am using Ledger to separate accounts between tenants. Ledger is a uint32, and in my use case I used 16 bits for tenant namespace, and 16 bits to allow tenants to use and define their own ledgers. So, a uint32 Ledger in Tigerbeetle is a combination of uint16 Tenant's own ledger and uint16 Tenant's id in my example.
I can enforce Tenant boundaries on all the commands available in the Tigerbeetle, except one: get_account_balances.
The reason is, that I can't use Ledger in AccountFilter, and the returned response doesn't contain any account information. For example, get_account_transfers also uses AccountFilter, but I can check that returned transfers are in the tenant's ledger. Such a use case is not possible in get_account_balances, and I might query the accounts based on the available filter before getting balances but I wanted to ask you guys, is there a better way I can do this, today or in the future?

Hi @mkadirtan!
The operations get_account_transfers/balances are tied to a single account, so the ledger will always obey the account's ledger. The case of get_account_balances, each balance timestamp corresponds to the account's balance after a transfer with the same timestamp, so you can join the results of get_account_transfers and get_account_balances at the application side (both operations accept the same filter and guarantee matching results).
Note that those operations are part of a temporary API, we plan to release a more comprehensive query API that will allow multiple accounts at the same call (and the proper way to indicate which account/ledger the result belongs to).


Add hourly solar curtailment chart

I believe the solar_curtailment chart is hereby finished. Thanks again @antw for helping with the chart bugs

I love it!
I found one issue. However, I cannot reproduce it, so don't know what to do about it

@antw Thanks! I incorporated your suggested changes and removed as many 'this' as possible. I agree it's much easier to read the code now.
@marliekeverweij It looks like the housholds are plotted for a week view instead of a year view. Could this have happened after switching options too fast?

It looks like the housholds are plotted for a week view instead of a year view. Could this have happened after switching options too fast?

Yes that could be it!


Build failure: fish.nix

Steps To Reproduce
Steps to reproduce the behavior:

build fish.nix

Build log
error: attribute 'name' missing

       at /nix/store/c98l2kchjhranrv7l767j85zkzg2ng80-source/nixos/modules/programs/fish.nix:262:16:

          261|           generateCompletions = package: pkgs.runCommand
          262|             "${package.name}_fish-completions"
             |                ^
          263|             (

Metadata
[user@system:~]$ nix-shell -p nix-info --run "nix-info -m"
this path will be fetched (0.00 MiB download, 0.00 MiB unpacked):
  /nix/store/12ggzdhpfrgjgxr31dnyh101a6zzbsxk-nix-info
copying path '/nix/store/12ggzdhpfrgjgxr31dnyh101a6zzbsxk-nix-info' from 'https://cache.nixos.org'...
 - system: `"x86_64-linux"`
 - host os: `Linux 6.2.0, NixOS, 23.05 (Stoat), 23.05.20230222.988cc95`
 - multi-user?: `yes`
 - sandbox: `yes`
 - version: `nix-env (Nix) 2.13.2`
 - channels(edvin): `"nixpkgs"`
 - channels(root): `"home-manager, nixos"`
 - nixpkgs: `/home/edvin/.nix-defexpr/channels/nixpkgs`

What do you have in your environment.systemPackages?

vim
wget
libnotify
killall
zip
gzip
jdk17
btop
xdotool
piper
flameshot
xterm

plus flake installations of hyprland and https://github.com/scorpion-26/gBar

Is https://github.com/Eken-beep/Nix-Dotfiles up to date? What branch are you on?

I don't use that repo anymore im on https://github.com/Eken-beep/Nixos-Dotfiles, Currently running unstable and i upgraded the flake inputs an hour ago.

this is because you have something that's not a package in environment.systemPackages, this patch should fix the issue
--- a/flake.nix
+++ b/flake.nix
@@ -47,7 +47,7 @@
         {
           # Flake packages
           environment.systemPackages = [
-            inputs.gbar
+            inputs.gbar.defaultPackage.x86_64-linux
           ];
         }
       ];

Yes that works, thank you but the error message was very unhelpful..


Error debugging react app on fresh vscode install

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

VS Code Version: 1.60.0
OS Version: Windows 10 64bits
Nodejs 14.17.6

Steps to Reproduce:

Install VSCode
Create react app: npx create-react-app my-app
Start app. npm run start. It works ok
Start debugging

laucher.json
{
// Use IntelliSense to learn about possible attributes.
// Hover to view descriptions of existing attributes.
// For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387
"version": "0.2.0",
"configurations": [
{
"name": "Launch Chrome",
"request": "launch",
"type": "pwa-chrome",
"url": "http://localhost:8080",
"webRoot": "${workspaceFolder}"
}
]
}

I  get the error ERR_CONNECTION_REFUSED

Debug console error:

crbug/1173575, non-JS module files deprecated.
chromewebdata/(index)꞉7160:22:7374

Solved
"url": "http://localhost:3000",
I changed the port to 3000