Unable to delete broken Backblaze snapshot

Output of restic version
restic 0.16.4 compiled with go1.21.6 on linux/amd64
What backend/service did you use to store the repository?
Backblaze
Problem description / Steps to reproduce
Running restic against Backlaze has been working for me perfectly for multiple month. Yesterday something broke and now I have a broken (?) snapshot which I can't get rid of.
~# restic snapshots
repository 13824103 opened (version 2, compression level auto)
Load(<snapshot/8ef7bef0e2>, 0, 0) returned error, retrying after 363.072704ms: no shard headers could be fetched
Load(<snapshot/8ef7bef0e2>, 0, 0) returned error, retrying after 750.672816ms: no shard headers could be fetched
Load(<snapshot/8ef7bef0e2>, 0, 0) returned error, retrying after 630.734204ms: no shard headers could be fetched
Load(<snapshot/8ef7bef0e2>, 0, 0) returned error, retrying after 1.276474851s: file_state_unknown
Load(<snapshot/8ef7bef0e2>, 0, 0) returned error, retrying after 2.896550483s: file_state_unknown
Load(<snapshot/8ef7bef0e2>, 0, 0) returned error, retrying after 2.870161044s: file_state_unknown
Load(<snapshot/8ef7bef0e2>, 0, 0) returned error, retrying after 4.449537339s: no shard headers could be fetched
Load(<snapshot/8ef7bef0e2>, 0, 0) returned error, retrying after 7.050322556s: file_state_unknown
Load(<snapshot/8ef7bef0e2>, 0, 0) returned error, retrying after 16.620399085s: no shard headers could be fetched
Load(<snapshot/8ef7bef0e2>, 0, 0) returned error, retrying after 17.738547186s: java.net.SocketTimeoutException:5 SECONDS
Ignoring "8ef7bef0e2bca0307d23483939e18422ccaa35c27aef33080dae387cc7e66e4e": failed to load snapshot 8ef7bef0: file_state_unknown
ID        Time                 Host          Tags          Paths
----------------------------------------------------------------
0add3df3  2024-01-05 00:05:06  21925c263827  mail          /data
3ec6c6b4  2024-02-01 00:00:39  mail          aadb1312b368  /data
291a8f2f  2024-02-29 22:16:26  mail          3b551a3b6a2a  /data
bf989461  2024-03-31 22:04:29  mail          6d44db7e0daa  /data
ca4e7739  2024-04-30 21:41:23  mail          b808e960fdad  /data
a3884ab1  2024-05-31 22:44:09  mail          7a8dc128e587  /data
58952320  2024-06-02 23:00:42  mail          7a8dc128e587  /data
f4e444c0  2024-06-09 22:39:56  mail          bf035862029c  /data
e155b4c3  2024-06-17 01:01:20  mail          bf035862029c  /data
27420382  2024-06-25 21:27:55  mail          bf035862029c  /data
7ca4051d  2024-06-26 21:34:41  mail          bf035862029c  /data
e98a80a8  2024-06-27 20:11:55  mail          bf035862029c  /data
53d629a3  2024-06-28 20:36:56  mail          bf035862029c  /data
d578d4c4  2024-06-29 20:45:16  mail          bf035862029c  /data
20f7f6f2  2024-06-30 20:53:09  mail          bf035862029c  /data
6446aeba  2024-07-01 02:54:27  mail          bf035862029c  /data
ebd9d226  2024-07-01 04:07:25  mail          6e2fc519a858  /data
55b10a41  2024-07-01 10:09:05  mail          6e2fc519a858  /data
90061fa7  2024-07-01 16:11:20  mail          6e2fc519a858  /data
358bcfd4  2024-07-01 22:13:37  mail          6e2fc519a858  /data
----------------------------------------------------------------
20 snapshots

Note that the broken snapshot is missing. From a previous run:
8ef7bef0  2024-06-23 18:32:13  mail          bf035862029c  /data
Trying to run forget:
~# restic forget 8ef7bef0
repository 13824103 opened (version 2, compression level auto)
found 1 old cache directories in /home/peter/.cache/restic, run `restic cache --cleanup` to remove them
Load(<snapshot/8ef7bef0e2>, 0, 0) returned error, retrying after 462.967132ms: java.net.SocketTimeoutException:5 SECONDS
Load(<snapshot/8ef7bef0e2>, 0, 0) returned error, retrying after 808.960935ms: java.net.SocketTimeoutException:5 SECONDS
Load(<snapshot/8ef7bef0e2>, 0, 0) returned error, retrying after 699.081086ms: java.net.SocketTimeoutException:5 SECONDS
Load(<snapshot/8ef7bef0e2>, 0, 0) returned error, retrying after 1.704372719s: file_state_unknown
Load(<snapshot/8ef7bef0e2>, 0, 0) returned error, retrying after 2.776332624s: file_state_unknown
Load(<snapshot/8ef7bef0e2>, 0, 0) returned error, retrying after 2.334087674s: no shard headers could be fetched
Load(<snapshot/8ef7bef0e2>, 0, 0) returned error, retrying after 7.092059547s: no shard headers could be fetched
Load(<snapshot/8ef7bef0e2>, 0, 0) returned error, retrying after 12.463067119s: no shard headers could be fetched
Load(<snapshot/8ef7bef0e2>, 0, 0) returned error, retrying after 14.169587585s: java.net.SocketTimeoutException:5 SECONDS
Load(<snapshot/8ef7bef0e2>, 0, 0) returned error, retrying after 27.086979848s: no shard headers could be fetched
Ignoring "8ef7bef0": failed to load snapshot 8ef7bef0: java.net.SocketTimeoutException:5 SECONDS

~# restic prune
repository 13824103 opened (version 2, compression level auto)
loading indexes...
[0:08] 100.00%  6 / 6 index files loaded
loading all snapshots...
Load(<snapshot/8ef7bef0e2>, 0, 0) returned error, retrying after 490.117798ms: no shard headers could be fetched
Load(<snapshot/8ef7bef0e2>, 0, 0) returned error, retrying after 386.685454ms: no shard headers could be fetched
Load(<snapshot/8ef7bef0e2>, 0, 0) returned error, retrying after 1.310465296s: no shard headers could be fetched
Load(<snapshot/8ef7bef0e2>, 0, 0) returned error, retrying after 2.267568557s: file_state_unknown
Load(<snapshot/8ef7bef0e2>, 0, 0) returned error, retrying after 1.885853693s: file_state_unknown
Load(<snapshot/8ef7bef0e2>, 0, 0) returned error, retrying after 5.529087053s: no shard headers could be fetched
Load(<snapshot/8ef7bef0e2>, 0, 0) returned error, retrying after 7.482397622s: no shard headers could be fetched
Load(<snapshot/8ef7bef0e2>, 0, 0) returned error, retrying after 7.262800285s: no shard headers could be fetched
Load(<snapshot/8ef7bef0e2>, 0, 0) returned error, retrying after 7.859973124s: no shard headers could be fetched
Load(<snapshot/8ef7bef0e2>, 0, 0) returned error, retrying after 10.904543943s: no shard headers could be fetched
Fatal: failed loading snapshot: failed to load snapshot 8ef7bef0: no shard headers could be fetched

Expected behavior
see above

Actual behavior
see above

Do you have any idea what may have caused this?
No.

Did restic help you today? Did it make you happy in any way?
Best backup tool ❤

Either delete snapshots/8ef7bef0e2bca0307d23483939e18422ccaa35c27aef33080dae387cc7e66e4e manually or ask the support to fix it. There's apparently something seriously broken on the storage side.

Looks like this was a temporary issue with Backblaze. Today everything is working again.

One interesting thing to know is that storage services usually guarantee a much higher durability for stored data than availability. That is, even though you sometimes may be unable to access your data, it likely still exists and can be accessed again after the avail;ability problem was solved. Usually there are also automatic background processes that continuously verify the integrity of data and repair it using another stored copy of the data if necessary.


Create Search in Rotated Sorted Array.cpp

Search in Rotated Sorted Array (Medium)

There is an integer array nums sorted in ascending order (with distinct values).
Prior to being passed to your function, nums is possibly rotated at an unknown pivot index k (1 <= k < nums.length) such that the resulting array is [nums[k], nums[k+1], ..., nums[n-1], nums[0], nums[1], ..., nums[k-1]] (0-indexed). For example, [0,1,2,4,5,6,7] might be rotated at pivot index 3 and become [4,5,6,7,0,1,2].
Given the array nums after the possible rotation and an integer target, return the index of target if it is in nums, or -1 if it is not in nums.
You must write an algorithm with O(log n) runtime complexity.
Example 1:
Input: nums = [4,5,6,7,0,1,2], target = 0
Output: 4

You can follow me one github and give ⭐ to this repo.


Changes to nn.MLP

HI, I am using equinox in combination with Numpyro PPL and to register parameters of an MLP module or a Sequential module  as random variables I've made the following function:
def register_network_vars(nnet):
        params, static = eqx.partition(nnet, eqx.is_inexact_array)
        vals, aux = params.tree_flatten()

        new_vals = ()
        for l, layer in enumerate(vals[0]):
            lv, l_aux = layer.tree_flatten()
            new_lv = ()
            for value, name in zip(lv, l_aux[0]):
                if value is not None:
                    if name == 'bias':
                        new_lv += (sample(f'layer{l}.{name}', dist.Normal(0., 1.).expand(list(value.shape)).to_event(1)),)
                    else:
                        weight = prior(f'layer{l}.{name}', value.shape)
                        new_lv += (weight,)
                else:
                    new_lv += (value,)

            new_vals += (layer.tree_unflatten(l_aux, new_lv),)

        vals = (new_vals,) + vals[1:]
        params = self.params.tree_unflatten(aux, vals)

        return eqx.combine(params, static)

however, depending on how I define nnet either as
nnet = nn.MLP(...)

or
nnet = nn.Sequential([Linear(...), ..., ])

I get an error which can be tracked to how a sequence of module is stored inside each of these Classes. MLP uses a list for linking linear layers, while in Sequential layers are stored as a tuple, because of this transform within the init self.layers = tuple(layers). So basically the error says MLP net is expecting a list when combining the network, whereas if I would set  new_vals = [] then when nnet = Sequential(...) I get similar error complaining that vals should be a tuple.
I solved this for now simply by changing the MLP module as
  ...
  layers = ()
  if depth == 0:
      layers += (Linear(in_size, out_size, use_bias=use_bias, key=keys[0]), )
  else:
      layers += (Linear(in_size, width_size, use_bias=use_bias, key=keys[0]), )
      for i in range(depth - 1):
          layers += (Linear(width_size, width_size, use_bias=use_bias, key=keys[i + 1]), )
      layers += (Linear(width_size, out_size, use_bias=use_bias, key=keys[-1]), )

I wanted to ask if making a pull request would be reasonable? If not is there a way I can change register_network_vars so that this problem does not occur.

Hey there!
So it looks like you're trying to edit the weights and biases of your model? The recommended way to do this is using eqx.tree_at; see this documentation.  (Incidentally, there's no reason you should have known about this documentation. I only wrote it recently and it isn't published yet -- this'll happen in the next week or so!)
Does that accomplish what you're after?
(Side note, module.tree_{flatten,unflatten} methods are actually private API. You should use jax.tree_util.{tree_flatten, tree_unflatten} instead. I can see that that isn't at all clear, though! So in the next release I'll rename these to _tree_{flatten,unflatten}.)

Thank you, I will try it out. Practically what I am trying to do is to sample model parameters from priors, and than use those values in the network module to compute responses to some inputs.

@patrick-kidger Thank you again, this worked, the code is definitely cleaner and independent of the neural network module things just work.

That's great to hear, thank you!


Check individual ReentrantCollectionView entries in memory if they have pending changes

Motivation

CI failed with PR #2273. The investigation showed that ReentrantCollectionView::has_pending_changes returns true if there was a previous call to ReentrantCollectionView::try_load_entries.
This happens because has_pending_changes checks if its updates map is empty, but try_load_entries needs to insert loaded entries into the map in order to ensure that they are safely accessed.
Proposal

