RayOutOfMemoryError when running stablizing_highway example

Although this might be an issue of ray, since triggered from flow code, I decided to open this as a bug report here.
There seem to be a few ongoing issues with ray itself, where the origin of the problem most likely lies.
The purpuse of this bug report should be to make sure that eventually, flow will support future versions of ray, with all the correct configurations necessary to avoid this bug.
Here are related issues I found in rllib/ray:
https://github.com/ray-project/ray/issues/5211
https://github.com/ray-project/ray/issues/4877
https://github.com/ray-project/ray/issues/4498
https://github.com/ray-project/ray/issues/4357
https://github.com/ray-project/ray/pull/3323
Comment: for the moment, I would highly appreciate to get any hints for how to avoid this from happening, since it hinders me from running any experiments over enough iterations.
Bug Description
Running examples/rllib/stabilizing_highway.py leads to the failure below, causing the experiment to be aborted.
Bug Reproduce
Unfortunately, I cannot always reproduce this, since many times my experiment will just stop without any error message. I'm trying to provide more insight on this (presumably different) issue in another issue/bug report as soon as I got this.
Having tried the example:
examples/rllib/stabilizing_highway.py
with several parameter combinations, this time it happened with:
# time horizon of a single rollout
HORIZON = 750
# number of rollouts per training iteration
N_ROLLOUTS = 50
# number of parallel workers
N_CPUS = 1
   config["model"].update({"fcnet_hiddens": [100, 50, 25]})

somewhere between checkpoint 120 and 140, but I assume this is depending on my memory.
My feeling was that this happens more often when running more parallel workers, thats why I tried out running only one.
(Although, this leads to 2 CPUs being initialized in the example code due to:
ray.init(num_cpus=N_CPUS + 1, redirect_output=False)
but I will raise another issue to clarify why this is necessary.
I tried reducing the Ray object store size by setting object_store_memory when calling ray.init, but this had no effect. Anyway, I agree with one of the comments in a linked issue, that the memory should used should not be growing during the experiments.
Output Log
Loading configuration... done.
Success.
 Starting SUMO on port 49285
 Cfg file: /home/buechel/gitfolders/flowfolder/flow/core/kernel/scenario/debug/cfg/stabilizing_open_network_merges_20190716-2009411563300581.6498904.sumo.cfg
 Emission file: None
 Step length: 0.2
Opening the I/O thread to SUMO
Loading configuration... done.
Error processing event.
Traceback (most recent call last):
  File "/home/buechel/.conda/envs/flow/lib/python3.5/site-packages/ray/tune/trial_runner.py", line 261, in _process_events
    result = self.trial_executor.fetch_result(trial)
  File "/home/buechel/.conda/envs/flow/lib/python3.5/site-packages/ray/tune/ray_trial_executor.py", line 211, in fetch_result
    result = ray.get(trial_future[0])
  File "/home/buechel/.conda/envs/flow/lib/python3.5/site-packages/ray/worker.py", line 2386, in get
    raise value
ray.worker.RayTaskError: ray_PPOAgent:train() (pid=23680, host=fortiss-n-065)
  File "/home/buechel/.conda/envs/flow/lib/python3.5/site-packages/ray/rllib/agents/agent.py", line 279, in train
    result = Trainable.train(self)
  File "/home/buechel/.conda/envs/flow/lib/python3.5/site-packages/ray/tune/trainable.py", line 146, in train
    result = self._train()
  File "/home/buechel/.conda/envs/flow/lib/python3.5/site-packages/ray/rllib/agents/ppo/ppo.py", line 101, in _train
    fetches = self.optimizer.step()
  File "/home/buechel/.conda/envs/flow/lib/python3.5/site-packages/ray/rllib/optimizers/multi_gpu_optimizer.py", line 125, in step
    self.num_envs_per_worker, self.train_batch_size)
  File "/home/buechel/.conda/envs/flow/lib/python3.5/site-packages/ray/rllib/optimizers/rollout.py", line 28, in collect_samples
    next_sample = ray.get(fut_sample)
ray.worker.RayTaskError: ray_PolicyEvaluator:sample() (pid=23691, host=fortiss-n-065)
  File "/home/buechel/.conda/envs/flow/lib/python3.5/site-packages/ray/memory_monitor.py", line 78, in raise_if_low_memory
    self.error_threshold))
ray.memory_monitor.RayOutOfMemoryError: More than 95% of the memory on node fortiss-n-065 is used (15.85 / 16.69 GB). The top 5 memory consumers are:

PID MEM  COMMAND
23680 4.57GB
ray_PPOAgent:train()
23691 4.41GB
ray_PolicyEvaluator:sample()
3016 2.04GB
/home/buechel/pycharm-community-2019.1.3/jre64/bin/java -classpath /home/buechel/pycharm-community-2
2910 1.43GB
/usr/lib/x86_64-linux-gnu/zeitgeist-fts
10938 1.14GB
/home/buechel/.conda/envs/flow/bin/python /home/buechel/.conda/envs/flow/bin/tensorboard --logdir=~/

In addition, ~4.75 GB of shared memory is currently being used by the Ray object store. You can set the object store size with the `object_store_memory` parameter when starting Ray, and the max Redis size with `redis_max_memory`.

Terminating environment
Attempting to recover trial state from last checkpoint.
I0717 22:10:45.926017 23674 store.cc:599] Disconnecting client on fd 11
2019-07-17 22:10:46,316 WARNING ppo.py:137 -- By default, observations will be normalized with MeanStdFilter
Loading configuration... done.
Success.
 Starting SUMO on port 47596
 Cfg file: /home/buechel/gitfolders/flowfolder/flow/core/kernel/scenario/debug/cfg/stabilizing_open_network_merges_20190717-2210461563394246.3175511.sumo.cfg
 Emission file: None
 Step length: 0.2
Opening the I/O thread to SUMO
Loading configuration... done.
Connecting traci on port 47596
2019-07-17 22:10:47,401 INFO policy_evaluator.py:262 -- Creating policy evaluation worker 0 on CPU (please ignore any CUDA init errors)
2019-07-17 22:10:47.413078: I tensorflow/core/platform/cpu_feature_guard.cc:141] Your CPU supports instructions that this TensorFlow binary was not compiled to use: SSE4.1 SSE4.2 AVX AVX2 FMA
/home/buechel/.conda/envs/flow/lib/python3.5/site-packages/tensorflow/python/ops/gradients_impl.py:100: UserWarning: Converting sparse IndexedSlices to a dense Tensor of unknown shape. This may consume a large amount of memory.
  "Converting sparse IndexedSlices to a dense Tensor of unknown shape. "
2019-07-17 22:10:48,445 INFO multi_gpu_optimizer.py:74 -- LocalMultiGPUOptimizer devices ['/cpu:0']
== Status ==
Using FIFO scheduling algorithm.
Resources requested: 2/2 CPUs, 0/1 GPUs
Memory usage on this node: 15.6/16.7 GB: ***LOW MEMORY*** less than 10% of the memory on this node is available for use. This can cause unexpected crashes. Consider reducing the memory used by your application or reducing the Ray object store size by setting `object_store_memory` when calling `ray.init`.
Result logdir: /home/buechel/ray_results/stabilizing_open_network_merges
RUNNING trials:
 - PPO_WaveAttenuationMergePOEnv-v0_0:  RUNNING, 1 failures: /home/buechel/ray_results/stabilizing_open_network_merges/PPO_WaveAttenuationMergePOEnv-v0_0_2019-07-16_20-09-29cmzjqzle/error_2019-07-17_22-10-45.txt [pid=23680], 83367 s, 120 iter, 4512000 ts, 346 rew

Versions

OS: ubuntu 16.04 LTS 64 Bit
Flow version: 0.3.1
Flow commit number: c8ea2b0cd35ecc811dcdd07b51d34a0766a0ed86

Additional info:
Installed flow following the installation guidelines using anaconda.
Ray Version: 0.6.1

Is it possible that your machine is indeed out of memory, as the error suggests? Can you try to see if you still get the same error with something like 10 rollouts instead of 50 or using an instance with more memory? For reference, we typically use instances with 30 GB memory.

My machine has 16GB RAM, so yes that's the limit.
The question is why it is eating up all that memory. I would expect the memory usage being constant over the iterations? So if it can do the first 120 iterations, it should be able to do more as well?
At the time of writing this, the very same experiment keeps running now with N_CPU = 4 instead of 1 as when the error above happened. It just reached checkpoint 260. This is the very first time I see it running for such a long time, most of the time all the processes just go into sleep and the experiment doesn't continue without any error message - trying to nail this one down too, and happy to open another issue to prevent others loosing their time with this.
Anyway, if you could confirm that

you agree the memory usage of all the processes running from the flow experiment should not be dramatically growing over the number of iterations and
the memory usage should not be less when running more workers in parallel
I will keep searching why some other processes suddenly start peaking in their memory need over night and close this issue.
That is, after my recent observations, the most likely reason why the process stops.
Sorry for bothering you then and thanks for the support!

P.S.: if you have seen the behaviour of all the processes falling asleep as well, this is happening very often and hindering me from getting any valuable training results. Hints very much appreciated!

Interesting. Yes, thanks for clarifying. The memory usage should not be dramatically increasing during the run of a flow experiment. If you have identified a memory leak in flow, we'd be very interested. Is it possible that old copies of the environment are sticking around in memory between iterations?
I personally have not had issues with processes falling asleep. We are aware of some recent ray autoscaler issues and have run into process issues when using the autoscaler.

Hi @buechelmartin,
Do you see the processes fall asleep right before Ray prints out it's status report on the average mean, reward, variance etc.? It's possible that one of the rollouts is taking much longer than the other so most of the rollouts complete, go to sleep. The pattern you'd see if this is the case is only one process running, then all of the processes resuming all at once.

Also, can you try decreasing the total number of rollouts? This would help diagnose if it's an error due to the total batches from the rollouts eating up all of your memory i.e. keeping all of the information from the rollouts in memory smoehow winds up taking up too much memory.

@cathywu
I was fearing that this is a memory leak when opening this issue, since I sometimes got this error message too on another workstation with 64GB RAM. But on the occurence from the log above, I believe today this was a combination of a) flow already eating up most of the memory b) this weird zeitgeist-fts process peaking at the same time as c) Tensorboard peaking in memory usage.
I will report if I see any other strange things hinting to a memory leak.
@eugenevinitsky
The processes all fall asleep and never recover. I believe this is something different from the MemoryError and will quickly open another issue, so it will be easier for others to track.
I will close this for the moment and only reopen if things start pointing to some issue within flow/rrlib/ray.

@buechelmartin Hi, is this issue fixed?

Unfortunately I had to give up my work with flow, so no update possible. Issue was coming back every now and then until I stopped trying. But not quite reproducible.

Unfortunately I had to give up my work with flow, so no update possible. Issue was coming back every now and then until I stopped trying. But not quite reproducible.

This issue can be reproducible in my project, but I cannot find a reasonable method to fix it.


Revert "Revert "Runs the entire rep test suite""

Do not merge this commit before https://github.com/cloudfoundry-incubator/rep/pull/4 is merged, otherwise ci will go red.

@jvshahid this should be mergeable now, right?

Yeah, i unblocked the tracker story. We should test this on the local vm before merging it into master.


Add tests for SplunkHECStore plugin

Thanks for the feedback. Give me some time i will update the PR :)


