wayland: don't propagate bin output

This fixes the host platform wayland-scanner binary leaking into cross builds.
Fixes pkgsCross.aarch64-multiplatform.glfw for example.
Things done

Built on platform(s)

[x] x86_64-linux
[x] aarch64-linux (via pkgsCross from x86_64)
[ ] x86_64-darwin
[ ] aarch64-darwin

For non-Linux: Is sandboxing enabled in nix.conf? (See Nix manual)

[ ] sandbox = relaxed
[ ] sandbox = true

[ ] Tested, as applicable:

NixOS test(s) (look inside nixos/tests)
and/or package tests
or, for functions and "core" functionality, tests in lib/tests or pkgs/test
made sure NixOS tests are linked to the relevant packages

[ ] Tested compilation of all packages that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review rev HEAD". Note: all changes have to be committed, also see nixpkgs-review usage
[ ] Tested basic functionality of all binary files (usually in ./result/bin/)
24.11 Release Notes (or backporting 23.11 and 24.05 Release notes)

[ ] (Package updates) Added a release notes entry if the change is major or breaking
[ ] (Module updates) Added a release notes entry if the change is significant
[ ] (Module addition) Added a release notes entry if adding a new NixOS module

[ ] Fits CONTRIBUTING.md.

Add a :+1: reaction to pull requests you find important.

TIL propagatedBuildOutputs!
I should really finish https://github.com/NixOS/nixpkgs/pull/214906…

Added the comment, and re-targeted to staging.

Bisect says the change broke gst_all_1.gst-plugins-base in staging as:
$ nix build --no-link -f. -L gst_all_1.gst-plugins-base
...
gst-plugins-base> Program wayland-scanner found: NO
gst-plugins-base> gst-libs/gst/gl/meson.build:674:8: ERROR: Problem encountered: Could not find requested Wayland libraries

Thanks for the ping, will take a look.

Fix in https://github.com/NixOS/nixpkgs/pull/329452. Will quickly check all other gst packages.

It should be possible to re‐apply this now that @paparodeo’s work in https://github.com/NixOS/nixpkgs/pull/318226 has landed in staging.

It should be possible to re‐apply this now

It shouldn't be necessary

In fact, I think we should maybe remove the custom .pc from $bin, and also maybe delete wayland-scanner = wayland.bin from the package set

That causes its own problems, see https://github.com/NixOS/nixpkgs/pull/214895.
But there's no overlap really between wayland and wayland-scanner, so the best thing to do is probably to have it as a completely separate package: https://github.com/NixOS/nixpkgs/pull/214906

Thanks @alyssais I didn't know about this one. A separate derivation sounds even better