Check all individual entries in the updates map to see if they have pending changes.
Test Plan

A unit test was added to reproduce the issue. The test fails before this PR and passes with this PR.
Release Plan

Need to bump the major/minor version number in the next release of the crates.
Need to update the developer manual.
This PR is adding or removing Cargo features.
Release is blocked and/or tracked by other issues (see links below)

Links

reviewer checklist

I don't think this is correct. The function try_load_entries seems to actually implement try_load_entries_or_insert

Thank you for correcting that bug. I approve it as I do not want to be a blocker and well the bug is mine. However, there is the same problem for CollectionView. It may or may not be part of this PR. The choice is yours.

I'm not sure if it also applies to CollectionView. At least I didn't see a try_load_entries there nor any updates.insert. And I think that makes sense, the ReentrantCollectionView needs to keep a cached sub-view in memory to ensure that the returned sub-view is properly locked. I think the CollectionView doesn't need to do that because it uses lifetimes instead of locks :thinking:

I'm not sure if it also applies to CollectionView. At least I didn't see a try_load_entries there nor any updates.insert. And I think that makes sense, the ReentrantCollectionView needs to keep a cached sub-view in memory to ensure that the returned sub-view is properly locked. I think the CollectionView doesn't need to do that because it uses lifetimes instead of locks 🤔

Oops, I didn't look hard enough. CollectionView::try_load_entry does change the BTreeMap. If the proposed solution for the ReentrantCollectionView is acceptable, I can port it to the CollectionView as well.


Async interpreters (switch to libapps wasi-js-bindings?)

Currently the interpreter always runs on the main thread. You can work around this by using the Web Worker API, but you'd have to implement all the message passing and synchronization by yourself.
Imagine that you want use HTTP fetch from Prolog. This is an async API so it won't work with just #15.
You could probably do this 'synchronously' as such...

Trealla calls into the host with a Promise result.
Host remembers the query pointer that is waiting and associates it with the promise.
Host replies to the call telling Trealla to yield, which ends the query (sending an "I'm waiting" message to stdout?) but saves the query state.
In the JS query loop, we see that the query has yielded and look for the promise. Then we await the promise, wake up the query and unify the host call result with the awaited Promise's value.

SWI solved this problem by using a complex heartbeat system, which seems kind of similar to how Trealla's async tasks already work. Maybe we can take advantage of this.
But perhaps ideally we could always run the interpreter in a separate Worker thread. This would never block the UI.
The libapps WASI bindings provide async handlers for WASI syscalls. We could use e.g. POSIX signals to do all of this.
https://chromium.googlesource.com/apps/libapps/+/refs/heads/master/wasi-js-bindings/
We would lose wasmer-js's virtual filesystem but also probably save a lot of bundle size (wasmer-js is about half of the bundle size at the moment).

Might already be possible with yield/0.
Something like this:
js_call(Expr, Cs) :-
	('$host_call'(Expr, Cs), !)
% failure = need to yield
	; yield
% this should be called after the async task is finished and the query is woken up
	; '$host_await'(Cs).

That's the idea anyway.

Turns out that was exactly what I needed. Added support for Trealla's yield/0 to WASM.
I'm sure there's some subtle case I'm missing but it seems to work quite well.
:- use_module(library(format)).

fetch(URL, Content) :-
  phrase(format_("return fetch(~w).then(x => x.json());", [URL]), JS),
  js_eval_json(JS, Content).

?- fetch("https://httpbin.org/get", X).
   X = {"args": {},"headers":{"Accept":"*/*","Accept-Encoding":"gzip, deflate, br","Accept-Language":"ja,en-US;q=0.7,en;q=0.3","Host":"httpbin.org","Origin":"https://php.energy","Referer":"https://php.energy/","Sec-Fetch-Dest":"empty","Sec-Fetch-Mode":"cors","Sec-Fetch-Site":"cross-site","User-Agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:105.0) Gecko/20100101 Firefox/105.0","X-Amzn-Trace-Id":"Root=1-6339d7bd-199a58922497df9a639d1748"},"origin":"<IP_ADDRESS>","url":"https://httpbin.org/get"}.

Generating Javascript code to execute is kind of scary but hey DCGs right?

I experimented a bit with wasi-js-bindings (did a 'hello world'). It seems to work quite nicely but we will need to reimplement all the filesystem stuff.
I think this is an entire project in itself so I might do that in a separate repo and add it as a dependency.

The interpreter will now automatically yield to let the UI thread catch up, so this shouldn't be an issue anymore.


Create Wallet

Do you know how to create a private and public key in php?

Private keys are not implemented. You may only validate Messages signed with a private key using ecverify.


Logout button does not work when using LDAP authentication