Add component layout photo

@MakeYourPet , I've updated the image with credit and a parts list. Is this what you were looking for?

Merged in. I meant like a part disclaimer that you are not affiliated with any of the parts, but now don't know if it is necessary.


Missing slides with irregular slidesPerView (looped and centered)

This is a (multiple allowed):

[x] bug

[ ] enhancement

[ ] feature-discussion (RFC)

Swiper Version: 4.35.

Platform/Target and Browser Versions: macOs Chrome

Live Link or JSFiddle/Codepen or website with isssue: https://codepen.io/SpuriouslyAwake/pen/qyGXXG

What you did
I set the slider to centeredSlides: true, loop:true and slidesPerView:1.5
When setting up swiper to show one slide in full and with the bits of the prev/next slide on each side, swiping left or right often results in a missing slide on either side. The codepen shows the behaviour.
https://codepen.io/SpuriouslyAwake/pen/qyGXXG
Expected Behavior
Continuous loop with prev/next slide on each side of the current centered slide
Actual Behavior
Missing slides resulting in white background

I have the same issue too when use swpier version 3.4.0, but add 'loopedSlides' solve this problem，hope this will help you.


query :raft:/storage.go Term func not handling index out of bound exception and allowing panic for same

I wanted to know if there is any specific reason for not handling index out of bound exception in raft/storage.go Term(i uint64) for index > memory storage entires?

I do not quite understand the question. Can you be more specific?

@xiang90 :
// Term implements the Storage interface.
func (ms *MemoryStorage) Term(i uint64) (uint64, error) {
ms.Lock()
defer ms.Unlock()
offset := ms.ents[0].Index
if i < offset {
return 0, ErrCompacted
}
return ms.ents[i-offset].Term, nil
}
In the above code if [i-offset] > len(ms.ents) index out of bound exception will occur. and its not handled.
Even in the test case for this it is tested assuming it will throw panic for index out of bound exception. So wanted to know if its delibrately not handled for a specific reason.


apcupsd: 3.14.13 -> 3.14.14

Motivation for this change
Version bump from 3.14.13 to 3.14.14
Things done

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

[x] NixOS
[ ] OS X
[ ] Linux

[ ] Tested compilation of all pkgs that depend on this change using nix-shell -p nox --run "nox-review wip"
[x] Tested execution of all binary files (usually in ./result/bin/)
[ ] Fits CONTRIBUTING.md.

Applied to master<PHONE_NUMBER>27d97b84765af60d9718645485aae5) and release-16.09 (7e20430bea718e0895d377ba8f224db4ef7014bc). Thanks!


Remove tech debt and unnecessary documentation

You don't need to deploy or run nothing removed those steps and the docker file.

Checks out.

CIAL


Handle bounds for ScatterOp shape function