(If anybody wants to take over that PR please do — the main thing that was hard about it was checking there were no cross regressions, but tbh mostly I think I got distracted by trying to fix packages that didn't cross compile anyway!  I don't know when I'll have time to pick it back up now.)


Istio sidecar not mounting certs from k8s secret

Bug description
After upgrading istio with istioctl, to both 1.5.0, 1.5.7 and latest 1.6.5, previously we used helm templates and kubectl apply, my istio sidecars are no longer mounting certs in /etc/certs.
We run an envoy proxy ourself, which is used as the backend for a google ingress. However the envoy expects to be able to find certs in /etc/certs, which are no longer present on the sidecars.
[ ] Configuration Infrastructure
[ ] Docs
[x ] Installation
[x ] Networking
[ ] Performance and Scalability
[ ] Policies and Telemetry
[ ] Security
[ ] Test and Release
[ ] User Experience
[ ] Developer Infrastructure
Expected behavior
mount certs from k8s secret in the namespace.
Steps to reproduce the bug
install istio using istioctl and some standard operator configuration.
Version (include the output of istioctl version --remote and kubectl version and helm version if you used Helm)
client version: 1.6.5
control plane version: 1.6.5
data plane version: 1.6.5 (29 proxies),  (4 proxies)

Client Version: version.Info{Major:"1", Minor:"16", GitVersion:"v1.16.0", GitCommit:"2bd9643cee5b3b3a5ecbd3af49d09018f0773c77", GitTreeState:"clean", BuildDate:"2019-09-19T13:57:45Z", GoVersion:"go1.12.9", Compiler:"gc", Platform:"darwin/amd64"}
Server Version: version.Info{Major:"1", Minor:"15+", GitVersion:"v1.15.9-gke.24", GitCommit:"39e41a8d6b7221b901a95d3af358dea6994b4a40", GitTreeState:"clean", BuildDate:"2020-02-29T01:24:35Z", GoVersion:"go1.12.12b4", Compiler:"gc", Platform:"linux/amd64"}

How was Istio installed?
istioctl install -f istio-operator.yaml
istio-opeator.yaml was generated using
istioctl manifest migrate values.yaml > istio-operator.yaml

Environment where bug was observed (cloud vendor, OS, etc)
Pods are run on GKE in linux containers running go binaries.
Local os is MacOS catalina 10.15.5 (19F101)

This is no longer how cert provisioning works. See https://istio.io/latest/blog/2020/istiod/ and https://istio.io/latest/news/releases/1.5.x/announcing-1.5/upgrade-notes/ for more info


FR Tracking 2024-06-05_2024-06-18

I pulled the old csv from main, added the new rows, and pushed to fr_tracking. But it still looks like there are conflicts...


[Variadic Generics] Add a contextual each keyword for pack element references in pack expansion patterns.

This change parses a contextual each keyword in expressions as PackElementExpr, and changes PackExpansionExpr to represent pack element bindings as PackElementExpr. The corresponding SwiftSyntax PR is https://github.com/apple/swift-syntax/pull/1146.
In addition to clarifying for the programmer which expressions in a pack expansion are expanded, making pack elements explicit in the AST has a number of implementation benefits:

Pack expansion expressions are distinguished syntactically, meaning we don't need overload resolution to determine whether ... is a pack expansion or a postfix operator call.
We know exactly which type variables generated during constraint generation represent opened element types, so we can resolve those types through the PackElementOf constraint.
Bindings for pack elements can be produced through the standard PotentialBindings infrastructure, and type information can flow bidirectionally (from the pack type to the element type and vice versa).
Overall, the representation of pack expansion expressions and the amount of work done in the constraint system are both greatly simplified.

@swift-ci please smoke test


Remove the Ducksboard service

Please note: GitHub will only accept pull requests to existing services that implement bug fixes or security improvements. We no longer accept feature changes to existing services.
Ducksboard has been closed after its acquisition by New Relic. As of
July 1st 2016, is stopped operating for all the remaining users and
customers.

Thanks @aitorciki, you rock!


synthpod_bin.c needs #include <sys/signal.h>

Signal values SIGTERM/SIGQUIT/etc are defined there.

thanks for reporting
fixed in https://github.com/OpenMusicKontrollers/synthpod/commit/9ccde92ebeb3a1d06859e7ac1ddfea013e15c07d


Add acme.sh to support automatic letsencrypt ssl cert

Add a new env variable ENABLE_ACME=true
When set to true, it will generate free ssl cert from letsencrypt and renew automatically.

@jwilder
Is there any problem with this PR ?

That's a lot of minor / fix / typo / revert commits, you should try to squash them down a bit.

Is this branch dead ? I'd really like the feature and would hate to see this work fade into nothingness. If @Neilpang can't attend to it, I'd open another one and squash the commits, if that's ok.

I vote for it! SSL Cert automation is real convenience esp for this rev proxy solution.
It will make the project much more usable and therefore much more known ..

Let's Encrypt support already exists via https://github.com/JrCs/docker-letsencrypt-nginx-proxy-companion.  It also supports the more secure separate containers deployment model which I'm not sure if this PR works with or not.
Is there an issue with using the companion container approach?

@jwilder
I knew  the the other project.
but this PR is just more lightweighted,  and it requires little modification of the current configs.
If one is using jwilder/nginx-proxy image,   he never never wants to switch to another image just for free ssl certificate.  It's too risky.
This PR almost affects little of the current configs, it works out-of-box.
I have many docker nodes, which are running my own fork neilpang/nginx-proxy,  they all are working we for months.

It also supports the more secure separate containers deployment model which I'm not sure if this PR works with or not.

It depends on the base image,  this PR is only lightweighted for ssl stuffs.
As my an other PR https://github.com/jwilder/nginx-proxy/pull/849 (merged already),  as long as this container is running as host network,  it can proxy all the containers on the machine.

@jwilder
If you think the history of this PR is a mess,  I can send a new one.
Thanks.

@Neilpang If I am mistaken, correct me, but isn't the major difference, that your PR supports cert creation, whereas the other ones only support cert renewal ?

Hello!
This is really must-have feature. It's useful for small projects, startups, etc.

Hello,
Any update on this?

hi @Neilpang
Please, add both cert create and renew operations
hi @jwilder
Will you merge this PR if it will be updated and support both cert create and renew?

Another point that need to be considered is that, acme.sh supports generation of certificates using DNS entries, and this could enable generating certificates for internal services.
I know that this PR doesn't includes this, but after merged, with some minor enhancements it could be enabled.


python312Pakcages.python-fx: 0.3.1 -> 0.3.2, enable tests

Description of changes
This fixes #333173 by patching incompatibilities with dependency versions from nixpkgs, and enables tests and import checks. The relevant patches have been submitted upstream, too.
(Running the main program can alternatively also be fixed by downgrading the dependency versions, but iirc that is a bad idea in nixpkgs?)

Result of nixpkgs-review run on x86_64-linux 1

8 packages built:

python311Packages.python-fx
python311Packages.python-fx.dist
python311Packages.qiling
python311Packages.qiling.dist
python312Packages.python-fx
python312Packages.python-fx.dist
python312Packages.qiling
python312Packages.qiling.dist

Things done

Built on platform(s)

[x] x86_64-linux
[ ] aarch64-linux
[ ] x86_64-darwin
[ ] aarch64-darwin

For non-Linux: Is sandboxing enabled in nix.conf? (See Nix manual)

[ ] sandbox = relaxed
[x] sandbox = true

[x] Tested, as applicable:

NixOS test(s) (look inside nixos/tests)
and/or package tests
or, for functions and "core" functionality, tests in lib/tests or pkgs/test
made sure NixOS tests are linked to the relevant packages

[x] Tested compilation of all packages that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review rev HEAD". Note: all changes have to be committed, also see nixpkgs-review usage
[x] Tested basic functionality of all binary files (usually in ./result/bin/)
24.11 Release Notes (or backporting 23.11 and 24.05 Release notes)

[ ] (Package updates) Added a release notes entry if the change is major or breaking
[ ] (Module updates) Added a release notes entry if the change is significant
[ ] (Module addition) Added a release notes entry if adding a new NixOS module

[ ] Fits CONTRIBUTING.md.

Add a :+1: reaction to pull requests you find important.

Upstream merged the patches I suggested and did a release. Reusing this PR to update.

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

8 packages built:

python311Packages.python-fx
python311Packages.python-fx.dist
python311Packages.qiling
python311Packages.qiling.dist
python312Packages.python-fx
python312Packages.python-fx.dist
python312Packages.qiling
python312Packages.qiling.dist


Validating the dashboard name paramater

By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.

test

test

test


"To DeepL" add-on stops working after upgraded to v0.3.0

With the new update, right click on the add-on does not open the DeepL translation page. Re-installed the previous version (0.2.0) makes the add-on works again.
Firefox 87.0
OS: Windows 7 & 10
Thank you.

Thank you for reporting. I've reverted the update and will fix it.

ref. https://github.com/rewkha/firefox-to-deepl/issues/4#issuecomment-810632803

Fixed. Hurrying never helps

Thanks!


Email not sent (error 403 from resend), but nothing in log/server console

signup email was sent to resend but was rejected (I guess through POST call) due to lack of authentication that was expected. However, there was no error logged on the console. Is it expected? is there a way to report when this type of issue happens?

You can see this question: https://discord.com/channels/1204690198382911488/1204986255453065226/threads/1252557658351997051

verify your domain on Resend
set resend  token
use cURL to test
check your pgsql config, keep right

Thanks for your suggestion, we will add some logs later


Test patchset regarding DSA port configuration and status

Done.
It is working fine, I've reported this upstream.


adds awaits to loading functions that returned a promise

This fixes the theme page and some other small broken data loads from the Svelte Kit 2 migration.


tests: fix tmux and dynamically generate configs

:tada: This PR is included in version 4.3.4 :tada:
The release is available on GitHub release
Your semantic-release bot :package::rocket:


add evalTerm

Sorry for making another PR. I made a mistake in the other one. This one should be good to go.
evalTerm evaluates ClosedTerm and put it back to ClosedTerm using RCompiled.

Thanks!

(waiting for CI)

Good to go?


Provide a URL endpoint that triggers close of window.

Is your feature request related to a problem? Please describe.
When using the REST API via the CLI command educates cluster workshop request finishing the workshop will redirect you back to the training portal, but because the session was initiated using a one off token you can't login to the training portal UI to do anything as you don't know the password. This is a bit confusing.
Describe the solution you'd like
To make this a bit better, provide a URL endpoint on the training portal which can be used as a target for index-url option, which closes the current window. That way after session has been deleted by the training portal the window can be closed automatically. This could be the default value for index-url option when using this CLI command.
Describe alternatives you've considered
No response
Additional information
No response

This is non trivial due to browser restrictions resulting in error:
scripts may close only the windows that were opened by them


iframe does not display video

In classroom (French language), the first ressource in an iframe is not displayed at all. There is an error message "blocked by extension" with a pointer at www-embed-player.js:384.

works now


Pin the version of mustache

Newer versions of mustache is no longer compatible with go 1.15.15, so pinned it to an old version.

I didn't test this but the change looks sane, so I'm merging it.


Confirm that each route that should be public or private actually is

As Tom pointed out in https://github.com/freeCodeCamp/freeCodeCamp/pull/53997#discussion_r1529986855, some routes that need to be public are not. We should make sure that all the routes are public/private as determined by
https://github.com/freeCodeCamp/freeCodeCamp/blob/main/api-server/src/server/middlewares/request-authorization.js
It should also be completely unambiguous what any given route is. For example, we could separate routes into folders: /routes/public and /routes/private

Here's a few endpoints that need to be open I believe: https://github.com/freeCodeCamp/freeCodeCamp/blob/c1137b0900ad098fee2fca430d11f69dfc909d3b/api-server/src/server/middlewares/csurf.js#L17
Those two donate ones haven't been created yet.

Hi @ojeytonwilliams and the freeCodeCamp team,
I've been reviewing the issue #54143 regarding the visibility of routes and have some suggestions that I believe could enhance the clarity and maintainability of the route authorization logic.
Proposed Changes:

Separate Public and Private Routes: Create two new directories within the routes folder: public and private. This will make it easier for contributors to understand which routes are accessible without authentication.
Refactor the isAllowedPath Function: Update the function to dynamically build the list of public paths based on the files present in the public routes directory. This approach could reduce the complexity of the current regex-based system and improve scalability.

Benefits:

Clarity: Having a clear separation of public and private routes in the file structure will make it easier for new contributors to understand the codebase.
Maintainability: By dynamically generating the list of public routes, we can avoid potential errors that might arise from manually updating regex patterns as new routes are added or changed.

Next Steps:
I would like to implement these changes and submit a PR for review. However, before proceeding, I wanted to discuss with you to ensure that these changes align with the project's goals and standards.
I'm looking forward to your feedback and any suggestions you might have.
note : "I am a beginner"

The current differences between the old and new apis are
Deprecated endpoints which have become public

/refetch-user-completed-challenges
/certificate/verify-can-claim-cert
/api/github
/account

Since all they do is respond with a generic message, I don't think anything needs to be done.
Signout
/signout is now public. I don't see how this could be an issue, but the api does a little more than simply respond, so I'll change it.

https://github.com/freeCodeCamp/freeCodeCamp/pull/56359 is in, so this can be closed.


streaming large files maxes out the call stack

Processing files with millions of records result in a crash on maximum call stack exceeded.
I believe returning queueData recursively just adds to the function stack. Deferring the recursive call to the next tick avoids this issue.
`  function queueData (data, number) {
...
// If the next value is in the queue, write it
if (writeQueue.hasOwnProperty(nextToWrite)) {
var dataToWrite = writeQueue[nextToWrite]
delete writeQueue[nextToWrite]
process.nextTick(() => {
return queueData(dataToWrite, nextToWrite);
});
}
...
}`

actually turns out my proposition fails.


Feature/client

Initial implementation of the write-api-service and write-api-client

All changes applied.

@garyluu  I'm approving this although you will probably want to rebase/reduce the number of the commits


Speed Limits not working

Hi and thank for your nice panel,
I set the limit for ussers (1mb/s) for download, but when I check usser on speedtest I see that is not work on that speed. May I ask u to check it?

alright sure

i checked it, when i set the limit to 1024 which means 1 megabyte per sec
the speed thest download speed will not be higher that 1megabyte/sec or 8 megabit/sec which is the same

Thanks a lot, it's working great, my fault is in calculation on megabit and megabytes. Thanks a lot for your support. 🙏🙏🙏


python37Packages.opt-einsum: 3.2.1 -> 3.3.0

Semi-automatic update generated by nixpkgs-update tools. This update was made based on information from https://repology.org/metapackage/python3.7-opt_einsum/versions.
meta.description for python37Packages.opt-einsum is: "Optimizing NumPy's einsum function with order optimization and GPU support."
meta.homepage for python37Packages.opt-einsum is: "https://github.com/dgasmith/opt_einsum"
meta.changelog for python37Packages.opt-einsum is: ""
Updates performed

Version update

To inspect upstream changes
Impact

Checks done (click to expand)

built on NixOS

Warning: a test defined in passthru.tests did not pass

0 of 0 passed binary check by having a zero exit code.

0 of 0 passed binary check by having the new version present in output.

found 3.3.0 with grep in /nix/store/1qzfx99isaj1qpd076i0c1rfh3bdz64n-python3.7-opt_einsum-3.3.0

directory tree listing: https://gist.github.com/8734c90163f163958d6ffac2bfafd196

du listing: https://gist.github.com/def008f18dd64103b183b8295f6a1e6d

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

90 total rebuild path(s)

24 package rebuild(s)

24 x86_64-linux rebuild(s)
22 i686-linux rebuild(s)
22 x86_64-darwin rebuild(s)
22 aarch64-linux rebuild(s)

First fifty rebuilds by attrpath
python37Packages.arviz
python37Packages.baselines
python37Packages.dm-sonnet
python37Packages.edward
python37Packages.graph_nets
python37Packages.mask-rcnn
python37Packages.opt-einsum
python37Packages.optuna
python37Packages.pymc3
python37Packages.pyro-ppl
python37Packages.rl-coach
python37Packages.tensorflow
python37Packages.tensorflow-bin_2
python37Packages.tensorflow-build
python37Packages.tensorflow-build_1
python37Packages.tensorflow-build_2
python37Packages.tensorflow-probability
python37Packages.tensorflowWithCuda
python37Packages.tensorflowWithoutCuda
python37Packages.tensorflow_1
python37Packages.tensorflow_2
python37Packages.tflearn
python38Packages.opt-einsum
python38Packages.pyro-ppl

Instructions to test this update (click to expand)

Either download from Cachix:
nix-store -r /nix/store/1qzfx99isaj1qpd076i0c1rfh3bdz64n-python3.7-opt_einsum-3.3.0 \
  --option binary-caches 'https://cache.nixos.org/ https://r-ryantm.cachix.org/' \
  --option trusted-public-keys '
  r-ryantm.cachix.org-1:gkUbLkouDAyvBdpBX0JOdIiD2/DP1ldF3Z3Y6Gqcc4c=
  cache.nixos.org-1:6NCHdD59X431o0gWypbMrAURkbJ16ZPMQFGspcDShjY=
  '

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

After you've downloaded or built it, look at the files and if there are any, run the binaries:
ls -la /nix/store/1qzfx99isaj1qpd076i0c1rfh3bdz64n-python3.7-opt_einsum-3.3.0
ls -la /nix/store/1qzfx99isaj1qpd076i0c1rfh3bdz64n-python3.7-opt_einsum-3.3.0/bin

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

17 packages failed to build:

python37Packages.arviz
python37Packages.baselines
python37Packages.dm-sonnet
python37Packages.edward
python37Packages.graph_nets
python37Packages.mask-rcnn
python37Packages.optuna
python37Packages.pymc3
python37Packages.pyro-ppl
python37Packages.rl-coach
python37Packages.tensorflow (python37Packages.tensorflowWithoutCuda)
python37Packages.tensorflow-bin_2
python37Packages.tensorflow-build_2
python37Packages.tensorflow-probability
python37Packages.tensorflowWithCuda
python37Packages.tflearn
python38Packages.pyro-ppl

2 packages built:

python37Packages.opt-einsum
python38Packages.opt-einsum

Maintainer pings
cc @teh for testing.

...all reverse dependencies are failing?

It looks like 3.2.1 is broken in the latest nixpkgs-unstable, but I can build 3.3.0.
builder for '/nix/store/xmhxh0hrf1qgznmvav8m59dalj7a2zra-python3.7-opt_einsum-3.2.1.drv' failed with exit code 1; last 10 log lines:

          # If no optimization, run pure einsum
          if optimize is False:
              if specified_out:
                  kwargs['out'] = out
  >           return c_einsum(*operands, **kwargs)
  E           ValueError: order must be one of 'C', 'F', 'A', or 'K' (got 'W')

  /nix/store/1ddc4m9alb8av6mba0vhn8yv62z9w5si-python3.7-numpy-1.19.0/lib/python3.7/site-packages/numpy/core/einsumfunc.py:1350: ValueError
  ============= 1 failed, 5660 passed, 155 skipped in 22.75 seconds ==============

this seems to fix the build of a broken package. Merging.
closes: #93107


Possible option for chain dispatchers

Here's a possible approach to #1023 (chain dispatchers) to play around with - see what you think. Should work fine, but still WIP with no docs, not to be merged yet.
This is essentially the "you have to confirm the chain dispatcher when you get near the end" approach, but there are a couple of points that I think will make it nicer than you might initially expect.
First, I think it might help to reframe the existing default system for dispatchers a bit. This will clean up some existing ambiguities and also pave the way for a simpler and more understandable version of chain dispatchers. The main points are:

Global defaults must be set before use: You've mentioned that conf.Q was never really intended to be a dynamic variable that you switched around on the fly. Since chain-specific dispatchers are a better way of achieving this same effect, we may as well reset the default system back to the original intent and require that you set the defaults before creating any promises. In this PR, setting the defaults after creating promises just produces a warning, but in a future version of PromiseKit it could be a hard error. The point is to clearly distinguish between global and local effects and to remove any ambiguity about when dispatching choices are actually made

Phase out the terms map and return: Currently, every function fits in one of these categories and default dispatching varies depending on the function. But the terms are a bit vague, both because map and return aren't very descriptive and because you pretty much just have to know which functions are which. Most map functions aren't really map operations, and most return functions don't actually return anything.

Dispatching becomes an attribute of the chain, not the function: Instead of having map and return, we can reframe the system slightly to direct the focus away from functions and onto promise chains. Instead of saying that every function has an inherent dispatcher category, we can say that every promise chain has a "body" and a "tail" and that those regions have different default dispatchers. Once you enter the tail by calling catch, done, or finally (and only one of those three), you are in the tail for good. Your default dispatching will from that point on always be the tail dispatcher (formerly return).

This model tells a clearer story about how the average use case does background work in some vaguely-defined ether and then surfaces the results to the UI for action. There's only one surfacing point; the chain doesn't porpoise back and forth between dispatchers unless you specifically ask for this. This is both a conceptual model change and a small change in actual behavior.

get and ensure are no longer special: As a corollary to this definition of a chain's tail, get and ensure (along with ensureThen), which were formerly return functions, will now just be general functions. Like most functions, if you use them within the tail of a chain, they'll be dispatched on the tail dispatcher. If you use them in the body, they'll be dispatched as body functions.

conf.Q deprecated and replaced with a function: conf.Q (but not conf.D) will remain around for backward compatibility, but the standard way to set default dispatchers will be a function call as shown below. This change allows for wrappers that accommodate DispatchQueue dot notation.

public struct PMKConfiguration {
    ...
    mutating public func setDefaultDispatchers(body: Dispatcher = NoValue(), tail: Dispatcher = NoValue())
    mutating public func setDefaultDispatchers(body: DispatchQueue? = .unspecified, tail: DispatchQueue? = .unspecified)
    ...
}

// Example
conf.setDefaultDispatchers(tail: .global())

OK, that's the background context. On top of this, we can add chain-specific dispatchers (which I'll just call "chain dispatchers" here, although there may be a better term.)