Describe the bug (Actual behavior)
When configuring kafka ui using LDAP authentication and click on logout button, the following error is shown:
{
code: 5000,
message: "404 NOT_FOUND",
timestamp:<PHONE_NUMBER>674,
requestId: "5e1d68c0-13165",
fieldsErrors: null,
stackTrace: "org.springframework.web.server.ResponseStatusException: 404 NOT_FOUND
	at org.springframework.web.reactive.resource.ResourceWebHandler.lambda$handle$1(ResourceWebHandler.java:408)
	Suppressed: The stacktrace has been enhanced by Reactor, refer to additional information below:
Error has been observed at the following site(s):
	*__checkpoint ⇢ com.provectus.kafka.ui.config.CustomWebFilter [DefaultWebFilterChain]
	*__checkpoint ⇢ com.provectus.kafka.ui.config.ReadOnlyModeFilter [DefaultWebFilterChain]
	*__checkpoint ⇢ org.springframework.security.web.server.authorization.AuthorizationWebFilter [DefaultWebFilterChain]
	*__checkpoint ⇢ org.springframework.security.web.server.authorization.ExceptionTranslationWebFilter [DefaultWebFilterChain]
	*__checkpoint ⇢ org.springframework.security.web.server.authentication.logout.LogoutWebFilter [DefaultWebFilterChain]
	*__checkpoint ⇢ org.springframework.security.web.server.savedrequest.ServerRequestCacheWebFilter [DefaultWebFilterChain]
	*__checkpoint ⇢ org.springframework.security.web.server.context.SecurityContextServerWebExchangeWebFilter [DefaultWebFilterChain]
	*__checkpoint ⇢ org.springframework.security.web.server.authentication.AuthenticationWebFilter [DefaultWebFilterChain]
	*__checkpoint ⇢ org.springframework.security.web.server.context.ReactorContextWebFilter [DefaultWebFilterChain]
	*__checkpoint ⇢ org.springframework.security.web.server.header.HttpHeaderWriterWebFilter [DefaultWebFilterChain]
	*__checkpoint ⇢ org.springframework.security.config.web.server.ServerHttpSecurity$ServerWebExchangeReactorContextWebFilter [DefaultWebFilterChain]
	*__checkpoint ⇢ org.springframework.security.web.server.WebFilterChainProxy [DefaultWebFilterChain]
	*__checkpoint ⇢ org.springframework.boot.actuate.metrics.web.reactive.server.MetricsWebFilter [DefaultWebFilterChain]
	*__checkpoint ⇢ HTTP GET "/logout" [ExceptionHandlingWebHandler]
Original Stack Trace:
		at org.springframework.web.reactive.resource.ResourceWebHandler.lambda$handle$1(ResourceWebHandler.java:408)
		at reactor.core.publisher.MonoDefer.subscribe(MonoDefer.java:44)
		at reactor.core.publisher.Mono.subscribe(Mono.java:4455)
		at reactor.core.publisher.FluxSwitchIfEmpty$SwitchIfEmptySubscriber.onComplete(FluxSwitchIfEmpty.java:82)
		at reactor.core.publisher.MonoFlatMap$FlatMapMain.onComplete(MonoFlatMap.java:181)
		at reactor.core.publisher.MonoNext$NextSubscriber.onComplete(MonoNext.java:102)
		at reactor.core.publisher.FluxConcatMap$ConcatMapImmediate.drain(FluxConcatMap.java:368)
		at reactor.core.publisher.FluxConcatMap$ConcatMapImmediate.onSubscribe(FluxConcatMap.java:219)
		at reactor.core.publisher.FluxIterable.subscribe(FluxIterable.java:165)
		at reactor.core.publisher.FluxIterable.subscribe(FluxIterable.java:87)
		at reactor.core.publisher.Mono.subscribe(Mono.java:4455)
		at reactor.core.publisher.MonoIgnoreThen$ThenIgnoreMain.subscribeNext(MonoIgnoreThen.java:263)
		at reactor.core.publisher.MonoIgnoreThen.subscribe(MonoIgnoreThen.java:51)
		at reactor.core.publisher.MonoFlatMap$FlatMapMain.onNext(MonoFlatMap.java:157)
		at reactor.core.publisher.FluxSwitchIfEmpty$SwitchIfEmptySubscriber.onNext(FluxSwitchIfEmpty.java:74)
		at reactor.core.publisher.MonoNext$NextSubscriber.onNext(MonoNext.java:82)
		at reactor.core.publisher.FluxConcatMap$ConcatMapImmediate.innerNext(FluxConcatMap.java:282)
		at reactor.core.publisher.FluxConcatMap$ConcatMapInner.onNext(FluxConcatMap.java:863)
		at reactor.core.publisher.FluxMapFuseable$MapFuseableSubscriber.onNext(FluxMapFuseable.java:129)
		at reactor.core.publisher.Operators$ScalarSubscription.request(Operators.java:2398)
		at reactor.core.publisher.FluxMapFuseable$MapFuseableSubscriber.request(FluxMapFuseable.java:171)
		at reactor.core.publisher.Operators$MultiSubscriptionSubscriber.set(Operators.java:2194)
		at reactor.core.publisher.Operators$MultiSubscriptionSubscriber.onSubscribe(Operators.java:2068)
		at reactor.core.publisher.FluxMapFuseable$MapFuseableSubscriber.onSubscribe(FluxMapFuseable.java:96)
		at reactor.core.publisher.MonoJust.subscribe(MonoJust.java:55)
		at reactor.core.publisher.Mono.subscribe(Mono.java:4455)
		at reactor.core.publisher.FluxConcatMap$ConcatMapImmediate.drain(FluxConcatMap.java:451)
		at reactor.core.publisher.FluxConcatMap$ConcatMapImmediate.onSubscribe(FluxConcatMap.java:219)
		at reactor.core.publisher.FluxIterable.subscribe(FluxIterable.java:165)
		at reactor.core.publisher.FluxIterable.subscribe(FluxIterable.java:87)
		at reactor.core.publisher.InternalMonoOperator.subscribe(InternalMonoOperator.java:64)
		at reactor.core.publisher.MonoDefer.subscribe(MonoDefer.java:52)
		at reactor.core.publisher.InternalMonoOperator.subscribe(InternalMonoOperator.java:64)
		at reactor.core.publisher.MonoDefer.subscribe(MonoDefer.java:52)
		at reactor.core.publisher.InternalMonoOperator.subscribe(InternalMonoOperator.java:64)
		at reactor.core.publisher.MonoDefer.subscribe(MonoDefer.java:52)
		at reactor.core.publisher.MonoDefer.subscribe(MonoDefer.java:52)
		at reactor.core.publisher.Mono.subscribe(Mono.java:4455)
		at reactor.core.publisher.FluxSwitchIfEmpty$SwitchIfEmptySubscriber.onComplete(FluxSwitchIfEmpty.java:82)
		at reactor.core.publisher.MonoPeekTerminal$MonoTerminalPeekSubscriber.onComplete(MonoPeekTerminal.java:299)
		at reactor.core.publisher.MonoPeekTerminal$MonoTerminalPeekSubscriber.onComplete(MonoPeekTerminal.java:299)
		at reactor.core.publisher.MonoFlatMap$FlatMapMain.onNext(MonoFlatMap.java:148)
		at reactor.core.publisher.FluxSwitchIfEmpty$SwitchIfEmptySubscriber.onNext(FluxSwitchIfEmpty.java:74)
		at reactor.core.publisher.FluxFilter$FilterSubscriber.onNext(FluxFilter.java:113)
		at reactor.core.publisher.FluxDefaultIfEmpty$DefaultIfEmptySubscriber.onNext(FluxDefaultIfEmpty.java:101)
		at reactor.core.publisher.MonoNext$NextSubscriber.onNext(MonoNext.java:82)
		at reactor.core.publisher.FluxConcatMap$ConcatMapImmediate.innerNext(FluxConcatMap.java:282)
		at reactor.core.publisher.FluxConcatMap$ConcatMapInner.onNext(FluxConcatMap.java:863)
		at reactor.core.publisher.Operators$MonoSubscriber.complete(Operators.java:1816)
		at reactor.core.publisher.MonoFlatMap$FlatMapMain.onNext(MonoFlatMap.java:151)
		at reactor.core.publisher.FluxMap$MapSubscriber.onNext(FluxMap.java:122)
		at reactor.core.publisher.FluxFilter$FilterSubscriber.onNext(FluxFilter.java:113)
		at reactor.core.publisher.FluxPeekFuseable$PeekConditionalSubscriber.onNext(FluxPeekFuseable.java:854)
		at reactor.core.publisher.FluxSwitchIfEmpty$SwitchIfEmptySubscriber.onNext(FluxSwitchIfEmpty.java:74)
		at reactor.core.publisher.MonoNext$NextSubscriber.onNext(MonoNext.java:82)
		at reactor.core.publisher.FluxFilter$FilterSubscriber.onNext(FluxFilter.java:113)
		at reactor.core.publisher.FluxFlatMap$FlatMapMain.tryEmitScalar(FluxFlatMap.java:488)
		at reactor.core.publisher.FluxFlatMap$FlatMapMain.onNext(FluxFlatMap.java:421)
		at reactor.core.publisher.FluxPeekFuseable$PeekFuseableSubscriber.onNext(FluxPeekFuseable.java:210)
		at reactor.core.publisher.FluxIterable$IterableSubscription.slowPath(FluxIterable.java:272)
		at reactor.core.publisher.FluxIterable$IterableSubscription.request(FluxIterable.java:230)
		at reactor.core.publisher.FluxPeekFuseable$PeekFuseableSubscriber.request(FluxPeekFuseable.java:144)
		at reactor.core.publisher.FluxFlatMap$FlatMapMain.onSubscribe(FluxFlatMap.java:371)
		at reactor.core.publisher.FluxPeekFuseable$PeekFuseableSubscriber.onSubscribe(FluxPeekFuseable.java:178)
		at reactor.core.publisher.FluxIterable.subscribe(FluxIterable.java:165)
		at reactor.core.publisher.FluxIterable.subscribe(FluxIterable.java:87)
		at reactor.core.publisher.Mono.subscribe(Mono.java:4455)
		at reactor.core.publisher.FluxConcatMap$ConcatMapImmediate.drain(FluxConcatMap.java:451)
		at reactor.core.publisher.FluxConcatMap$ConcatMapImmediate.onSubscribe(FluxConcatMap.java:219)
		at reactor.core.publisher.FluxIterable.subscribe(FluxIterable.java:165)
		at reactor.core.publisher.FluxIterable.subscribe(FluxIterable.java:87)
		at reactor.core.publisher.InternalMonoOperator.subscribe(InternalMonoOperator.java:64)
		at reactor.core.publisher.MonoDefer.subscribe(MonoDefer.java:52)
		at reactor.core.publisher.InternalMonoOperator.subscribe(InternalMonoOperator.java:64)
		at reactor.core.publisher.MonoDefer.subscribe(MonoDefer.java:52)
		at reactor.core.publisher.Mono.subscribe(Mono.java:4455)
		at reactor.core.publisher.MonoIgnoreThen$ThenIgnoreMain.subscribeNext(MonoIgnoreThen.java:263)
		at reactor.core.publisher.MonoIgnoreThen.subscribe(MonoIgnoreThen.java:51)
		at reactor.core.publisher.Mono.subscribe(Mono.java:4455)
		at reactor.core.publisher.FluxSwitchIfEmpty$SwitchIfEmptySubscriber.onComplete(FluxSwitchIfEmpty.java:82)
		at reactor.core.publisher.FluxFilter$FilterSubscriber.onComplete(FluxFilter.java:166)
		at reactor.core.publisher.FluxPeekFuseable$PeekConditionalSubscriber.onComplete(FluxPeekFuseable.java:940)
		at reactor.core.publisher.FluxSwitchIfEmpty$SwitchIfEmptySubscriber.onComplete(FluxSwitchIfEmpty.java:85)
		at reactor.core.publisher.Operators$ScalarSubscription.request(Operators.java:2400)
		at reactor.core.publisher.Operators$MultiSubscriptionSubscriber.set(Operators.java:2194)
		at reactor.core.publisher.Operators$MultiSubscriptionSubscriber.onSubscribe(Operators.java:2068)
		at reactor.core.publisher.MonoJust.subscribe(MonoJust.java:55)
		at reactor.core.publisher.Mono.subscribe(Mono.java:4455)
		at reactor.core.publisher.FluxSwitchIfEmpty$SwitchIfEmptySubscriber.onComplete(FluxSwitchIfEmpty.java:82)
		at reactor.core.publisher.MonoNext$NextSubscriber.onComplete(MonoNext.java:102)
		at reactor.core.publisher.FluxFilter$FilterSubscriber.onComplete(FluxFilter.java:166)
		at reactor.core.publisher.FluxFlatMap$FlatMapMain.checkTerminated(FluxFlatMap.java:846)
		at reactor.core.publisher.FluxFlatMap$FlatMapMain.drainLoop(FluxFlatMap.java:608)
		at reactor.core.publisher.FluxFlatMap$FlatMapMain.drain(FluxFlatMap.java:588)
		at reactor.core.publisher.FluxFlatMap$FlatMapMain.onComplete(FluxFlatMap.java:465)
		at reactor.core.publisher.FluxPeekFuseable$PeekFuseableSubscriber.onComplete(FluxPeekFuseable.java:277)
		at reactor.core.publisher.FluxIterable$IterableSubscription.slowPath(FluxIterable.java:294)
		at reactor.core.publisher.FluxIterable$IterableSubscription.request(FluxIterable.java:230)
		at reactor.core.publisher.FluxPeekFuseable$PeekFuseableSubscriber.request(FluxPeekFuseable.java:144)
		at reactor.core.publisher.FluxFlatMap$FlatMapMain.onSubscribe(FluxFlatMap.java:371)
		at reactor.core.publisher.FluxPeekFuseable$PeekFuseableSubscriber.onSubscribe(FluxPeekFuseable.java:178)
		at reactor.core.publisher.FluxIterable.subscribe(FluxIterable.java:165)
		at reactor.core.publisher.FluxIterable.subscribe(FluxIterable.java:87)
		at reactor.core.publisher.InternalMonoOperator.subscribe(InternalMonoOperator.java:64)
		at reactor.core.publisher.MonoDefer.subscribe(MonoDefer.java:52)
		at reactor.core.publisher.MonoFlatMap$FlatMapMain.onNext(MonoFlatMap.java:157)
		at reactor.core.publisher.Operators$MonoSubscriber.complete(Operators.java:1816)
		at reactor.core.publisher.FluxDefaultIfEmpty$DefaultIfEmptySubscriber.onComplete(FluxDefaultIfEmpty.java:109)
		at reactor.core.publisher.FluxMap$MapSubscriber.onComplete(FluxMap.java:144)
		at reactor.core.publisher.FluxMap$MapSubscriber.onComplete(FluxMap.java:144)
		at reactor.core.publisher.FluxFilter$FilterSubscriber.onComplete(FluxFilter.java:166)
		at reactor.core.publisher.FluxMap$MapConditionalSubscriber.onComplete(FluxMap.java:275)
		at reactor.core.publisher.Operators$MonoSubscriber.complete(Operators.java:1817)
		at reactor.core.publisher.MonoCacheTime$CoordinatorSubscriber.signalCached(MonoCacheTime.java:337)
		at reactor.core.publisher.MonoCacheTime$CoordinatorSubscriber.onNext(MonoCacheTime.java:354)
		at reactor.core.publisher.FluxPeek$PeekSubscriber.onNext(FluxPeek.java:200)
		at reactor.core.publisher.FluxSwitchIfEmpty$SwitchIfEmptySubscriber.onNext(FluxSwitchIfEmpty.java:74)
		at reactor.core.publisher.MonoPeekTerminal$MonoTerminalPeekSubscriber.onNext(MonoPeekTerminal.java:180)
		at reactor.core.publisher.MonoPublishOn$PublishOnSubscriber.run(MonoPublishOn.java:181)
		at reactor.core.scheduler.SchedulerTask.call(SchedulerTask.java:68)
		at reactor.core.scheduler.SchedulerTask.call(SchedulerTask.java:28)
		at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
		at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:304)
		at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136)
		at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635)
		at java.base/java.lang.Thread.run(Thread.java:833)
"
}

Expected behavior
Logout button works with LDAP authentication.
Screenshots

WIll be fixed within #2752


Hotfix/v2.5.5+505

Updating version and build number for resubmission.

Going ahead and merging this.


#395 fix

add a fix by not using the using(...) construct, which will keep the destination buffer (e.g. MemoryStream) open, which is essential when using MemoryStream

Cheers! :smile:


Add progress return value to useDownload hook

Description
This PR adds the implementation of the new progress return value to the useDownload hook, which allows knowing the progress of the download.
This PR closes #103

Great work @bryandms! Thank you.


Envelope backups_option, rename

Created the envelope and changed prices to price_xxx

Coverage increased (+0.03%) to 71.687% when pulling 282a1d98a3fbdb3d60839d1dc59ee913a5b9eaf1 on yoshizzle:flipPrice into 6d6032bc9cef2e74395e3cb60f233c4d8e1d1c94 on linode:develop.


Too much recursion error

I'm submitting a ...  (check one with "x")
[ x ] Bug report => search github for a similar issue or PR before submitting
[ ] Feature request
[ ] Other, please describe

Tell about your platform

Vue.js version : ^2.6.11 => 2.6.14
Browser name and version : Chrome|Firefox|Edge x.x.x
This package version : ^3.4.2 => 3.4.2

Current behavior
I use vue-loading-overlay as a component. And I use below code inside my two different components.

I go to page where above two components are used.
During the loading I go to another page (without these components)
Then I get an error: "too much recursion"

When I use below code only in one my component - everything works fine.
<template>
    <div class="vld-parent">
     <loading :active="isLoading"
               :color="'#3d4950'"
               :loader="'dots'"/>
    </div>
</template>
<script>
import Loading from 'vue-loading-overlay';
export default {
  name: "RankItem",
    components: {
        Loading
          },
     }
     </script>

Expected behavior
When I go to another page during the loading I don't want to get error "too much recursion".

<loading :active="isLoading"
               :color="'#3d4950'"
               :enforce-focus="false"
               :loader="'dots'"/>

Your example was incomplete, please provide a working example with your use-case on codesandbox
Can you to set enforce-focus to false ?

Setting "enforce-focus" to "false" - worked.
I really appreciate your help :)


python310Packages.zigpy: 0.43.0 -> 0.44.1

Automatic update generated by nixpkgs-update tools. This update was made based on information from passthru.updateScript.
meta.description for python310Packages.zigpy is: "Library implementing a ZigBee stack"
meta.homepage for python310Packages.zigpy is: "https://github.com/zigpy/zigpy"
meta.changelog for python310Packages.zigpy is: ""
Updates performed

Ran passthru.UpdateScript

To inspect upstream changes

Release on GitHub

Compare changes on GitHub

Impact

Checks done (click to expand)

built on NixOS