fixes #749
For the ScatterOp, where the
(C16) inputs[k] and result[k] have the same type for any k  [0, N)
and this is how the result type is inferred.
(https://github.com/openxla/stablehlo/blob/81d520685c5cfe2620f995dbb09ac4399d000c9a/stablehlo/dialect/TypeInference.cpp#L2513).
IMO, we do not need to do anything special to handle the bounds as the bounds should get copied as part of copying the types. I wrote a test to check that input bounds are indeed propagated. Also I note that I do not have to use inferReturnTypeComponents  at all, for this case.

@smit-hinsu I believe this op is trivial too. Just add you here for visibility.


[RayService] fix kubebuilder printcolumn annotations for RayService

Why are these changes needed?
The current print coloumns for RayService are not being rendered, this is because they were added to the wrong type.
This PR fixes the kubebuilder annotation and adds another coloumn for "NUM SERVE ENDPOINTS"
$ kubectl get rayservice
NAME                SERVICE STATUS   NUM SERVE ENDPOINTS
rayservice-sample   Running          2

Related issue number

Checks

[X] I've made sure the tests are passing.
Testing Strategy

[ ] Unit tests
[X] Manual tests
[ ] This PR is not tested :(

@kevin85421 PTAL

lgtm! I also tested manually.

I will cherry-pick every commit that is not already on the v1.1.0 branch to v1.1.0.


CICD described on this page is for single-team?

[Enter feedback here]
Having read through this and then implemented it, it seems like this article is only applicable to a single team - single data factory development lifecycle.  In my environment, we are endeavoring to support multiple teams.  In its current configuration, the CICD process would inevitably result in "development" code being intermixed with "release-ready" code. This is untenable as production code would become corrupted by the "development" code.  Is there any concept like feature flags that would enable this model to support multiple teams? Is there another article that I should be looking at?
Regards,
Lorrin

Document Details
⚠ Do not edit this section. It is required for docs.microsoft.com ➟ GitHub issue linking.

ID: 1e22e4d6-366f-fbf8-e141-8905ca7ab7ae
Version Independent ID: 5be2acf2-66e7-cadf-6666-5a85a65b9771
Content: Continuous integration and delivery in Azure Data Factory - Azure Data Factory
Content Source: articles/data-factory/continuous-integration-deployment.md
Service: data-factory
GitHub Login: @djpmsft
Microsoft Alias: daperlov

Hi @lorrinferdinand ,
Is there a business reason that multiple teams are collaborating on the same data factory? Generally in most engineering environments, repositories (and in this case data factories) are delimited by teams.
Currently there is no concept of feature flag in ADF, but it is something we are currently investigating and planning to implement the second half of the year
Thanks,
Daniel

Closing this issue due to lack of response
#please-close


Possibly incorrect desugaring of compound assignment with explicit extension method invocations

Consider the following program:
class C {
  int value = 0;
}

extension Extension1 on C {
  C operator [](int index) => this..value += index + 1;
  void operator []=(int index, C other) =>
      this.value += other.value + index + 1;
  C operator -(int val) => this;
}

main() {
  C c = C();
  // Original term that produces an unexpected error.
  --Extension1(c)[42];

  // The pre-decrement desugars as follows, which is also flagged as an error.
  Extension1(c)[42] -= 1;

  // The compound assignment desugars as follows, which is accepted.
  Extension1(c)[42] = Extension1(c)[42] - 1;
}

This program is accepted by the analyzer, but rejected by dart from commit ee8d9d2fd357c62a69428fd384f58ca89ca12bc2, with the following error:
n056.dart:15:19: Error: A value of type 'int' can't be assigned to a variable of type 'C'.
 - 'C' is from 'n056.dart'.
  --Extension1(c)[42];
                  ^
n056.dart:18:17: Error: A value of type 'int' can't be assigned to a variable of type 'C'.
 - 'C' is from 'n056.dart'.
  Extension1(c)[42] -= 1;
                ^

The comments indicate why this should not be an error: The two-step desugaring of the pre-increment produces Extension1(c)[42] = Extension1(c)[42] - 1. This is an explicit invocation of the operator []= from Extension1; the second argument is Extension1(c)[42] - 1, which is an explicit invocation of operator [] from Extension1, yielding a result of type C, on which we call operator -(int) (an implicitly resolved method from Extension1). All the types add up as they should, and I believe this is a bug in the front end (presumably in the desugaring steps, because the manual desugaring eliminates the error).

Note that the outcome is identical for the case shown above and the case where operator -(int) is an instance member.

What is the status on this one?


luci-mod-system: add password strength info

Add a password strength hint.

@jow any comments from your side about this change?

NO, feel free to merge.


Development version instead of actual version in docker image

The binary in the docker image does display the version information.
What happened
$ docker run quay.io/jetstack/preflight:v0.1.9 version -v
Preflight version:  development

Commit:
Built:
Go:

What should happen
$ docker run quay.io/jetstack/preflight:v0.1.9 version -v
Preflight version:  v0.1.9

Commit: <commit hash>
Built: <build timestamp>
Go: <Go version>

/assign

Closed by #39

Resolved by #39

@j-fuentes this should have been closed as part of #39


Changed sorting subreddits.

Old seemed to never give some subreddits. Maybe FF's sorting doesn't expect a random comparator.

imma let you finish but please first sign this CLA


Changed go version, and  added sleep to pass unit test

Changed Go version to 19.6 , changed github automation to use 20.4 ubuntu,  Updated packages under golang.org/x/... for the following vulnerabilities CVE-2021-38561, CVE-2021-33194 , CVE-2020-29652 , CVE-2022-27191. Bumped json-iterator/go v1.1.12.

LGTM


tests fail with "ReferenceError: Can't find variable: sinon" with v1.15

I run unit tests with Karma+Mocha+Chai+Sinon+PhantomJS. They stopped working when npm picked up v1.15 of sinon (as a peer dependency of karma-sinon). Every test needing sinon fails with
PhantomJS 1.9.8 (Linux 0.0.0) ... FAILED
    ReferenceError: Can't find variable: sinon

If I add an explicit dependency for "sinon" and set the version to "=1.14.1", the tests work again.
If you need more information, just ask.

here is the reason #761

Yes, thanks. Fixed in 1.15.3.


Typescript 5 ES Decorators can overwrite fields that are modified by prototype

Bug Report
When strictPropertyInitialization=false, if you have a class that uses a decorator somewhere, and the prototype is later modified to tweak the first field in the class, then the field becomes undefined instead of what the prototype says.
🔎 Search Terms
decorator, undefined
🕗 Version & Regression Information

I was unable to test this on prior versions because non-experimental decorators are only available in 5.0+.

⏯ Playground Link
[Playground link with relevant code](https://www.typescriptlang.org/play?#code/PTAEFkE9QYwewCYFNQHM5IM6gBZIE5JA)
💻 Code

export function decorator(target: any, context: any) {}

class Foo {
  foobar: number;

  @decorator
  public bar() {}
}

Object.assign(Foo.prototype, { foobar: 20 });
console.log(new Foo().foobar);

🙁 Actual behavior
Prints undefined.
This is because the emitted JS sees this field as uninitialized, so sets it to void 0, which happens after the prototype was changed.
constructor() {
  this.foobar = (__runInitializers(this, _instanceExtraInitializers), void 0);
}

🙂 Expected behavior
Prints 20

This is the expected behavior; it’s what this code would do in vanilla JS with native decorators.

This is the expected behavior; it’s what this code would do in vanilla JS with native decorators.

Makes perfect sense. It would still be really nice to have some documentation describing behavior changes between experimental decorators and the new ones to make it easier to anticipate issues when migrating.

@fatcerberus in light of https://github.com/microsoft/TypeScript/issues/54264#issuecomment-1595352559, can this get re-opened? I think this issue is not explained by vanilla JS decorator behavior, but is instead a bug in the transpilation process. A declared member should consistently either be included or not included in the transpiled JavaScript regardless of the presence of decorators being used on other arbitrary members in the same class.
More explicit example of this particular behavior:
export class MyClass
{
	public foo: () => void;

	public bar() { }
}

transpiles to:
    var MyClass = /** @class */ (function () {
        function MyClass() {
        }
        MyClass.prototype.bar = function () { };
        return MyClass;
    }());
    exports.MyClass = MyClass;

whereas:
export class MyClass
{
	public foo: () => void;

	@decorator
	public bar() { }
}

transpiles to:
    var MyClass = exports.MyClass = function () {
        var _a;
        var _instanceExtraInitializers_1 = [];
        var _bar_decorators;
        return _a = /** @class */ (function () {
                function MyClass() {
                    this.foo = (__runInitializers(this, _instanceExtraInitializers_1), void 0);
                }
                MyClass.prototype.bar = function () { };
                return MyClass;
            }()),
            (function () {
                _bar_decorators = [decorator];
                __esDecorate(_a, null, _bar_decorators, { kind: "method", name: "bar", static: false, private: false, access: { has: function (obj) { return "bar" in obj; }, get: function (obj) { return obj.bar; } } }, null, _instanceExtraInitializers_1);
            })(),
            _a;
    }();

Where foo is not included in the transpiled javascript at all when the decorator is not applied.
Perhaps I'm just misunderstanding something here, but this seems like an undesired transpilation difference.
This ends up being a huge gotcha for scenarios where a prototype may be modified at runtime.

I'm not a maintainer - I can't open and close issues.
Anyway, using a decorator causes TS to selectively enable useDefineForClassFields for the class, to ensure the class is spec-compliant.  This has the side effect that uninitialized properties will make it into the emit, because that's what the spec requires ([[Define]] semantics).
To be 100% clear, when I said:

This is the expected behavior; it’s what this code would do in vanilla JS with native decorators.

...what I mean is that, if you were to run the OP code as written in an engine that natively supports decorators (and therefore native class fields), you'd necessarily observe the same behavior (printing undefined) as in the OP.  The non-useDefineForClassFields behavior of TS is effectively legacy behavior and shouldn't be assumed to play well with new ES features.
tl;dr: Adding a decorator to a class forces the whole class into spec-compliance mode.

Thanks for the additional info.
First off - forgive my ignorance, this is all very unfamiliar to me and I'm just doing my best to understand the details.

This has the side effect that uninitialized properties will make it into the emit

This doesn't appear to be true, or at least not that simply. Let's add another undefined property:
export class MyClass
{
	public foo: () => void;
	public bar: () => void;

	@decorator
	public baz() { }
}

This transpiles to:
    var MyClass = exports.MyClass = function () {
        var _a;
        var _instanceExtraInitializers_1 = [];
        var _baz_decorators;
        return _a = /** @class */ (function () {
                function MyClass() {
                    this.foo = (__runInitializers(this, _instanceExtraInitializers_1), void 0);
                }
                MyClass.prototype.baz = function () { };
                return MyClass;
            }()),
            (function () {
                _baz_decorators = [decorator];
                __esDecorate(_a, null, _baz_decorators, { kind: "method", name: "baz", static: false, private: false, access: { has: function (obj) { return "baz" in obj; }, get: function (obj) { return obj.baz; } } }, null, _instanceExtraInitializers_1);
            })(),
            _a;
    }();

Notably, even though foo and bar are defined identically, only foo ends up in the emit, simply because it comes first.
This is why it feels like a transpilation bug rather than expected behavior: Only the first field is impacted, (seemingly) arbitrarily.

Huh, that is weird.

Huh, that is weird.

Agreed 😄
@DanielRosenwasser are you the right person to reconsider and potentially re-open this issue in light of this new detail?


python not found

Description
I used the following code to get into the container:
docker run -it nvcr.io/nvidia/tensorrtserver:19.06-py3

the I was confused:
root@bc56189996f0:/opt/tensorrtserver# python
bash: python: command not found

why?
TRTIS Information
nvcr.io/nvidia/tensorrtserver:19.06-py3
System Information
GPU Type: Tesla T4
Nvidia Driver Version: 418.87.01
CUDA Version: 10.1.243
CUDNN Version: 7.6.3
Operating System + Version: Ubuntu 16.04.6 LTS (GNU/Linux 4.4.0-142-generic x86_64)

The 19.06 version of TRTIS does not require python so it is not in the container. The py3 in the container name is something of an artifact of how NVIDIA names the containers. If you want python in the container you can install it.
More recent versions of the container do contain python because it is needed for the OpenVino ONNX Runtime backend.


Fix example in readme.

Seems package and basic action class were renamed.

The idea is that you use your own package local nickname for the example. There was no renaming.

Basic-action was renamed to just Basic.
вс, 1 янв. 2023 г., 00:05 Nicolas Hafner @.***>:

The idea is that you use your own package local nickname for the example.
There was no renaming.
—
Reply to this email directly, view it on GitHub
https://github.com/Shinmera/action-list/pull/1#issuecomment-1368280239,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AAAGB624QOM2JPGV7SC3YBDWQCNZFANCNFSM6AAAAAATNW6HCM
.
You are receiving this because you authored the thread.Message ID:
@.***>

Basic-action was renamed to just Basic.
вс, 1 янв. 2023 г., 00:05 Nicolas Hafner @.***>:

The idea is that you use your own package local nickname for the example.
There was no renaming.
—
Reply to this email directly, view it on GitHub
https://github.com/Shinmera/action-list/pull/1#issuecomment-1368280239,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AAAGB624QOM2JPGV7SC3YBDWQCNZFANCNFSM6AAAAAATNW6HCM
.
You are receiving this because you authored the thread.Message ID:
@.***>

The current readme already has it as just basic.

The current readme already has it as just basic.

I understand that local nicknames can be used, but readme doesn't mention
that and I think it is good to have a first usage example which will just
work after a copy-paste into the repl. This allows to avoid frustration.
вс, 1 янв. 2023 г., 03:11 Alexander Artemenko @.***>:

Basic-action was renamed to just Basic.
вс, 1 янв. 2023 г., 00:05 Nicolas Hafner @.***>:

The idea is that you use your own package local nickname for the example.
There was no renaming.
—
Reply to this email directly, view it on GitHub
https://github.com/Shinmera/action-list/pull/1#issuecomment-1368280239,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AAAGB624QOM2JPGV7SC3YBDWQCNZFANCNFSM6AAAAAATNW6HCM
.
You are receiving this because you authored the thread.Message ID:
@.***>

I understand that local nicknames can be used, but readme doesn't mention
that and I think it is good to have a first usage example which will just
work after a copy-paste into the repl. This allows to avoid frustration.
вс, 1 янв. 2023 г., 03:11 Alexander Artemenko @.***>:

Basic-action was renamed to just Basic.
вс, 1 янв. 2023 г., 00:05 Nicolas Hafner @.***>:

The idea is that you use your own package local nickname for the example.
There was no renaming.
—
Reply to this email directly, view it on GitHub
https://github.com/Shinmera/action-list/pull/1#issuecomment-1368280239,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AAAGB624QOM2JPGV7SC3YBDWQCNZFANCNFSM6AAAAAATNW6HCM
.
You are receiving this because you authored the thread.Message ID:
@.***>

The current readme already has it as just basic.

Yeah, now I see it. I've took original code from shinmera.github.io/action-list
How do you update the docs? Probably a github action should be added to build and update docs automatically. For my projects I'm using this action: https://40ants.com/build-docs/ created specially for Common Lisp projects.

You run staple. An action isn't a good idea as the docs are included on the master branch.


Support use in a matrix build

Currently when this action is used in a matrix build each build overwrites the results of the previous one.
I assume this is because the Annotation is created with the same name each time.
Either using the reportTitle as the Annotation title to allow consumers to customize the result per build or automatically including the os in the title would probably fix this.

+1
Any update on this feature?


Error loading primeicons fonts after updating nuxt to 3.6.0

Environment

Operating System: Linux
Node Version:     v16.20.0
Nuxt Version:     3.6.0
Nitro Version:    2.5.1
Package Manager<EMAIL_ADDRESS>Builder:          vite
User Config:      css, build, devtools
Runtime Modules:  -
Build Modules:    -

This is a stackblitz environment, but it happens in any environment, including linux and windows
Reproduction
https://stackblitz.com/edit/github-shjasa
Run npm run build && npm run preview, after which the icon on the button will not display
Describe the bug
I use the primevue library, and after upgrading nuxt to version 3.6.0 the icons that come with the primeicons font stopped displaying. I noticed that nuxt stopped including them in the final build. On nuxt 3.5.3 and with the same version of primevue it works fine.
Additional context
No response
Logs
GET https://githubshjasa-azkj--3000--a19575a2.local-credentialless.webcontainer.io/_nuxt/primeicons.3824be50.woff2 net::ERR_ABORTED 404 (Cannot find static asset /_nuxt/primeicons.3824be50.woff2)
GET https://githubshjasa-azkj--3000--a19575a2.local-credentialless.webcontainer.io/_nuxt/primeicons.90a58d3a.woff net::ERR_ABORTED 404 (Cannot find static asset /_nuxt/primeicons.90a58d3a.woff)
GET https://githubshjasa-azkj--3000--a19575a2.local-credentialless.webcontainer.io/_nuxt/primeicons.131bc3bf.ttf 404 (Cannot find static asset /_nuxt/primeicons.131bc3bf.ttf)

@Kicshikxo fixed by #21790

@c-schwan Thanks for the answer! I will wait for the next stable version

I am also seeing this bug, and it's still present in Nuxt v3.6.1 that was just released. Note that this has nothing to do with primeicons, it happens with any font asset. Essentially, font files that reside in the assets folder are excluded form the dist folder since v3.6.0.
I've tried the edge channel, but here I can't even build, so I can't confirm that the bug has been fixed since the release of v3.6.1.
Nuxi 3.6.2-28130150.54a0d5e8                                                                                6:48:09 AM
Nuxt 3.6.2-28130150.54a0d5e8 with Nitro 2.5.2-28129525.966ac34                                                                                6:48:09 AM

 ERROR  Nitro entry is missing! Is "static" preset correct?                                                                                6:48:10 AM

  at loadOptions (node_modules/nitropack/dist/shared/nitro.a2466750.mjs:4061:11)
  at async createNitro (node_modules/nitropack/dist/shared/nitro.a2466750.mjs:4226:19)
  at async initNitro (node_modules/nuxt/dist/index.mjs:2493:17)
  at async initNuxt (node_modules/nuxt/dist/index.mjs:3201:3)
  at async loadNuxt (node_modules/nuxt/dist/index.mjs:3240:5)
  at async loadNuxt (node_modules/@nuxt/kit/dist/index.mjs:2537:19)
  at async Object.invoke (node_modules/nuxi/dist/chunks/build.mjs:37:18)
  at async _main (node_modules/nuxi/dist/cli.mjs:48:20)

This was a duplicate of #21784


[Feature] Add password sign in

Describe the feature you'd like
Add a way to sign in via password instead of token
Describe a possible solution of implementation
Let us pick whether we sign in by token or password by a drop down box or label button
Additional context
NA

Hi,
Unfortunately there's no way to log using your password, since there is no real login.
The token is required by Github to authenticate your requests and restrict the access of this plugin to the fields you only want to work with.


using academic theme in other directory

This is not a bug and I apologize in advance if this is not the correct place to put this request for assistance. I am very new to hugo.
I'd like to use elements of this theme, but instead of having 'home' serve the widgets at /, I'm hoping to use them on a subfolder, for example /science.
Some observations:

If I rename the content folder 'home' to anything else, it only loads the header and footer
If I manually copy the widgets into my desired folder 'content/science', I can't get the objects themselves (publications, projects) to display, only their titles. On the other hand, the biography widget works perfectly, presumably because it is just pulling static information.
If I look at source in these examples, it's clear that the go logic is not finding these objects, and not rendering the corresponding html.

I have a feeling that there is an easy way to just set some environmental variable to change the path, but I don't know where to start.  Thank you!

check baseurl in config.toml
i've been using a test subdirectory and it has been working, but important to
have the trailing "/" for things to work as desired.
like:
baseurl = "http://www.example.com/test/"
hope this helps.  :smile:

@rawray7 this is not really supported by Academic. The homepage content is expected to appear at exactly the location of your baseurl in config.toml.
Basically you want to tell Hugo to use the /layouts/index.html layout for your /science/ content. I believe you can try to use Hugo's type and/or layout parameters in the frontmatter of your science content files to achieve this, but I haven't tested this kind of setup with Academic's widget system. The Hugo documentation website and forums have some advice on this. Let me know if you manage get your desired functionality working and I'll add some documentation on it for other users :)


update does not throw if record is not found

As for https://github.com/demonsters/prisma-mock/issues/9
 throw new PrismaClientKnownRequestError(  'An operation failed because it depends on one or more records that were required but not found. Record to delete does not exist.', { code: '2025' })
Update should throw error if the record is not found.

Tnx @BenBausch will take a look at this

Great! Thanks for your good work!


OADP-2767: Upgrade: Remove unbreaking references to VSM/Volsync DataMover

Remove unbreaking references to old (VSM/Volsync) DataMover (allowing users to still automatically upgrade to OADP 1.3) and add instructions on how to use new DataMover when upgrading from OADP 1.2.
What is left of references to old (VSM/Volsync) DataMover, will be deleted in OADP 1.4 (https://github.com/openshift/oadp-operator/issues/1192).
Todos

[ ] Run backups/restores in test day
[x] Delete leftovers from upgrade

What was done to achieve the goal
To find occurrences
grep -Iinr 'volsync' . --exclude-dir=tests
grep -Iinr 'vsm' . --exclude-dir=tests
grep -Iinr 'datamover' . --exclude-dir=tests
grep -Iinr 'mover' . --exclude-dir=tests
grep -Iinr 'dummy' . --exclude-dir=tests

(excluding tests folder, because this should be https://github.com/openshift/oadp-operator/pull/1170 responsibility)
To apply changes
make generate
make bundle

How to test
To test an upgrade from 1.2 to 1.3, from this PR branch run
make catalog-test-upgrade

This will create oadp-operator-catalog-test-upgrade catalog in your cluster (OperatorHub in the UI).

Select the new catalog in the UI and install selecting stable 1.2 update channel. This will install version 1.2.2 of OADP operator (from oadp-1.2 branch, not 1.2.2 from marketplace).

Create a DPA with DataMover using the newly installed operator.
Finally, change channel of the installed operator to stable (version 99.0.0) in Subscription tab.

I think I touched every file that had reference to DataMover. Please review if my changes in documentation files make sense

/hold
address PR comments

infra failed to install
/test 4.12-operator-e2e-azure

INFO[2023-10-05T15:15:04Z] Step operator-e2e-azure-e2e succeeded after 54m44s.

https://prow.ci.openshift.org/view/gs/origin-ci-test/pr-logs/pull/openshift_oadp-operator/1171/pull-ci-openshift-oadp-operator-master-4.11-operator-e2e-azure/1709919661857968128#1:build-log.txt%3A79
flake after e2e
/override ci/prow/4.11-operator-e2e-azure

/retest

/retest

/unhold

/retest

/retest

ci/prow/4.12-operator-e2e-azure may be suspect flaking

/retest

/retest


Add Loading Animation Spinner

I'm using this template for a single page application and everything worked fine. Before getting it to production i would like to add a loading animation so that users can know that the page is loading while switching between pages as the the page doesn't get refreshed.
I'm installed the below package using composer
https://nguyenvanduocit.github.io/vue-loading-spinner/
I have added the below code in the layout file
<template>

    <navbar/>
     <rotate-square2></rotate-square2>

      <child/>

</template>

But the spinner doesn't show up. It works well with other templates but not with this spa template
I also see a Loading.vue in components.
Could you let me know if you have already added a loading animation that we could use in the project or any package that supports this template. I feel everyone who uses this template would like to add a loading spinner animation.
Thanks

Here is the error snapshot https://ibb.co/nxsvYJ

You have to import the dist file, not the source.


Question: how to use the Options? (add a Prop to a component)

Hello,
First of all, well done this package is really amazing and soooo powerful combined with gopherjs. I love it.
However, I don't manage to understand how I could add a PROPS to a given component ?
I created a dummy component package that I import from my main package.
Then creating it like
func main() {
    // Create components (and NAME them)
    vue.NewComponent(dummy.New, dummy.Template).Register("dummy")
     vm := vue.New("body", new(dummy.Controller))
js.Global.Set("vm",` vm)
}

I would like to add a prop to my dummy component, template would be like
<dummy msg="hello from outside world"></dummy>
Looks like I can create an option object such as:
    o := vue.NewOption()
    o.AddProp("msg")

=> Then how do I attach this *vue.Option, to this specific component created above ?
Or do I am going totally wrong here ?
Thanks in advance for the tip...

Ok I figured out how to do it:
Instead of creating the component with:
vue.NewComponent(dummy.New, dummy.Template).Register("dummy")
I replace this line by:
	o := vue.NewOption()
	o.SetDataWithMethods(dummy.New())
	o.AddProp("msg")
	o.Template = dummy.Template
	o.NewComponent().Register("dummy")

=> Now the HTML tag receives the props data correctly (in var msg):
<dummy msg="hello from outside world"></dummy>
This might help somebody else struggling with it....

Well, sorry for the late reply.
The component is not well tested yet. And the vue.NewComponent works only for the simplest cases, if you want to more complicated components you would use vue.Option instead as you show in your code :smile:


Problem with T2

I can't reappearance the results in benchmark through https://github.com/harsha-simhadri/big-ann-benchmarks/tree/main/t1_t2, I used the same machine in azure: Standard L8s_v2 (8 vcpus, 64 GiB memory) but the qps for t2 is always 100+, I checked the cpu usage during searching indexing ,it's so slow never higher than 100%, is there any configuration I should mind and deal with? ps：I used ssd not from origianl Standard L8s_v2 becasue of space problem
diskann-t2,DiskANN,bigann-1B,10,68.26486482533713,3897.3418,1000000.0,60385020.0,884569.5388762793,109.42,117092.392,0.97882
diskann-t2,DiskANN,bigann-1B,10,178.47422862340082,1835.1444,1000000.0,60385020.0,338340.2772812576,42.42,44780.5504,0.89605
diskann-t2,DiskANN,bigann-1B,10,126.13846714851216,2419.60864,1000000.0,60385020.0,478720.10311417724,61.0627,63752.9448,0.9426500000000001
diskann-t2,DiskANN,bigann-1B,10,96.7202182888592,3009.87794,1000000.0,60385020.0,624326.7547190337,80.204,83991.4693,0.96411
diskann-t2,DiskANN,bigann-1B,10,149.1239430899944,2126.48608,1000000.0,60385020.0,404931.7550807948,51.6712,54252.8475,0.9246700000000001
diskann-t2,DiskANN,bigann-1B,10,109.6912829487855,2714.58698,1000000.0,60385020.0,550499.7149882326,70.5957,72910.7472,0.9549200000000001
diskann-t2,DiskANN,bigann-1B,10,105.95468768221484,2772.53362,1000000.0,60385020.0,569913.6236530666,72.4778,76382.5452,0.95691
diskann-t2,DiskANN,bigann-1B,10,84.24591401229037,3306.53768,1000000.0,60385020.0,716770.9046540895,89.9183,96594.0784,0.9699899999999999
diskann-t2,DiskANN,bigann-1B,10,117.73705018597681,2566.1336200000005,1000000.0,60385020.0,512880.3541843128,65.7918,68474.3466,0.94913
diskann-t2,DiskANN,bigann-1B,10,101.80129233368652,2862.72176,1000000.0,60385020.0,593165.5543435407,75.4055,79424.7472,0.9599399999999999
I used the ssd which I created from azure

For T2, the Azure Lsv2-series VM has a local SSD. Please do not create a generic, even premium SSD, as this is non local and has large round trip time. The local SSD may not be mounted by default. You can do so using something like the following run under sudo:
parted /dev/nvme0n1 mklabel gpt mkpart primary 0% 100%;
mkfs -t ext4 /dev/nvme0n1;
mkdir /nvme;
mount /dev/nvme0n1 /nvme/;
echo "/dev/nvme0n1 /nvme  ext4   defaults    0   0" >> /etc/fstab;

After this, please create a directory under /nvme, say /nvme/data, and a symbolic link from big-ann-benchmarks/data -> /nvme/data. The index download and query would now use this directory on local SSD. I will update t1_t2/README.md to reflect this.

I have update the README files in PR55: https://github.com/harsha-simhadri/big-ann-benchmarks/pull/55
I hope that answers your question.


Allows the usage of XPath selectors to target elements

I have added an optional parameter useXPath which, if true, allows for XPath selectors to be passed to the the drag and drop function, for those cases in which CSS selectors just don't cut it.

Tests apparently fail on IE, I suppose that IE still doesn't support XPath. I don't know if you are comfortable with it, but we could add a shim: https://github.com/google/wicked-good-xpath
It is not important for my use case, but I assume if we put this feature, we should also add this.

It makes sense.
But I think we should export a new API such as .codeForXPaths.
Because .codeForSelectors is a short form of Code for (CSS) Selectors.
Could you split codes for XPaths to the new API?

Sure, will do that within the next 24 hours :)

I separated the API. However I couldn't get wgxpath to work, am not familiar with TypeScript.

I separated the API.
Thank you! 😄

However I couldn't get wgxpath to work, am not familiar with TypeScript.

I think a polyfill of document.evaluate is not in the purpose of html-dnd.
This polyfill should be injected to test targets by user's hands.
But we can tell how to use the polyfill with html-dnd on README.md.

I confirmed that following steps can make test pass:

Add wgxpath.install.js to the repository as a test asset
Add useXPathPolifill (see below) and execute it.

diff --git a/test/e2e/selenium-webdriver/index.js b/test/e2e/selenium-webdriver/index.js
index c4705fa..be464be 100755
--- a/test/e2e/selenium-webdriver/index.js
+++ b/test/e2e/selenium-webdriver/index.js
@@ -116,6 +116,8 @@ describe('html-dnd', function() {
         it('should can drag and drop', function() {
           driver.get(TEST_PAGE_URL);

+          useXPathPolyfill(driver);
+
           return webdriver.promise
             .all([
               driver.executeScript(
@@ -138,3 +140,13 @@ describe('html-dnd', function() {
     });
   });
 });
+
+
+var Fs = require('fs');
+var Path = require('path');
+
+function useXPathPolyfill(driver) {
+  var WGXPATH_INSTALLER_PATH = Path.resolve(__dirname, '../asset/wgxpath.install.v1.3.0.js');
+  driver.executeScript(Fs.readFileSync(WGXPATH_INSTALLER_PATH, 'utf8'));
+  driver.executeScript('wgxpath.install();');
+}

Alright! I had also thought of the possibility of letting the user polyfill when required by his project, but then I thought maybe html-dnd wanted to be an all-in-one solution.
Ok then, will update the PR between today and tomorrow.

All checks have passed! :tada:

LGTM 👍

Thank you @sunyatasattva 🙏

お疲れ様でした @Kuniwak :bow:


Fix #48973 - allow hovering variables using the spread operator

There's no natural way to do this in the regex, as far as I know.
Do any unit tests cover this?

@roblourens thanks for you PR.
However with this we are leaking the knowledge of a spread operator into the debugHover. I know we already leaked some knowledge of ->, . and so on but I do not like that already.
I would prefer if somehow the debug adapter could contribute these special symbols.
If we decide that we want to make a special case for the spread operator that is fine by me, but I would prefer a proper solution if something is in reach.
There are no unit tests covering this, however I will change that right now. Sorry that might create conflicts with this branch but that should be easy to fix.
fyi @weinand

Again appologies for the conflicts. Now there are unit tests d7955610d4

We do not want to have language specific knowledge in the generic debugger UI.
So if we need specific logic for a hover, we will have to find a proper solution.

We do not want to have language specific knowledge in the generic debugger UI.

I agree, but that's how the entire feature works right now. We should either make the debug adapter tell us how to interpret patterns for hover, or this particular case could be handled by the debug adapter. Since we eval hovers, I can strip the ... myself.
Or to keep this in vscode in a less language-specific way, maybe the problem is that we want to capture patterns like a.b.c specifically, but we are also capturing a..b or .....a.b.... etc, we could narrow it down to a single . between two words.


Make URL parsing more robust, and handle subdomain isolation

This PR makes the runner's parsing of the URL a bit more robust and should make it handle the case where GHES is using subdomain isolation.
I need to test that this actually works and I will do so before merging, but from my prelimanary experimentation it looks like it should do as the /api/v3 route on the main GHES domain still seems to work. So we don't need to be able to reconstruct the isolated subdomain.
The other changes to the URL parsing make it so if you don't pass a scheme then it'll assume it's https. Also makes the output URL more consistent.
Merge / deployment checklist

[ ] Confirm this change is backwards compatible with existing workflows.
[ ] Confirm the readme has been updated if necessary.

I've verified manually that the /api/v3 path still seems to be available when subdomain isolation is turned on, so that means applications like ours can go from the main web URL to the API URL without having to know if subdomain isolation is turned on or not.
With the unit tests added in this PR I'm reasonable confident the URL parsing is working as expected. So this should all work fine.

This PR accidentally broke the break-out clause in getCodeQLBundleDownloadURL. By using GITHUB_DOTCOM_URL from parseGithubUrl we hopefully avoid that. Sorry for the false starts on this and force pushes. I've left in the trailing slash normalisation for non-dotcom URLs, but notably GITHUB_DOTCOM_URL does not have one as that constant matches the URL given to us by the hosted actions runners. The situation is now a little bit inconsistent but hopefully acceptable.
@chrisgavin assuming the tests now pass, it's still probably best if you check that last commit just to make I've not done anything silly.


Reservations controller

In this PR the following changes were made:

Modify association in Reservation model
Add Reservations controller and include CRUD actions
Update Seed file to insert mock reservations
Link Frontend Pull Request https://github.com/tsheporamantso/final-capstone-react-front-end/pull/15

Hi @tsheporamantso,
Thank you for taking the time to review my PR. 😁


Nativefier Doesn't Inject CSS Properly

The UI Look Broken & Different from original .css file
Nativefier :

Chrome :

I Tried Using Javascript, But it give a little change
LOG : https://pastebin.com/raw/ecvYcG8h

@ibratabian17 could you let us know how you fixed it in case others have a similar issue?


Make nullable parameter types explicit

PHP allows to implicitly declare a nullable parameter type by setting the parameter's default value to null. However, in PHP 8.4 this syntax has been deprecated.
https://wiki.php.net/rfc/deprecate-implicitly-nullable-types

Fixed in 28fb502a8 on v2 branch.

So, the change simply hasn't been merged up yet?

Yes, i was waiting on phpstan patch to unblock my build here.. Y all have to chill a bit about new deprecations 😅 I'll get this sorted hopefully tomorrow.


Add request body documentation for PUT and POST endpoints

Yep - sorry - we've bounced this around 100 times. We have a solution that I'm currently working on.


docs: replace uuid.kejona.dev with mcprofile.io

The URL only redirects to a broken ww1 subdomain or malware websites.

Could you replace that link with https://mcprofile.io/? That's the successor for that site :)

Could you replace that link with mcprofile.io? That's the successor for that site :)

Sure, it is good to have an easy solution available.

Thank you!


SUBMARINE-693. Sync the status of notebook on workbench web

What is this PR for?
This improvement make workbench web could sync status of notebooks. It's make UI more friendly for users.
The pr is related of SUBMARINE-675
What type of PR is it?
[Improvement]
Todos

[ ] - Task

What is the Jira issue?
SUBMARINE-693
How should this be tested?
Travis CI
Screenshots (if appropriate)

Questions:

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

@lowc1012  Please help review this PR. Thanks !

+1 Thanks @kobe860219 for the contribution and @lowc1012 for the review.

+1 Thanks @kobe860219 for the contribution and @lowc1012 for the review.


TypeError: Cannot read properties of null (reading 'useState')

when the "MultiSelectComponent" component calls
it throws error
Uncaught TypeError: Cannot read properties of null (reading 'useState')

Hello @sudhar2124 , this repository serves as an example of how to create a component library using React. The components included are intended for demonstration purposes only.
Although I will check the error and let you know, feel free to ask if you have any doubts. 🙂

when the "MultiSelectComponent" component calls it throws error Uncaught TypeError: Cannot read properties of null (reading 'useState')

@sudhar2124 , I couldn't find any errors, Here is a minimal example how to use the Multi Select Dropdown.
import { useEffect, useState } from "react";
import { MultiSelectDropdown } from "building-blocks/src/blocks/multi-select";

export default function App() {
  const [data, setData] = useState([]);

  const fields = { text: "Name", value: "Code" };

  useEffect(() => {
    const fetchData = async () => {
      try {
        const response = await fetch(
          "https://api.npoint.io/baab7e29aec56b6d27d9"
        );
        if (!response.ok) {
          throw new Error("Failed to fetch data");
        }
        const fetchedData = await response.json();
        setData(fetchedData);
      } catch (error) {
        console.error("Error fetching data:", error);
      }
    };

    fetchData();
  }, []);

  return (

Fetch Data Example

      <MultiSelectDropdown dataSource={data} fields={fields} />

  );
}

I'm facing the same issue for the multi-select.
The component that contains react features like ("useState", "useEffect") that components throw an error.
TextBox and CheckBox works correctly.

Hi @ananduremanan,
I have followed your instructions to build the package.
I have troubleshooted the issue, i am thinking the issue may be in two places

react and react-dom package has been wrongly exported in my packaging solution
Otherwise, where the importing these build package. There I have correctly import this package.

Do you have faced any issue during link the package.
Could you upload the example application code which you have linked these package?

Mmm…. It’s actually weird that I couldn’t reproduce the issue… could you comment your node version and package.json? Linking the project is pretty simple. Run npm link in your host project and use it in the remote as npm link <your remote project name>

Hi @ananduremanan, I have followed your instructions to build the package.
I have troubleshooted the issue, i am thinking the issue may be in two places

react and react-dom package has been wrongly exported in my packaging solution
Otherwise, where the importing these build package. There I have correctly import this package.

Do you have faced any issue during link the package.
Could you upload the example application code which you have linked these package?

I linked it in a fresh react js application(bootstrapped with bite not create react app)

Mmm…. It’s actually weird that I couldn’t reproduce the issue… could you comment your node version and package.json? Linking the project is pretty simple. Run npm link in your host project and use it in the remote as npm link <your remote project name>

Hii @ananduremanan
Please find the details which you requested.
Package.json
{
"name": "dummy",
"version": "0.1.0",
"private": true,
"dependencies": {
"@testing-library/jest-dom": "^5.17.0",
"@testing-library/react": "^13.4.0",
"@testing-library/user-event": "^13.5.0",
"react": "^18.2.0",
"react-dom": "^18.2.0",
"react-scripts": "5.0.1",
"web-vitals": "^2.1.4"
},
"scripts": {
"start": "react-scripts start",
"build": "react-scripts build",
"test": "react-scripts test",
"eject": "react-scripts eject"
},
"eslintConfig": {
"extends": [
"react-app",
"react-app/jest"
]
},
"browserslist": {
"production": [
">0.2%",
"not dead",
"not op_mini all"
],
"development": [
"last 1 chrome version",
"last 1 firefox version",
"last 1 safari version"
]
}
}
and my node version is v18.17.1


BoundedPositionBehavior fails with target == null

Current bug behavior
When I call CameraComponent.setBounds it fails, because BoundedPositionBehavior's _target is null. I traced it down to line 45 in packages/flame/lib/src/camera/behaviors/bounded_position_behavior.dart where _target! is used. In this case it is null, and the exception occurs.
Expected behavior
I would expect setBounds not to fail.
Steps to reproduce
Here is the example that causes a null exception https://zapp.run/edit/flame-zl3i06lvl3j0?entry=lib/main.dart&file=lib/main.dart
Flutter doctor output
I don't believe flutter doctor output is relevant here since there is an example from zapp.run attached.
More environment information

Flame version: 1.5.0

Log information
More information

This doesn't seem to be a problem in 1.8.2, could you try with that version?

Actually I am working on 1.8.1, but have lowered the minimum working sample to 1.5.0, because I did not know how to make zapp.run working with 1.8.1. I tried it now also with 1.8.2, and the problem stays the same.

Can you post the stack trace and assertions that you get in 1.8.2? The Zapp example is having some other problems too.

Here is the stack trace for 1.8.2.
`======== Exception caught by scheduler library =====================================================
The following TypeErrorImpl was thrown during a scheduler callback:
Unexpected null value.
When the exception was thrown, this was the stack:
dart-sdk/lib/internal/js_dev_runtime/private/ddc_runtime/errors.dart 288:49      throw
dart-sdk/lib/_internal/js_dev_runtime/private/ddc_runtime/operations.dart 606:63  nullCheck
packages/flame/src/camera/behaviors/bounded_position_behavior.dart 73:38          update
packages/flame/src/camera/behaviors/bounded_position_behavior.dart 39:7           set bounds
packages/flame/src/camera/camera_component.dart 280:22                            setBounds
packages/on_resize_test/main.dart 85:7                                            onGameResize
packages/flame/src/components/core/component.dart 797:14
dart-sdk/lib/core/iterable.dart 346:35                                            forEach
packages/flame/src/components/core/component.dart 795:16                          handleResize
packages/flame/src/components/core/component.dart 405:38                          onGameResize
packages/flame/src/components/core/component.dart 828:5                           [_mount]
packages/flame/src/components/core/component.dart 757:7                           handleLifecycleEventAdd
packages/flame/src/components/core/component_tree_root.dart 83:27                 processLifecycleEvents
packages/flame/src/game/flame_game.dart 121:5                                     updateTree
packages/flame/src/game/flame_game.dart 114:7                                     update
packages/flame/src/game/game_render_box.dart 121:10                               gameLoopCallback
packages/flame/src/game/game_loop.dart 46:13                                      [_tick]
packages/flutter/src/scheduler/ticker.dart 249:12                                 [_tick]
packages/flutter/src/scheduler/binding.dart 1284:15                               [_invokeFrameCallback]
packages/flutter/src/scheduler/binding.dart 1136:11
dart-sdk/lib/_internal/js_dev_runtime/private/linked_hash_map.dart 21:13          forEach
packages/flutter/src/scheduler/binding.dart 1134:16                               handleBeginFrame
packages/flutter/src/scheduler/binding.dart 1051:5                                [_handleBeginFrame]
lib/_engine/engine/platform_dispatcher.dart 1251:13                               invoke1
lib/_engine/engine/platform_dispatcher.dart 223:5                                 invokeOnBeginFrame
lib/_engine/engine/initialization.dart 181:45
dart-sdk/lib/_internal/js_dev_runtime/private/ddc_runtime/operations.dart 367:37  _checkAndCall
dart-sdk/lib/_internal/js_dev_runtime/private/ddc_runtime/operations.dart 372:39  dcall
This exception was thrown in the context of a scheduler callback. When the scheduler callback was registered (as opposed to when the exception was thrown), this was the stack:
dart-sdk/lib/_internal/js_dev_runtime/patch/core_patch.dart 942:28                get current
packages/flutter/src/scheduler/binding.dart 122:33
packages/flutter/src/scheduler/binding.dart 124:14                                new
packages/flutter/src/scheduler/binding.dart 568:49                                scheduleFrameCallback
packages/flutter/src/scheduler/ticker.dart 265:46                                 scheduleTick
packages/flutter/src/scheduler/ticker.dart 171:7                                  start
packages/flame/src/game/game_loop.dart 54:15                                      start
packages/flame/src/game/game_render_box.dart 97:15                                [_attachGame]
packages/flame/src/game/game_render_box.dart 88:5                                 attach
packages/flutter/src/foundation/node.dart 137:12                                  adoptChild
packages/flutter/src/rendering/object.dart 1703:11                                adoptChild
packages/flutter/src/rendering/object.dart 3863:7                                 set child
packages/flutter/src/widgets/framework.dart 6450:17                               insertRenderObjectChild
packages/flutter/src/widgets/framework.dart 6268:35                               attachRenderObject
packages/flutter/src/widgets/framework.dart 5943:5                                mount
packages/flutter/src/widgets/framework.dart 3971:15                               inflateWidget
packages/flutter/src/widgets/framework.dart 3708:18                               updateChild
packages/flutter/src/widgets/framework.dart 6435:14                               mount
packages/flutter/src/widgets/framework.dart 3971:15                               inflateWidget
packages/flutter/src/widgets/framework.dart 3708:18                               updateChild
packages/flutter/src/widgets/framework.dart 6435:14                               mount
packages/flutter/src/widgets/framework.dart 3971:15                               inflateWidget
packages/flutter/src/widgets/framework.dart 3708:18                               updateChild
packages/flutter/src/widgets/framework.dart 5111:16                               performRebuild
packages/flutter/src/widgets/framework.dart 5251:11                               performRebuild
packages/flutter/src/widgets/framework.dart 4805:7                                rebuild
packages/flutter/src/widgets/framework.dart 5068:5                                [_firstBuild]
packages/flutter/src/widgets/framework.dart 5242:11                               [_firstBuild]
packages/flutter/src/widgets/framework.dart 5062:5                                mount
packages/flutter/src/widgets/framework.dart 3971:15                               inflateWidget
packages/flutter/src/widgets/framework.dart 6570:36                               inflateWidget
packages/flutter/src/widgets/framework.dart 3708:18                               updateChild
packages/flutter/src/widgets/framework.dart 6153:32                               updateChildren
packages/flutter/src/widgets/framework.dart 6595:17                               update
packages/flutter/src/widgets/framework.dart 3686:14                               updateChild
packages/flutter/src/widgets/framework.dart 5111:16                               performRebuild
packages/flutter/src/widgets/framework.dart 5251:11                               performRebuild
packages/flutter/src/widgets/framework.dart 4805:7                                rebuild
packages/flutter/src/widgets/framework.dart 5274:5                                update
packages/flutter/src/widgets/framework.dart 3686:14                               updateChild
packages/flutter/src/widgets/layout_builder.dart 135:18                           layoutCallback
packages/flutter/src/widgets/framework.dart 2720:19                               buildScope
packages/flutter/src/widgets/layout_builder.dart 153:5                            [_layout]
packages/flutter/src/rendering/object.dart 2506:59
packages/flutter/src/rendering/object.dart 1062:15                                [_enableMutationsToDirtySubtrees]
packages/flutter/src/rendering/object.dart 2506:7                                 invokeLayoutCallback
packages/flutter/src/widgets/layout_builder.dart 228:7                            rebuildIfNecessary
packages/flutter/src/widgets/layout_builder.dart 313:5                            performLayout
packages/flutter/src/rendering/object.dart 2234:7                                 [_layoutWithoutResize]
packages/flutter/src/rendering/object.dart 1016:17                                flushLayout
packages/flutter/src/rendering/binding.dart 492:19                                drawFrame
packages/flutter/src/widgets/binding.dart 905:13                                  drawFrame
packages/flutter/src/rendering/binding.dart 358:5                                 [_handlePersistentFrameCallback]
packages/flutter/src/scheduler/binding.dart 1284:15                               [_invokeFrameCallback]
packages/flutter/src/scheduler/binding.dart 1214:9                                handleDrawFrame
packages/flutter/src/scheduler/binding.dart 1072:5                                [_handleDrawFrame]
lib/_engine/engine/platform_dispatcher.dart 1236:13                               invoke
lib/_engine/engine/platform_dispatcher.dart 244:5                                 invokeOnDrawFrame
lib/_engine/engine/initialization.dart 190:45
dart-sdk/lib/_internal/js_dev_runtime/private/ddc_runtime/operations.dart 367:37  _checkAndCall
dart-sdk/lib/_internal/js_dev_runtime/private/ddc_runtime/operations.dart 372:39  dcall
`


One-click upvote: Append upvotes

Fixes #245. Fixes #250.
This preserve existing upvote functionality where you can upvote with any number of votes. But further adds the ability to add votes to an existing upvote.
⚠ Contains state changes ⚠
Related: https://github.com/public-awesome/stakewatcher/issues/30, https://github.com/public-awesome/stakebird-app/issues/207

Codecov Report

Merging #251 (b842c8e) into master (06db6e2) will decrease coverage by 0.05%.
The diff coverage is 18.47%.

@@            Coverage Diff             @@
##           master     #251      +/-   ##
==========================================
- Coverage   10.53%   10.47%   -0.06%
==========================================
  Files          43       43
  Lines        6058     6127      +69
==========================================
+ Hits          638      642       +4
- Misses       5355     5419      +64
- Partials       65       66       +1

Impacted Files
Coverage Δ

x/curating/types/curating.pb.go
0.58% <0.00%> (-0.03%)
:arrow_down:

x/curating/types/upvote.go
0.00% <0.00%> (ø)

x/curating/keeper/upvote.go
56.81% <80.95%> (+0.72%)
:arrow_up:

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update 06db6e2...19918a0. Read the comment docs.

Merged in #353


<CR> compatibility with autopairs.nvim

In the recent update, autolist depecrated the custom mapping function in favor for native mapping. But this change caused some regressions.
Previously resolved issues with autopairs (https://github.com/gaoDean/autolist.nvim/issues/43) is now a problem again.
Any straightforward way to fix this? Why not bring back the custom mapping functions? I honestly don't see how the "native" method is better in this context.

With vim.keymap.set, you can set a lua function that just calls whichever function is being overrided. If autolist is being overrided, you can do the vim.keymap.del, you can delete it if autolist is being overrided, or you can call autolist when you are mapping another plugin.
In my opinion, this is much more configurable and easier to setup for niche cases.

what am i saying. i think ill add a resolve_conflict mapping or smth that detects for any  conflict

wait i got a good idea (tell me if this is a bad idea) ill just add a new_bullet_hook that can run whatever function u want

sorry I'm just using you as a rubber ducky heres a solution if u want
      vim.keymap.set("i", "<CR>", function()
        -- run autolist-new-bullet after the <cr> of nvim-autopairs-cr
        -- timeout of 0ms delays enough for my computer but u might need to adjust
        local timeoutms = 0
        vim.loop.new_timer():start(timeoutms, 0, vim.schedule_wrap(function()
          require("autolist").new_bullet()
        end))

        return require("nvim-autopairs").autopairs_cr()
      end, { expr = true, noremap = true })

Also in the future, please actually respect semantic versioning. Breaking changes should not be introduced in a minor release.

sorry I'm just using you as a rubber ducky heres a solution if u want
      vim.keymap.set("i", "<CR>", function()
        -- run autolist-new-bullet after the <cr> of nvim-autopairs-cr
        -- timeout of 0ms delays enough for my computer but u might need to adjust
        local timeoutms = 0
        vim.loop.new_timer():start(timeoutms, 0, vim.schedule_wrap(function()
          require("autolist").new_bullet()
        end))

        return require("nvim-autopairs").autopairs_cr()
      end, { expr = true, noremap = true })

I use "ZhiyuanLck/smart-pairs" have the same problem, I tried this and it worked, thanks!
require("pairs"):setup({
    enter = {
        enable_mapping  = true,
        enable_cond     = false,
        enable_fallback = function()
            -- https://github.com/gaoDean/autolist.nvim/issues/77
            vim.loop.new_timer():start(0, 0, vim.schedule_wrap(function()
                require("autolist").new_bullet()
            end))

            require('pairs.utils').feedkeys('<cr>')
        end,
    },
})

sorry I'm just using you as a rubber ducky heres a solution if u want
      vim.keymap.set("i", "<CR>", function()
        -- run autolist-new-bullet after the <cr> of nvim-autopairs-cr
        -- timeout of 0ms delays enough for my computer but u might need to adjust
        local timeoutms = 0
        vim.loop.new_timer():start(timeoutms, 0, vim.schedule_wrap(function()
          require("autolist").new_bullet()
        end))

        return require("nvim-autopairs").autopairs_cr()
      end, { expr = true, noremap = true })

I am experiencing the same issue (autolist and autopairs) and adding this makes <CR> do nothing. I tried changing timeoutms to various number and it still the same. I checked my keybinds for any other <CR> and its only binded to completion_confirm(). Is there an alternative way to make this work with autopairs?


Pause audiobook playback on headphone disconnect

What's this do?
Pause audiobook playback on headphone disconnect
Why are we doing this? (w/ Notion link if applicable)
https://www.notion.so/lyrasis/iOS-Audiobook-sample-player-keeps-advancing-after-headphones-are-removed-66b75b0d16f14b928abc1e35d950ee50
How should this be tested? / Do these changes have associated tests?
Disconnect headphones while playing an audiobook, playback should pause. Reconnect the headphones and playback should continue.
Dependencies for merging? Releasing to production?
https://github.com/ThePalaceProject/ios-audiobooktoolkit/compare/fix/pause-playback-when-disconnectiing-headphones?expand=1
Does this include changes that require a new Palace build for QA?
Yes
Has the application documentation been updated for these changes?
N/A
Did someone actually run this code to verify it works?
@mauricecarrier7 I was able to verify that this fix works for Bose bluetooth headphones and Airpods.

it seems the repo doesn't point to the latest commit of ios-audiobooktoolkit with pause playback code


[Release] Stage to Main

https://github.com/adobecom/milo/pull/1935
https://github.com/adobecom/milo/pull/1936
https://github.com/adobecom/milo/pull/1979
https://github.com/adobecom/milo/pull/1986
https://github.com/adobecom/milo/pull/2068
https://github.com/adobecom/milo/pull/1998
https://github.com/adobecom/milo/pull/2065
https://github.com/adobecom/milo/pull/2090

@vgoodric @3ch023 @chrischrischris Plz review this discrepancy observed on stage for mep: https://jira.corp.adobe.com/browse/MWPW-145878

Hi @Roycethan , the discrepancy is caused by content differences and is not related to the code change.
(I commented the ticket with more details)

@JackySun9 - please review again; a new PR has been added in stage - https://github.com/adobecom/milo/pull/2090

We could observe the personalization not working in CC pages . ex: www.stage.adobe.com/creativecloud.html when login with paid user. since we are not expertise in MEP need some help in checking the same.
@3ch023 @Blainegunn

WE dont see personalization working on CC pages. can some one check from MEP side

@vivgoodrich

@sigadamvenkata
I checked the sample link you provided. There are 2 pzn experiences that don't need Target.

The first one is a valid pzn tag and works when I use the cc all apps login listed here: https://wiki.corp.adobe.com/pages/viewpage.action?spaceKey=adobedotcom&title=Entitlement+Audience+Test+Accounts
(please don't repeat the login info here since this site is public facing)
The other column won't work because the column name does not mean anything.  I reached out to GWP to see what they were hoping to do for that column.
So in my opinion, MEP is working as intended.
cc: @JasonHowellSlavin @rgclayton

@JFernandezAdobe I was unable to ping you in the stage slack channel. If you have time, could you please check this release batch? Thank you!

Now we see the personalization working in STAGE which was not the case last evening. see the below compare screen shots.
approving and going ahead. thanks


Quiz exercises: Fix plus 1 year when resetting quiz exercise

Checklist
General

[x] This is a small issue that I tested locally and was confirmed by another developer on a test server.
[x] Language: I followed the guidelines for inclusive, diversity-sensitive, and appreciative language.
[x] I chose a title conforming to the naming conventions for pull requests.

Client

[ ] I added multiple screenshots/screencasts of my UI changes.

Motivation and Context

Closes: 5158
Description

Remove plus 1 year of release date when resetting a quiz exercise.
Steps for Testing

Prerequisites:

1 Instructor
1 Course with 1 Quiz Exercise

Log in to Artemis
Navigate to Course Administration
Select the Course
Navigate to Exercises
Click Reset of the Quiz Exercise
Verify that the Release Date (Visible From) of the Quiz Exercise is set to the current timestamp (instead of 1 year later)

Review Progress

Code Review

[ ] Review 1
[ ] Review 2

Manual Tests

[ ] Test 1
[ ] Test 2

Test Coverage

Screenshots

Codecov Report

Merging #6168 (693d4a6) into develop (50dec9a) will decrease coverage by 0.01%.
The diff coverage is 100.00%.

:mega: This organization is not using Codecov’s GitHub App Integration. We recommend you install it so Codecov can continue to function properly for your repositories. Learn more
Additional details and impacted files
@@              Coverage Diff              @@
##             develop    #6168      +/-   ##
=============================================
- Coverage      80.21%   80.20%   -0.01%
+ Complexity     12835    12834       -1
=============================================
  Files           2270     2270
  Lines          87908    87908
  Branches       13046    13046
=============================================
- Hits           70512    70508       -4
- Misses          9685     9688       +3
- Partials        7711     7712       +1

Impacted Files
Coverage Δ

...m/in/www1/artemis/service/QuizExerciseService.java
90.45% <100.00%> (ø)

...va/de/tum/in/www1/artemis/service/FileService.java
79.85% <0.00%> (-0.74%)
:arrow_down:

...idebar/conversation-selection-sidebar.component.ts
87.34% <0.00%> (-0.64%)
:arrow_down:

Flag
Coverage Δ

client
76.33% <ø> (-0.01%)
:arrow_down:

server
84.51% <100.00%> (-0.01%)
:arrow_down:

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update 50b99df...693d4a6. Read the comment docs.


Changing password

another suggestion

I like it, though I am wondering: The typical approach is to send an email to the user and let him fill out a new password through a unique link. How could we recreate this for those that don't want to use a mail server?

just a page with
Old password:
New password:
Confirm password:

?

Yea, you are right. I was only thinking about the password lost functionality. But of course, a simple change could be like you describe about. Password lost IS more complicated though..

A complete profile Update & Password change is now included as of commit https://github.com/dularion/streama/commit/6b0cc6c40247d2c923c545b3608c91a7fe91a7e9
Added bonus: Users can now choose favoriteGenres. This paves the way for adding a category in the dashboard for "Things you might like to watch"

Nice


Potential Security Breach...

Is what's described here the reason I found my machine logged into this morning despite locking it the previous evening? There was definitely a restart during the night (according to systeminfo), but to find my machine logged into the next morning was alarming. What if someone else had found the machine first? I realize I can get timers to lock the machine, but this does not change the fact that if this process automatically logs back into Windows, that's a potential security issue.

Document Details
⚠ Do not edit this section. It is required for docs.microsoft.com ➟ GitHub issue linking.

ID: f775f88a-f580-1fc3-f588-f967f733a386
Version Independent ID: a8ae2812-990a-60ce-df37-5d66358fdd20
Content: Winlogon automatic restart sign-on (ARSO)
Content Source: WindowsServerDocs/identity/ad-ds/manage/component-updates/Winlogon-Automatic-Restart-Sign-On--ARSO-.md
Product: windows-server
Technology: identity-adds
GitHub Login: @MicrosoftGuyJFlo
Microsoft Alias: joflore

Thanks for your dedication to our documentation. If we have been unable to review your issue in a timely manner, we sincerely apologize for the delayed response. We have captured the informtion you have provided for review. We are closing this issue for now, but if you feel that it's still a concern, please respond and let us know. If you determine another possible update to our documentation, please don't hesitate to reach out again. #please-close


GPT-J rotary embeddings cause logits to be returned as FakeTensors when scan=True

import nnsight
import torch

model_name = 'EleutherAI/gpt-j-6b'

model = nnsight.LanguageModel(model_name, device_map='cuda', dispatch=True)

with model.trace('The Eiffel Tower is located in the city of'):
    out = model.output.save()

print(out.logits)

In the above code, the logits are returned as FakeTensors since scan=True  in the trace context by default. It looks like it's because of the GPT-J rotary embeddings here.
@JadenFiotto-Kaufman pointed out to me two current solutions. Either setting  torch.jit.is_tracing = lambda : True, or just making sure  scan & validate are set to False.

This is "fixed" on dev by forcing torch.jit.is_tracing to be true during scanning. Will be in next release.


Export v1.3 (without docs)

Do a PR first since the Travis on my fork is refusing to work

Resolves #60
Resolves #112


Science data visualization (salinity temperature chlorophyll)

I was going to break https://github.com/osrf/lrauv_private/pull/133 into 3 parts, but turns out I can’t cherry-pick from the original branch in the private repo, because the branch is transferred to the new repo as a single commit.
Just as well, because without the whole thing, you won’t be able to test the visualization anyway. It needs the optimization flags and hacks, otherwise it’ll either lag or be visualized on a scale that the orbiting tools won’t allow you to see.
So it’s just 1 PR, hopefully not too big.
Many performance tricks are added, which take the shape of constant variables. These are needed to see anything at all even just for sanity checks. See Future Work section below.
To test
ign gazebo buoyant_tethys.sdf -v 4

Unpause.
Expand “Visualize science data” plugin panel on upper-right.
Click the orange refresh button in the panel.
Try the 3 topics in the drop-down list: /chlorophyll, /salinity, /temperature.
You may need to wait a few seconds for the data to go through the pipeline.
Different colors should show up, looking like this video demo I showed at ROS World:
https://user-images.githubusercontent.com/7608908/141070300-2d769159-089b-474c-8d26-7eee8c446520.mp4
The spam from TethysCommPlugin.cc is very obnoxious (we need a way to easily disable that, perhaps as a SDF plugin parameter Update: #79), you may want to change the igndbg messages in this PR to ignerr locally in order to see the debug printouts for visualization.
You should see printouts for the first 10 points for validation:
[GUI] [Dbg] [VisualizePointCloud.cc:508] Visualizing 404 markers
[GUI] [Dbg] [VisualizePointCloud.cc:383] First point in cloud (size 92355): -1.22956, -16.1997, -0
[GUI] [Dbg] [VisualizePointCloud.cc:489] Added point 0 at -5.94342, -14.7471, -0, value 16.3002, type /temperature, dimX 0.38088
[GUI] [Dbg] [VisualizePointCloud.cc:489] Added point 1 at -5.48038, -13.4784, -0, value 16.4099, type /temperature, dimX 0.38088
[GUI] [Dbg] [VisualizePointCloud.cc:489] Added point 2 at -6.6232, -13.1163, -0, value 17.3562, type /temperature, dimX 0.38088
[GUI] [Dbg] [VisualizePointCloud.cc:489] Added point 3 at -7.75394, -12.7543, -0, value 17.108, type /temperature, dimX 0.38088
[GUI] [Dbg] [VisualizePointCloud.cc:489] Added point 4 at -3.86382, -12.5734, -0, value 17.1428, type /temperature, dimX 0.38088
[GUI] [Dbg] [VisualizePointCloud.cc:489] Added point 5 at -8.8726, -12.3926, -0, value 17.5717, type /temperature, dimX 0.38088
[GUI] [Dbg] [VisualizePointCloud.cc:489] Added point 6 at -5.01322, -12.2118, -0, value 16.1063, type /temperature, dimX 0.38088
[GUI] [Dbg] [VisualizePointCloud.cc:489] Added point 7 at -6.15055, -11.8503, -0, value 17.4024, type /temperature, dimX 0.38088
[GUI] [Dbg] [VisualizePointCloud.cc:489] Added point 8 at -7.27584, -11.489, -0, value 16.9869, type /temperature, dimX 0.38088
[GUI] [Dbg] [VisualizePointCloud.cc:489] Added point 9 at -3.39804, -11.3084, -0, value 17.14, type /temperature, dimX 0.38088

Future Work
There are still a number of necessary things to do.
Some are currently worked around. Some are hacked around.
World origin lat/long:

Visualization needs to poll from WorldCommPlugin the first spawned vehicle position, in case the user uses empty_environment.sdf instead of buoyant_tethys.sdf. The former allows a vehicle to be spawned at any lat/long. The latter has the lat/long hardcoded. Currently, the visualization only works with the latter and will have the wrong Cartesian coordinates for the former. It might be done with a service, but WHEN is the question. It cannot be done in Configure(), because the user might wait 10 minutes to spawn a vehicle. It might need to be done every once in a while.
(Update: This might be done by #77 and 3f6edfc, but it needs to be tested with empty_environment.sdf and a new vehicle being spawned.)
After getting that new lat/long, all the science data positions, which would have already been read and converted to Cartesian, need to be transformed to the new lat/long that the world origin is associated with.
[x] The static world lat/long is hardcoded right now. This should be read from the SDF. (Update: #77 and 3f6edfc)

Sensor coordinates:

Sensor position needs to be converted from spherical coordinates to Cartesian, in order to be associated with the science data positions, which are now converted to Cartesian in this PR. This PR is only for science data visualization, sensors are out of scope and need to be in a future PR.

Visualization:

Per-vertex coloring for Markers as tracked in #52. This should give better performance. Performance is the main bottleneck that requires all the flags tagged Performance trick in the code.

Orbiting tool improvements for larger worlds. Currently, the markers are scaled down to abysmally small scales, in order to get them into view, just for our debugging purposes. Otherwise there is no way to even see where the data are for sanity checks.

test_spawn was hanging in the checks.
I disabled science sensors in empty_environment.sdf, since we don't shift all the data to the dynamic new world lat/long yet. So it's not meaningful to load science sensors in that world.
Not sure why it was hanging though. It hangs locally for me too. I didn't look closely at what that test is checking.

I have some suggestions on #85 so we avoid hardcoding specific science data

Ready for another pass.
I know I'm pushing to delay some fixes, which is not good style, but I'm really anxious to get this in, since #83 depends on this, and I'm working on another one depending on that. I really don't want to chain up more than 3 PRs. We can't run the acceptance test until all 3 PRs mentioned are in, and we only have 3 weeks until we said we wanted to finish the milestone.

I was going to break osrf/lrauv_private#133 into 3 parts, but turns out I can’t cherry-pick from the original branch

Sorry, that's on me.
I do think it would be beneficial to break this PR into smaller ones though, because there's a lot going on here. It will help with review. I can help divvy-up the work if you want.

Per discussion offline, #93 breaks off the visualization part of this PR, most of which we already looked at in #85.
After that's merged, this PR should only contain the lat/long to Cartesian conversion.

In testing for #83 I was unable to to collapse the widget after I expanded it to the side bar. I don't know if that's related to this or generally an issue
sidebar:

clicked the ^ button to collapse it the display goes away but not the side bar.

And when I expanded it to full screen it overlapped the 3D visualization tab.

clicked the ^ button to collapse it the display goes away but not the side bar.

That's expected. The side bar takes the full vertical height, even if it doesn't have enough plugins to fill it.

And when I expanded it to full screen it overlapped the 3D visualization tab.

The plugins can either be floating on top of each other, or docked into the side bar. When it's floating like this, you can just drag it somewhere else.
We don't have support for more complex docking arrangements on Ignition GUI, mainly because that was not available out-of-the-box for QtQuick when we started.

@mabelzhang , thanks for breaking the PR apart.
I have an alternative implementation for the coordinate conversion on #98. Let me know what you think.

Closing in favor of #98
Summary: This PR is replaced by #93 and #98


Add /RessourceTypes endpoint

The section about Service Provider Configuration Endpoints of the SCIM Specification describes a /RessourceTypes endpoint that enables clients to discover the list of supported ResourceTypes.

Good catch! We need to focus on staying consistent with the SCIM spec. This is no big deal and will be done soon.

Moved to https://github.com/osiam/osiam/issues/72


fix unexpected slow query during GC running after stop 1 tikv-server

close #898
Why issue #898 happen?
After stop 1 tikv-server, some region replicas are marked by replica.isEpochStale is true. Then accessFollower won't choose the replica anymore.
But when TiDB GC leader start to running GC, it will reload all region, then all region replicas epoch will be update, which means all region replica's isEpochStale will change to false. Then accessFollower may choose the replica which in down tikv-server. Then TiDB may send kv request to down tikv-server will receive context deadline exceeded error and re-send kv request to the region leader. This is what causes slow queries.
How this fix work?
In short,  accessFollower need to check the replica's store LivenessState when chose target replica.
Before This PR:

This PR:

This problem reminds me of the issue from the TiDB forum: https://ask.pingcap.com/t/every-10-minutes-my-in-flight-stale-reads-fail/518

@you06 @zyguan
PTAL

/hold since the test failed.


keras.ops.nan_to_num doesn't have a nan argument

nan_to_num() only has the ability to output 0 when the input is nan, but numpy's nan_to_num() has a handy nan=0 kwarg that lets you turn nans into any float you like. Can this be added? It's hard to approximate this behavior without having this functionality, the closest strategy I'm aware of is something like computing nan_to_num(x - nan) + nan but this will presumably have some weird numerical behavior if nan is large.

https://github.com/keras-team/keras/blob/29130d3a14d4b673339cbdaddb464359b84ba9c7/keras/backend/numpy/numpy.py#L692

Good call. This is now added. I also added the related arguments posinf and neginf.


local onError is not working as expected when using global onError on MutationCache

I have global mutation cache which shows an toast when error occurs, when I am using onError on useMutation it does not show any error in useMutation. this is my current config with global errors setup
const mutationCache = new MutationCache({
  onError(error, variables, context, mutation) {
    if (mutation.options.showToast) {
      console.log("from mutation cache", error.payload.message); // toast
    }
  }
});

const queryCache = new QueryCache({
  onError(error, query) {
    if (query.options.showToast) {
      console.log(error.payload.message); // toast
    }
  }
});

const queryClient = new QueryClient({
  mutationCache,
  queryCache,
  defaultOptions: {
    queries: {
      useErrorBoundary: true,
      refetchOnWindowFocus: false,
      retry(failureCount, error) {
        if (error.statusCode === 404) return false;
        if (failureCount < 2) return true;
        return false;
      },
      showToast: true
    },

    mutations: {
      showToast: true
    }
  }
});

 const {mutate: mutateLogin} = useMutation(login, {
    onSuccess: data => {
      login(data.payload)
    },
    onError(error) {
      console.log(error) // this error never logs into console
    },
  })

Expected behavior
I am expecting that global and local onError method should run
Codesandbox
codesandbox example
Desktop (please complete the following information):

Windows
Browser: Brave
Version: [1.21.74]

is there any way to setup onSuccess also in global (I want to show toast when submitted)

I narrowed it down. seems that passing custom properties like  mutations: { showToast: true } to the defaultOptions breaks it. I removed that and it works fine, see:
https://codesandbox.io/s/laughing-wood-vxd05?file=/src/App.js
plase don't do that I guess 😅

Hi @TkDodo,
Your CBS still uses showToast flag https://codesandbox.io/s/laughing-wood-vxd05?file=/src/App.js
My global handler shows toast error message.
const onError = (error: unknown) => {
  if (axios.isAxiosError(error)) {
    console.error(error.response);
    toast.error(error?.response?.data?.message || error?.response?.statusText);
  }
};

const queryClient = new QueryClient({
  // https://tkdodo.eu/blog/practical-react-query#the-defaults-explained
  queryCache: new QueryCache({
    onError,
  }),
  mutationCache: new MutationCache({
    onError,
  }),
});

But for some mutation I want to handle error in another way.
const { mutate } = useMutation(
    myMutate,
    {
      onError: (error: unknown) => {
        if (axios.isAxiosError(error)) {
          console.error("My Custom Error handdler");
          console.error(error?.response?.statusText);
        }
      },
    }
  );

Both onErrors are fired
So how I can distinct global error handler from local handler to not show toast message?
Cheers :)

the onError handlers of the global query cache are always called. To define a default that you can override on each useMutation, use the mutationDefaults:
const queryClient = new QueryClient({
  defaultOptions: {
    mutations: {
      onError
    }
  }
});

onError

This works not as expected on my side because both onError handlers triggered.

the onError handlers of the global query cache are always called. To define a default that you can override on each useMutation, use the mutationDefaults:
const queryClient = new QueryClient({
  defaultOptions: {
    mutations: {
      onError
    }
  }
});

This works not as expected on my side because both onError handlers triggered.

Thanks for the quick reply. I mean onError handler on defaultMutationOptions and onError handler on useMutation both triggered.

and I mean this shouldn't be the case, as I stated before. So if it is the case for you, please show it in a codesandbox reproduction.

and I mean this shouldn't be the case, as I stated before. So if it is the case for you, please show it in a codesandbox reproduction.

Hi @TkDodo , here is the example: https://codesandbox.io/s/aged-framework-pwxtu5?file=/src/App.js

Sorry, maybe it's my fault. I tested a simple example, and it works as I expected. However, it failed as I expected in my real project. I'll figure it out what's going on. Thanks for your help.

Hi @TkDodo , could u please help confirm with this example: https://codesandbox.io/s/aged-framework-pwxtu5?file=/src/App.js:643-748
I'm not sure is this the correct behavior when onError passed through mutate function won't override the global onError handler.


New Logo Proposal

New Logo Proposal

@ahmednooor thank your pull request, can you tell us why change? and the pull request need @javierprovecho review and agree.

Any preview screenshot like #6

Any preview screenshot like #6

@ahmednooor thanks! please see #6 and I will close the pull request, thanks again.


⚠ Bofrost.lu has degraded performance

In 8576017, Bofrost.lu (https://www.bofrost.lu) experienced degraded performance:

HTTP code: 200
Response time: 887 ms

Resolved: Bofrost.lu performance has improved in 629a419 after 6 minutes.


I think I have found the source of the mcpe world corruption

I think I have found the source of the mcpe world corruption. I have attached a txt file showing three separate pieces of code that I've labelled 1-3
The code under 1 is the level.dat file before being put into mcedit
The code under 2 is the same level.dat file after being loaded and saved in mcedit
The code under 3 is the same level.dat file after reopening it in minecraft after being in mcedit.
I hope this helps.
seeTheProblem.txt

I don't see the problem because 1 and 2 look the same and we have anything to do with 3... One of our developers think he fixed the issue but we need to do a few more tests

the difference between one and two unless I messed up the file is that 1 has the whole thing in one line and 2 has the whole thing in three lines and I forgot to add this but my theory is that because of format mcedit saves the file as, when you open mcpe it sees the file is wrong and corrects it and in the process corrupts that world.

Hmm, not completely sure if the mismatched line breaks would impact world loading, we need to see if the previously committed fixes work before we explore this further I think. The new version should be out in the next few days. Leaving this open though as it is possible it's related.

Since I first posted this I have did the exact same thing with two other worlds and I have noticed that in the third version of the code:

The first letter always becomes a U.
The limited world and spawn X,Y&Z's are always the same.
That the spawnMobs always looses the first rectangle after it.
doesn't have the world name.
and looses the code that follows RandomSeed.
So if the these fixes don't work I say this defiantly needs looking into.

The only difference is some \r\n and \n interchanging according to my analyzer. Only problem, I don't have a setup to run mcedit right now and I can't tell if mcedit's doing it or your copy-pasting. Can u upload all 3 files instead?

I can't upload the files themselves because .dat files aren't supported by this website so I've taken screen shots of them, but I don't have the version of the files before they get corrupted, and also I only have the first one still because I thought I wouldn't need them anymore.

Could you try the latest release and tell us if pocket world corruption is still a problem?

I cant even  check because I keep getting a 98 error when ever I try to save it though I can definably tell you that MCedit still doesn't load pe worlds properly

@hdjackill What 98 error?

KeyError: 98

Can you send a screenshot of the error in the console?

How do take screen shots I've forgetin how to

The previous key errors were all missing block entries, we need unknown block handling for pocket.

I'm indeed using V0.14.2 of pocket edition pacifilly the one for windows if that makes a diffrence

I saved the code from level.dat.
Then I saved the world in mcedit.
After that I replaced the current code from level.dat with the code before saving.
The world did open with no corruption except the worldname.

The corruption is still a problem, but not occuring because level.dat gets modified.
So I close this issue for now..


Fix BibTeX citation on website

The paper citation on the Google Sites page reads (link),

booktitle = {IEEE Conferene on Computer Vision and Pattern Recognition},

"Conferene" should be "Conference". The same typo was in README.md but is fixed in #32.

Thank you. Fixed now.