Set a chain dispatcher with dispatch(on:): To set the chain default (from this point forward), just call dispatch(on:) within the chain.

firstly {
    fetchUser(name)
}.dispatch(on: .main).then { userRecord -> Promise<Credentials> in
    userPicture.image = UIImage(named: userRecord.imageName)
    return fetchServerCredentials(userRecord)
}.done { creds in  // Dispatched on .main
   ...

Permanent until you change it: A dispatcher set with dispatch(on:) remains in effect until it's canceled with dispatch(on: .default), you set a different default dispatcher, or the chain terminates. (Of course, any individual function can have its own on: argument to override the chain default for that call only. But that does not cancel an underlying chain dispatcher.) There's only a single chain dispatcher; it doesn't vary depending on whether you're in the body or the tail.

on: .default is general: All individual functions now also accept on: .default, which selects one of the two global default dispatchers depending on where you happen to be in the chain.

You have to "help" the chain dispatcher to cross the body/tail boundary: When a chain dispatcher has been set, the first use of the chain dispatcher within the tail must be explicit. The standard way to do this is to just specify on: .chain as the argument to the first tail function. Alternatively, you can call dispatch(on: .chain), set a new chain dispatcher, or terminate the chain dispatcher with dispatch(on: .default). These are all fine; it  doesn't matter as long as you don't use the chain dispatcher implicitly (typically by failing to specify any on: clause at all).

If you fail to confirm a chain dispatcher, PromiseKit prints a warning. However, the chain dispatcher remains in effect and the actual behavior is unaffected. You can silence the warning by adding an explicit on: .chain or by setting conf.requireChainDispatcherConfirmation to false to waive this requirement globally.
In the example chain below, everything from map onward is dispatched on the same CoreDataDispatcher. The chain dispatcher is properly confirmed by catch(on: .chain), so no warning is printed.
episode.updateMediaSize().then { didSetSize in
    episode.updateMediaAttributesIfNeeded().map { didSetSize }
}.dispatch(on: episode.dispatcher).map { didSetSize -> Void in
    if didSetSize, episode.mediaType == .unknown {
        episode.mediaType = .somethingElse
    }
}.ensure {
    episode.markGroomed()
}.catch(on: .chain) {
    // Other errors should be logged at lower levels already
    if case MediaSizeError.tooManyRequests(let delay) = error {
        print("Media size read failed for episode \(episode.title)")
        self.reenqueue(sourceEpisode, delay: delay)
    }
}.finally {
    if episode.mangedObjectContext?.hasChanges {
        do {
            episode.mangedObjectContext?.save()
        } catch {
            // Error handling
        }
    }
}

Pitch points:

Single point of control: Because there's only one interface between the body and the tail of any given chain, there is only one, well-defined point that potentially prints an error or requires confirmation. And that point is easy to find: it's the first instance of done, catch, or finally.

Fits well with functions that return promises: In most cases, promise chains returned by lower-level code will not have entered the tail segment, and the client will add a done or catch block to create a tail. If the lower-level code has set a chain dispatcher and the client does not confirm it, the client will be warned. At the same time, the lower-level code does have the option to set a chain dispatcher.

Low confirmation burden: Adding on: .chain to an existing function achieves confirmation en passant without a lot of ceremony. You're guaranteed to have the on: argument available for this purpose; if you want to use a different dispatcher, go right ahead and do a normal on:. You're not required to confirm until (and if) you go back to the chain dispatcher. The only rule is that the first use of the chain dispatcher within the tail must be explicit.

Easy to explain: The system pretty much boils down to "when you set a chain dispatcher, that's the dispatcher you get until you say otherwise." There are no subtleties regarding map vs. return, or multiple dispatchers, or segments of a chain, or operations that terminate your chain dispatcher as an unexpected side effect. But at the same time, if you don't seem to be aware of the basic distinction between the body and tail of a chain, or you don't seem to realize that someone has handed you a chain with an embedded dispatcher, PromiseKit will draw your attention to this with a warning.

When I converted some existing code to this scheme, I was a bit surprised to find that most simplification actually came from the body/tail idea rather than from chain dispatchers themselves. ensure and get are useful anywhere in a chain, so it's nice that they now self-adapt and do the right thing depending on context.
As far as implementation, it's a pretty clean change. Every thenable has a DispatchState struct that tracks progress along the chain and manages the chain dispatcher, if there is one. All the logic for managing dispatching goes in DispatchState; the promise functions don't have to do anything but propagate the state to their children. Cancellable promises don't really have to do much at all since they inherit most of this behavior from their wrapped promises.
There's another interesting wrinkle in this PR, but I'll leave it for later... Everything above should work as described.
Thoughts?

I like this.
Perhaps a way to (further†) ensure the chaining only happens where the user expects is like so:
defer { episode.dispatcher.retire() }

episode.updateMediaSize().then { didSetSize in
    episode.updateMediaAttributesIfNeeded().map { didSetSize }
}.dispatch(on: episode.dispatcher).map { didSetSize -> Void in
    if didSetSize, episode.mediaType == .unknown {
        episode.mediaType = .somethingElse
    }
}.ensure {
    episode.markGroomed()
}.catch(on: .chain) {
    // Other errors should be logged at lower levels already
    if case MediaSizeError.tooManyRequests(let delay) = error {
        print("Media size read failed for episode \(episode.title)")
        self.reenqueue(sourceEpisode, delay: delay)
    }
}.finally {
    if episode.mangedObjectContext?.hasChanges {
        do {
            episode.mangedObjectContext?.save()
        } catch {
            // Error handling
        }
    }
}

Since the user has to opt into this pattern, I think it is a nice addition. Adding a way to retire the chain would be the recommended way when returning chains but optional.

Additionally I think we can retire the additions where we allow passing a queue. Instead add a few convenience methods on Dispatcher like Dispatcher.qos.userInitiated and Dispatcher.qos.background that dispatch to GCD. Thoughts?

† having catch etc default to main is clever.

@mxcl: I think we can retire the additions where we allow passing a queue. Instead add a few convenience methods on Dispatcher like Dispatcher.qos.userInitiated and Dispatcher.qos.background that dispatch to GCD.

DispatchQueues are already Dispatchers through an extension, so if SE-0299 works out, there won't need to be any mention of DispatchQueues in the API at all.
At the same time, it's probably a good idea to mirror the DispatchQueue conventions pretty closely (in Dispatcher) so that anyone who wants to continue to think of Dispatchers as DispatchQueues won't experience friction. That would make the notation for queues other than .main something like .global(qos: .userInitiated). I wouldn't object to also having .qos.UserInitiated as well, though.
Speaking of making things similar among APIs, it's probably worthwhile to cross-reference with Combine's dispatching system now that it's been around for a while.

defer { episode.dispatcher.retire() }

Let me paraphrase this back to you to check that I'm correctly interpreting the concept: There should be a standard and facilitated way (ideally, a declarative way) to ensure that promise-returning functions don't inadvertently return promise chains that have an active nondefault dispatcher. If the "this function should always return a defaultly-dispatched promise" declaration can be made up front, that's clearer and less error-prone than requiring you to remember to add .dispatch(on: .default) at the end of the chain. Is that the gist? I'm guessing that the intent of retire() specifically is to lock the dispatcher so that further dispatch attempts fail or emit a warning.
I like the general idea, but I suspect that it's probably not a good idea to try to involve dispatchers themselves in this mechanism. Dispatchers are dumb. They can be shared global instances (e.g., DispatchQueue.main), and they can also be value types. Both of those cases make it hard to give them responsibility for context.
When Swift 5.5 comes out, I'll do another round of revisions and see if I can come up with a better way to achieve this goal.


Let last will take arbitrary bytes

The underlying mqtt-protocol library recently updated to allow last wills to be arbritrary bytes, so we can now match that in our api.

The new master doesn't use this library anymore


user-guide: restructure

The Structure of the Docs
The focus is on discussing the structure of the User Guide, because the
structure for the rest of the top items is more or less clear.

Installation
[. . . . .]
https://github.com/iterative/dvc.org/issues/65

Tutorials
[. . . . .]

User Guide

[ ] Introduction

Why DVC

Problems in DS/ML
https://dvc.org/doc/understanding-dvc/collaboration-issues

Existing Tools
https://dvc.org/doc/understanding-dvc/existing-tools
https://dvc.org/doc/understanding-dvc/related-technologies

What is DVC
https://dvc.org/doc/understanding-dvc/what-is-dvc

DVC Concepts
https://dvc.org/doc/understanding-dvc/what-is-dvc
https://github.com/iterative/dvc.org/issues/53#issuecomment-485588486

DVC Features
https://dvc.org/doc/understanding-dvc/core-features
https://dvc.org/doc/understanding-dvc/how-it-works

Other Resources
https://dvc.org/doc/understanding-dvc/resources
Maybe some of the resources can be referenced from the other sections in
the Introduction, and this section be removed.

[ ] Basic Concepts
Explains in more details the basic concepts of DVC.

Data Management
The core function of DVC is data tracking and management.
https://katacoda.com/dvc/courses/basics/data

Tracking Data Versions
DVC takes advantage of Git's versioning features to keep track of the data
versions.
https://katacoda.com/dvc/courses/basics/versioning
https://dvc.org/doc/use-cases/data-and-model-files-versioning

Sharing Data
DVC facilitates sharing of data between different people that work on the
same project.
https://katacoda.com/dvc/courses/basics/sharing
https://dvc.org/doc/use-cases/share-data-and-model-files

Stages and Pipelines
DVC has a built-in way to connect ML steps into a DAG and run the full
pipeline end-to-end.
https://katacoda.com/dvc/courses/basics/pipelines

Importing Data
Download and track data from another DVC project that is hosted in a Git
repository.
https://katacoda.com/dvc/courses/basics/importing

Dvcignore
https://dvc.org/doc/user-guide/dvcignore

[ ] DVC Internals

DVC Files and Directories
https://dvc.org/doc/user-guide/dvc-files-and-directories
https://github.com/iterative/dvc.org/issues/175

Structure of Cache Directory
https://dvc.org/doc/user-guide/dvc-files-and-directories#structure-of-cache-directory

DVC-file Format
https://dvc.org/doc/user-guide/dvc-file-format
https://github.com/iterative/dvc.org/issues/68

How DVC Understands Data Changes
https://github.com/iterative/dvc.org/issues/576

Updating DVC-files

Anonymized Usage Analytics
https://dvc.org/doc/user-guide/analytics

[ ] Large Dataset Optimization
It is important to optimize the DVC setup for having the best performance
with handling big data files.
https://katacoda.com/dvc/courses/basics/performance
https://dvc.org/doc/user-guide/large-dataset-optimization
https://dvc.org/doc/user-guide/update-tracked-files

Using Deduplicating Filesystems

Using Symlinks

[ ] Managing External Data
https://dvc.org/doc/user-guide/external-dependencies
https://dvc.org/doc/user-guide/managing-external-data
https://github.com/iterative/dvc.org/issues/520
https://github.com/iterative/dvc.org/issues/499
https://github.com/iterative/dvc.org/issues/143
https://github.com/iterative/dvc.org/issues/566

Local Files and Directories

SSH

Amazon S3

Google Cloud Storage

HDFS

HTTP

[ ] Managing External Cache

Local Directory

SSH Directory

Amazon S3 Directory

Google Cloud Storage

HDFS

[ ] Advanced Data Sharing

Shared Development Server
https://dvc.org/doc/use-cases/shared-development-server

Mounted Cache Dir
https://github.com/iterative/dvc.org/issues/103

Mounted Remote Storage

Synchronized Remote Storage
https://github.com/iterative/dvc.org/issues/648#issuecomment-535885723

[ ] Managing Experiments
https://github.com/iterative/dvc.org/issues/159#issuecomment-525575597

By Tags

By Branches

By Folders

Hybrid

[ ] Tips & Tricks / HowTo-s
https://dvc.org/doc/user-guide/running-dvc-on-windows
https://github.com/iterative/dvc.org/issues/72
https://github.com/iterative/dvc.org/issues/625

Manually Editing DVC-files

How to Use DVC with DB

Use a Bash Script to Create Pipelines

Move a Pipeline to Different Datasets

Update Your Pipeline by Editing DVC-files
https://github.com/iterative/dvc.org/issues/230

How to Add Output Without Reruning Stage
https://github.com/iterative/dvc.org/issues/460

Managing Metrics
https://github.com/iterative/dvc.org/issues/59

How to Avoid/Resolve Conflicts in DVC-Files on Merge
https://github.com/iterative/dvc.org/issues/192

How to Store Data on Your Own Server
https://github.com/iterative/dvc.org/issues/54

Using External Data and Cache
https://github.com/iterative/dvc.org/issues/563
https://github.com/iterative/dvc.org/pull/565

Build a Dataset Registry
https://github.com/iterative/dvc.org/issues/674
https://github.com/iterative/dvc.org/pull/679

Advanced Remote Scenarios
Using one remote for development and one for production, and switching
between them.
https://github.com/iterative/dvc.org/issues/237
https://github.com/iterative/dvc.org/issues/108

How to Use Jupyter Notebook
https://github.com/iterative/dvc.org/issues/96

Etc.

[x] Contributing

Contributing Code
https://dvc.org/doc/user-guide/contributing

Contributing Docs
https://dvc.org/doc/user-guide/contributing-docs

Command Reference
[. . . . .]

DVC API
[. . . . .]

FAQ
https://dvc.org/doc/user-guide/running-dvc-on-windows
Some questions from the chat, whose answer is not obvious from the rest of the
docs. Maybe they can be categorized.

Changelog
[. . . . .]

@dashohoxha as we discussed, let's split this into separate tickets and do them one by one. This one is not actionable. Even if we start the discussion here it will become a mix of different topics that are hard to follow.


[cdk-stepper] Add ability to disable _onKeyDown management

Feature Description
Right now the cdk-stepper overrides the SPACE and ENTER keys as seen here
This prevents use-cases where you want to use these keys in the matStepLabel, such as this example where a mat-form-field is placed in the matStepLabel template ref.
We should provide a way to escape/deactivate this underlying feature for the stepper.
Use Case
(see above)
Here is an example of the current behavior:
https://stackblitz.com/angular/yjpbpelmxqxd?file=app%2Fstepper-overview-example.html

Hello! Thanks for this issue! I'd love to take a look at your issue/feature request, but I don't quite follow on the use-case. You are mentioning that you want to have a form-field inside the step label (that has these prevented keydown events).
I don't see that in the provided StackBlitz and I'm wondering if there is a good concrete use-case?

Closing because this issue has been inactive for 2 weeks or more after follow up was requested.


extend gives error with Vite/Typescript/eslint

I'm using Vue3 with Vite and Typescript, and I'm trying to use a plugin, but the example code gives an error:
import { colord } from 'colord';
import a11yPlugin from 'colord/plugins/a11y';
extend([a11yPlugin]);

[vue-tsc] Cannot find name 'extend'.

I can't seem to find any information about the keyword 'extend' so I'm at a loss here.
Maybe installing a plugin with something like
colord.use(a11yPlugin)
would be a nice solution?

I'm sorry, found the answer. Just needed to import extend as well :)
import { colord, extend } from 'colord';
import a11yPlugin from 'colord/plugins/a11y';
extend([a11yPlugin]);


Fixes bug in #140 where additional PDB files were suppressed by filter_template

Codecov Report

Merging #143 into master will increase coverage by 0.13%.
The diff coverage is 100.00%.


Several useful shards

Do you consider add following shards into awesome-crystal?
https://github.com/crystal-china/procodile_cr
Port from same name ruby gem,  like crank, but more powerful.
Although there is still a issue to be solved
https://github.com/crystal-china/hashr
A really tiny shards used for test json response only. Inspired by same name ruby gem. https://github.com/svenfuchs/hashr
https://github.com/crystal-china/port_ruby_to_crystal
Porting Ruby code into Crystal easier.
there are others shards in crystal-china org, and I will add more shards to it.
Thanks.

We would be happy to accept new additions to the list if they do not break the Contribution guidelines.
Would you like opening PRs to contribute?


runtime: export _swift_willThrow

_swift_willThrow is meant as a debugging hook and is a symbol that is meant to be exported.  This will not be exported currently on Windows as it is not attributed, and the default visibility is hidden.  Adjust this to make it available on Windows.
Thanks to @grynspan for identifying this issue!

I don't think this PR as written will help because the symbol is declared exported already in the header.
I'm not sure what the root cause of this issue is, but if we can't figure it out, we can modify the function just below it to return the old value, and then that function can be used on Windows. It would need to do an exchange(std::memory_order_acq_rel) instead of what it currently does, and the test that uses it would need to be updated too.

At a guess, the linker settings for the runtime DLL are maybe set not to export any non-function symbols?

The default behaviour on Windows is that everything is internal, data or function.  Anything that is meant to be visible outside of the module boundary must be marked as __declspec(dllexport) when defined (or if the declaration precedes the definition, the attribution may be applied at the declaration as long as the declaration is visible to the definition).
I think that building this locally is the right approach to figuring out what is going on.

@swift-ci please build windows platform

Turns out where I was trying to use it, I was missing dllimport. 🤦 Closing.


Sorting Functionality Implemented

Fixes #70
Sorting functionality implemented for the following parameters:

Number of GSoC Appearances
Total Number of Projects
Average Number of Projects per Year

Additionally, the ability to specify the order of sorting (ascending, descending) and descriptive labels for dropdowns have been added
Type of Change

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

Screenshot

Checklist:

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

A very good start.
I have some suggestions for the UI though:

Make sure the "Search By" is just aligned exactly vertical to "Tech stack". Make sure that they are equally aligned. The same applies to "Sort By" and "Total Number of Projects"
Just shift down the sort drop down a bit more downwards.
Make sure the UI also works fine for mobile view.

Responsiveness has been introduced as seen in the video snippet attached below
https://user-images.githubusercontent.com/75087669/147204035-edbccf54-e7bd-4893-a107-3d39bf6b64c4.mp4

@Sparsh1212

The vertical separation between the search box and those drop-downs right?

Also, just to confirm is the average been calculated as:
total no. of projects / total number of times in GSoC or is it:
total no. of projects / Total GSoC Years (that will always be 13).
Please let me know because the former is correct and the latter is incorrect.

It's the former alright

Yes I meant the vertical separation.

Increased vertical separation


Added "do k=1,npz" and "enddo" to the upper part of the if-else-endif…

… block below:
  tqtot = 0.0
  if ( (.not. ADIABATIC) .AND. (FV_Atm(1)%flagstruct%nwat /= 0) ) then
   if (FV_Atm(1)%flagstruct%nwat == 6) then
     do k=1,npz
        tqtot(:,:) = tqtot(:,:) + ( &
        FV_Atm(1)%q(isc:iec,jsc:jec,k,sphu) + &
        FV_Atm(1)%q(isc:iec,jsc:jec,k,qliq) + &
        FV_Atm(1)%q(isc:iec,jsc:jec,k,qice) + &
        FV_Atm(1)%q(isc:iec,jsc:jec,k,rain) + &
        FV_Atm(1)%q(isc:iec,jsc:jec,k,snow) + &
        FV_Atm(1)%q(isc:iec,jsc:jec,k,grpl) ) * FV_Atm(1)%delp(isc:iec,jsc:jec,k)
     enddo
   else
     do k=1,npz
        tqtot(:,:) = tqtot(:,:) + ( &
        FV_Atm(1)%q(isc:iec,jsc:jec,k,sphu) + &
        FV_Atm(1)%q(isc:iec,jsc:jec,k,qlcn) + &
        FV_Atm(1)%q(isc:iec,jsc:jec,k,qlls) + &
        FV_Atm(1)%q(isc:iec,jsc:jec,k,qicn) + &
        FV_Atm(1)%q(isc:iec,jsc:jec,k,qils) ) * FV_Atm(1)%delp(isc:iec,jsc:jec,k)
     enddo
   endif
  endif

Huh. That does seem a bug. If @wmputman agrees, we can get this in.

Huh. That does seem a bug. If @wmputman agrees, we can get this in.

The fix seems reasonable to me too. Looked like these was a bug before

The fix seems reasonable to me too. Looked like these was a bug before

Yes, it's a bug, fortunately we don't typically go down this path in the code.

Yes, it's a bug, fortunately we don't typically go down this path in the code.

Confirmed no difference with "standard" AMIP style runs. So, I'll merge and make a release.

Confirmed no difference with "standard" AMIP style runs. So, I'll merge and make a release.


publish umd bundle to be used as script tag for expressions library

Fixes
Allow users to consume this library from a distribution umd package which users can include as script tag in their html file.
Description
Allow users to consume this library from a distribution umd package which users can include as script tag in their html file.
Something like :

Specific Changes

Used webpack to bundle the library into umd distribution package.
Added release command in package json scripts to get it

Testing
Tested by including this library as script tag in a HTML page

We've been using browserify in other packages to produce browser friendly bundles. Would that suffice rather than adding another webpack dependency?


dataUrl is undefined and isEmpty function returns true even if valid signature is provided

Tested both in Chrome and Firefox. This issue is intermittent

@elsatom We've not seen this issue. We need to be able to reproduce an issue in order to solve it.
Please try to find a reproducible case and add a JSFiddle.

This issue appear to occur whenever a user goes outside of the signature bounds.  Even though the signature is there, the dataUrl is empty.

Closing as duplicate


add my first file

i 've created a new branch, created a file, and made a commit!

i 've created a new branch, created a file, and made a commit!


Add passkeys.eu

This is a demo site run by Corbado

I approve this one but let's raise the standards for submitting so we have proof of it working.


Release new version of eo-strings

Release is required to apply syntax changes

@yegor256 please release

@rultor release, tag is 0.1.2

@rultor release, tag is 0.1.2

@yegor256 OK, I will release it now. Please check the progress here

@rultor release, tag is 0.1.2

@yegor256 Done! FYI, the full log is here (took me 13min)


new release?

The current release doesn't work with the newest stackage lts
In the dependencies for intero-0.1.30:
    ghc-8.4.3 from stack configuration does not match >=7.8 && <=8.4.1  (latest matching version
              is 8.4.1)

I don't think this is the current release - it should be 0.1.32 (this is what I got)

there's no 0.1.32 tag from what I can tell

true - I guess someone forgot to add this - but here is the commit: https://github.com/commercialhaskell/intero/commit/7db6ba44572dc8207a2c6d24c14e06206f7426d2

OK, melpa-stable gives only what's tagged – can we have a tag? :-)

oh - did not even notice that - as a workaround you should be fine with stack build intero --copy-compiler-tool

@ntc2 does it?

@develop7 Yes, it works for me. Note that the failed build you linked to is failing due to -Werror (treat warnings as errors) along with some warnings.


Fix/issue350/advanced action guide and sample

Description
Created advanced index actions guide & it's associated sample code file.
Issues Resolved
Merges requested changes into open PR
By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.
For more information on following Developer Certificate of Origin and signing off your commits, please check here.

Accident, sorry! :)