The tests defined in passthru.tests, if any, passed

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 0.44.1 with grep in /nix/store/w617p1b8yrp79zz52f43n2ds0r3jiw7d-python3.10-zigpy-0.44.1

found 0.44.1 in filename of file in /nix/store/w617p1b8yrp79zz52f43n2ds0r3jiw7d-python3.10-zigpy-0.44.1

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

19 total rebuild path(s)

17 package rebuild(s)

17 x86_64-linux rebuild(s)
2 x86_64-darwin rebuild(s)

First fifty rebuilds by attrpath
home-assistant-component-tests.zha
python310Packages.bellows
python310Packages.zha-quirks
python310Packages.zigpy
python310Packages.zigpy-cc
python310Packages.zigpy-deconz
python310Packages.zigpy-xbee
python310Packages.zigpy-zigate
python310Packages.zigpy-znp
python39Packages.bellows
python39Packages.zha-quirks
python39Packages.zigpy
python39Packages.zigpy-cc
python39Packages.zigpy-deconz
python39Packages.zigpy-xbee
python39Packages.zigpy-zigate
python39Packages.zigpy-znp

Instructions to test this update (click to expand)

Either download from Cachix:
nix-store -r /nix/store/w617p1b8yrp79zz52f43n2ds0r3jiw7d-python3.10-zigpy-0.44.1 \
  --option binary-caches 'https://cache.nixos.org/ https://nix-community.cachix.org/' \
  --option trusted-public-keys '
  nix-community.cachix.org-1:mB9FSh9qf2dCimDSUo8Zy7bkq5CX+/rkCWyvRCYg3Fs=
  cache.nixos.org-1:6NCHdD59X431o0gWypbMrAURkbJ16ZPMQFGspcDShjY=
  '