[ENH] Add status command to display high-level participant counts [WIP]

Closes #307

Changes proposed in this pull request:

add nipoppy command: status to show aggregate participant counts in manifest, doughnut, and imaging_bagel

Checklist (for reviewers)
This section is for the PR reviewer

[x] PR has an interpretable title with a prefix (e.g. [BUG], [DOC], [ENH], [MAINT])
Refer to NumPy Development Guide for a full list
[x] PR links to GitHub issue with mention Closes #XXXX
[x] Tests pass
[ ] Checks pass

For new features:

[ ] Tests have been added

For bug fixes:

[ ] There is at least one test that would fail under the original bug conditions

@michellewang - I think i have addressed all the comments, added the test and most importantly emojis!

Summary of emoji discussion:

Remove crossed fingers emoji
Remove all rewards columns
Remove legend
Add double vertical lines to separate manifest/curation/processing columns
Add an "Achievements" section after the main table, where achievements are like:

"At least one session fully BIDSified! 🧹" or "All sessions have been BIDSified! ✨"
etc.

We can split the achievements things into another PR to make reviewing easier :)

Incorporated your comments and suggestions. I am not sure though that the <100% code coverage stat was coming from the previous bagel test. I believe it is from the table column coloring branching - which is a bit annoying and probably unnecessary to test.

@nikhil153 the tests are failing for an unrelated reason (PyBIDS just had a release and the new version is broken). This is "fixed" in #449 -- could you check/approve/merge it? Then this PR should be good to go as long as the tests pass :)


add swift support by explicitly specifying language in LLDB commands

Do I really have to sign the CLA for such a trivial change as adding arguments to LLDB commands?

I've asked before about trivial changes, but unfortunately was told signing is still a requirement. The good news is that the license takes seconds to submit if you're not worried about what it says :) But seriously, it's short and straight forward. I found it very easy to scan through.
Either way, I appreciate you taking the time to give the valuable feedback, and the time to open the pull request. Thank you!

Hi @moreindirection, did you decide against signing the CLA?

Thank you for reporting this issue and appreciate your patience. We've  notified the core team for an update on this issue. We're looking for a response within the next 30 days or the issue may be closed.

@moreindirection Please feel free to reopen anytime.


Extract BTTR specific images

Same idea as #9. Environment/work specific packages should not clutter the base images.

See #15


docs: add a specific usage example

#87 docs: add a specific usage example

This submission doesn't quite fit our style. Thank you for your submission, and I will compile a new readme. Please help review it together.


Profile page for each fellow

When you click on each fellows card, it sends you to a separate page which includes more detail such as:

Description
Favourite programming languages
Interests outside of technology
University

I would like to work on this feature.

I would like to help solving this issue


More options to sort files

What feature or improvement do you think would benefit Files?
The app lacks important sorting options like duration. I work with videos and this not being available kills me. This is a good personalization that can be brought in from Windows, their options are endless.
Requirements

This proposal will accomplish X
This proposal will accomplish Y
This proposal will accomplish Z

Files Version
<IP_ADDRESS>
Windows Version
10.0.19045.3803
Comments
You have a native "tag" option, who tags files??? They even got their own section in Settings. This is like the "rating" feature that Windows had and nobody used.

Thanks for the feedback, We're tracking this in #8366. You can check there or click subscribe in the right sidebar for updates.

Thanks for the feedback, We're tracking this in #8366. You can check there or click subscribe in the right sidebar for updates. The tags system also doesn't have to be used as a replacement for the rating features and isn't is only use case

So you are referencing a ticket from more that 1 year ago and still this was not added?

It will be made eventually but it isn't easy to implement since there a lot of code that wasn't well maintained, It's currently being fixed but will take time. Files also is community developed so people get to chose what they want to do and with the very small developer base Files has it hasn't been a priority.

So you are referencing a ticket from more that 1 year ago and still this was not added?

There are quite a few changes needed to make this one happens. More recently we laid the foundation for auto generating columns but there is still work to be done.


Problem with updating the data

I'm submitting a ...
[ ] bug report => search github for a similar issue or PR before submitting
[ ] feature request
[x] support request

Current behavior
I'm doing a component compound of two elements, the left side have a list of elements and the right side the form generated with formly.
Every type of element of the left side have different fields that is because sometime I click on the element produce an event that load data and the field require and substitute actual form data and field with the new ones.
This is component image:

Expected behavior
Any time I click element the field and model updating ( I check every time the data was arrive), the form changes an appear the new fields but the data doesn't changes. I try to reset the form every time I click but no results.

Angular version: 4.1.0
Language: TypeScript 2.3.2

Hi @Gaedr It would be helpful if you can provide us a reproduction example,
refering to the data please ensure you have passing a new ref of object
data = { ...newData };

It's difficult to export this functionality to plunkr because it is a part of a big component and it's too hard to isolate functionality, so this is the code referenced to issue.
This is html referenced to formly:

    <form class="formly" role="form" novalidate [formGroup]="form" (ngSubmit)="onSubmit(form)" *ngIf="dataSelected">
         <formly-form [model]="dataSelected" [fields]="modelSelectedFields" [form]="form" [(options)]="options">

                <button type="submit" class="btn btn-primary">
                  {{ nodeSelected.mode == 'edit'? 'Update' : 'Add' }}
                  {{ nodeSelected.type }}
                </button>

        </formly-form>
    </form>

And this is the code that load component:
private loadComponent() {
        this._nodeSelected.subscribe( (node) => {
            this.errorOnLoading = false;
            this.loading = true;

            if (node) {
                this.nodeSelected = node;
                this.modelSelected = this.getModelByNode(node);

                if (node.mode === 'edit') {
                    const data$ = this.getResourceByNode(node);
                    if (data$) {
                        data$.get( { id: node.id } ).$observable.subscribe(
                            (data) => setTimeout(() => { this.dataSelected = Object.assign({}, data)  }) ,
                            (error) => {
                                console.error('Error', error);
                                this.errorOnLoading = true;
                            },
                            () => this.loading = false,
                        );
                    } else {
                        this.loading = false;
                    }
                } else {
                    this.loading = false;
                }
            }
        });
    }