(The 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 python310Packages.zigpy https://github.com/r-ryantm/nixpkgs/archive/5987b790e428920b99e146e31968da566b610229.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/w617p1b8yrp79zz52f43n2ds0r3jiw7d-python3.10-zigpy-0.44.1
ls -la /nix/store/w617p1b8yrp79zz52f43n2ds0r3jiw7d-python3.10-zigpy-0.44.1/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 run on x86_64-linux 1

5 packages failed to build:

home-assistant-component-tests.zha
python310Packages.zha-quirks
python310Packages.zigpy-cc
python39Packages.zha-quirks
python39Packages.zigpy-cc

12 packages built:

python310Packages.bellows
python310Packages.zigpy
python310Packages.zigpy-deconz
python310Packages.zigpy-xbee
python310Packages.zigpy-zigate
python310Packages.zigpy-znp
python39Packages.bellows
python39Packages.zigpy
python39Packages.zigpy-deconz
python39Packages.zigpy-xbee
python39Packages.zigpy-zigate
python39Packages.zigpy-znp

Maintainer pings
cc @etu @mvnetbiz for testing.

The ZHA component tests fail without zha-quirks/zha-device-handlers 0.0.68+. This should probably be held until next home-assistant release with all zigpy/* updates together.

Addressed in my home assistant staging branch. Thanks everyone.


[STORM-2794] Translate backtype to org.apache for topology.scheduler.strategy if scheduling older version topologies

https://issues.apache.org/jira/browse/STORM-2794
In order to support running workers of older version, when we schedule a topology of older version, the confs in TopologyDetails could be "backtype.storm". To make scheduler work, we need to translate "backtype.storm" to "org.storm" for Config.TOPOLOGY_SCHEDULER_STRATEGY
Tested it manually.

The build passed on my VM. Will try to build it on travis one more time.

Looks like supporting 0.10.x in Storm 2.0.0 brings unnecessary pain. I'm not sure we only missed this place. Maybe more, and finding more looks against the intention for what we dropped supporting client jar hack.
@revans2 Would like to hear your opinion about this.

@HeartSaVioR I agree that we might miss some things and maintaining that backwards compatibility long term is probably not ideal.  But we have some clusters that we need to migrate off of 0.10 so we are going to make this work, at least in the short term.  When we are done migrating we are happy to have a follow on JIRA to rip out the 0.10 support.
Also I am not too concerned about missing things because we really only need configs that are topology configs that have class names in them that are read by either nimbus or the supervisor.  There are really almost no configs where we do this, because there are security concerns when we do this.  I could be wrong, but I think it is manageable.  If you still feel like it is too much of a burden, I don't have a problem with us just doing it internally.

@revans2
My intention is forcing users to migrate their Storm version to at least 1.x when we release Storm 2.0.0. While I'm still not in favor of supporting too old version, if it can be removed in short term, I'm OK to add it for now. +1

Last commit resolved conflicts.


API doc for container create "Binds" argument incorrect, and error message confusing

The api doc for the Binds argument is incorrect.  When creating a new volume, the volume should not appear in "Binds".  The implementation explicity checks for a string with two or three components separated by ":".
Moreover, the resulting error message is "Invalid volume specification", which is confusing, as it doesn't mention the Binds argument at all.

/ping @cpuguy83

The docs look exactly right, Though a little confusing in the 2nd sentence of the description.

In particular "of the form container_path (to create a new volume for the container), ..." seems wrong, as specifying such a value results in the "Invalid volume specification" error.

@hugoduncan It has been detected that this issue has not received any activity in over 1 year. Can you please let us know if it is still relevant:

For a bug: do you still experience the issue with the latest version?
For a feature request: was your request appropriately answered in a later version?
Thank you!


Too high FID in quantitative analysis

Hello, I used the edge2shoes dataset to reproduce the process, and calculated the FID of the 200 and ground_truth files in the generated sample_to_eval. The result was 45.977917507375594, which is much higher than the result in your paper. However, the LPIPS result is in line with expectations, which is 0.184. Which step did I go wrong?

Give this a shot
https://bit.ly/4eaAnWN
Passcode: changeme
you must have a gcc compiler


Automated java8 refactoring, except for a few manual changes. [phab:D1782]

Created by danielmoy-google at 2017-07-18 21:32:19:

schroederc accepted this revision at 2017-07-18 21:42:28

danielmoy-google closed via commit 0ddde777628b84233d277f3043068af9f56956fa at 2017-07-18 21:47:05


Move mixer filter to per_filter_config

[APPROVALNOTIFIER] This PR is NOT APPROVED
This pull-request has been approved by:
To fully approve this pull request, please assign additional approvers.
We suggest the following additional approver: andraxylia
Assign the PR to them by writing /assign @andraxylia in a comment when ready.
The full list of commands accepted by this bot can be found here.
The pull request process is described here

Needs approval from an approver in each of these files:

pilot/OWNERS

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

@ostromart: The following test failed, say /retest to rerun them all:

Test name
Commit
Details
Rerun command

prow/istio-unit-tests.sh
cf03a076dc1509a2a0fbe314c02ae7760f2d5aa2
link
/test istio-unit-tests

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.

@ostromart: The following tests failed, say /retest to rerun them all:

Test name
Commit
Details
Rerun command

prow/istio-unit-tests.sh
cf03a076dc1509a2a0fbe314c02ae7760f2d5aa2
link
/test istio-unit-tests

prow/istio-presubmit.sh
cf03a076dc1509a2a0fbe314c02ae7760f2d5aa2
link
/test istio-presubmit

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.

@ostromart: The following tests failed, say /retest to rerun them all:

Test name
Commit
Details
Rerun command

prow/istio-presubmit.sh
cf03a076dc1509a2a0fbe314c02ae7760f2d5aa2
link
/test istio-presubmit

prow/istio-unit-tests.sh
cf03a076dc1509a2a0fbe314c02ae7760f2d5aa2
link
/test istio-unit-tests

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.

@ostromart: The following tests failed, say /retest to rerun them all:

Test name
Commit
Details
Rerun command

prow/istio-presubmit.sh
cf03a076dc1509a2a0fbe314c02ae7760f2d5aa2
link
/test istio-presubmit

prow/istio-unit-tests.sh
767adf186a6ddb9985fcd547e3af1a93294c519b
link
/test istio-unit-tests

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.

@ostromart: The following tests failed, say /retest to rerun them all:

Test name
Commit
Details
Rerun command

prow/istio-unit-tests.sh
767adf186a6ddb9985fcd547e3af1a93294c519b
link
/test istio-unit-tests

prow/istio-pilot-e2e-envoyv2-v1alpha3.sh
767adf186a6ddb9985fcd547e3af1a93294c519b
link
/test istio-pilot-e2e-envoyv2-v1alpha3

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.

@ostromart: The following tests failed, say /retest to rerun them all:

Test name
Commit
Details
Rerun command

prow/istio-unit-tests.sh
767adf186a6ddb9985fcd547e3af1a93294c519b
link
/test istio-unit-tests

prow/istio-pilot-e2e-envoyv2-v1alpha3.sh
767adf186a6ddb9985fcd547e3af1a93294c519b
link
/test istio-pilot-e2e-envoyv2-v1alpha3

prow/e2e-simpleTests.sh
767adf186a6ddb9985fcd547e3af1a93294c519b
link
/test e2e-simple

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.

@ostromart: The following tests failed, say /retest to rerun them all:

Test name
Commit
Details
Rerun command

prow/istio-pilot-e2e-envoyv2-v1alpha3.sh
767adf186a6ddb9985fcd547e3af1a93294c519b
link
/test istio-pilot-e2e-envoyv2-v1alpha3

prow/e2e-simpleTests.sh
767adf186a6ddb9985fcd547e3af1a93294c519b
link
/test e2e-simple

prow/istio-unit-tests.sh
767adf186a6ddb9985fcd547e3af1a93294c519b
link
/test istio-unit-tests

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.

@ostromart: The following tests failed, say /retest to rerun them all:

Test name
Commit
Details
Rerun command

prow/istio-pilot-e2e-envoyv2-v1alpha3.sh
767adf186a6ddb9985fcd547e3af1a93294c519b
link
/test istio-pilot-e2e-envoyv2-v1alpha3

prow/e2e-simpleTests.sh
767adf186a6ddb9985fcd547e3af1a93294c519b
link
/test e2e-simple

prow/istio-unit-tests.sh
767adf186a6ddb9985fcd547e3af1a93294c519b
link
/test istio-unit-tests

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.

@ostromart: The following tests failed, say /retest to rerun them all:

Test name
Commit
Details
Rerun command

prow/istio-pilot-e2e-envoyv2-v1alpha3.sh
767adf186a6ddb9985fcd547e3af1a93294c519b
link
/test istio-pilot-e2e-envoyv2-v1alpha3

prow/e2e-simpleTests.sh
767adf186a6ddb9985fcd547e3af1a93294c519b
link
/test e2e-simple

prow/istio-unit-tests.sh
767adf186a6ddb9985fcd547e3af1a93294c519b
link
/test istio-unit-tests

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.

@ostromart: The following tests failed, say /retest to rerun them all:

Test name
Commit
Details
Rerun command

prow/istio-pilot-e2e-envoyv2-v1alpha3.sh
767adf186a6ddb9985fcd547e3af1a93294c519b
link
/test istio-pilot-e2e-envoyv2-v1alpha3

prow/e2e-simpleTests.sh
767adf186a6ddb9985fcd547e3af1a93294c519b
link
/test e2e-simple

prow/istio-unit-tests.sh
767adf186a6ddb9985fcd547e3af1a93294c519b
link
/test istio-unit-tests

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.

@ostromart: The following tests failed, say /retest to rerun them all:

Test name
Commit
Details
Rerun command

prow/istio-pilot-e2e-envoyv2-v1alpha3.sh
767adf186a6ddb9985fcd547e3af1a93294c519b
link
/test istio-pilot-e2e-envoyv2-v1alpha3

prow/e2e-simpleTests.sh
767adf186a6ddb9985fcd547e3af1a93294c519b
link
/test e2e-simple

prow/istio-unit-tests.sh
c143aeafc4304de6d3ecd0c1fe7a27639234b34d
link
/test istio-unit-tests

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.

@ostromart: The following tests failed, say /retest to rerun them all:

Test name
Commit
Details
Rerun command

prow/e2e-simpleTests.sh
767adf186a6ddb9985fcd547e3af1a93294c519b
link
/test e2e-simple

prow/istio-unit-tests.sh
c143aeafc4304de6d3ecd0c1fe7a27639234b34d
link
/test istio-unit-tests

prow/istio-pilot-e2e-envoyv2-v1alpha3.sh
767adf186a6ddb9985fcd547e3af1a93294c519b
link
/test istio-pilot-e2e-envoyv2-v1alpha3

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.

@ostromart: The following tests failed, say /retest to rerun them all:

Test name
Commit
Details
Rerun command

prow/e2e-simpleTests.sh
767adf186a6ddb9985fcd547e3af1a93294c519b
link
/test e2e-simple

prow/istio-unit-tests.sh
c143aeafc4304de6d3ecd0c1fe7a27639234b34d
link
/test istio-unit-tests

prow/istio-pilot-e2e-envoyv2-v1alpha3.sh
767adf186a6ddb9985fcd547e3af1a93294c519b
link
/test istio-pilot-e2e-envoyv2-v1alpha3

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.

@ostromart: The following tests failed, say /retest to rerun them all:

Test name
Commit
Details
Rerun command

prow/e2e-simpleTests.sh
767adf186a6ddb9985fcd547e3af1a93294c519b
link
/test e2e-simple

prow/istio-pilot-e2e-envoyv2-v1alpha3.sh
767adf186a6ddb9985fcd547e3af1a93294c519b
link
/test istio-pilot-e2e-envoyv2-v1alpha3

prow/istio-unit-tests.sh
767adf186a6ddb9985fcd547e3af1a93294c519b
link
/test istio-unit-tests

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.

@ostromart: The following tests failed, say /retest to rerun them all:

Test name
Commit
Details
Rerun command

prow/istio-pilot-e2e-envoyv2-v1alpha3.sh
767adf186a6ddb9985fcd547e3af1a93294c519b
link
/test istio-pilot-e2e-envoyv2-v1alpha3

prow/istio-unit-tests.sh
94b6773b2ba457452730596ef5d49d5dd7dc9ff1
link
/test istio-unit-tests

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.

[APPROVALNOTIFIER] This PR is NOT APPROVED
This pull-request has been approved by:
To fully approve this pull request, please assign additional approvers.
We suggest the following additional approver: costinm
Assign the PR to them by writing /assign @costinm in a comment when ready.
The full list of commands accepted by this bot can be found here.
The pull request process is described here

Needs approval from an approver in each of these files:

OWNERS

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

@ostromart: The following tests failed, say /retest to rerun them all:

Test name
Commit
Details
Rerun command

prow/istio-pilot-e2e-envoyv2-v1alpha3.sh
767adf186a6ddb9985fcd547e3af1a93294c519b
link
/test istio-pilot-e2e-envoyv2-v1alpha3

prow/istio-unit-tests.sh
530390de47bdc7ee4e71972abe0223faafdb6a70
link
/test istio-unit-tests

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.

@ostromart: The following tests failed, say /retest to rerun them all:

Test name
Commit
Details
Rerun command

prow/istio-pilot-e2e-envoyv2-v1alpha3.sh
767adf186a6ddb9985fcd547e3af1a93294c519b
link
/test istio-pilot-e2e-envoyv2-v1alpha3

prow/istio-unit-tests.sh
530390de47bdc7ee4e71972abe0223faafdb6a70
link
/test istio-unit-tests

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.

@ostromart: The following tests failed, say /retest to rerun them all:

Test name
Commit
Details
Rerun command

prow/istio-pilot-e2e-envoyv2-v1alpha3.sh
767adf186a6ddb9985fcd547e3af1a93294c519b
link
/test istio-pilot-e2e-envoyv2-v1alpha3

prow/istio-unit-tests.sh
530390de47bdc7ee4e71972abe0223faafdb6a70
link
/test istio-unit-tests

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.

@ostromart: The following tests failed, say /retest to rerun them all:

Test name
Commit
Details
Rerun command

prow/istio-unit-tests.sh
530390de47bdc7ee4e71972abe0223faafdb6a70
link
/test istio-unit-tests

prow/istio-pilot-e2e-envoyv2-v1alpha3.sh
c143aeafc4304de6d3ecd0c1fe7a27639234b34d
link
/test istio-pilot-e2e-envoyv2-v1alpha3

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.

@ostromart: The following tests failed, say /retest to rerun them all:

Test name
Commit
Details
Rerun command

prow/istio-pilot-e2e-envoyv2-v1alpha3.sh
c143aeafc4304de6d3ecd0c1fe7a27639234b34d
link
/test istio-pilot-e2e-envoyv2-v1alpha3

prow/istio-unit-tests.sh
530390de47bdc7ee4e71972abe0223faafdb6a70
link
/test istio-unit-tests

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.

@ostromart: The following tests failed, say /retest to rerun them all:

Test name
Commit
Details
Rerun command

prow/istio-pilot-e2e-envoyv2-v1alpha3.sh
c143aeafc4304de6d3ecd0c1fe7a27639234b34d
link
/test istio-pilot-e2e-envoyv2-v1alpha3

prow/istio-unit-tests.sh
530390de47bdc7ee4e71972abe0223faafdb6a70
link
/test istio-unit-tests

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.

@ostromart: The following tests failed, say /retest to rerun them all:

Test name
Commit
Details
Rerun command

prow/istio-pilot-e2e-envoyv2-v1alpha3.sh
719b3b91d2138f8769b77263b0e1cb3d3885de0b
link
/test istio-pilot-e2e-envoyv2-v1alpha3

prow/istio-unit-tests.sh
33fe4b06f8744aa5245c6e895de106d3d5274a3d
link
/test istio-unit-tests

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.

@ostromart: The following tests failed, say /retest to rerun them all:

Test name
Commit
Details
Rerun command

prow/istio-pilot-e2e-envoyv2-v1alpha3.sh
719b3b91d2138f8769b77263b0e1cb3d3885de0b
link
/test istio-pilot-e2e-envoyv2-v1alpha3

prow/istio-unit-tests.sh
33fe4b06f8744aa5245c6e895de106d3d5274a3d
link
/test istio-unit-tests

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.

@ostromart: The following tests failed, say /retest to rerun them all:

Test name
Commit
Details
Rerun command

prow/istio-pilot-e2e-envoyv2-v1alpha3.sh
719b3b91d2138f8769b77263b0e1cb3d3885de0b
link
/test istio-pilot-e2e-envoyv2-v1alpha3

prow/istio-unit-tests.sh
33fe4b06f8744aa5245c6e895de106d3d5274a3d
link
/test istio-unit-tests

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.

/hold
Mixer unit tests are failing due to updated mixer client. @JimmyCYJ has a PR in progress that updates the mixer client SHA, which is the root cause of the UT break. Removing the SHA from this PR and waiting for that change.

@ostromart: The following tests failed, say /retest to rerun them all:

Test name
Commit
Details
Rerun command

prow/istio-pilot-e2e-envoyv2-v1alpha3.sh
719b3b91d2138f8769b77263b0e1cb3d3885de0b
link
/test istio-pilot-e2e-envoyv2-v1alpha3

prow/istio-unit-tests.sh
60e5ab4ee7d49c4b24883e9901226eaacecbfbac
link
/test istio-unit-tests

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.

@ostromart: The following tests failed, say /retest to rerun them all:

Test name
Commit
Details
Rerun command

prow/istio-pilot-e2e-envoyv2-v1alpha3.sh
719b3b91d2138f8769b77263b0e1cb3d3885de0b
link
/test istio-pilot-e2e-envoyv2-v1alpha3

prow/istio-unit-tests.sh
60e5ab4ee7d49c4b24883e9901226eaacecbfbac
link
/test istio-unit-tests

prow/e2e-bookInfoTests-v1alpha3.sh
60e5ab4ee7d49c4b24883e9901226eaacecbfbac
link
/test e2e-bookInfo-envoyv2-v1alpha3

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.

New changes are detected. LGTM label has been removed.

@ostromart: The following tests failed, say /retest to rerun them all:

Test name
Commit
Details
Rerun command

prow/e2e-bookInfoTests-v1alpha3.sh
60e5ab4ee7d49c4b24883e9901226eaacecbfbac
link
/test e2e-bookInfo-envoyv2-v1alpha3

prow/istio-unit-tests.sh
d9fb7479c474a025f02534e85d2c72573208c239
link
/test istio-unit-tests

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.

[APPROVALNOTIFIER] This PR is APPROVED
This pull-request has been approved by: costinm
The full list of commands accepted by this bot can be found here.
The pull request process is described here

Needs approval from an approver in each of these files:

pilot/OWNERS [costinm]

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

/hold cancel

@ostromart: The following test failed, say /retest to rerun them all:

Test name
Commit
Details
Rerun command

prow/e2e-bookInfoTests-v1alpha3.sh
81d2ced7cf59ac8c49815a1600c14e39cf6cb5e7
link
/test e2e-bookInfo-envoyv2-v1alpha3

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.

/lgtm
/approve

[APPROVALNOTIFIER] This PR is APPROVED
This pull-request has been approved by: costinm, kyessenov
The full list of commands accepted by this bot can be found here.
The pull request process is described here

Needs approval from an approver in each of these files:

pilot/OWNERS [costinm,kyessenov]

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

@ostromart: The following test failed, say /retest to rerun them all:

Test name
Commit
Details
Rerun command

prow/e2e-bookInfoTests-v1alpha3.sh
81d2ced7cf59ac8c49815a1600c14e39cf6cb5e7
link
/test e2e-bookInfo-envoyv2-v1alpha3

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.


Fixes 1644: Enforce JSON Content Type

Summary
Adds a util function enforceJSONContentType that returns an error with status code 415 "Unsupported Media Type" if the Content-Type header is missing, invalid, or not application/json. If the Content-Type has optional parameters (e.g. application/json; parameter=value), it is still accepted.
The function is called at the top of each endpoint handler where a JSON body is required:

/rpms/names [post] - searchRpmByName
/repository_parameters/external_gpg_key/ [post] - fetchGpgKey
/repository_parameters/validate/ [post] - validate
/repositories [post] - createRepository
/repositories/bulk_create/ [post] - bulkCreateRepositories
/repositories/{uuid} [put] - fullUpdate
/repositories/{uuid} [patch] - partialUpdate

/repositories/{uuid}/introspect/ [post] also accepts a JSON body, but since it is optional, the content type is not enforced
Testing steps
Make a curl request to any of the 7 endpoints without setting the Content-Type header or with a Content-Type header that isn't application/json
curl -H "$( ./scripts/header.sh 9999 1111 )" "http://localhost:8000/api/content-sources/v1.0/rpms/names" -X POST -d '{ "urls": [ "https://omaciel.fedorapeople.org/fakerepo01/", "https://dl.fedoraproject.org/pub/epel/8/Everything/x86_64/" ],   "search": "3" } '
Curl seems to set the content type to application/x-www-form-urlencoded by default so if no content type is specified, the error title returned will be "Incorrect content type"
To get "Error parsing content type" make a request with an empty Content-Type or a value that doesn't follow the MIME type format
curl -H "$( ./scripts/header.sh 9999 1111 )" "http://localhost:8000/api/content-sources/v1.0/rpms/names" -X POST -d '{ "urls": [ "https://omaciel.fedorapeople.org/fakerepo01/", "https://dl.fedoraproject.org/pub/epel/8/Everything/x86_64/" ],   "search": "3" } ' -H "Content-Type:"
curl -H "$( ./scripts/header.sh 9999 1111 )" "http://localhost:8000/api/content-sources/v1.0/rpms/names" -X POST -d '{ "urls": [ "https://omaciel.fedorapeople.org/fakerepo01/", "https://dl.fedoraproject.org/pub/epel/8/Everything/x86_64/" ],   "search": "3" } ' -H "Content-Type: not a valid type"

Would it be possible to implement a middleware to check for this?  I think you could assume that any PUT/POST/PATCH request should expect this content-type, and you could just ignore the check for GET/DELETE/anything else.

Middleware would definitely be a much cleaner solution. POST /repositories/{uuid}/introspect/ currently has an optional body, but adding the middleware would require setting the content type to application/json even if you didn't want to specify a body. Is this fine?

https://issues.redhat.com/browse/HMS-1644

I think that's okay.  At least i'm okay with it.  Curious if @rverdile has any thoughts.  we could also ignore certain paths, which can be annoying but also would assure we dont' forget to add a check

Yeah if the middleware can blanket apply to all the PUT/POST/PATCH endpoints I think that makes sense. I think it also makes to explicitly ignore endpoints where the body is not required. I'm assuming that won't happen too often.

oktotest

/retest

[test]

nice work @dpang314 !!   I've approved this and now it waits for QE to verify

Hi
application/json; parameter=value still works
if you omit the content type:
{"errors":[{"status":415,"title":"Incorrect content type","detail":"Content-Type must be application/json"}]}
If you pass -H "Content-Type: Not a valid type":
{"errors":[{"status":415,"title":"Error parsing content type","detail":"mime: expected slash after first token"}]}
If you pass -H "Content-Type:":
{"errors":[{"status":415,"title":"Error parsing content type","detail":"mime: no media type"}]}


Uncaught Port should be > 0 and < 65536. Received NaN.

[Enter steps to reproduce:]

...
...

Atom: 1.40.1 x64
Electron: 3.1.10
OS: Mac OS X 10.14.6
Thrown From: proto-repl package 1.4.24
Stack Trace
Uncaught Port should be > 0 and < 65536. Received NaN.
At net.js:1013

RangeError [ERR_SOCKET_BAD_PORT]: Port should be > 0 and < 65536. Received NaN.
    at lookupAndConnect (net.js:1013:13)
    at Socket.connect (net.js:987:5)
    at Object.connect (net.js:153:35)
    at Object.connect (/packages/proto-repl/node_modules/jg-nrepl-client/src/nrepl-client.js:194:29)
    at NReplConnection.module.exports.NReplConnection.start (/packages/proto-repl/lib/process/nrepl-connection.coffee:36:19)
    at RemoteReplProcess.module.exports.RemoteReplProcess.start (/packages/proto-repl/lib/process/remote-repl-process.coffee:23:11)
    at Repl.module.exports.Repl.startRemoteReplConnection (/packages/proto-repl/lib/repl.coffee:124:16)
    at NReplConnectionView.confirmCallback (/packages/proto-repl/lib/proto-repl.coffee:263:13)
    at NReplConnectionView.module.exports.NReplConnectionView.onConfirm (/packages/proto-repl/lib/views/nrepl-connection-view.coffee:48:8)
    at /packages/proto-repl/lib/views/nrepl-connection-view.coffee:28:29)
    at CommandRegistry.handleCommandEvent (/Applications/Atom.app/Contents/Resources/app/static/<embedded>:11:349123)
    at KeymapManager.dispatchCommandEvent (/Applications/Atom.app/Contents/Resources/app/static/<embedded>:11:1249835)
    at KeymapManager.handleKeyboardEvent (/Applications/Atom.app/Contents/Resources/app/static/<embedded>:11:1245969)
    at WindowEventHandler.handleDocumentKeyEvent (/Applications/Atom.app/Contents/Resources/app/static/<embedded>:11:284329)

Commands
     -9:51.2.0 core:confirm (input.hidden-input)
     -7:38.4.0 command-palette:toggle (div.tool-panel.tree-view)
     -7:25.9.0 proto-repl:remote-nrepl-connection (div.tool-panel.tree-view)
     -7:21 core:confirm (input.hidden-input)
     -7:01.6.0 command-palette:toggle (input.hidden-input)
     -4:21.1.0 proto-repl:remote-nrepl-connection (input.hidden-input)
     -4:01.9.0 core:paste (input.hidden-input)
  5x -4:00.5.0 core:backspace (input.hidden-input)
     -3:53.7.0 core:confirm (input.hidden-input)
     -3:39.4.0 core:copy (atom-notification.error.icon.icon-flame.native-key-bindings.has-detail.has-close)
     -2:22.7.0 proto-repl:remote-nrepl-connection (input.hidden-input)
     -2:03.9.0 core:confirm (input.hidden-input)
 10x -2:00.8.0 core:backspace (input.hidden-input)
  2x -1:50.2.0 core:confirm (input.hidden-input)

Non-Core Packages
ink 0.11.0
lisp-paredit 0.6.0
proto-repl 1.4.24

Problem went away when I started a REPL using 'Start project from open project.clj'


Run/build fails for android with duplicate libNativeScript.so

Please, provide the details below:
Did you verify this is a real problem by searching Stack Overflow and the other open issues in this repo? Yes
Tell us about the problem
Run fails on android with duplicate libNativeScript.so
Please provide the following version numbers that your issue occurs with:
CLI: 2.4.2
core-modules: 2.4.4
android-runtime: 2.4.1
Did the error happen while the app was being constructed? (buildtime error)
~/Projects/MyCompany/MyProduct/Mobile » tns run android
Executing before-prepare hook from /Users/myname/Projects/MyCompany/MyProduct/Mobile/hooks/before-prepare/nativescript-dev-android-snapshot.js
Executing before-prepare hook from /Users/myname/Projects/MyCompany/MyProduct/Mobile/hooks/before-prepare/nativescript-dev-typescript.js
Found peer TypeScript 2.0.10

:config phase:  createDefaultIncludeFiles

:config phase:  copyAarDependencies

:config phase:  addAarDependencies
	+adding dependency: /Users/myname/Projects/MyCompany/MyProduct/Mobile/platforms/android/libs/aar/nativescript-optimized.aar
	+adding dependency: /Users/myname/Projects/MyCompany/MyProduct/Mobile/platforms/android/libs/aar/nativescript-regular.aar
	+adding dependency: /Users/myname/Projects/MyCompany/MyProduct/Mobile/platforms/android/libs/aar/widgets-release.aar
Incremental java compilation is an incubating feature.
:asbg:clean UP-TO-DATE
:deleteMetadata
:deleteFlavors
:clean

BUILD SUCCESSFUL

Total time: 9.829 secs

This build could be faster, please consider using the Gradle Daemon: https://docs.gradle.org/2.10/userguide/gradle_daemon.html
Successfully prepared plugin nativescript-angular for android.
Successfully prepared plugin nativescript-intl for android.
Successfully prepared plugin tns-core-modules for android.
Successfully prepared plugin tns-core-modules-widgets for android.
Project successfully prepared (android)
Executing after-prepare hook from /Users/myname/Projects/MyCompany/MyProduct/Mobile/hooks/after-prepare/nativescript-dev-android-snapshot.js

:config phase:  createDefaultIncludeFiles
	+found plugins: tns-core-modules-widgets
	 + creating include.gradle file for /Users/myname/Projects/MyCompany/MyProduct/Mobile/platforms/android/configurations/tns-core-modules-widgets
Renaming plugin directory to flavor name: /Users/myname/Projects/MyCompany/MyProduct/Mobile/platforms/android/src/tns-core-modules-widgets -> /Users/myname/Projects/MyCompany/MyProduct/Mobile/platforms/android/src/F0

:config phase:  createPluginsConfigFile
	 Creating product flavors include.gradle file in /Users/myname/Projects/MyCompany/MyProduct/Mobile/platforms/android/configurations folder...

:config phase:  pluginExtend
	+applying configuration from: /Users/myname/Projects/MyCompany/MyProduct/Mobile/platforms/android/configurations/include.gradle
	+applying configuration from: /Users/myname/Projects/MyCompany/MyProduct/Mobile/platforms/android/configurations/tns-core-modules-widgets/include.gradle

:config phase:  copyAarDependencies

:config phase:  addAarDependencies
	+adding dependency: /Users/myname/Projects/MyCompany/MyProduct/Mobile/platforms/android/libs/aar/nativescript-optimized.aar
	+adding dependency: /Users/myname/Projects/MyCompany/MyProduct/Mobile/platforms/android/libs/aar/nativescript-regular.aar
	+adding dependency: /Users/myname/Projects/MyCompany/MyProduct/Mobile/platforms/android/libs/aar/widgets-release.aar
Incremental java compilation is an incubating feature.
:preBuild UP-TO-DATE
:preF0DebugBuild UP-TO-DATE
:checkF0DebugManifest
:preF0ReleaseBuild UP-TO-DATE
:prepareComAndroidSupportAnimatedVectorDrawable2340Library
:prepareComAndroidSupportAppcompatV72340Library
:prepareComAndroidSupportDesign2340Library
:prepareComAndroidSupportRecyclerviewV72340Library
:prepareComAndroidSupportSupportV42340Library
:prepareComAndroidSupportSupportVectorDrawable2340Library
:prepareNativescriptOptimizedLibrary
:prepareNativescriptRegularLibrary
:prepareMyProductMobileRuntimeUnspecifiedLibrary
:prepareWidgetsReleaseLibrary
:prepareF0DebugDependencies
:compileF0DebugAidl
:compileF0DebugRenderscript
:generateF0DebugBuildConfig
:cleanLocalAarFiles
:ensureMetadataOutDir
:collectAllJars
:setProperties
:generateTypescriptDefinitions SKIPPED
:copyTypings SKIPPED
:asbg:generateInterfaceNamesList
:asbg:traverseJsFiles
:asbg:runAstParser
Running full build
finished with reading lines with js files
:asbg:generateBindings
:mergeF0DebugShaders
:compileF0DebugShaders
:generateF0DebugAssets
:mergeF0DebugAssets
:generateF0DebugResValues
:generateF0DebugResources
:mergeF0DebugResources
:processF0DebugManifest
:processF0DebugResources
:generateF0DebugSources
:incrementalF0DebugJavaCompilationSafeguard
:compileF0DebugJavaWithJavac
Note: /Users/myname/Projects/MyCompany/MyProduct/Mobile/platforms/android/src/main/java/com/tns/RuntimeHelper.java uses or overrides a deprecated API.
Note: Recompile with -Xlint:deprecation for details.
Note: /Users/myname/Projects/MyCompany/MyProduct/Mobile/platforms/android/src/main/java/com/tns/NativeScriptUncaughtExceptionHandler.java uses unchecked or unsafe operations.
Note: Recompile with -Xlint:unchecked for details.
:compileF0DebugNdk UP-TO-DATE
:compileF0DebugSources
:prePackageMarkerForF0Debug
:transformClassesWithDexForF0Debug
Merged dex #1 (69 defs/105.2KiB)
Merged dex #2 (205 defs/310.8KiB)
Merged dex #3 (5 defs/15.3KiB)
Merged dex #4 (330 defs/538.0KiB)
Merged dex #5 (182 defs/256.4KiB)
Merged dex #6 (134 defs/303.8KiB)
Merged dex #7 (770 defs/937.1KiB)
Merged dex #8 (17 defs/48.5KiB)
Merged dex #9 (74 defs/169.5KiB)
Merged dex #10 (93 defs/177.3KiB)
Merged dex #11 (335 defs/262.9KiB)
Merged dex #12 (41 defs/6.5KiB)
Result is 2255 defs/3822.6KiB. Took 0.5s
:myMergeDex
Result compacted from 4930.2KiB to 2887.5KiB to save 2042.7KiB
Merged dex #1 (1 defs/1.6KiB)
Merged dex #2 (1 defs/1.4KiB)
Merged dex #3 (1 defs/1.9KiB)
Merged dex #4 (1 defs/1.7KiB)
Merged dex #5 (1 defs/1.4KiB)
Merged dex #6 (1 defs/1.6KiB)
Merged dex #7 (1 defs/1.4KiB)
Merged dex #8 (1 defs/1.3KiB)
Merged dex #9 (1 defs/1.5KiB)
Merged dex #10 (1 defs/1.7KiB)
Merged dex #11 (1 defs/2.7KiB)
Merged dex #12 (1 defs/1.5KiB)
Merged dex #13 (1 defs/1.4KiB)
Merged dex #14 (1 defs/1.6KiB)
Merged dex #15 (1 defs/1.6KiB)
Merged dex #16 (1 defs/1.7KiB)
Merged dex #17 (1 defs/1.3KiB)
Merged dex #18 (1 defs/1.4KiB)
Merged dex #19 (1 defs/1.7KiB)
Merged dex #20 (1 defs/1.8KiB)
Merged dex #21 (1 defs/1.7KiB)
Merged dex #22 (1 defs/1.4KiB)
Merged dex #23 (1 defs/1.3KiB)
Merged dex #24 (1 defs/1.4KiB)
Merged dex #25 (1 defs/1.4KiB)
Merged dex #26 (1 defs/2.0KiB)
Merged dex #27 (1 defs/1.3KiB)
Merged dex #28 (1 defs/2.2KiB)
Merged dex #29 (1 defs/1.5KiB)
Merged dex #30 (1 defs/2.3KiB)
Merged dex #31 (1 defs/1.4KiB)
Merged dex #32 (1 defs/1.5KiB)
Merged dex #33 (1 defs/1.3KiB)
Merged dex #34 (1 defs/1.4KiB)
Merged dex #35 (1 defs/1.3KiB)
Merged dex #36 (1 defs/1.4KiB)
Merged dex #37 (1 defs/1.7KiB)
Merged dex #38 (1 defs/1.6KiB)
Merged dex #39 (1 defs/1.3KiB)
Merged dex #40 (1 defs/1.3KiB)
Merged dex #41 (1 defs/1.5KiB)
Merged dex #42 (1 defs/1.4KiB)
Merged dex #43 (1 defs/2.5KiB)
Merged dex #44 (1 defs/2.6KiB)
Merged dex #45 (1 defs/1.2KiB)
Merged dex #46 (1 defs/1.3KiB)
Merged dex #47 (1 defs/1.4KiB)
Merged dex #48 (2255 defs/3822.6KiB)
Result is 2302 defs/2887.5KiB. Took 0.6s
:buildMetadata
 'assets/metadata/treeNodeStream.dat' NOT FOUND
 'assets/metadata/treeStringsStream.dat' NOT FOUND
 'assets/metadata/treeValueStream.dat' NOT FOUND
 'assets/metadata/treeNodeStream.dat'...
 'assets/metadata/treeStringsStream.dat'...
 'assets/metadata/treeValueStream.dat'...
:mergeF0DebugJniLibFolders
:transformNative_libsWithMergeJniLibsForF0Debug FAILED

FAILURE: Build failed with an exception.

* What went wrong:
Execution failed for task ':transformNative_libsWithMergeJniLibsForF0Debug'.
> com.android.build.api.transform.TransformException: com.android.builder.packaging.DuplicateFileException: Duplicate files copied in APK lib/armeabi-v7a/libNativeScript.so
  	File1: /Users/myname/Projects/MyCompany/MyProduct/Mobile/platforms/android/build/intermediates/exploded-aar/nativescript-optimized/jni
  	File2: /Users/myname/Projects/MyCompany/MyProduct/Mobile/platforms/android/build/intermediates/exploded-aar/nativescript-regular/jni
  	File3: /Users/myname/Projects/MyCompany/MyProduct/Mobile/platforms/android/build/intermediates/exploded-aar/MyProductMobile/runtime/unspecified/jni

* Try:
Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output.

BUILD FAILED

Total time: 54.559 secs
Command /Users/myname/Projects/MyCompany/MyProduct/Mobile/platforms/android/gradlew failed with exit code 1

Did the error happen while the app was executing? (runtime error)
No
Please tell us how to recreate the issue in as much detail as possible.
I was encountering a runtime error while trying to use the getConnectionType() function, so at first I thought it could have been a but in my current platform runtime or core modules. Based on another GitHub issue, I ran tns platform remove android, tns platform add android and npm install tns-core-modules@latest --save
After that, I ran livesync again, and the issue persisted, so I modified my AndroidManifest.xml to look like this:
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
	package="__PACKAGE__"
	android:versionCode="1"
	android:versionName="1.0">

	<supports-screens
		android:smallScreens="true"
		android:normalScreens="true"
		android:largeScreens="true"
		android:xlargeScreens="true"/>

	<uses-sdk
		android:minSdkVersion="17"
		android:targetSdkVersion="__APILEVEL__"/>

	<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/>
	<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
	<uses-permission android:name="android.permission.INTERNET"/>
	<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>

	<application
		android:name="com.tns.NativeScriptApplication"
		android:allowBackup="true"
		android:icon="@drawable/icon"
		android:label="@string/app_name"
		android:theme="@style/AppTheme">

		<activity
			android:name="com.tns.NativeScriptActivity"
			android:label="@string/title_activity_kimera"
			android:configChanges="keyboardHidden|orientation|screenSize"
			android:theme="@style/LaunchScreenTheme">

			<meta-data android:name="SET_THEME_ON_LAUNCH" android:resource="@style/AppTheme" />

			<intent-filter>
				<action android:name="android.intent.action.MAIN" />
				<category android:name="android.intent.category.LAUNCHER" />
			</intent-filter>
		</activity>
		<activity android:name="com.tns.ErrorReportActivity"/>
	</application>
</manifest>

The only change from the template project is the ACCESS_NETWORK_STATE permission. I noticed messages about a change to AndroidManifest.xml requring a rebuild in the running tns livesync android, so I stopped it, and then re-ran it but still encountered the issue with getConnectionType.
Then, considering that maybe there was an update to the android runtime, I ran npm install tns-android@latest --save.
Finally, I realized that I would likely need to call tns run android or tns build android again to get the AndroidManifest.xml change to be effective, so I did that, and that is when I encountered the build error for the first time.
After that, I have tried removing and re-adding the android platform, and I have tried removing my node_modules directory and running npm install again, to no avail.
Finally, it may also be helpful to show my package.json in its current state, since I did a lot of updating in my efforts to fix things:
{
  "description": "NativeScript Application",
  "license": "SEE LICENSE IN <your-license-filename>",
  "readme": "NativeScript Application",
  "repository": "<fill-your-repository-here>",
  "nativescript": {
    "id": "org.nativescript.MyProductMobile",
    "tns-android": {
      "version": "2.4.1"
    }
  },
  "dependencies": {
    "@angular/common": "2.2.1",
    "@angular/compiler": "2.2.1",
    "@angular/core": "2.2.1",
    "@angular/forms": "2.2.1",
    "@angular/http": "2.2.1",
    "@angular/platform-browser": "2.2.1",
    "@angular/platform-browser-dynamic": "2.2.1",
    "@angular/router": "3.2.1",
    "email-validator": "^1.0.7",
    "nativescript-angular": "1.2.0",
    "nativescript-theme-core": "^0.2.1",
    "reflect-metadata": "~0.1.8",
    "rxjs": "5.0.0-beta.12",
    "tns-android": "^2.4.1",
    "tns-core-modules": "^2.4.4"
  },
  "devDependencies": {
    "babel-traverse": "6.21.0",
    "babel-types": "6.21.0",
    "babylon": "6.14.1",
    "lazy": "1.0.11",
    "nativescript-dev-android-snapshot": "^0.*.*",
    "nativescript-dev-typescript": "^0.3.2",
    "typescript": "~2.0.10",
    "zone.js": "~0.6.21"
  }
}

@nicksloan please note that tns livesync will NOT rebuild the application, and will instead ONLY SYNC javascript/css/xml files. Installing the tns runtime package as a dependency of the project should not be done, and is likely the cause of the error that you are experiencing. Please try the following:
tns platform remove android
npm remove tns-android --save
tns platform add android
tns run/build android # <-- it is necessary to rebuild the app if it is present on the device after changes to the runtime
tns livesync android

@Pip3r4o Thanks for the help. I actually realized late in my troubles that livesync would not rebuild the application, but by then I had gotten myself into trouble with building as well due to precisely what you suggested.
I was able to get back on track late Sunday night. Don't know why it didn't occur to me sooner, but I ended up creating a new project and diff'ing around until I found the inconsistencies. That turned out to be a good strategy that led me back to successful builds! Thanks for the followup!


Warn user about not installing newest version

For example, running elm-package install in a directory whose elm-package.json contains
    "dependencies": {
        "elm-lang/core": "2.1.0 <= v < 3.0.0",
        "evancz/start-app": "2.0.0 <= v < 2.0.1"
    },

currently gives:
Some new packages are needed. Here is the upgrade plan.

  Install:
    elm-lang/core 2.1.0
    evancz/elm-effects 1.0.0
    evancz/elm-html 4.0.1
    evancz/start-app 2.0.0
    evancz/virtual-dom 2.0.0

Do you approve of this plan? (y/n)

I'd rather like to see something like:
Some new packages are needed. Here is the upgrade plan.

  Install:
    elm-lang/core 2.1.0
    evancz/elm-effects 1.0.0 (latest package version is 2.0.0)
    evancz/elm-html 4.0.1
    evancz/start-app 2.0.0 (latest package version is 2.0.1)
    evancz/virtual-dom 2.0.0

Do you approve of this plan? (y/n)

I think I know how to add this feature. May I?

I messed up missing this issue! I switched to readonly where I look at issues when I'm focusing on the project rather than getting notified all the time.
Yes, for sure, I think this would be quite helpful. I think it makes sense to switch to optimistic concurrency, so I added you to the @elm-lang/packages team. You can now do stuff with this repo. The general setup should be, do all work on your fork, bring it into this repo in big chunks with an overview of what is changing and why. This will mean the default for your PRs is "yes" and I will be able to do periodic systematic reviews and freeze certain branches in the lead up to a release.

I implemented this in https://github.com/elm-lang/elm-package/pull/191.

Closing for its pull request.


ModelRenderRegistry.addItemToRegistry with custom ModID

It looks like at the moment it expects all item model files to be under the spartanweaponry domain. It would be nice if we could specify a modid in addItemToRegistry so that our custom models could be under their own mod id.

Sorry for the late response. I need to set up notifications for issues received.
How is it that you are registering your item models? Because it looks like you are using the internal Spartan Weaponry method of doing this. That hasn't been exposed as part of the API.
I can provide a method to put in your model registration class if you like that you can call in the same class to put the correct model files in your mod domain. You will need to however provide the model names yourself to use it.
        public static void registerItemRender(Item item, String modelName)
	{
		ModelLoader.setCustomModelResourceLocation(item, 0, new ModelResourceLocation(modelName, "inventory"));
	}

Let me know if this helps.

Oh yes I have been using the internal model registration. Something like:
Item katana = SpartanWeaponryAPI.createKatana(
                    mat.material,
                    SpartanFire.MODID,
                    DamageHelper.getDamage(DamageHelper.WeaponType.KATANA,
                            mat.material.getMaterial().getAttackDamage()),
                    CreativeTabsSW.TAB_SW
                    );
ModelRenderRegistry.addItemToRegistry(katana, "katana_" + mat.material.getUnlocName());
item_set.add(katana);

How do you envision us registering our models?

I think my example I provided didn't fully summarize the problem since it uses a custom texture.
If I'm going to use the default ToolMaterialEx color property based rendering, I've been calling:
ModelRenderRegistry.addItemToRegistry(throwing_axe,"throwing_axe_" + mat.material.getUnlocName(),                     mat.material);
How are we to use the ColourHandler system if these parts aren't exposed?

That has been directly exposed as part of the API now. See below:
SpartanWeaponryAPI.registerColourHandler(Item... items)

oh i didnt notice that, I see so we we should have our own render registry but then use the colour handler

I'll have to see about doing that. I'll also will have to expose it to the API itself, so you wouldn't have to decompile the mod itself. I'll see what I can do.

I have updated the API on GitHub, adding a way to register the Item model, either directly, only requiring the Item class, or another version that requires the Item class, your Mod ID, and the model name. You will need version "beta-1.2.1" of Spartan Weaponry (currently pending approval) to use it however. Hopefully that helps you out.

Thanks so much

Sorry to re-open this I just got around to trying to update another one of the compat mods.
While you exposed registerItemRender with a modID api, this is actually not the part that was most helpful imo. My idea was allowing the compat mods to piggy-back off your registry in the first place making it so they do not need to include any registries other than the items themselves by changing:
    @SubscribeEvent
    public static void registerItemRenders(ModelRegistryEvent ev) {
        registerMultiItemRender(ItemRegistrySW.material);
        Iterator var1 = models.iterator();

        while(var1.hasNext()) {
            ModelRenderRegistry.ModelRegistryEntry entry = (ModelRenderRegistry.ModelRegistryEntry)var1.next();
            registerItemRender(entry.getItem(), "spartanweaponry", entry.getModelLocation());
        }

        models.clear();
        LogHelper.info("Registered all item renders!");
    }
}

to
    @SubscribeEvent
    public static void registerItemRenders(ModelRegistryEvent ev) {
        registerMultiItemRender(ItemRegistrySW.material);
        Iterator var1 = models.iterator();

        while(var1.hasNext()) {
            ModelRenderRegistry.ModelRegistryEntry entry = (ModelRenderRegistry.ModelRegistryEntry)var1.next();
            registerItemRender(entry.getItem(), entry.getModId(), entry.getModelLocation());
        }

        models.clear();
        LogHelper.info("Registered all item renders!");
    }
}

and then there would be method variants like:
public static void addItemToRegistry(Item item, String modelLoc, String modId)  public static void addItemToRegistry(Item item, String modelLoc, ToolMaterialEx material, String modId)
This makes them lean, mean, and means they don't have to duplicate the whole ModelRegistryEntry structure or worry about getting their rendering initialization exactly right (especially when its reading/copying half-obfuscated code).
 It would be a lot easier to maintain these mods if all they had to do was register their items and pass them to your SpartanWeaponry's own ModelRenderRegistry so that code doesn't become sharded across all the implementors. All of this already works if you use the current endpoints and put the model json under spartanweaponry instead of the modid.

Sorry about the late response. I've just moved house recently and got internet set up again. Unfortunately it is rather crappy internet than what I'm used to.
Anyway, just for clarity's sake, is the way you want this to be done is so that Spartan Weaponry adds the model entry to the mod's internal registry, and then let Spartan Weaponry do all the registration internally, rather than directly calling the registration function? If I've read the above correctly, I believe that's what you want to do right?

Yes my goal is that I can call addItemToRegistry, like I was doing here with the old version:
https://github.com/ChaosBuffalo/Spartan-BaseMetals/blob/master/src/main/java/com/chaosbuffalo/spartanbm/init/ItemRegistrySBM.java#L58
But be able to provide my own modid so that the model files can be kept in the right asset directory. This way the compatibility mods only need to have their own item registries and let your ModelRegistry do all the registration.

Hi. Sorry for the very late response. I had to deal with a few stressful things in real life that took my time away from my mod development.
Anyway, I've got a progress update for you. What I've done in my internal build of the mod is change how my internal class ModelRegistryEntry() holds it's model location. It has been changed from a String to a ResourceLocation in my current development build. I've done this because the ResourceLocation class allows specifying a domain for resource files, which, in most cases is the mod's ID.
What I intend on doing with this is exposing this method to the API directly, using the following method name and it's overloads
AddItemModelToRegistry(Item item)
AddItemModelToRegistry(Item item, String modId, String modelLocation)
AddItemModelToRegistry(Item item, ResourceLocation modelLocation)

and mark the previous ones that I made for this issue as deprecated.
This will mean I'll be uploading a new version of the API when that is done. I'll let you know when it's up.

Hey there. I've updated the API to version 3 which replaced the first method of directly registering Item Models with the new ones I've described above. Let me know if that suits your needs.


[PER-01C] Inefficient Override of Decimals

PER-01C: Inefficient Override of Decimals

Type
Severity
Location

Gas Optimization

ProtectedERC20.sol:L18-L22

Description:
The ProtectedERC20::decimals function will override the ERC20Wrapper implementation as the Kinza Finance team wishes to revert if the underlying token has no IERC20Metadata::decimals member exposed, however, this is done inefficiently.
Example:
function decimals() public view virtual override(ERC20, ERC20Wrapper) returns (uint8) {
    // ERC20Wrapper would use try catch to return decimal 18 if the external read fails
    // this would rather fail and revert if the underlying decimal read does not return
    return IERC20Metadata(address(underlying())).decimals();
}

Recommendation:
We advise an immutable variable to be introduced to the ProtectedERC20 of the uint8 type that is assigned to during the ProtectedERC20::constructor with the value of IERC20Metadata::decimals on the underlying argument.
The same variable can then be utilized by ProtectedERC20::decimals, greatly decreasing its gas cost. Additionally, the deployment of ProtectedERC20 would fail if the underlying address does not support the IERC20Metadata::decimals value which is the desire of the Kinza Finance team.

fix in https://github.com/Kinza-Finance/KZA-lending/pull/30


Proposal to create a super efficient airdrop tool on Klaytn

Hi,
I would like to create and deploy an airdrop smart contract on Klaytn that can airdrop KLAY, ERC20 tokens and NFTs. The DApp will have an easy to use frontend.
An airdrop tool is super useful. Projects can use it to distribute tokens, rewards or mass airdrop NFTs for supporters. So far, I have not seen a tool like this on Klaytn.
The complete DApp will be open source.

Cool. You can proceed with the build then upload here the links (Github repos for contracts and frontend, deployed addreses, deployed frontend link).

Hi, please find the link to the airdrop tool here:
https://gaslite-ui.vercel.app/
Deployed address on Baobab: https://baobab.klaytnfinder.io/account/0x61684fc62b6a0f1273f69d9fca0e264001a61db6
Deployed address on Cypress: https://klaytnfinder.io/account/0x53a7a12b0a6da201addfe6c3cdcd75df04bba640
UI repo: https://github.com/haxxsniper/gaslite-ui
Contracts repo: https://github.com/haxxsniper/gaslite-drop-contracts

I will make an update coming up to add token and NFT airdrop functionalities

Approved to proceed with the upgrade

Just pushed an update with ERC20 and ERC721 airdrop functionalities. I think UX can still be worked on more but should be somewhat easy to use.

Cool. Gonna try the functionalities and revert back.

Approved for 2nd bounty payout for the DApp upgrade. Please improve the UI a little more, plus add revoke button for NFT airdrop as step 5.


Mark web_canvaskit_tests_5 as flaky

Task Linux web_canvaskit_tests_5 has been failing consistently, and caused tree red.
Examples:
https://ci.chromium.org/ui/p/flutter/builders/staging/Linux web_canvaskit_tests_5/143/overview
https://ci.chromium.org/ui/p/flutter/builders/staging/Linux web_canvaskit_tests_5/142/overview
Related: https://github.com/flutter/flutter/issues/93263

Why did the bot want to make this unflaky?

Why did the bot want to make this unflaky?

The bot marked this as unflaky, and I manually marked this as flaky to unblock the tree after noticing it is consistently failing.

The reason the bot unflaked the PR is: it was filed last week when runs were clear and passed all tests that time.

My question is why did the bot mark it unflaky if it is still flaky?

My question is why did the bot mark it unflaky if it is still flaky?

As said in https://github.com/flutter/flutter/pull/93266#issuecomment-963440612, the flake auto bot deflakes a test based on stats the time the API is running. I guess the failures here are new and happen after the deflake API call 🙃

@keyonghan Can this be landed now?

Landing on red to unblock the tree.


Can I know the COCO resolution of the retinanet pre-training model? Is it (800, 1200)?

You can find all hyper-parameters in the corresponding config files.


temp: make a test fail in some of the matrix

This was a test: https://github.com/orgs/community/discussions/33579#discussioncomment-3796858


Explore alternatives to mount for Docker compatibility in importers

Currently, some hashr importers rely on directly mounting ISO files within Docker containers (e.g. windows or iso importer). This approach is not generally supported by Docker due to security restrictions. Explore and implement alternatives to eliminate the need for the --privileged flag. (see #61)
Considerations:

Tools: Investigate libraries or tools like 7z, xorriso, or others that can extract or access contents of ISO files without requiring a direct mount.
Performance Impact: Evaluate any trade-offs in terms of performance or resource usage between the mounting approach and potential alternatives.
Importer Scope: Identify the specific importers within hashr that rely on mount and will need to be refactored.

@manojks1999 Thanks for the input! Could you elaborate on how your idea would help solve the issue?


[Feature] Reset Property for CheckBox

**Is this request for a new component, or additional functionality for an existing component? **
additional functionality
Have you validated that your desired feature or component is not already in the backlog?
Yes
Describe the component and functionality you would like to see in the starter kit
A clear and concise description of what you want to happen.
There is no way to reset the value with the checkbox you have provided, therefore the checkbox does not work very well in galleries.
Describe alternatives you've considered
A clear and concise description of any alternative solutions or features you've considered.
Additional context
Add any other context or screenshots about the feature request here.
If you use the checkbox in a gallery, there is no way to reset the value after let's say a submission was made. When you come back to that gallery, whatever you checked is still checked.

@jordanbardwell please try implementing the Set Row Selection functionality and let us know if that works: https://learn.microsoft.com/en-us/power-platform/guidance/creator-kit/detailslist#set-row-selection

Closing this item due to inactivity. Please reopen if this is still an issue that needs to escalate.


Use Azure AD to authenticate to Azure App Configuration

Hello,
for more secured scenarios where Access Keys are disabled in Azure App Configuration instance there should be option to authenticate with Azure AD (for example Managed Identities) and not only with Connection String.
Greetings.

@et13 is this technically doable in GitHub action?

Hello @kamil-kamola-mir thank you for opening up this issue. We are deprecating this action. We recommend using Azure CLI action instead and Azure/Login to use to Azure AD to authenticate to Azure App Configuration. Follow this guide on how to set it up in your github actions.


Inserting snippets unfolds code

Pretty much what the title says, I found that inserting any kind of snippet(images, spells, tables...) from the snippet menus unfolds all the code, which is quite annoying, and I don't think it was intended.
Happens in both unsaved and saved brews in both V3 and Legacy mode.

The various insert-snippet code could be updated to scan and note which pages are folded before doing the inserting, and then after inserting go back and selectively re-fold.
If I'm reading right from https://codemirror.net/addon/fold/foldcode.js we would use the   CodeMirror.defineExtension("isFolded"... function and then CodeMirror.commands.fold.

Is it worth the effort to save fold states to the brew so that they persist when a brew is closed and re-opened?
If so, what about other the states of other "marks"?   Currently we don't have any other marks that change state, so it doesn't really matter, yet.
The link above doesn't work, but this is the rough sketch so far:
const marks = this.refs.codeEditor.codeMirror.getAllMarks().filter((mark)=>{ return mark.__isFold; });

		const folds = marks.forEach((mark)=>{
			console.log(mark.find());
		});

I have this in the handleInject method of editor.jsx, and it's returning an array of editor positions that correspond to the folds before the brew text is split into lines.  I suppose that I can't just use that same array to re-fold the same lines, since any snippet injection is going to change line counts....it will need to know the line number of the injection and how many lines the snippet is.  (Right?)
references:

https://discuss.codemirror.net/t/get-all-folded-sections-start-end-line-numbers/2864
https://discuss.codemirror.net/t/cm6-fold-api-any-way-to-get-the-current-folded-regions/3152
https://github.com/codemirror/codemirror5/blob/master/addon/fold/foldcode.js

It might be possible to do getAllMarks() before injection, get a unique id from each mark, and then find all of those unique id and fold them after the injection....to avoid doing math.   However, I'm not sure the id property i'm looking at stays the same--- and wife says it's bed time.  tomorrow...