nodecontains a bit information about component like type, id and name.
export interface INodeElement {
  id?: number;
  name?: string;
  type: string;
  mode: 'add' | 'edit';
}

getModelByNode() retrieves an object with a lot of information about element even FormlyFieldConfig variable:
export interface IElementModel {
  key: string;
  icon: string;
  plural?: string;
  duplicate?: boolean;
  parent?: string;
  childs?: string[];
  fields?: FormlyFieldConfig[];
  extraFields?: string[];
  actionCallback?: Observable<any>;
  [field: string]: any;
}

Other useful methods to understand the code:
// The variables of the class
protected nodeSelected: INodeElement;
protected modelSelected: IElementModel;
protected dataSelected = null;

// Method to obtain the fields
protected get modelSelectedFields(): FormlyFieldConfig[] | FormlyFieldConfig {
    return this.modelSelected ? this.modelSelected.fields : [];
}

@Gaedr you don't have to make exactly what you are doing in your project, just a small dummy example which demos the behavior should be enough.

This is a bit example of a dummy demo
http://plnkr.co/edit/LnJ4jjSM9OX6t0k2LpGT?p=preview

@Gaedr that example doesn't work on my system 😞

@mohammedzamakhan FormlyBootstrapModule is missing on the provided example you just need to include it on ngModule.

I left you this issue :)

I fixed the plnkr adding the FormlyBootstrapModule

@Gaedr I see that you change fields based upon logic.
I think the best solution to this is to use hideExpression and solve it, see the working example
http://plnkr.co/edit/uXu1bzLqnmbc3nkMshql?p=preview

Try this:
http://plnkr.co/edit/c0MTUdQJfMDU3SfwYRZ8?p=preview
In general, if you recycle your formly-form with disparate fields, it's a good idea to reset them the same time you're resetting the model (options too if you're using those) as well as deep copy the fields you ever give to the formly-form, because it will mutate them with additional state which may cause odd behavior.


How can I show an empty string on input datepicker

Hi!
I have a problem trying to show an empty string on input datepicker.
My declaration is the following:

In controller I set $scope.prueba to null, undefined, {} and always get an invalid date. I want to get an empty value to show input placeholder.
Thanks in advance

Here is the solution → https://github.com/g00fy-/angular-datepicker/issues/199#issuecomment-154249452


"should" commands behavior incorrectly in case of failure

"I should see text" and "".*" should exist" cucumber commands in case of failure mark test as failed and throwing "NullPointerException" - while test should be marked as passed. Full output example added.
Steps to reproduce:

Create the test which contains "I should see text" or "".*" should exist" command - with unexisting element
Run the test
See the result
shouldOutput.txt

This is an open bug in QAF

Should is using verify that suppose to fail the test

ADd failed steps in the msg error of the report


How is everyone going to handle a leap second added to the end of 2016, for kube-aws created clusters?

IFAIK,

CoreOS uses systemd-timesyncd instead of ntpd or chronyd to sync time, by default.
It is possible to switch to ntpd as described in the CoreOS doc
We usually(?) handle leap second with the slew feature which can be seen in ntpd, chronyd
The slew feature make the leap second invisible and the clock is gradually fixed over time. Theoretically, it will be enough to completely avoid issues from a leap second.

However:

systemd-timesyncd's slew feature is limited. It applies the slew feature only when the gap of the clock is less than 0.4 sec according to timesyncd's source
ntpd.service included in coreos-overlay doesn't seem to provide -x -g option to enable "slew" according to coreos-overlay's source

I think this is more of an issue for CoreOS upstream.

Could be. I wish CoreOS had a guide like RedHat does.

You can blame be for doing this but cross posted to the coreos users' group! https://groups.google.com/forum/?hl=ja#!topic/coreos-user/tMaJtso7Ky4

Closing this as probably no one is interested 😢

Note to self: It turns out we can just source from a leap-smearing NTP server instead of the default one so that a leap is handled on their side.

@mumoshu you can source time from google or whatever but that does not prevent your system to include .60 second automatically or? I would not expect that without special treatment

@aholbreich Thanks for catching this up 👍
AFAIK, Google Public NTP serves leap-smeared time hence sourcing it ends up making a leap second invisible from our ntp clients and hence our clock.

Nice info @mumoshu,  found this too now: http://www.theregister.co.uk/2016/12/02/google_public_ntp_servers/
I was thinking if it still has any troubles with tzdata (time zone database) that includes leapseconds. But maybe in case of smearing it has no effect.


Insert does't toggle insert mode like most standard editoes do.

Issue Type: Bug

Type the numbers 1-9.
Move cursor back to 1.
Type in the letters ABC.  Numbers move to right of letters.
Press insert once.
Type in the letters DEF.  Nothing changes on the status bar. Numbers still move to right of letters.

This is very inconsistent compared with how most editors work.  This is actually quite annoying to hove to either keep deleting characters while inserting others, or having to copy paste/open file into another editor like Notepad++, edit, bring it back to vscode and continue working.  Very jarring to the workflow.
VS Code version: Code 1.62.0 (b3318bc0524af3d74034b8bb8a64df0ccf35549a, 2021-11-03T15:23:01.379Z)
OS version: Windows_NT x64 10.0.19043
Restricted Mode: No

System Info

Item
Value

CPUs
AMD Ryzen 7 5700U with Radeon Graphics          (16 x 1797)

GPU Status
2d_canvas: enabledgpu_compositing: enabledmultiple_raster_threads: enabled_onoop_rasterization: enabledopengl: enabled_onrasterization: enabledskia_renderer: enabled_onvideo_decode: enabledvulkan: disabled_offwebgl: enabledwebgl2: enabled

Load (avg)
undefined

Memory (System)
7.38GB (1.56GB free)

Process Argv
--crash-reporter-id ff847a9c-5b94-44a0-b759-b62cfb7fa79c

Screen Reader
no

VM
0%

Extensions (17)

Extension
Author (truncated)
Version

doxdocgen
csc
1.3.2

vscode-pull-request-github
Git
0.32.0

better-cpp-syntax
jef
1.15.10

cortex-debug
mar
0.4.7

remote-containers
ms-
0.205.1

remote-ssh
ms-
0.66.0

remote-ssh-edit
ms-
0.66.0

remote-wsl
ms-
0.58.5

cmake-tools
ms-
1.9.1

cpptools
ms-
1.7.1

cpptools-extension-pack
ms-
1.0.0

vsliveshare
ms-
1.0.5090

vsliveshare-audio
ms-
0.1.91

comment-wrap
nex
0.0.2

clang-tidy
not
0.5.1

code-spell-checker
str
2.0.12

cmake
twx
0.0.17

(1 theme extensions excluded)

A/B Experiments
vsliv368:30146709
vsreu685:30147344
python383:30185418
vspor879:30202332
vspor708:30202333
vspor363:30204092
vswsl492cf:30256860
vstes627:30244334
pythontb:30283811
pythonvspyt551:30345470
pythonptprofiler:30281270
vsdfh931cf:30280410
vshan820:30294714
vstes263:30335439
vscorecescf:30384386
pythondataviewer:30285071
vscod805cf:30301675
pythonvspyt200:30340761
binariesv615:30325510
vsccppwt:30382697
bridge0708:30335490
pygetstartedt3:30385195
dockerwalkthru:30377721
bridge0723:30353136
pythonrunftest32:30373476
pythonf5test824:30373475
javagetstartedt:30391933
pythonvspyt187:30373474
vsqsis300:30386381
vsaa593cf:30376535
vssld246:30386377

/duplicate of #1012 and #86671
@alexdima any reason not to close the second of those as a duplicate of the first?

Sorry.  I did try and look for this issue but I didn't find it. It got lost in the noise of the myriad of other bugs that came up.  Thanks.


Add a "first-run" query parameter optional feature

Add an option feature to Bubblewrap that allows it to append an extra parameter to launchUrl when the Trusted Web Activity is running for the first time. The value should be persisted and the parameter not attached / having a different value on the 2nd launch and onwards.

What's the context/use case for this?

The idea is allowing the web app to know if it's being opened for the first time, even if the browser local storage is cleaned between runs. Then, the app can take decisions on showing their own 1st run experience based on that.

As an added benefit this may enable TWAs to be advertised and referrer off-platform. The current Android native Intent that happens when you install and launch for the first time is generally where attribution is handled. It may be beneficial to pass through the play store referrer param from the intent here too. https://developer.android.com/google/play/installreferrer/library

Yes, that's similar to what some analytics libraries do. Example: https://github.com/GoogleChromeLabs/bubblewrap/blob/master/packages/core/src/lib/features/AppsFlyerFeature.ts

This is how the implementation could work to append a "first-run" parameter - the parameter name could default to something, but we could allow developers to set any name they'd like.
public class LauncherActivity
        extends com.google.androidbrowserhelper.trusted.LauncherActivity {

    private static final String KEY_FIRST_OPEN = "bubblewrap.first_open";
    private static final String PARAM_FIRST_OPEN = "firstOpen";

    private boolean checkAndMarkFirstOpen() {
        SharedPreferences preferences = getPreferences(MODE_PRIVATE);
        if (!preferences.getBoolean(KEY_FIRST_OPEN, false)) {
            return false;
        }
        preferences.edit().putBoolean(KEY_FIRST_OPEN, true).apply();
        return true;
    }

    @Override
    protected Uri getLaunchingUrl() {
        // Get the original launch Url.
        Uri uri = super.getLaunchingUrl();

        uri = uri.buildUpon()
                .appendQueryParameter(PARAM_FIRST_OPEN, String.valueOf(checkAndMarkFirstOpen()))
                .build();

        return uri;
    }
}

This does not handle https://developer.android.com/google/play/installreferrer/library - the challenge with this particular case is that the call is async and might introduce a larger delay when opening the app. @comp615, how critical is having the install-referrer detail? A couple of alternatives would be:

Delay launching the app until the referrer is received (needs some research on how large the delay is).
Listen for the referrer asynchronously, store it and inject the next time the app is opened (which would be the first open).
A third option, which is not available for Trusted Web Activity today, would be using postMessage() to send the information to the client once it becomes available.

@PEConn for thoughts.

So launching a TWA already relies on an asynchronous connection (connecting to the Custom Tabs Service in the browser), so waiting for the Install Referrer wouldn't require rearchitecting the whole thing (though it probably won't be trivial either).
Your code sample seems fine, but it may trigger a StrictModeViolation. The first time you access SharedPreferences there is a disk read. There's not much we can really do since our logic is on the critical path, but we may want to protect ourselves against having errors thrown.

This would not be a blocker for us at the moment (although it would be if we were direct porting our WebView version, but we're simplifying things to ease migration). I think the referrer is a nice to have if possible, but the alternatives and barriers you mention are also valid considerations. One thing that comes to mind (although wouldn't be available for a bit) is the launch event (https://github.com/WICG/sw-launch), where maybe that could be fired async a second time, or the first-launch data could be appended to it so it didn't block loading the URL. In concept this sounds similar to your postMessage option.

@PEConn re: StrictMode, this protect from a StrictModeViolation. Is this right?
    private boolean checkAndMarkFirstOpen() {
        StrictMode.ThreadPolicy originalPolicy = StrictMode.allowThreadDiskReads();
        try {
            SharedPreferences preferences = getPreferences(MODE_PRIVATE);
            if (!preferences.getBoolean(KEY_FIRST_OPEN, true)) {
                return false;
            }
            preferences.edit().putBoolean(KEY_FIRST_OPEN, false).apply();
            return true;
        } finally {
            StrictMode.setThreadPolicy(originalPolicy);
        }
    }

Yeah, that should protect against violations.
Do this think this reads better (for the part inside the try block)?
SharedPreferences preferences = getPreferences(MODE_PRIVATE);
boolean isFirstRun = preferences.getBoolean(KEY_FIRST_OPEN, true);
preferences.edit().putBoolean(KEY_FIRST_OPEN, false).apply();
return isFirstRun;


publish for scala 2.12.0

please...

Any ETA on a 2.12 release? Thanks!

I should have time to cut a release this weekend.

Wartremover 1.2.0 has been released for 2.12.


[v5] Please make the margin left and right back to mt and ml

In version 5 the margin left and right got renamed to:
s - for classes that set margin-left or padding-left in LTR, margin-right or padding-right in RTL
e - for classes that set margin-right or padding-right in LTR, margin-left or padding-left in RTL
Why s & e?  l & r were so much easier to remember and is there a specific reason for this change? can we make it backward compatible with v4?

https://getbootstrap.com/docs/5.0/migration/#rtl

https://getbootstrap.com/docs/5.0/migration/#rtl

Should not be closed, as stated by bootstrap "The RTL feature is still experimental and will probably evolve according to user feedback".
Algo, "start" and "end" should be documented on the Spacing Documentation, as no one would ever think of those words. Top and Bottom are css standards for margin/padding, start and end are not (also, previous versions had "l" and "r" for left and right)

Should not be closed, as stated by bootstrap "The RTL feature is still experimental and will probably evolve according to user feedback".
Algo, "start" and "end" should be documented on the Spacing Documentation, as no one would ever think of those words. Top and Bottom are css standards for margin/padding, start and end are not (also, previous versions had "l" and "r" for left and right)

Please search other issues and discussions on the topic. Short things first: we changed them to ease working with RTL.
Also start and end are standards, known as "logical properties".
Moreover incoming in our docs: how-tos to either rename or alias utilities thanks to our utility API. It only requires you make your custom build using Sass.

Please search other issues and discussions on the topic. Short things first: we changed them to ease working with RTL.
Also start and end are standards, known as "logical properties".
Moreover incoming in our docs: how-tos to either rename or alias utilities thanks to our utility API. It only requires you make your custom build using Sass.


iOS implements file sharing between two apps ？

This component supports iOS to share files between two apps (copying files from one App to another App). I configure iOS to open the result and it is a pop-up window. What should I do?

@ajith-ab can you look at this issue.


⚠ Console Web has degraded performance

In 104f465, Console Web (https://console.inu-cafeteria.app) experienced degraded performance:

HTTP code: 200
Response time: 8170 ms

Resolved: Console Web performance has improved in c26ec62.


.eps image type causes crash for Pillow.

.eps as a filetype will load in PIL but requires a plugin that crashes.
File "meerk40t\gui\laserrender.py", line 389, in make_thumbnail
File "PIL\Image.py", line 1117, in copy
File "PIL\EpsImagePlugin.py", line 332, in load
File "PIL\EpsImagePlugin.py", line 134, in Ghostscript
OSError: Unable to locate Ghostscript on paths
https://stackoverflow.com/questions/44587376/oserror-unable-to-locate-ghostscript-on-paths
This filetype should likely be disabled or prevented from attempted load or catch the error and give a softer 'no' to the end-user.

Corrected.

https://github.com/meerk40t/meerk40t/commit/b2ebfadb4998ededde3168b5cb008f54e91a04aa


Make things faster

[x] release + use latest fs-tree-diff
[x] fix canSymlink check
[x] confirm in some more real world apps.
[x] test real world apps on windows

bellow is Ember.js broccoli rebuild, it is an example of a project that has excessive number of merge-trees. It really should be refactored to avoid this many, but for now it serves a good stress test for merges.

before:
➜  ember.js git:(master) ✗ file changed debug.js

Build successful - 788ms.

Slowest Trees                                 | Total
----------------------------------------------+---------------------
BroccoliMergeTrees                            | 96ms
BroccoliMergeTrees                            | 69ms
BroccoliMergeTrees                            | 63ms
Babel                                         | 53ms
BroccoliMergeTrees                            | 49ms
SimpleReplace                                 | 42ms

Slowest Trees (cumulative)                    | Total (avg)
----------------------------------------------+---------------------
BroccoliMergeTrees (34)                       | 486ms (14 ms)
Babel (19)                                    | 82ms (4 ms)
SimpleReplace (5)                             | 67ms (13 ms)
ConcatWithMaps (8)                            | 47ms (5 ms)
Funnel (51)                                   | 41ms (0 ms)

after
➜  ember.js git:(master) ✗ file changed debug.js

Build successful - 342ms.

Slowest Trees                                 | Total
----------------------------------------------+---------------------
Babel                                         | 37ms
SimpleReplace                                 | 30ms
ConcatWithMaps                                | 27ms

Slowest Trees (cumulative)                    | Total (avg)
----------------------------------------------+---------------------
BroccoliMergeTrees (34)                       | 78ms (2 ms)
Babel (19)                                    | 57ms (3 ms)
SimpleReplace (5)                             | 53ms (10 ms)
ConcatWithMaps (8)                            | 42ms (5 ms)
Funnel (51)                                   | 35ms (0 ms)
JSHinter (30)                                 | 29ms (0 ms)
 (30)                                         | 23ms (0 ms)

@hjdivad & @stefanpenner

This also got one of our large apps (200kloc of app.js code + 10k less + addons + vendor) from 800/900ms to 450ms rebuilds

@joliss i have separated the method extraction and improvements into two seperate commits

https://github.com/broccolijs/broccoli-merge-trees/commit/0a8e39985b2741e37b1d1e55797ad2a8dd9f1382
https://github.com/broccolijs/broccoli-merge-trees/commit/02fb38dcf2cf5273eeba5d2c982ca4880d575d76

excited to see how this affects our rebuild times.

Done with reviewing. All my comments are on 02fb38dcf2cf5273eeba5d2c982ca4880d575d76. (GitHub, y u no display context when I comment on individual commits.)

@joliss it is pretty generic. But so far each use-case has had different implementations, this is by far the most general. A future refactoring can look into this, but I think a different approach will yield a better refactoring.
I'm slowly starting on the next approach, I expect something by q1 or so.

Done with reviewing. All my comments are on 02fb38d. (GitHub, y u no display context when I comment on individual commits.)

@joliss this is one of my pet peeves with the PR code review system too :crying_cat_face:

btw, tried this on windows and it does make a material difference. :+1:

@jonnii can you share #'s ?

I will get those for you Monday.

I will get those for you Monday.

sg :)

@stefanpenner sorry for delay:
before
cold 17406
inc  1807
warm 4303

after
cold 16914
inc  1034
warm 4421

@jonnii awesome :)

@stefanpenner yeah, it's actually very noticeable.You'd think 800ms wouldn't be a big deal, but turns out it is.

@joliss what needs to be done to merge this.

Merged and released in 1.1.0. Thanks @stefanpenner and @hjdivad!
If you still wanted to add a test for the 'change' command (see my comment), do send a PR!

@joliss thanks, I will follow up with a test with you suggestions this weekend.
I'm going to be taking the next week or so, to get the ember-cli 2.0 release out, then I'll circle back and work on another set of broccoli improvements. (Largely to improve the ergonomics of writing performant plugins, but it should also improve the performance again nicely). Thanks for iterating with us.


Add way to pass in api keys to client

I think the best way to use Spice will definitely be to just have a .env, but for people who want to pass in specific api keys, how should we handle this? We could just have them pass in an env dictionary to the client, but that is slightly confusing since we wouldn't actually be changing the environment variables.

passing in a dict is good I think. Can call it api_variables or something and say it takes precedence over what's found in the env


add $DEVCOMP marker to component rendered by Dynamic

Pull Request Test Coverage Report for Build<PHONE_NUMBER>

2 of 2 (100.0%)  changed or added relevant lines in 1 file are covered.
No unchanged relevant lines lost coverage.
Overall coverage decreased (-0.02%) to 89.414%

Totals

Change from base Build<PHONE_NUMBER>:
-0.02%

Covered Lines:
1193

Relevant Lines:
1275

💛  - Coveralls


Add option to restart pixel clustering notebook from crash

What is the purpose of this PR?
Closes #575. example_pixel_clustering.ipynb includes very expensive processes such as preprocessing, SOM training, and SOM cluster assignment. This PR provides a way to prevent these from re-running (at least in full) for items that have already been checked off on a previous run that crashed midway through.
How did you implement your changes
Add options to check for files, or specific columns in files, indicating that certain processes have finished or not. This ensures we only need to process FOVs that haven't been completed.

@ngreenwald the remaining issue to solve on this PR is how to handle the case when the Arrow file becomes corrupted due to crashing mid-save. Unfortunately, feather doesn't offer a way to recover from this, and since we overwrite each fov feather file when assigning SOM cluster labels, we lose a way of reverting back to the original copy.
The simplest solution is to add a _temp.feather for each fov while running the SOM and meta cluster assignment process, allowing the data to be recovered in case of a mid-save crash. Open to other ideas too.

I just ran into this same issue, but it was because I stopped the processing, not because it crashed. I think the _temp file would be a good idea if we only had one function that manipulated the .feather files, but because we have multiple, it might not be obvious which one caused the corrupted file, and hence which temp file to look at.
I think as a first pass, it's okay to just wrap the feather.read call in a try/except clause, and if it's corrupted, say which feather file is the problem. Then it's fairly straightforward to re-run the preprocessing just for that FOV.
If lots of people end up having this issue come up we can revisit an automated way to handle it, but I think for now we can punt on it

Looks like this is happening a fair amount of the time, even without a crash. It looks like about 1% of feather files get saved with some sort of corrupted issue: here's a list of the exceptions that are getting raised when trying to load them

@ngreenwald that is very strange, never encountered an error like this before. Was there a specific exception being raised without the try/except block (ex. ArrowInvalid)?

Yeah, it's getting raised with an OSerror, the details of which are in the screenshot above

It's reproducible, unlike the previous bugs with corrupted feather files. I can read the same file again and get the same error. I'll send you a couple via slack so you can take a look

@ngreenwald I've added an update to force the compression to 'uncompressed' when saving the feather files in R. Didn't encounter any issues on my end, can you see if this fix does the trick for you?

You didn't encounter any issues before. Is there a reason to think it's the compression that's causing the problems?

You didn't encounter any issues before. Is there a reason to think it's the compression that's causing the problems?

I'm guessing the reason this issue pops up is due to what's written R write_feather documentation:
Name of compression codec to use, if any. Default is "lz4" if LZ4 is available in your build of the Arrow C++ library, otherwise "uncompressed". "zstd" is the other available codec and generally has better compression ratios in exchange for slower read and write performance See [codec_is_available()](https://arrow.apache.org/docs/r/reference/codec_is_available.html). This option is not supported for V1.

I know in Python, I had to force the compression method to 'uncompressed', however in R this was never an issue. We did update the Docker to use the Python 3.7 image very recently, and combined with a fairly recent release of the internal arrow library which provides the feather functionality, it's possible that the default compression method changed to LZ4. Hopefully forcing it to 'uncompressed' in R does the trick for you.
It's still weird, though, because even with this new image, I was able to run it smoothly without needing to force-feed a compression method in R. Have you encountered the same issue with Candace's dataset and verified that it runs on your end?

@cliu72 would you mind running the code on this branch to see if you encounter a similar error as @ngreenwald with compression?

@ngreenwald @cliu72 there is a slight issue when it comes to restarting on the call to create_pixel_matrix. Because of the need for random indexing, even with a random seed, different random indices for subsetting will be mapped to the remaining FOVs, causing the SOM and meta cluster assignments to change (as opposed to if the process ran to completion).
While it may be worth noting in the documentation of this function, I don't think it's a big issue since I don't expect restarting to happen frequently. Let me know what you guys think.

You mean that after a restart, a different random subset will be taken for the subsequent FOVs? I agree, I don't think that's an issue

What's the difference in the size of the feather file and the speed of I/O for lz4 vs uncompressed?

A few more tests, the timing can vary but in general it still seems like uncompressed outperforms LZ4 in terms of speed:

@cliu72 would you mind running the code on this branch to see if you encounter a similar error as @ngreenwald with compression?

Tested it a bit and didn't run into issues (but I also wasn't running to any crashing issues before this on cloud).

@alex-l-kong can you create a fresh branch that just has the compression changes in it so I can test if that resolves the issue, without all of the checkpointing/file creation logic that's in here

@ngreenwald this is mostly done, I haven't tested it on the MIBIAN yet (think the password I have is incorrect) but this should work.
Just one more thing needs to be tested out before officially requesting a review: ensuring that quant_dat updates properly in create_pixel_matrix if a restart is needed. Currently, it doesn't have a save state, meaning if create_pixel_matrix crashes, it only computes the channel normalized values on FOVs that come after the last FOV before crashing. This will need to be updated so 99.9% normalization can happen correctly even if after a crash.

@ngreenwald there is one minor issue popping up with occasional hanging on R's end of multi-processing, which happens when the first FOV in a particular batch is corrupted. This issue should only pop up in extraordinary circumstances since we're now writing to a separate directory, instead of overwriting .feather files. Still, it's an issue that I'm going to look into for the time being.

@ngreenwald per our discussion today:

Leave the try/except blocks/tryCatch blocks in. These are helpful for reporting corrupted FOV issues to the user, and they will not stop the pipeline from running.
Remove the intermediate calculations for quant_dat and som_to_meta_map. The former should not be necessary because create_pixel_matrix writes fresh data, so it should not crash. Since ConsensusClusterPlus is very fast, we don't need to add restart functionality for som_to_meta_map.

Okay great. And you ran this version, with and without a subset of the files already being processed for each step, to check that everything works?

Yes.


5.10.0

Pull Request Type

[x] Feature addition
[x] Bugfix
[ ] Documentation update
[ ] Code refactor
[ ] Tests improvement
[ ] CI/CD pipeline enhancement
[ ] Other: [Replace with a description]

Description
It's been three weeks since 5.9, and we've apparently been busy.
Changes
See commits
Related Issues

Test Scenarios

Python Compatibility

[ ] I've ensured my code works on Python 3.10.x
[ ] I've ensured my code works on Python 3.11.x

Checklist

[ ] I've run the pre-commit code linter over all edited files
[ ] I've tested my changes on supported Python versions
[ ] I've added tests for my code, if applicable
[ ] I've updated / added  documentation, where applicable

Codecov Report
Patch coverage is 57.31% of modified lines.
:exclamation: Your organization is not using the GitHub App Integration. As a result you may experience degraded service beginning May 15th. Please install the GitHub App Integration for your organization. Read more.

Files Changed
Coverage

interactions/__init__.py
ø

interactions/api/events/processors/role_events.py
0.00%

interactions/api/events/processors/voice_events.py
0.00%

interactions/models/__init__.py
ø

interactions/models/internal/cooldowns.py
0.00%

interactions/client/smart_cache.py
25.00%

interactions/client/client.py
36.36%

interactions/api/events/processors/integrations.py
50.00%

interactions/models/discord/activity.py
50.00%

interactions/models/discord/guild.py
50.00%

... and 6 more

:loudspeaker: Thoughts on this report? Let us know!.


Asked to submit a bug report for a user warning

scripts: examples/vision/simple_verification.py
Warning info:
Bounding method: CROWN-Optimized (alpha-CROWN)
/home/px/miniconda3/envs/py38-env/lib/python3.8/site-packages/auto_LiRPA-0.1-py3.8.egg/auto_LiRPA/bound_general.py:612: UserWarning: Creating an identity matrix with size 1568x1568 for node BoundConv(). This may indicate poor performance for bound computation. If you see this message on a small network please submit a bug report.

Hi @iso-p, thanks for reporting the issue! We'll release a new version recently and this issue is fixed.


Implement Addons

What this PR does / why we need it:
This PR implements the KubeOne Addons, as described in the Addons proposal.
Special notes for your reviewer:
The documentation will be done in a follow-up PR.
Does this PR introduce a user-facing change?:
Implement Addons

/assign @kron4eg
/hold

/retest

/hold cancel

/lgtm
/approve


Update to 1.18

Those buildscript changes really don't make sense

Those buildscript changes really don't make sense

Ohh sorry since I didn't have much time to fix a build error I just copied an image file of mine. I will fix this later.


feat(ABFS): Support SAS and OAuth config for ABFS

cc @majetideepak , thanks. I offline verified this change.
Please let me know if I should create a separate PR for the dependency change.

@zhli1142015 Thanks for this contribution! It is better to have a separate PR for the dependency change to test the code changes against a new image with these dependencies.

I see, here is the Pr for dep update, please help review it. Thanks.
https://github.com/facebookincubator/velox/pull/11633

@majetideepak , could you help to review the change?


Disable this test, which is failing in some branches.

(cherry picked from commit 1aa5e8c9250f6ccdf728ab5bdeddc7afe4d64157)

@swift-ci Please test


Support vhosts without leading / ?

If you pass the connection string host:port/vhost gleipnir currently parses this and uses the vhost /vhost, is this intentionally? amqplib uses %2F to support slashes in vhosts.
http://www.squaremobius.net/amqp.node/channel_api.html#connect

a trailing slash as in 'amqp://localhost/' would indicate the virtual host with an empty name, which does not exist unless it's been explicitly created. When specifying another virtual host, remember that its name must be escaped; so e.g., the virtual host named /foo is '%2Ffoo'; in a full URI, 'amqp://localhost/%2Ffoo'.

Not intentional - feel like contributing with a PR? :)

Will do, wasn't sure if it was the lib that was opinionated against it or not :)


provide option to skip peer cert verfication when fetching jwt pubkey

Describe the bug
[customer request]
today in pilot, if jwt uri starts with https, pilot fetching jwt pubkey through secureHTTPClient;
provide option to skip peer cert validation using httpclient that set InsecureSkipVerify=true since in dev env there is no auth server.

I think it's more accurate to say some dev env uses certs issued by their custom ca cert that is not included in pilot's root CA bundle instead there is no auth server in dev env.

Only for specific URLs I hope.
On Wed, Oct 24, 2018, 12:10 Yangmin Zhu<EMAIL_ADDRESS>wrote:

I think it's more accurate to say some dev env uses certs issued by their
custom ca cert that is not included in pilot's root CA bundle instead there
is no auth server in dev env.
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/istio/istio/issues/9505#issuecomment-432790955, or mute
the thread
https://github.com/notifications/unsubscribe-auth/AAFI6jP28YF6X6Lm2mZC1_Nj9zOIdjGXks5uoLsagaJpZM4X4X8J
.

Totally forgot about this. Do we still need this?

https://github.com/istio/istio/issues/15086 seems better in terms of security.

Not needed, closing for now.


#56 Add state_required to countries and country GQL endpoints

And don't render states/regions for countries where they are not required and general/region/display_all is set to false in config

Alright, implemented your change-request @schmengler .
Then I went ahead and pushed ALL my current work to this branch because @progammer-rkt really want to review it asap.
So let's hand over the review to Rajeev :)


add fft into conftest

https://github.com/ergs/d3ploy/pull/140 is merged without testing the fft calc method. This Issue can be closed when the fft calc method is added to conftest.py and passes the ci

fft passes the test on local machines, however, it is not passing on the ci, so it is not a test issue.

closed with https://github.com/ergs/d3ploy/pull/150


Too much data for the database

I'm running the PHP MD and first I got 400 messages, and it was too much to save at the database.
I changed the rules and then I got 50 and it got displayed as intended.

Fixed with #540 so I close this one


Flakey tests

We have tests that are sometimes flakey, which is not surprising because most of our tests are actually integration tests.
The worst offenders are the PSS tests and feed lookup/update (see an open issue about this)
Currently our solution is to increase the test timeout so that they most likely finish.

In my experience, this has vastly improved to a point that I don't think there is no action here, so closing.


Fix the javacpp dependency

I just hardcoded what's in
https://oss.sonatype.org/content/repositories/snapshots/org/bytedeco/javacpp-presets/mkl/2017.2-1.3.3-SNAPSHOT/

Wait, what happens if this is non-linux?

There are no such presets yet, so kaboom. (look at the merge destination)

Made obsolete by https://github.com/deeplearning4j/nd4j/commit/9870a2dc9c581ef28a16b533bc6af15286a2ff08