Inconsistent runtime errors for implicit method invocations.

The following test snippet passes (throws) in DDC/analyzer but doesn't emit an error in the VM:
import "expect.dart";
class C {
  void Function() call = () {};
}

main() {
  C c = new C();
  dynamic d = c;

  var lambda_okay = () => d.call();
  var lambda_error = () => d();
  lambda_okay();
  Expect.throws(lambda_error);
}

Ditto for when call is a getter. From what I could find, CFE doesn't provide the backends a way to disambiguate the two cases.

Did you mean Expect.throws(lamda_error())? Evaluation of a local variable will never throw.
Other than that, it is specified that a dynamic invocation of an object whose dynamic type is not a subtype of Function (that is, it's dynamic type is not a function type, because nobody else can implement Function today) must proceed as a (dynamic) invocation of the method call (it can't be a getter).
So d() should amount to d.call() when the value of d is an instance of C, and lamda_error() should just do that.

The test in question is language_2/call_method_must_not_be_field_test.dart. It has this comment:
  // The presence of a field named `call` does not permit the class `C` to be
  // implicitly called.
  // Nor does it permit an implicit tear-off of `call`.
  // Nor does it permit a dynamic invocation of `call`.
  // However, all these things are possible if `call` is mentioned explicitly.

The test asserts that Expect.throws(() => d()); pass. Does that imply the test is also wrong?

Mark is looking at two tests failing DDK but apparently passing DDC and Dart2JS:
language_2/call_method_must_not_be_field_test/06
language_2/call_method_must_not_be_getter_test/06
@eernstg @jmesserly - can you sanity check that the test is valid?

The test looks right to me.

The test asserts that Expect.throws(() => d()); pass. Does that imply the test is also wrong?

Yeah, the comment is unclear, sorry about that. What this comment is trying to say:

The presence of a field named call does not permit the class C to be
implicitly called.
Nor does it permit an implicit tear-off of call.
Nor does it permit a dynamic invocation of call.

Is that a field named call does not work the same as a call method. It does not support the things a method would support, such as var c = C(); c(); and dynamic d = c; d(). That whole comment is about the first 3 examples, it's discussing the implicit behavior that "call" methods have, and that "call" fields do not have any special behavior.
In all cases, dynamic dispatch and compile time give the same answer. Either it's not allowed (the first group of tests), or it is allowed (the second group). That's why c.call() and d.call() should behave the same.
Another way of saying this: if you rename "call" to "foo" in that test, all of the tests should behave the same. A field with the name "call" is not special. If that helps. I'll try to find the spec.

It's in section 16.17.5, "Function Expression Invocation" which has the rules for "call" methods (there is no corresponding rule for "call" fields/getters that happen to return a function).

@Markzipan wrote:

The test asserts that Expect.throws(() => d()); pass.
Does that imply the test is also wrong?

The test is correct here. I mistakenly thought that call was a method, but call is a getter and d() should throw.
@jmesserly wrote:

A field with the name "call" is not special.

Agreed. Sorry about misreading call as a method and causing the confusion.

Ok, so the question at hand is code that looks like:
  dynamic d = ...
  d();

If d() is treated equivalently to d.call(), then this is valid code regardless of whether d is a function, a class with a call method, or a class with a call getter or field.
If d() is treated as a use of a more primitive notion of calling, then this code is only valid if d is a function or a class with a call method.  It is specifically not valid if d is an instance of a class with a call getter or field.
I believe that we have currently specified the second behavior.
DDC implements the second behavior, and the front end based tools currently implement the former behavior.
We have a very short window (basically until DDC goes away in favor of DDK) to make this change in a mostly non-breaking way, if we wish to fix it to work as specified (and as implemented in DDC).  Alternatively, we could just specify this to work as implemented in the CFE based tools.
For the language team, how much do we care about this distinction?
For the FE/VM/DDC/dart2js folks, how hard would this be to fix?  I'm guessing that the current dart2js behavior is better for the dart2js calling conventions?
cc @kallentu @sigmundch @rakudrama @mraleph @mkustermann @a-siva @johnniwinther @vsmenon

cc @eernstg @munificent @lrhn

If d() is treated equivalently to d.call(), then this is valid code regardless of whether d is a function, a class with a call method, or a class with a call getter or field.

What if it's a class with a call getter that returns a class with a call getter? Consider:
int depth = 0;
class C {
  void Function() get call {
    if (depth > 100) return () {};
    print(depth++);
    return this;
  }
}

main() {
  dynamic d = C();
  d();
}

Would this program be expected to count to 100?

Would this program be expected to count to 100?

With minor edits for typing, that is, in fact, what it currently does on all platforms except DDC.

I vote to change the spec like @sigmundch
I don't think changing VM implementation would face any engineering challenges, but I don't think we should spend time on this given that all non-DDC implementations are aligned.

We deliberately made o() and o.call() not equivalent because of the complication introduced by arbitrary getter recursion. If C is a class with a call getter, then C x = ...; x(); is invalid code rejected at compile-time. We want dynamic invocations to have the same behavior as typed invocations, only with run-time errors instead of compile-time errors, so the odd one out here is the dynamic invocation behavior which looks at call getters. Sure, it's already implemented, but it also means that an invocation can have arbitrary complexity, and it differs from typed semantics.
Another, potentially more breaking, approach is to entirely disallow dynamic invocation of non-functions.
Then dynamic x; x(); would only invoke functions, not class objects with call methods.
Invoking Function instances won't change, that type is already only accepting function values.
Even if your class has a call getter method, it won't be called when dynamically called as o(), you have to cast it to Function first (which should also tear off the call method, but not touch a call getter).
It would still require backends to change behavior, but towards a simpler dynamic invocation.

If C is a class with a call getter, then C x = ...; x(); is invalid code rejected at compile-time.

I suppose one option is just to allow this.

Another, potentially more breaking, approach is to entirely disallow dynamic invocation of non-functions.

Is there really any user value in this?

I created the PR dart-lang/language#594 in order to clarify the changes needed in the specification, in order to allow for a call getter to be used as well as a call method.
So, @lrhn, do you wish to maintain that we shouldn't do this?

If call is a getter ... do we get it, and then try to convert that to a Function? That's a recursive definition (we convert to Function by doing something and then converting to Function).

If we do this at all, I would propose that no, we simply say that if the result type of the getter is a subtype of function, that's what you get, and otherwise it's a static error.
But I don't think I have any problem with just saying it's a static error.  If o is does not have type dynamic and o.call is not a method named call, then o() is an error.
For the dynamic case, we could potentially reduce this (at least temporarily) to a CFE only fix by treating
dynamic d = ...;
d();

as syntactic sugar for
  dynamic d = ...;
  (d.call as Function)();

I think this at least eliminates the infinite recursion.

In order to resolve this, we can decide that the current specification is what we want (and drop dart-lang/language#594), which means that f() cannot evaluate a getter f.call and call the returned object. Alternatively, we can land #594.
Implementation Effort: Getter is Error
Here we'd drop #594.
In order to disallow the getter invocation, we'd need the following implementation effort: Both dart and dart2js will happily compile and run this getter based example (and dartanalyzer of course has no issues with it):
class A {
  Function get call => () { print("A.call"); };
}

main() => (A() as dynamic)();

So dart and dart2js would need to change such that a dynamic error occurs when there is no call method, rather than finding and invoking a getter.
For an invocation which is checked statically we have this example:
class A {
  Function get call => () { print("A.call"); };
}

main() => A()();

This is accepted by the analyzer; it would then have to change such that this example is a compile-time error.
The common front raises an error in this case (and requires a method), so there are no further changes.
Implementation Effort, Getter is Accepted
Here, we'd land #594.
No changes are needed in the analyzer. But the common front end would need to stop raising the compile-time error for the statically checked case. Code generation may handle this case already (when it's not an error), otherwise the generated code must be changed such that a getter invocation will take place.

@leafpetersen, @lrhn, you seem to prefer making the getter invocation an error? @munificent, you also put the focus on the (perhaps excessive) expressive power of repeated getter invocations, wdyt?


ModuleNotFoundError: No module named 'pgeocode'

I recently did a fresh installation on Windows 10 and also on a Raspberry Pi
For both installations, I had an error on the first execution. (error: ModuleNotFoundError: No module named 'pgeocode')
pi@raspberrypi:~/Kijiji-Reposter $ python server.py
Traceback (most recent call last):
  File "/home/pi/Kijiji-Reposter/server.py", line 5, in <module>
    import pgeocode
ModuleNotFoundError: No module named 'pgeocode'
pi@raspberrypi:~/Kijiji-Reposter $

I resolve the issue by installation the package 'pgeocode' with the following command:
pip3 install pgeocode
I think the pgeocode package should probably be added in requirements.txt.

pgeocode was added to the readme.md but missed the requirements.txt. Has been added.


Faster dita validation

The method we're currently using DITA validation includes the publish phase, which isn't required.
Here are two alternate strategies:

a custom Ant file: https://dita-users.groups.io/g/main/topic/48611173
a dita validation plugin: https://github.com/jason-fox/com.here.validate.svrl

The second option seems better suited to our context, since it can run from the command line.
Aah, I have another strategy that improves the performance of this. We'll just run the export once, at the end of the parse/write process - and run it across the whole document set.
That should be helped by #260

Close. Fixed in #271

Note: our publish process doesn't seem as through as the DITA-OT Validator plugin.  That still seems to be of value.


It causes speed issue

After installing this plugin 'setComponents' method got very slow. Had to remove.

Yes it's because of the algorithm to count occurences, we should make it more efficient
In the meantime you can set enableCount to false


"ValueError: Autograd4bitQuantLinear() does not have a parameter or a buffer named weight." / "TypeError: LlamaForCausalLM.init() got an unexpected keyword argument 'load_in_4bit'"

Goal:
Train a 3B model
... on my Linux box on GPU #0 only (CUDA_VISIBLE_DEVICES=0),
... using a dataset I built, in alpaca json format
... ideally using as little memory in training as possible (not critical here for this tiny 3B model, but important for bigger future models, for which this is a test case)
... ideally as fast as possible,
... and ideally yielding a 4-bit quantized GPTQ model
So I'm trying to follow the example and the "guide" on the axolotl project page, but there's tons of parameters and config options, and everything seems to lead down a "that's broken, with an obscure error message" road. :(  The current error:
Traceback (most recent call last):
File "/home/username/axolotl/src/axolotl/utils/models.py", line 194, in load_model
model, _ = load_llama_model_4bit_low_ram(
File "/home/username/.local/lib/python3.10/site-packages/alpaca_lora_4bit/autograd_4bit.py", line 249, in load_llama_model_4bit_low_ram
model = accelerate.load_checkpoint_and_dispatch(
File "/home/username/.local/lib/python3.10/site-packages/accelerate/big_modeling.py", line 486, in load_checkpoint_and_dispatch
load_checkpoint_in_model(
File "/home/username/.local/lib/python3.10/site-packages/accelerate/utils/modeling.py", line 1116, in load_checkpoint_in_model
set_module_tensor_to_device(model, param_name, param_device, value=param, dtype=dtype)
File "/home/username/.local/lib/python3.10/site-packages/accelerate/utils/modeling.py", line 149, in set_module_tensor_to_device
raise ValueError(f"{module} does not have a parameter or a buffer named {tensor_name}.")
ValueError: Autograd4bitQuantLinear() does not have a parameter or a buffer named weight.
Traceback (most recent call last):
File "/home/username/axolotl/src/axolotl/utils/models.py", line 194, in load_model
model, _ = load_llama_model_4bit_low_ram(
File "/home/username/.local/lib/python3.10/site-packages/alpaca_lora_4bit/autograd_4bit.py", line 249, in load_llama_model_4bit_low_ram
model = accelerate.load_checkpoint_and_dispatch(
File "/home/username/.local/lib/python3.10/site-packages/accelerate/big_modeling.py", line 486, in load_checkpoint_and_dispatch
load_checkpoint_in_model(
File "/home/username/.local/lib/python3.10/site-packages/accelerate/utils/modeling.py", line 1116, in load_checkpoint_in_model
set_module_tensor_to_device(model, param_name, param_device, value=param, dtype=dtype)
File "/home/username/.local/lib/python3.10/site-packages/accelerate/utils/modeling.py", line 149, in set_module_tensor_to_device
raise ValueError(f"{module} does not have a parameter or a buffer named {tensor_name}.")
ValueError: Autograd4bitQuantLinear() does not have a parameter or a buffer named weight.
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/home/username/axolotl/scripts/finetune.py", line 352, in
fire.Fire(train)
File "/home/username/.local/lib/python3.10/site-packages/fire/core.py", line 141, in Fire
component_trace = _Fire(component, args, parsed_flag_args, context, name)
File "/home/username/.local/lib/python3.10/site-packages/fire/core.py", line 475, in _Fire
component, remaining_args = _CallAndUpdateTrace(
File "/home/username/.local/lib/python3.10/site-packages/fire/core.py", line 691, in _CallAndUpdateTrace
component = fn(*varargs, **kwargs)
File "/home/username/axolotl/scripts/finetune.py", line 251, in train
model, peft_config = load_model(
File "/home/username/axolotl/src/axolotl/utils/models.py", line 290, in load_model
model = AutoModelForCausalLM.from_pretrained(
File "/home/username/.local/lib/python3.10/site-packages/transformers/models/auto/auto_factory.py", line 467, in from_pretrained
return model_class.from_pretrained(
File "/home/username/.local/lib/python3.10/site-packages/transformers/modeling_utils.py", line 2611, in from_pretrained
model = cls(config, *model_args, **model_kwargs)
TypeError: LlamaForCausalLM.init() got an unexpected keyword argument 'load_in_4bit'
Traceback (most recent call last):
File "/home/username/.local/bin/accelerate", line 8, in
sys.exit(main())
File "/home/username/.local/lib/python3.10/site-packages/accelerate/commands/accelerate_cli.py", line 45, in main
args.func(args)
File "/home/username/.local/lib/python3.10/site-packages/accelerate/commands/launch.py", line 941, in launch_command
simple_launcher(args)
File "/home/username/.local/lib/python3.10/site-packages/accelerate/commands/launch.py", line 603, in simple_launcher
raise subprocess.CalledProcessError(returncode=process.returncode, cmd=cmd)
subprocess.CalledProcessError: Command '['/usr/bin/python3', 'scripts/finetune.py', 'summarize.yaml']' returned non-zero exit status 1.
For my accelerate config, while trying to find something, anything that would work, I've told it no DeepSpeed, no torch dynamo, not CPU only (of course), and have tried (for precision), "no", "fp8", and "fp16".  My yaml is attached, although as mentioned I've tried many different variants of it.
What should I be doing to achieve my goals here and not get caught up in these errors?
summarize.yaml.txt

I suspect this has something to do with the peft / gptq install choice.  TL/DR:
The above errors are with having done the repository's instructions of "pip3 install -e .[gptq]".  But this command installs peft, which the instructions say is incompatible..
If I uninstall peft, then I get peft-missing errors.
One thread instead says "pip uninstall peft and pip install .[int4]" (int4 instead of gptq).  If I do that, it doesn't install peft, but errors switch instead to:
ModuleNotFoundError: No module named 'axolotl'
So that's no help.
Is it impossible to use gptq?

Hello! You are correct in pip3 install -e .[gptq]. Where do you see that the instruct says is incompatible?
It should be possible to use gptq. However, I have not used it in a while, so some packages may have broke.

The above errors are with having done the repository's instructions of "pip3 install -e .[gptq]". But this command installs peft, which the instructions say is incompatible..

Hello @enn-nafnlaus , I found what you're talking about now. The reason why it said "not for gptq" is because [gptq] would install a specific commit of peft, so you do not need to install from source.

Hello! You are correct in pip3 install -e .[gptq]. Where do you see that the instruct says is incompatible?
It should be possible to use gptq. However, I have not used it in a while, so some packages may have broke.

From my experience above, it's broken.  :(  So no possibilities for 4bit quantization then?
Honestly at this point I'd like to be able to get anything working.  :(  I've got a vacation coming up in a couple days and I was hoping my model could be training while I'm gone, but it's looking decreasingly likely.
The goal of the model, beyond gaining practice in training them, is a dedicated lightweight fast text-summarizer (provided input in the form of "<#Tokens>:<Contents...>" to yield output of "<SummaryOfAround<#Tokens>InLength>"), so that text of any length could be summarized in blocks (recursively) down to something that will fit into the 2048-token contexts of LLaMA models. Thus allowing the model access to the key points of any history of any length (even entire books).

Hello @enn-nafnlaus , sorry for late reply. I forgot to mention which lines. It's this mainly this line here as axolotl has been written for newer transformers version so this hack is needed unfortunately.
axolotl/src/axolotl/utils/models.py
Line 213 in b9b7d4c
load_in_4bit=cfg.load_in_4bit and cfg.adapter is not None,
Do note: commenting this out would not allow QLORA. Make sure that when you do pip install to use -e as stated in docs.
Edit: Feel free to discuss this in other thread which seems to be more appropriate than this.

So, this makes Lora training (which isn't my goal) using the stock model work again (it worked out of the box, so not a big gain regardless).  Training models is still broken.  From the stock example:
launch scripts/finetune.py examples/openllama-3b/config.yml
I get:
_INFO:root:Compiling torch model
INFO:root:Starting trainer...
0%|                                                                                | 0/160428 [00:00<?, ?it/s]Traceback (most recent call last):
File "/home/username/axolotl/scripts/finetune.py", line 352, in
fire.Fire(train)
File "/home/username/.local/lib/python3.10/site-packages/fire/core.py", line 141, in Fire
component_trace = _Fire(component, args, parsed_flag_args, context, name)
File "/home/username/.local/lib/python3.10/site-packages/fire/core.py", line 475, in _Fire
component, remaining_args = _CallAndUpdateTrace(
File "/home/username/.local/lib/python3.10/site-packages/fire/core.py", line 691, in _CallAndUpdateTrace
component = fn(*varargs, **kwargs)
File "/home/username/axolotl/scripts/finetune.py", line 337, in train
trainer.train(resume_from_checkpoint=resume_from_checkpoint)
File "/home/username/.local/lib/python3.10/site-packages/transformers/trainer.py", line 1537, in train
return inner_training_loop(
File "/home/username/.local/lib/python3.10/site-packages/transformers/trainer.py", line 1802, in _inner_training_loop
tr_loss_step = self.training_step(model, inputs)
File "/home/username/.local/lib/python3.10/site-packages/transformers/trainer.py", line 2647, in training_step
loss = self.compute_loss(model, inputs)
File "/home/username/.local/lib/python3.10/site-packages/transformers/trainer.py", line 2672, in compute_loss
outputs = model(**inputs)
File "/home/username/.local/lib/python3.10/site-packages/torch/nn/modules/module.py", line 1501, in _call_impl
return forward_call(*args, **kwargs)
File "/home/username/.local/lib/python3.10/site-packages/accelerate/hooks.py", line 165, in new_forward
output = old_forward(*args, **kwargs)
File "/home/username/.local/lib/python3.10/site-packages/transformers/models/llama/modeling_llama.py", line 690, in forward
outputs = self.model(
File "/home/username/.local/lib/python3.10/site-packages/torch/nn/modules/module.py", line 1501, in _call_impl
return forward_call(*args, **kwargs)
File "/home/username/.local/lib/python3.10/site-packages/transformers/models/llama/modeling_llama.py", line 570, in forward
layer_outputs = torch.utils.checkpoint.checkpoint(
File "/home/username/.local/lib/python3.10/site-packages/torch/utils/checkpoint.py", line 249, in checkpoint
return CheckpointFunction.apply(function, preserve, *args)
File "/home/username/.local/lib/python3.10/site-packages/torch/autograd/function.py", line 506, in apply
return super().apply(*args, **kwargs)  # type: ignore[misc]
File "/home/username/.local/lib/python3.10/site-packages/torch/utils/checkpoint.py", line 107, in forward
outputs = run_function(*args)
File "/home/username/.local/lib/python3.10/site-packages/transformers/models/llama/modeling_llama.py", line 566, in custom_forward
return module(*inputs, output_attentions, None)
File "/home/username/.local/lib/python3.10/site-packages/torch/nn/modules/module.py", line 1501, in _call_impl
return forward_call(*args, **kwargs)
File "/home/username/.local/lib/python3.10/site-packages/accelerate/hooks.py", line 165, in new_forward
output = old_forward(*args, **kwargs)
File "/home/username/.local/lib/python3.10/site-packages/transformers/models/llama/modeling_llama.py", line 293, in forward
hidden_states, self_attn_weights, present_key_value = self.self_attn(
File "/home/username/.local/lib/python3.10/site-packages/torch/nn/modules/module.py", line 1501, in _call_impl
return forward_call(*args, **kwargs)
File "/home/username/.local/lib/python3.10/site-packages/accelerate/hooks.py", line 165, in new_forward
output = old_forward(*args, **kwargs)
File "/home/username/axolotl/src/axolotl/monkeypatch/llama_attn_hijack_xformers.py", line 91, in xformers_forward
attn_output = xformers.ops.memory_efficient_attention(
File "/home/username/.local/lib/python3.10/site-packages/xformers/ops/fmha/init.py", line 192, in memory_efficient_attention
return _memory_efficient_attention(
File "/home/username/.local/lib/python3.10/site-packages/xformers/ops/fmha/init.py", line 290, in _memory_efficient_attention
return _memory_efficient_attention_forward(
File "/home/username/.local/lib/python3.10/site-packages/xformers/ops/fmha/init.py", line 306, in _memory_efficient_attention_forward
op = _dispatch_fw(inp)
File "/home/username/.local/lib/python3.10/site-packages/xformers/ops/fmha/dispatch.py", line 94, in _dispatch_fw
return _run_priority_list(
File "/home/username/.local/lib/python3.10/site-packages/xformers/ops/fmha/dispatch.py", line 69, in run_priority_list
raise NotImplementedError(msg)
NotImplementedError: No operator found for memory_efficient_attention_forward with inputs:
query       : shape=(1, 240, 32, 100) (torch.float16)
key         : shape=(1, 240, 32, 100) (torch.float16)
value       : shape=(1, 240, 32, 100) (torch.float16)
attn_bias   : <class 'xformers.ops.fmha.attn_bias.LowerTriangularMask'>
p           : 0.0
cutlassF is not supported because:
query.shape[-1] % 8 != 0
value.shape[-1] % 8 != 0
flshattF is not supported because:
query.shape[-1] % 8 != 0
tritonflashattF is not supported because:
query.shape[-1] % 8 != 0
key.shape[-1] % 8 != 0
value.shape[-1] % 8 != 0
requires A100 GPU
smallkF is not supported because:
dtype=torch.float16 (supported: {torch.float32})
max(query.shape[-1] != value.shape[-1]) > 32
attn_bias type is <class 'xformers.ops.fmha.attn_bias.LowerTriangularMask'>
unsupported embed per head: 100
0%|                                                                                | 0/160428 [00:01<?, ?it/s]
Traceback (most recent call last):
File "/home/username/.local/bin/accelerate", line 8, in
sys.exit(main())
File "/home/username/.local/lib/python3.10/site-packages/accelerate/commands/accelerate_cli.py", line 45, in main
args.func(args)
File "/home/username/.local/lib/python3.10/site-packages/accelerate/commands/launch.py", line 941, in launch_command
simple_launcher(args)
File "/home/username/.local/lib/python3.10/site-packages/accelerate/commands/launch.py", line 603, in simple_launcher
raise subprocess.CalledProcessError(returncode=process.returncode, cmd=cmd)
subprocess.CalledProcessError: Command '['/usr/bin/python3', 'scripts/finetune.py', 'examples/openllama-3b/config.yml']' returned non-zero exit status 1.
Note that at this point I've shut off everything that's potentially "good" just to try to get anything to work at all:

No Deepspeed
No torch compilation
Floating point modes (fp16, fp8) set to "No"
Not using the GPTQ pip3 install

And it still doesn't work.
Is there any way we can get an exact series of steps that will actually work to train a model?  Ideally one to train a 4bit GPTQ model in a fast and memory efficient manner, but at the very least, any model (not Lora), at any bit scale, at any training rate?  It'd at least provide a starting point.  :)

Hello, sorry for not checking back on this. The issue you got is due to xformer: true. I have added this to the Readme. Were you able to train so far?

Yep, thanks to the help on the Discord!  Removing the cache file generated by accelerate config, and making sure to not run accelerate config, was the other key.  :)  Then I later - once training turned out to be generating NaNs after a few hours - I had to switch the optimizer to lion_8bit.  Then when the loss rate was rising, not falling, I had to reduce the learning_rate by an order of magnitude, to 0.000001 (perhaps I could have gotten away with a less drastic cut, but that worked).  I also discovered that I was (barely) able to up micro_batch_size to 2 (barely) without running out of memory on my 24GB card training a 3GB model (note to people new to this: full-finetune VRAM requirements are staggeringly high!).
Loss has only dropped by ~50% in the first ~8500 cycles, but at least it's going down  :)

Well, glad that it worked out. Good luck in the training!
Regarding quantize, you can also look into (https://github.com/qwopqwop200/GPTQ-for-LLaMa). AutoGPTQ works fine as well.


Is there a way to batch operations without updating display?

I would like to perform mass markText on a document, and currently it takes a long time. Is it possible to perform these changes more efficiently?
Thank you!

Yes, there is!

Wow, thanks! This resulted in ~30x speedup. Idea: could add batch keyword in that section of the manual so it is easier to find.


Feat acquisition updates

fixes #48
fixes #33
Voxel updates for actual operation...
max projection process updates

added ability to break up projection in x and y, not just z
controlled through yaml settings x_projection_px, y_projection_px, z_projection_px
fixed indexing bug so if the above is not integer multiple of the tile size in xyz, the last projection image is sized correctly
if projection_px is not defined for xyz, those mips are not generated
added assertion checks that 0 < projection_px < tile_size_px along xyz
unit tested and working

file transfer updates

added file transfer verification using hashing
checksum would be the best option but is extremely expensive, requires traversing the entire multiple TB file which would take hours
checking file size alone is simple/fast but would not be robust
instead implemented partial hashing with https://github.com/kalafut/py-imohash
imohash checks a user-defined number of bits at the beginning, middle, and end of the file to mostly verify file integrity
also added timeout and number of retry settings to transfers
timeout can be triggered if progress monitoring stalls at a given %
this or other try/catch statements, or failed file hashing would trigger another iteration of file transfers for remaining files. numbe of retry settings controls how many attempts will be made before moving on.
also unit tested rsync on windows. bug fix was identifying that rsync on windows expects /cygdrive to be appended to the beginning of any path, i.e. /cygdrive/c/users/...
unit tested and working

adding acquisition name

we were lacking a mechanism for generating and setting the "acquisition name", i.e. right now exaSPIM_123456_datetime. this has been added as a function within acquisition.py, and is controlled through a name dictionary in the acquisition.yaml.
example below. delimieter must be specified (defaults to "_"). datetime format, if used, has to be defined and is checked as a valid input to strftime(). format is an ordered list that can call into any keys that exist in the metadata dict, each separated by dict. datetime has to be explicitly listed and does not exist in the metadata dict.

acquisition:
name:
delimiter: "_"
datetime: "%Y-%m-%d_%H-%M-%S"
format:
- instrument_type
- subject_id
- datetime
metadata:
instrument_type: exaSPIM
subject_id: 615243
experimenter_name: adam glaser
immersion_medium: 0.05X SSC
immersion_medium_refractive_index: 1.33
x_anatomical_direction: Anterior_to_posterior
y_anatomical_direction: Inferior_to_superior
z_anatomical_direction: Left_to_right
adding acquisition name property to relevant voxel operations

writers, processes, etc. still need a "path" that is user specified for where to save files. it isn't feasible for the user to define the whole path including the acquisition_name above since the datetime is generated at runtime.
paths were kept as they are now, and a new property acquisition_name was added to these operations, which is calculated at runtime within the acquisition, and is concatenated with the user specified paths.

Looks good to me. We also need to add saving the acquisition yaml file at the end of the scan too or at least the tile list.

@adamkglaser I'm getting bugs when trying to use max_projection.py. Did you run into this problem?

@adamkglaser I'm getting bugs when trying to use max_projection.py. Did you run into this problem? Should _z_projection_count_px initialize to 0 instead of none to avoid this problem?

Hmm it looks like a bug because z_projection_count_px isn't defined. If you define it does the code work? I might not have checked the case where the count in z is undefined. We should default it to equal frame_count_px if not defined? Or simply ignore doing the MIP in z, I believe if X and Y are not defined they are ignored.

@adamkglaser I think you accounted if self._z_projection_count_px == None earlier but then assume self._z_projection_count_px won't be None later in the while frame_index < self._frame_count_px_px loop. This either needs to be fixed or the self._z_projection_count_px should be initialized to be something that makes more sense

@adamkglaser I think you accounted if self._z_projection_count_px == None earlier but then assume self._z_projection_count_px won't be None later in the while frame_index < self._frame_count_px_px loop. This either needs to be fixed or the self._z_projection_count_px should be initialized to be something that makes more sense

this is now fixed. i think this PR is now OK to merge.

Yay thanks!

@micahwoodard this one is OK to merge now?


Windows 11 title bar customization

As explained in Microsoft's Docs, in Windows 11 the title bar can be customized to fit the design language of the application. For example, the settings app now does this. It would be nice to have this feature in this plugin so that having a custom window isn't necessary. I can implement it myself if anyone is willing to explain to me how I can edit the windows module with lining(for some reason it doesn't work)

You're linking the documentation related to title-bar, but mentioning "taskbar" in the issue title & comment.
What is your expectation from us?

It would be nice to have this feature in this plugin so that having a custom window isn't necessary.
Having the custom window IS NECESSARY.

A "default Win32 window" has bland white (even in dark-mode) title-bar, overwhich the developer cannot draw anything.
Again there are now exceptions to it after Windows 11 SDK:

Now you can change it to black. See: DWMWA_USE_IMMERSIVE_DARK_MODE.
You can extend your content area into it. See: DwmExtendFrameIntoClientArea.

The point is, the windows that you think don't have a "custom title-bar" like "the settings app", Google Chrome, Microsoft Edge, all UWP apps have a custom title-bar (with custom buttons & implementation) made to look-like native one.
With that being said, there is no future scope of work in this project other than bug-fixes. For drawing a custom window frame and title bar, recommended approaches are to use (though, not endorsed by us):

bitsdojo_window
window_manager

You're linking the documentation related to title-bar, but mentioning "taskbar" in the issue title & comment. What is your expectation from us?

Sorry for the typo, I wrote the issue very quickly and I confused the task bar and the title bar. Fixed now.

The point is, the windows that you think don't have a "custom title-bar" like "the settings app", Google Chrome, Microsoft Edge, all UWP apps have a custom title-bar (with custom buttons & implementation) made to look-like native one.

I was arguing that it's no longer necessary to do that on Windows 11 which is very convenient as the simulated buttons don't feel native or responsive. The settings app definitely uses the technique explained in the docs I linked and not a custom title bar

Sorry but all UWP apps (including settings app, file explorer & other UWP apps) in-fact have custom rendered buttons (not "native").
There's no way around it. Native buttons means using a plain white title-bar. The behaviour is made to closely match the look & feel. You can draw these buttons using Flutter's canvas, use SVG or official images from WinUI figma from Microsoft.


Required PHP-Modules - On Ubuntu 18.04 about 8 of these modules don't exist

I wanted to try Lexic so I created an Ubuntu 18.04 VM and then tried to install the backend first.
In the list of Required PHP-Modules there were about 8 that I could not find in the Ubuntu repositories for Ubuntu 18.04 LTS.
So I just thought I'd check to see if this list current?

Ok... but why on this page:
https://github.com/LexicForLXD/Backend/blob/master/docs/REQUIREMENTS.md
Does it list so many "required PHP modules" then?
thanks
Brian

I think we forgot to update the requirements along the way.
It is on my list.

cool ... thanks.


[Platform] WASM platform support

For some reason the content is empty, the header is null, and readString returns empty string, also the dev tools says that the request returned 200 OK but the IsSuccessStatusCode returns false

ok figured out it was caused by cors policy, gotta find a way around this

fixed in e8db05c


ardour: add ardour 6 and make it the default

We leave Ardour 5 in, since Ardour 6 has a new latency compensation
algorithm, so your mixes might end up sounding different in the new version.
I accidentally closed https://github.com/NixOS/nixpkgs/pull/88950 and I can't re-open it, so here is a new one.
I added mp3 import and export.

Motivation for this change
Things done

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

[x] NixOS
[ ] macOS
[ ] other Linux distributions

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

:tada:


Duck ok fails for string comparisons

When comparing two unequal strings, duck returns a false ok value
package main

import (
	"fmt"

	"github.com/connectordb/duck"
)

func main() {
	equal, ok := duck.Eq("hi", "hello")
	fmt.Printf("equal? %v ok? %v\n", equal, ok)

	equal, ok = duck.Eq("hello", "hello")
	fmt.Printf("equal? %v ok? %v\n", equal, ok)
}

Output:
equal? false ok? false
equal? true ok? true

It is expected that if the two objects have the same type, the ok value will be true.

I introduced this yesterday when fixing another string comparison bug -fixing right away


feat: Add ability to submit CronWorkflow from CLI

…. Closes #1963
Examples:
$ argo submit --from "CronWorkflow/hello-world"
Name:                hello-world-f6g7v
Namespace:           argo
ServiceAccount:      default
Status:              Pending
Created:             Thu Jan 16 12:03:45 -0800 (now)

$ argo submit --from "WorkflowTemplate/workflow-template-whalesay-template" --entrypoint whalesay-template --parameter message="Hello, world"
Name:                workflow-template-whalesay-template-tsqbz
Namespace:           argo
ServiceAccount:      default
Status:              Pending
Created:             Thu Jan 16 12:05:14 -0800 (now)
Parameters:
  message:           Hello, world

Checklist:

[X] Either (a) I've created an enhancement proposal and discussed it with the community, (b) this is a bug fix, or (c) this is a chore.
[X] The title of the PR is (a) conventional, (b) states what changed, and (c) suffixes the related issues number. E.g. "fix(controller): Updates such and such. Fixes #1234".
[X] I have written unit and/or e2e tests for my change. PRs without these are unlike to be merged.
[X] Optional. I've added My organization is added to the README.
[X] I've signed the CLA and required builds are green.

Have scaled back this PR to only allow submission from CronWorkflow. Submission from WorkflowTemplate will be added in #2007. v1.Interface use will be introduced with #2114.
Ready for another review @alexec


Typo: 'create' was written twice 😂

It was on purpose ;) I wanted to underline how important is to create ;)

LOL 😂


Account.GetData

Will be copied to https://github.com/stellar/go/pull/37.

@nullstyle can you review it one more time?


Modify 'Bearer:' lexem

Could you add an option that would allow to customize the 'Bearer:' part in authorization headers?
For example express-jwt expects it to be 'Bearer' (without  a colon).

Will add an option for this soon.

This is resolved in v1.0.4-dev.
By default it is now passed without the "colon". Also the bearerAuth.request and bearerAuth.response functions can be overridden for any other customization.


More info harmony2023

Couldn't find any way to view the resulting page, but at least the YML was correct.

Bah, none of the links worked.  Do you know how to get those working @nickerso ?


[CLOUD-1173] Add displayName to all template parameters

just pushed a new version

Just force-pushed new version of the patch

Added a commit to fix the Volume Capacity description issue (and fixed the other issues as usual)

Looks good, just a few more tweaks.

just pushed for a new round


[Visual Studio Code] ...

Extension
https://www.raycast.com/thomas/visual-studio-code
Description
Open With Visual Studio Code does not work if you already open a folder. You must go back one level up and select the folder to use this cmd. It would be great if it can open the front finder folder in vscode directly, like the Open in Visual Studio Code
Who will benefit from this feature?
No response
Anything else?
No response

i've attempted a fix for the above in a pr. please review the changes.


Does RSP storage type NDArray support shared memory?

@eric-haibin-lin

Please post this kind of question on http://discuss.mxnet.io/
Depends on what you mean by shared memory:

rowsparse Weight sharing is supported if you use bucketing module
NDArray.get_item with int key returns a view of the original NDArray, which shares the memory of the original NDArray. For row_sparse it's not supported.


Add GitHub actions: Go and CodeQL

It's auto-generated by Github as I just added in my fork, and changed the Go version.
(Also there was a strange mention of Swift in CodeQL which I removed!)

Merged - much appreciated!


remove master-data mount

@pweil- you OK with this? afaics the master doesn't write anything there.

I’m fine with it if it isn’t used.


Add Github stats page for personalised user experience

fix: #1072

@sanjay-kv as you asked me to make it when user logs in then user stats should be visible, for now our login is not working i tried collecting it and saving it to the local storage , but that also was buggy so i implemented it this way for now....

I think when user login on the page and we make it visible like an dashboard that would be awesome.
You are great developer and doing out of the box thinking.
One suggestion would be use badit for the screen recording and put it on PR, as we deal with huge PRs it would make review easy.  @shubhagarwal1

can u help me to fix the conflicts?

can u help me to fix the conflicts?

Yes, resolving conflicts now.

I think when user login on the page and we make it visible like an dashboard that would be awesome. You are great developer and doing out of the box thinking.
One suggestion would be use badit for the screen recording and put it on PR, as we deal with huge PRs it would make review easy. @shubhagarwal1

Sir, can i utilise local storage for the usecase

you can use

you can use

ok Sir

you can use

Working on the issue, i will align this with when user logs in, shoul dabel to see the git stats.


SCSS not suggesting nested tag completions

VSCode Version: Code - Insiders 1.15.0-insider (fed03b66ac8acdac93897727a1d19ee0f6898bf2, 2017-07-25T07:20:25.274Z)
OS Version: Darwin x64 16.7.0
Extensions:

Extension
Author (truncated)
Version

ng-template
Ang
0.1.4

code-settings-sync
Sha
2.8.2

sort-lines
Tyr
1.3.0

html-snippets
abu
0.1.0

Bookmarks
ale
0.15.2

project-manager
ale
0.18.1

path-intellisense
chr
1.4.2

vscode-eslint
dba
1.2.11

tslint
eg2
0.17.0

Angular2
joh
2.4.0

ecdc
mit
0.10.3

HTMLHint
mka
0.3.3

vscode-autoprefixer
mrm
2.0.0

vscode-stylefmt
mrm
2.4.1

angular2-inline
nat
0.0.17

stylelint
shi
0.28.0

change-case
wma
1.0.0

(4 theme extensions excluded)

Steps to Reproduce:

if you type a tag at the root level of a SCSS file, it will suggest tags as expected.  Here it suggests input:

However, inside a nested selector, it forgets all about input:

by nested selector, i mean
.my-outer-selector {
    input {
      color: green;
    }
}

Same happens with every tag I've tried:  button, div, etc.

The tag suggestions are coming from css completion provider and not emmet, re-labeling

That's was a request from https://github.com/Microsoft/vscode/issues/17578 as it is, rather uncommon to nest tags.

@aeschli It's not as uncommon as you think.  we frequently apply a class to the body tag (this is especially common in Wordpress) and then add tags and classes inside of that to make overrides for just that page.


Other players beside placer can't access blocks

When trying to access the Teleporter block, or the Quantum Entangloporter energy thing, they get a message from displayNoAccess(EntityPlayer player)
I have opped the player but still no luck, like this checks seems to say
I'm using the "All the Mods" modpack, version 1.10.2 v2.53
Mekanism v 9.2.2
MekanismGenerators v 9.2.2
MekanismTools v  9.2.2

First of all, thank you very much for the detailed bug report! I would love to see that every one I see looks like this.
By default only the player can access placed blocks. If you want ops to access you'll have to change the config (default value is deny op access defined at https://github.com/aidancbrady/Mekanism/blob/2b02042f4c38aac672f9af72db155bd583b492c0/src/main/java/mekanism/common/CommonProxy.java#L249 )
The player who placed the block could set it to public/restricted (don't quote me on the restricted naming, could also be something like friends) to allow others.
Last but not least, in one of the latest build there is an added feature to deny all protection server wide.


Link to Vienna Bug Tracker

On http://www.vienna-rss.org/?page_id=16 the bug tracker is pointed to SF, not to Github !
http://sourceforge.net/tracker/?group_id=142635&atid=753018

Thanks for finding this! I fixed that link and a few other broken links.


docs: add fake api guide

This PR adds a new page to the "Guides" section, detailing how ts-rest can be used to create a fake API for testing purposes.

@all-contributors please add @avancealaska  for docs


AppWorks Space and Apps - Roapmap

The below blog mentions that there are plans to improve the workspace and app experience.  Can you please share the link to roadmap blog that is referred below.  I would like to understand if we are going to have a Many to Many relationship between workspace and apps ?
You can create multiple content packs from any workspace, but an app has a 1:1 relationship with its workspace. We believe this makes apps easier to understand and maintain over the long run. See the roadmap section of the Power BI blog for more on how we plan to improve this area
https://ideas.powerbi.com/forums/265200-power-bi-ideas/suggestions/19440916-create-multiple-apps-from-same-workspace
https://docs.microsoft.com/en-us/power-bi/service-create-distribute-apps

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

ID: 72ff3e88-8793-8e2b-bdb2-0e3d09372b93
Version Independent ID: 0e1245cb-d7af-c73c-39c4-39f5665ae51a
Content: Create and publish apps with dashboards and reports in Power BI - Power BI
Content Source: powerbi-docs/service-create-distribute-apps.md
Service: powerbi
GitHub Login: @maggiesMSFT
Microsoft Alias: maggies

Hi, @shakanand -- Thanks for your question! I'll check and get back to you.

Hi, @shakanand -- We've released a preview of the new workspaces. See if this article helps answer your question: https://docs.microsoft.com/en-us/power-bi/service-create-the-new-workspaces.


[go_router] Crash when router trying to restore state

Flutter 3.3.1, go_router 4.4.1, Emulator (Android 12.0)
How to reproduce (crash only in debug mode, in release - it's ok):

Run android emulator and set "Don't keep activities" as enabled in developer settings
Run example
Move app to a backstack (press home) and move back
Crash with message "This GoRouteInformationParser needs to be used with GoRouteInformationProvider, did you forget to pass in GoRouter.routeInformationProvider to the Router constructor?
'package:go_router/src/parser.dart':
Failed assertion: line 51 pos 11: 'routeInformation is DebugGoRouteInformation'"

Hi, thanks for filing the issue.
This issue is reproducible on the latest Flutter stable and master channels with reproduction steps as above.
Plugin version: go_router: ^4.4.1

Demo
https://user-images.githubusercontent.com/104349824/189604926-f80ee9ac-b7c3-4e84-b424-e2d9578fc104.mp4

Logs
══╡ EXCEPTION CAUGHT BY WIDGETS LIBRARY ╞═══════════════════════════════════════════════════════════
The following assertion was thrown building DefaultSelectionStyle:
This GoRouteInformationParser needs to be used with GoRouteInformationProvider, did you forget to
pass in GoRouter.routeInformationProvider to the Router constructor?
'package:go_router/src/parser.dart':
Failed assertion: line 51 pos 11: 'routeInformation is DebugGoRouteInformation'

The relevant error-causing widget was:
  MaterialApp
  MaterialApp:file:///Users/huynq/Documents/NEVERCODE.IO/RepoduceProjects/reproduce_issues/lib/go_router_crash_111348.dart:34:53

When the exception was thrown, this was the stack:
#2      GoRouteInformationParser.parseRouteInformation.<anonymous closure> (package:go_router/src/parser.dart:51:11)
#3      GoRouteInformationParser.parseRouteInformation (package:go_router/src/parser.dart:58:6)
#4      RouteInformationParser.parseRouteInformationWithDependencies (package:flutter/src/widgets/router.dart:1213:12)
#5      _RouterState._processRouteInformation (package:flutter/src/widgets/router.dart:707:8)
#6      _RouterState.restoreState (package:flutter/src/widgets/router.dart:582:7)
#7      RestorationMixin._doRestore (package:flutter/src/widgets/restoration.dart:872:5)
#8      RestorationMixin.didChangeDependencies (package:flutter/src/widgets/restoration.dart:858:7)
#9      _RouterState.didChangeDependencies (package:flutter/src/widgets/router.dart:655:11)
#10     StatefulElement._firstBuild (package:flutter/src/widgets/framework.dart:5046:11)
#11     ComponentElement.mount (package:flutter/src/widgets/framework.dart:4871:5)
...     Normal element mounting (396 frames)
#407    Element.inflateWidget (package:flutter/src/widgets/framework.dart:3883:16)
#408    Element.updateChild (package:flutter/src/widgets/framework.dart:3606:20)
#409    ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:4920:16)
#410    StatefulElement.performRebuild (package:flutter/src/widgets/framework.dart:5060:11)
#411    Element.rebuild (package:flutter/src/widgets/framework.dart:4617:5)
#412    BuildOwner.buildScope (package:flutter/src/widgets/framework.dart:2687:19)
#413    WidgetsBinding.drawFrame (package:flutter/src/widgets/binding.dart:867:21)
#414    RendererBinding._handlePersistentFrameCallback (package:flutter/src/rendering/binding.dart:375:5)
#415    SchedulerBinding._invokeFrameCallback (package:flutter/src/scheduler/binding.dart:1271:15)
#416    SchedulerBinding.handleDrawFrame (package:flutter/src/scheduler/binding.dart:1200:9)
#417    SchedulerBinding.scheduleWarmUpFrame.<anonymous closure> (package:flutter/src/scheduler/binding.dart:924:7)
(elided 6 frames from class _AssertionError, class _RawReceivePortImpl, class _Timer, and dart:async-patch)

════════════════════════════════════════════════════════════════════════════════════════════════════

Sample code
Sample code is from https://github.com/flutter/packages/blob/main/packages/go_router/example/lib/others/state_restoration.dart

flutter doctor -v
[✓] Flutter (Channel stable, 3.3.1, on macOS 12.5.1 21G83 darwin-x64, locale en-VN)
    • Flutter version 3.3.1 on channel stable at /Users/huynq/Documents/GitHub/flutter
    • Upstream repository https://github.com/flutter/flutter.git
    • Framework revision 4f9d92fbbd (31 hours ago), 2022-09-06 17:54:53 -0700
    • Engine revision 3efdf03e73
    • Dart version 2.18.0
    • DevTools version 2.15.0

[✓] Android toolchain - develop for Android devices (Android SDK version 31.0.0)
    • Android SDK at /Users/huynq/Library/Android/sdk
    • Platform android-33, build-tools 31.0.0
    • ANDROID_HOME = /Users/huynq/Library/Android/sdk
    • Java binary at: /Applications/Android Studio.app/Contents/jre/Contents/Home/bin/java
    • Java version OpenJDK Runtime Environment (build 11.0.12+0-b1504.28-7817840)
    • All Android licenses accepted.

[✓] Xcode - develop for iOS and macOS (Xcode 13.3)
    • Xcode at /Applications/Xcode.app/Contents/Developer
    • Build 13E113
    • CocoaPods version 1.11.3

[✓] Chrome - develop for the web
    • Chrome at /Applications/Google Chrome.app/Contents/MacOS/Google Chrome

[✓] Android Studio (version 2021.2)
    • Android Studio at /Applications/Android Studio.app/Contents
    • Flutter plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/9212-flutter
    • Dart plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/6351-dart
    • Java version OpenJDK Runtime Environment (build 11.0.12+0-b1504.28-7817840)

[✓] IntelliJ IDEA Community Edition (version 2020.3.3)
    • IntelliJ at /Applications/IntelliJ IDEA CE.app
    • Flutter plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/9212-flutter
    • Dart plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/6351-dart

[✓] IntelliJ IDEA Community Edition (version 2022.1.1)
    • IntelliJ at /Users/huynq/Library/Application Support/JetBrains/Toolbox/apps/IDEA-C/ch-0/221.5591.52/IntelliJ IDEA CE.app
    • Flutter plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/9212-flutter
    • Dart plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/6351-dart

[✓] VS Code (version 1.71.0)
    • VS Code at /Applications/Visual Studio Code.app/Contents
    • Flutter extension version 3.48.0

[✓] Connected device (2 available)
    • macOS (desktop) • macos  • darwin-x64     • macOS 12.5.1 21G83 darwin-x64
    • Chrome (web)    • chrome • web-javascript • Google Chrome 105.0.5195.102

[✓] HTTP Host Availability
    • All required HTTP hosts are available

• No issues found!

[✓] Flutter (Channel master, 3.4.0-19.0.pre.192, on macOS 12.5.1 21G83 darwin-x64, locale en-VN)
    • Flutter version 3.4.0-19.0.pre.192 on channel master at /Users/huynq/Documents/GitHub/flutter_master
    • Upstream repository https://github.com/flutter/flutter.git
    • Framework revision 4930444f4a (2 days ago), 2022-09-09 21:58:23 -0400
    • Engine revision f72107f457
    • Dart version 2.19.0 (build 2.19.0-183.0.dev)
    • DevTools version 2.17.0

[✓] Android toolchain - develop for Android devices (Android SDK version 31.0.0)
    • Android SDK at /Users/huynq/Library/Android/sdk
    • Platform android-33, build-tools 31.0.0
    • ANDROID_HOME = /Users/huynq/Library/Android/sdk
    • Java binary at: /Applications/Android Studio.app/Contents/jre/Contents/Home/bin/java
    • Java version OpenJDK Runtime Environment (build 11.0.12+0-b1504.28-7817840)
    • All Android licenses accepted.

[✓] Xcode - develop for iOS and macOS (Xcode 13.3)
    • Xcode at /Applications/Xcode.app/Contents/Developer
    • Build 13E113
    • CocoaPods version 1.11.3

[✓] Chrome - develop for the web
    • Chrome at /Applications/Google Chrome.app/Contents/MacOS/Google Chrome

[✓] Android Studio (version 2021.2)
    • Android Studio at /Applications/Android Studio.app/Contents
    • Flutter plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/9212-flutter
    • Dart plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/6351-dart
    • Java version OpenJDK Runtime Environment (build 11.0.12+0-b1504.28-7817840)

[✓] IntelliJ IDEA Community Edition (version 2020.3.3)
    • IntelliJ at /Applications/IntelliJ IDEA CE.app
    • Flutter plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/9212-flutter
    • Dart plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/6351-dart

[✓] IntelliJ IDEA Community Edition (version 2022.1.1)
    • IntelliJ at /Users/huynq/Library/Application Support/JetBrains/Toolbox/apps/IDEA-C/ch-0/221.5591.52/IntelliJ IDEA CE.app
    • Flutter plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/9212-flutter
    • Dart plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/6351-dart

[✓] VS Code (version 1.71.0)
    • VS Code at /Applications/Visual Studio Code.app/Contents
    • Flutter extension version 3.48.0

[✓] Connected device (3 available)
    • SM T225 (mobile) • R9JT3004VRJ • android-arm64  • Android 12 (API 31)
    • macOS (desktop)  • macos       • darwin-x64     • macOS 12.5.1 21G83 darwin-x64
    • Chrome (web)     • chrome      • web-javascript • Google Chrome 105.0.5195.102

[✓] HTTP Host Availability
    • All required HTTP hosts are available

• No issues found!

Hi @uncledoc, thanks for filing the issue.
This issue is reproducible on the latest Flutter stable and master channels with reproduction steps as above.
Plugin version: go_router: ^4.4.1

Demo
https://user-images.githubusercontent.com/104349824/189604926-f80ee9ac-b7c3-4e84-b424-e2d9578fc104.mp4

Logs
══╡ EXCEPTION CAUGHT BY WIDGETS LIBRARY ╞═══════════════════════════════════════════════════════════
The following assertion was thrown building DefaultSelectionStyle:
This GoRouteInformationParser needs to be used with GoRouteInformationProvider, did you forget to
pass in GoRouter.routeInformationProvider to the Router constructor?
'package:go_router/src/parser.dart':
Failed assertion: line 51 pos 11: 'routeInformation is DebugGoRouteInformation'

The relevant error-causing widget was:
  MaterialApp
  MaterialApp:file:///Users/huynq/Documents/NEVERCODE.IO/RepoduceProjects/reproduce_issues/lib/go_router_crash_111348.dart:34:53

When the exception was thrown, this was the stack:
#2      GoRouteInformationParser.parseRouteInformation.<anonymous closure> (package:go_router/src/parser.dart:51:11)
#3      GoRouteInformationParser.parseRouteInformation (package:go_router/src/parser.dart:58:6)
#4      RouteInformationParser.parseRouteInformationWithDependencies (package:flutter/src/widgets/router.dart:1213:12)
#5      _RouterState._processRouteInformation (package:flutter/src/widgets/router.dart:707:8)
#6      _RouterState.restoreState (package:flutter/src/widgets/router.dart:582:7)
#7      RestorationMixin._doRestore (package:flutter/src/widgets/restoration.dart:872:5)
#8      RestorationMixin.didChangeDependencies (package:flutter/src/widgets/restoration.dart:858:7)
#9      _RouterState.didChangeDependencies (package:flutter/src/widgets/router.dart:655:11)
#10     StatefulElement._firstBuild (package:flutter/src/widgets/framework.dart:5046:11)
#11     ComponentElement.mount (package:flutter/src/widgets/framework.dart:4871:5)
...     Normal element mounting (396 frames)
#407    Element.inflateWidget (package:flutter/src/widgets/framework.dart:3883:16)
#408    Element.updateChild (package:flutter/src/widgets/framework.dart:3606:20)
#409    ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:4920:16)
#410    StatefulElement.performRebuild (package:flutter/src/widgets/framework.dart:5060:11)
#411    Element.rebuild (package:flutter/src/widgets/framework.dart:4617:5)
#412    BuildOwner.buildScope (package:flutter/src/widgets/framework.dart:2687:19)
#413    WidgetsBinding.drawFrame (package:flutter/src/widgets/binding.dart:867:21)
#414    RendererBinding._handlePersistentFrameCallback (package:flutter/src/rendering/binding.dart:375:5)
#415    SchedulerBinding._invokeFrameCallback (package:flutter/src/scheduler/binding.dart:1271:15)
#416    SchedulerBinding.handleDrawFrame (package:flutter/src/scheduler/binding.dart:1200:9)
#417    SchedulerBinding.scheduleWarmUpFrame.<anonymous closure> (package:flutter/src/scheduler/binding.dart:924:7)
(elided 6 frames from class _AssertionError, class _RawReceivePortImpl, class _Timer, and dart:async-patch)

════════════════════════════════════════════════════════════════════════════════════════════════════

Sample code
Sample code is from https://github.com/flutter/packages/blob/main/packages/go_router/example/lib/others/state_restoration.dart

flutter doctor -v
[✓] Flutter (Channel stable, 3.3.1, on macOS 12.5.1 21G83 darwin-x64, locale en-VN)
    • Flutter version 3.3.1 on channel stable at /Users/huynq/Documents/GitHub/flutter
    • Upstream repository https://github.com/flutter/flutter.git
    • Framework revision 4f9d92fbbd (31 hours ago), 2022-09-06 17:54:53 -0700
    • Engine revision 3efdf03e73
    • Dart version 2.18.0
    • DevTools version 2.15.0

[✓] Android toolchain - develop for Android devices (Android SDK version 31.0.0)
    • Android SDK at /Users/huynq/Library/Android/sdk
    • Platform android-33, build-tools 31.0.0
    • ANDROID_HOME = /Users/huynq/Library/Android/sdk
    • Java binary at: /Applications/Android Studio.app/Contents/jre/Contents/Home/bin/java
    • Java version OpenJDK Runtime Environment (build 11.0.12+0-b1504.28-7817840)
    • All Android licenses accepted.

[✓] Xcode - develop for iOS and macOS (Xcode 13.3)
    • Xcode at /Applications/Xcode.app/Contents/Developer
    • Build 13E113
    • CocoaPods version 1.11.3

[✓] Chrome - develop for the web
    • Chrome at /Applications/Google Chrome.app/Contents/MacOS/Google Chrome

[✓] Android Studio (version 2021.2)
    • Android Studio at /Applications/Android Studio.app/Contents
    • Flutter plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/9212-flutter
    • Dart plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/6351-dart
    • Java version OpenJDK Runtime Environment (build 11.0.12+0-b1504.28-7817840)

[✓] IntelliJ IDEA Community Edition (version 2020.3.3)
    • IntelliJ at /Applications/IntelliJ IDEA CE.app
    • Flutter plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/9212-flutter
    • Dart plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/6351-dart

[✓] IntelliJ IDEA Community Edition (version 2022.1.1)
    • IntelliJ at /Users/huynq/Library/Application Support/JetBrains/Toolbox/apps/IDEA-C/ch-0/221.5591.52/IntelliJ IDEA CE.app
    • Flutter plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/9212-flutter
    • Dart plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/6351-dart

[✓] VS Code (version 1.71.0)
    • VS Code at /Applications/Visual Studio Code.app/Contents
    • Flutter extension version 3.48.0

[✓] Connected device (2 available)
    • macOS (desktop) • macos  • darwin-x64     • macOS 12.5.1 21G83 darwin-x64
    • Chrome (web)    • chrome • web-javascript • Google Chrome 105.0.5195.102

[✓] HTTP Host Availability
    • All required HTTP hosts are available

• No issues found!

[✓] Flutter (Channel master, 3.4.0-19.0.pre.192, on macOS 12.5.1 21G83 darwin-x64, locale en-VN)
    • Flutter version 3.4.0-19.0.pre.192 on channel master at /Users/huynq/Documents/GitHub/flutter_master
    • Upstream repository https://github.com/flutter/flutter.git
    • Framework revision 4930444f4a (2 days ago), 2022-09-09 21:58:23 -0400
    • Engine revision f72107f457
    • Dart version 2.19.0 (build 2.19.0-183.0.dev)
    • DevTools version 2.17.0

[✓] Android toolchain - develop for Android devices (Android SDK version 31.0.0)
    • Android SDK at /Users/huynq/Library/Android/sdk
    • Platform android-33, build-tools 31.0.0
    • ANDROID_HOME = /Users/huynq/Library/Android/sdk
    • Java binary at: /Applications/Android Studio.app/Contents/jre/Contents/Home/bin/java
    • Java version OpenJDK Runtime Environment (build 11.0.12+0-b1504.28-7817840)
    • All Android licenses accepted.

[✓] Xcode - develop for iOS and macOS (Xcode 13.3)
    • Xcode at /Applications/Xcode.app/Contents/Developer
    • Build 13E113
    • CocoaPods version 1.11.3

[✓] Chrome - develop for the web
    • Chrome at /Applications/Google Chrome.app/Contents/MacOS/Google Chrome

[✓] Android Studio (version 2021.2)
    • Android Studio at /Applications/Android Studio.app/Contents
    • Flutter plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/9212-flutter
    • Dart plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/6351-dart
    • Java version OpenJDK Runtime Environment (build 11.0.12+0-b1504.28-7817840)

[✓] IntelliJ IDEA Community Edition (version 2020.3.3)
    • IntelliJ at /Applications/IntelliJ IDEA CE.app
    • Flutter plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/9212-flutter
    • Dart plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/6351-dart

[✓] IntelliJ IDEA Community Edition (version 2022.1.1)
    • IntelliJ at /Users/huynq/Library/Application Support/JetBrains/Toolbox/apps/IDEA-C/ch-0/221.5591.52/IntelliJ IDEA CE.app
    • Flutter plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/9212-flutter
    • Dart plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/6351-dart

[✓] VS Code (version 1.71.0)
    • VS Code at /Applications/Visual Studio Code.app/Contents
    • Flutter extension version 3.48.0

[✓] Connected device (3 available)
    • SM T225 (mobile) • R9JT3004VRJ • android-arm64  • Android 12 (API 31)
    • macOS (desktop)  • macos       • darwin-x64     • macOS 12.5.1 21G83 darwin-x64
    • Chrome (web)     • chrome      • web-javascript • Google Chrome 105.0.5195.102

[✓] HTTP Host Availability
    • All required HTTP hosts are available

• No issues found!

we should remove the check, it was originally created to remind people to use GoRouteInformationProvider, and it should be removed.


Code examples?

Hi,
I come from a computational design background with Rhino and grasshopper and I am currently learning Rust and Bevy. I came across your library after seeing your work on twitter, looks awesome.
I was wondering if you could provide some minimal code to start using your library.

Hey Andres,
Thanks for the compliment, and really great to hear you come from a similar background! We've got a lot in common I  suspect! I'm indeed aiming to hit feature parody with RhinoCommon eventually, but that's still a long way from here :).
 Privately, I've developed a small test demo as a bevy application. Ill try to bring it to a publishable state within the next month.

Hi! No pressure, just wanted to note that this is also something I'd be interested in. It's kind of surprising something like this doesn't already exist, and a completed version of this would fill a valuable space.

Thanks for reaching out & showing interest! If you need something quickly, I do recommend building something yourself, as my spare time is limited these days. But Ill try to give this some more attention going forward.
What would you like to do with this library?

Spare time is precious, I get it. :)
In my spare time, I'm playing with Bevy, and have various ideas for which this would be useful. Something about a game/toy with procedurally-generated creatures — some basic body structures made from different shapes stuck together in different ways. Attach rapier colliders, throw them into an environment, see what does best, and evolve.
Or, generating a toy city: building models that are boxes with pyramids or triangular prisms on top. City walls that are boxy slabs stitched together in a row. Arches from boxes with a cylinder cut out. And so on.
And even just more simply... I'm not much of an artist, and while I started looking at Blender, that involved a whole lot more yak-shaving than I wanted to get to. I thought, okay, maybe I'll make models in OpenSCAD and import them. But, if I'm learning some new language for this, I'd rather something small, tidy, and already made with bevy integration in mind.

Particularly, the things that'd be useful to me:
Solids (in rough order of importance)

[ ] N-sided uniform polygonal prism (including Box and Cube)
[ ] Pyramids with N-sided bases
[ ] Sphere
[ ] Cylinder
[ ] Cone (right circular... nothing fancy!)
[ ] Other Platonic solids
[ ] Pentagonal trapezohedron for 10-sided dice, why not.
[ ] Extrusion from an arbitrary 2D shape might also be nice

Operations:

[ ] Transform — stretch/scale, rotate, and position relative to another shape or globally
[ ] Union
[ ] Difference
[ ] Intersection
[ ] Slice with plane (possible to replace with using a cube and difference or intersection, but it's convenient)

I would then expect to do something like .into() to get a Mesh in bevy, with a single representation of the composite shape. For my purposes, it'd be fine for this to just fail when the result is empty or non-contiguous or otherwise non-viable.

You and me are on one line Matt! I've also been developing this as an enabler for all sorts of procedural generation, in particular that city builder / townscaper direction you mentioned. I hope this project will help you out once it matures!
Thanks for compiling this list. Its actually a great "are we there yet" checklist, I've added it to my own internal one. I see no major obstacles, and a lot of this is already implemented. Just a bit hidden & undocumented.
I also highly recommend to try your own luck at implementing these. You will learn a ton, even if you end up using some other library at the end of the day.


[ROUTING] Move routes to containers for single responsibility

Discussion
I have a need to create multiple routes, perhaps around 20 or so. Right now, the routes look like they do by default in routes.js:
    {
      path: '/features',
      name: 'features',
      getComponent(nextState, cb) {
        import('containers/FeaturePage')
          .then(loadModule(cb))
          .catch(errorLoading);
      },
    },
    { ...

However, I think a case can be made to create a separate route.js in each container that needs to maintain its own route. All containers' route.js (if they have one) would be imported in the main routes.js (for example, just as the reducers are).
This adds to the concept of single responsibility that this boilerplate is based on, and I believe it would be a nice addition to it.
Thoughts?

Seems to makes sense. So if there were many pages under /features like /features/quick-scaffolding and /features/instant-feedback you're suggesting to place the routes for quick-scaffolding and instant-feedback under containers/FeaturePage???
Personally, I am sitting on the fence with this one, but I guess it depends on what the definition of a container is. Did you have any example code?

So if there were many pages under /features like /features/quick-scaffolding and /features/instant-feedback you're suggesting to place the routes for quick-scaffolding and instant-feedback under containers/FeaturePage???

Not necessarily, though you could structure it like that if you chose to. I choose not to have separate components within my individual container folders and instead place separate components in the components folder.

Example
./app/containers/HomePage/route.js
    export const HomePageRoute = (errorLoading, loadModule, injectReducer, injectSagas) => ({
      path: '/',
      name: 'home',
      getComponent(nextState, cb) {
        const importModules = Promise.all([
          import('containers/HomePage/reducer'),
          import('containers/HomePage/sagas'),
          import('containers/HomePage'),
        ]);

        const renderRoute = loadModule(cb);

        importModules.then(([reducer, sagas, component]) => {
          injectReducer('home', reducer.default);
          injectSagas(sagas.default);

          renderRoute(component);
        });

        importModules.catch(errorLoading);
      },
    });

./app/routes.js
// These are the pages you can go to.
// They are all wrapped in the App component, which should contain the navbar etc
// See http://blog.mxstbr.com/2016/01/react-apps-with-pages for more information
// about the code splitting business
import { getAsyncInjectors } from './utils/asyncInjectors';
import { homePageRoute } from 'containers/HomePage/route';

const errorLoading = (err) => {
  console.error('Dynamic page loading failed', err); // eslint-disable-line no-console
};

const loadModule = (cb) => (componentModule) => {
  cb(null, componentModule.default);
};

export default function createRoutes(store) {
  // create reusable async injectors using getAsyncInjectors factory
  const { injectReducer, injectSagas } = getAsyncInjectors(store);
  const args = [errorLoading, loadModule, injectReducer, injectSagas];

  return [
    homePageRoute(...args),
    {
      path: '/features',
      name: 'features',
      getComponent(nextState, cb) {
        import('containers/FeaturePage')
          .then(loadModule(cb))
          .catch(errorLoading);
      },
    }, {
      path: '*',
      name: 'notfound',
      getComponent(nextState, cb) {
        import('containers/NotFoundPage')
          .then(loadModule(cb))
          .catch(errorLoading);
      },
    },
  ];
}

This way, the HomePage container keeps track of its own route and enhances the single responsibility theme this boilerplate is based on.

Thank you for the examples and taking the time to explain, I understand now 👍 I tend to agree with you, this concept moves the responsibility of routing in with the component itself and it also breaks the routes up into smaller pieces. It would be great to hear what other think, but for now, I am liking this idea. ✨

Great. Let me know if you want me to send up a PR and I'll do it asap 👍

Yeah for sure, a PR would be greatly appreciated 🎉

Hi,
I used to be pro component dependant routes, however I am not so sure about this. I tend to consider routes as a matter of configuration, and therefore I like to have them in a single file at the root of the application.
Plus I am not sure about the separation-of-concerns. Is routing really a container concern ? Imho routing raises application-level problematics (having routes that follow the same logic, avoid name conflicts, trigger analytics call, generating menus from the routes etc.) .
So I am not sure which solution scales best, all routes in a big file or some routes in many files ?
I think the real problem is that react-boilerplate  generates much code for each route, so a single file is hard to read.

If RBP were to move to react-router-v4 this would automatically be the case. The containers would be responsible for matching child routes. I wonder if react-router v4 is in the roadmap though, discussions about it seem to have fallen flat?

I am personally in favour of colocating route definitions with containers - it makes it easier for me to reason about my routes and provides a sensible partition of monolithic route files.  Further to #1593 (sorry I didn't see this discussion first) then this is the current setup I am using.  Every route is defined in a separate route.js file, imported by it's parent route, and finally by the main routes file.
Starting at the top of the tree, app/routes.js looks like:
import homeRoute from './containers/HomePage/route';
import featureRoute from './containers/FeaturePage/route';

import getAsyncInjectors from '../utils/asyncInjectors';

const createRenderer = cb => component => cb(null, component);

const errorLoading = err => console.error('Could not load page.', err); // eslint-disable-line no-console

const mapRoute = store => routeCreator => {
    return routeCreator(
        createRenderer,
        errorLoading,
        getAsyncInjectors(store),
        createChildrenMaker(store)
    );
};

const createChildrenMaker = store => routeCreators => {
    return routeCreators.map(mapRoute(store))
};

const createRoutes = routeCreators => store => {
    return routeCreators.map(mapRoute(store));
};

export default createRoutes([
    homeRoute,
    featureRoute
]);

The route.js files for each container then take the form of:
import makeChild1Route from 'containers/Child1/route';
import makeChild2Route from 'containers/Child2/route';

export default (createRenderer, errorLoading, { injectReducer, injectSagas }, childRoutesMaker) => ({
    path: '/clubs',
    name: 'clubs',
    getComponent(nextState, cb) {
        Promise.all([
            import('containers/ThisContainer'),
            import('containers/ThisContainer/reducer'),
            import('containers/ThisContainer/sagas')
        ])
        .then(([component, reducer, sagas]) => {
            injectReducer('thiscontainer', reducer.default);
            injectSagas(sagas.default);
            createRenderer(cb)(component.default);
        })
        .catch(errorLoading);
    },
    childRoutes: childRoutesMaker([
        makeChild1Route,
        makeChild2Route
    ])
});

Although it introduces some complexity into the generation of routes that wasn't there previously, it is at least predominantly within the app/routes.js file, which won't generally require editing.

Closing due to inactivity


[Distributed] Allow isolated any DistributedActor

This was mistakenly not allowed; the logic for hopping actors will just work, however we guarded the isolated being allowed only on "is actor" but it should have been checking for "is any actor"

@swift-ci please smoke test

@swift-ci please smoke test


CAI bug

So basically if you try to open CAI for the first time, now there is a mobile app promotion that messes up the code (since you can't click anywhere while it's on the screen). And so for that reason there would be the exact same error every time you try to speak to the bot.

I've tried to work around this issue just by clicking fast enough, but for some reason after I actually closed the promotion manually, it took me to Sing Up page instead of Log in.

Same happens to me, cannot find any fix. We should wait for an update, I guess.

UPD: So perhaps it's an only me issue, but after I fixed the code to go for Login instead of Signing in, no data was inputted into the email & password spaces, and it kept closing. I'll try to fix it further, though. (The promotion still needs to be closed manually, since in I couldn't find the "class" to close it automatically)

The promotion page is indeed made to be closed manually as explained in the wiki. As for the login thing, it'd need more investigation as it was working one week ago, maybe another change in the CAI frontend.

Yeah, I see it now, but for some reason in mine main.py it was set to "btn btn-primary btn-sm", instead of needed "btn btn-secondary btn-sm" (even though I don't remember modifying it).
I just tested it with replacing code from this main.py to mine (from the line 219 "def first_start(context):" to the line 240 "return page") and it worked (I did close the promotion on my own and everything past this point worked as intended). Yet it still printed("Not in queue").
After testing without debug mode, the aforementioned print command still worked, and I got the same "Not in queue" message, even though I got the response. So, the main issue was solved for the moment.

The "Not in queue" message is intended and just indicates if you have been queued on the website (it can happen when it is too crowded). As for the previous fix, it'd need some tests on my side to confirmate.

Okay, so it works so far, but the messages seem to cut out as if there was a character limit.

So this is what I get

And here are the full messages.

Yes there is indeed a recent modification on the CAI website that made it difficult with the code to know when to end the parsing of the text, I still haven't figured out a way to fix this.


add Worksheet.state typescript definition fix #714

I checked that the default value of the work sheet state is show, but from my understanding the same holds true for the options object when adding worksheets since it's just passed down to the constructor (in this PR, it's default value is visible). In that case, we should define this enum once and the re-use it in both type definitions. what do you think @Siemienik @guyonroche ?

@alubbe fully agree,
as far as i know, 'show' is invalid value, it should be 'visible'
#621


Fix Spark 3.4 build errors [databricks]

Signed-off-by: remzi<EMAIL_ADDRESS>Closes #7432.
Rationales of the Changes
This PR aims to fix the compile errors when building Spark 3.4.
You can find more background from #7432.
Major changes in the PR
Create GpuRunnableCommand and GpuRunnableCommandExec to extend the RunnableCommand in Spark to do columnar computing.
Move many things (related to CTAS) to shim layers. In Spark 311~33X, those classes / traits / objects are subtypes of GpuDataWritingCommand, and in Spark 3.4 they are subtypes of GpuRunnableCommand

build

build

build

build

Duplicated code, can we simplify them?
diff ./sql-plugin/src/main/311until340-all/scala/com/nvidia/spark/rapids/shims/GpuOptimizedCreateHiveTableAsSelectCommandShims.scala ./sql-plugin/src/main/340+/scala/com/nvidia/spark/rapids/shims/GpuOptimizedCreateHiveTableAsSelectCommandShims.scala
diff ./sql-plugin/src/main/311until340-all/scala/org/apache/spark/sql/rapids/shims/GpuCreateDataSourceTableAsSelectCommandShims.scala ./sql-plugin/src/main/340+/scala/org/apache/spark/sql/rapids/shims/GpuCreateDataSourceTableAsSelectCommandShims.scala

GpuDataWritingCommandExec.scala
GpuRunnableCommandExec.scala
They are almost the same, create new GpuCommandExecBase and GpuCommand to remove duplicated code.

build

Could we create a following-up PR to do some refactoring?
Did the tests pass for Spark33x, Spark32x, etc? The pre-merge only tests Spark311, so we can locally run the tests for other Spark versions. Or this may cause the nightly builds for other Spark versions to fail.

Please skip 340 tests, I'm working on them.

The last one is a known bug #7516.

The others are related to my test env, not the changes in this PR.


Fix database.yml aliases/overrides order

Description:
I spent a couple of hours trying to understand why my db:setup doesn't work as expected. At first config/database.yml looked ok, but then I found that aliases and overrides are swapped. This PR fixes that.
I will abide by the code of conduct.

@2xG could you list some QA steps? thanks!
hello @torresga! could you QA this when you have a chance? also thanks!

@kindoflew ✅ DONE


Different number of channels

Hello,
I have an image classification problem where each image has 10 channels: (10,255,255). How do I define the model to work with such images?

Treat each channel separately: I mean copy 2 more times to use the pretrained and finetuned ViT models. Then use time distributed for 10 channels.

Anybody else figure this n-band problem out for ViT keras? Not sure what @sutummala is getting at exactly above.


Vm/Disk/other pane actions (...) bar

Currently actions bar is displayed top-middle of VM/Disk/etc bar, I think it's may be better to display it in the middle of the bar.

TBD

The component intentionally works the way it works now


Binary markets showing 4 outcomes, only 1 of which is labeled

The following market (0x877a2b99494f130315a4f0141ca720d993072e7f49a630c8a1e28d9cf068bac9) is a binary market.  It should display 2 outcomes (yes and no), but instead it displays 4 outcomes, the first three of which are blank, and the fourth is labeled Yes:

The trade display also displays the outcomes in this same incorrect way.  This seems to apply to all binary markets, not just this one.  Here is this specific market's info, which is not malformed as far as I can tell:
> augur.getMarketInfo("0x877a2b99494f130315a4f0141ca720d993072e7f49a630c8a1e28d9cf068bac9")
{ network: '2',
  makerFee: '0.01',
  takerFee: '0.02',
  tradingFee: '0.02',
  numOutcomes: 2,
  tradingPeriod: 1634136,
  branchId: '0x55920f2c5f513050336ccbaac9abe3c4a31046ec751123fdda05ca42763b7209',
  numEvents: 1,
  cumulativeScale: '1',
  creationTime:<PHONE_NUMBER>,
  volume: '3',
  creationFee: '9',
  author: '0x7c0d52faab596c08f484e3478aebc6205f3f5d8c',
  tags: [ 'streetName', 'action', 'city' ],
  winningOutcomes: [ '0', '0', '0', '0', '0', '0', '0', '0' ],
  outcomes:
   [ { id: 1, outstandingShares: '1', price: '0' },
     { id: 2, outstandingShares: '1', price: '0' } ],
  type: 'binary',
  endDate:<PHONE_NUMBER>,
  events:
   [ { id: '0x7ce8f81cd2f302757a1e536f47949fbff4295c712d0f9ceff74323af1cc31a34',
       endDate:<PHONE_NUMBER>,
       outcome: '0',
       minValue: '1',
       maxValue: '2',
       numOutcomes: 2,
       type: 'binary' } ],
  description: 'Will city noun action streetName noun?',
  resolution: 'http://action.noun.tld',
  extraInfo: 'streetName is a adjective noun.  transportation usState action and noun!' }

Fixed in 83ed110d338376b6558680f03f250199c44debde


Unable to check file attributes for hidden flag on Windows OS

Describe the bug
In order to resolve #113 on Windows OS, the io.isHidden function has been added to abstract away the details for determining if a filepath points to a hidden file:
https://github.com/EPICLab/synectic/blob/c0f9457fa45aa08ab4b6f3e0f7ee8d6ecaf9867f/src/containers/io.ts#L51-L58
This function is meant to be a temporary shim to circumvent the fact that the hidefile package currently fails when attempting to read file attributes on Windows OS platforms (see https://github.com/stevenvachon/hidefile/issues/3). There are currently no alternative packages that are known to properly read file attributes on Windows OS, so until the hidefile package is patched this issue will remain open.
Versions (please complete the following information):

OS: Windows
Synectic Version: 1.0.0-beta (branch: development)

Additional context
The io.isHidden function was added in #359, and additional discussion details can be found within that PR.

This issue is no longer relevant and has been superseded by switching to using find-up::findUp instead of isomorphic-git::findRoot in getRoot in v3.0.0. Per the discussions in #359, the issue was primarily occurring when the getRepoRoot function (now called getRoot) would read an empty directory on Windows. This appeared to have been occurring when getStatus was called, which is now also transitioned to using git directly instead of isomorphic-git.


making logging format configurable

Overview
The default logging format is very detailed. This makes it hard to read the logs when debugging user processes. With this patch it is possible to overwrite the default logging format, example:
[logging]
format=%(message)s

The raw=True parameter will be used to avoid interpolation by the configparser for the format option.
Contribution Agreement
(as per https://github.com/geopython/pywps/blob/master/CONTRIBUTING.rst#contributions-and-licensing)

[x] I'd like to contribute [feature X|bugfix Y|docs|something else] to PyWPS. I confirm that my contributions to PyWPS will be compatible with the PyWPS license guidelines at the time of contribution.
[x] I have already previously agreed to the PyWPS Contributions and Licensing Guidelines

@cehbrecht thanks for the contribution.  It would be great to have the docs updated accordingly as well as part of this PR.

@tomkralidis i have added the format option to the docs and the sample config.


SK-**********

can we hide the key somehow or make it with ***********

it's done :]

i think this feature isn't working anymore.


TargetPlatformVersion is 8.0 for win81 Target

When targeting win81 MSBuild Extras uses 8.0 Windows API so I changed in the following in the Windows.targets file.
	<PropertyGroup Condition="'$(TargetFramework)' == 'win81'">
		<TargetFrameworkVersion>v4.5.1</TargetFrameworkVersion>
		<NugetTargetMoniker>Windows,Version=v8.1</NugetTargetMoniker>
		<DefineConstants Condition="'$(DisableImplicitFrameworkDefines)' != 'true'">$(DefineConstants);NETFX_CORE;WINDOWS_APP</DefineConstants>

		<LanguageTargets>$(MSBuildThisFileDirectory)languageTargets\Windows.targets</LanguageTargets>
		<!-- Need to override the built-in implicit defines for win81 or it'll be NETCORE4_5_1 -->
		<ImplicitFrameworkDefine Condition="'$(DisableImplicitFrameworkDefines)' != 'true'">WINDOWS8_1</ImplicitFrameworkDefine>
	</PropertyGroup>

To (Added TargetPlatformVersion 8.1)
	<PropertyGroup Condition="'$(TargetFramework)' == 'win81'">
		<TargetPlatformVersion>8.1</TargetPlatformVersion>
		<TargetFrameworkVersion>v4.5.1</TargetFrameworkVersion>
		<NugetTargetMoniker>Windows,Version=v8.1</NugetTargetMoniker>
		<DefineConstants Condition="'$(DisableImplicitFrameworkDefines)' != 'true'">$(DefineConstants);NETFX_CORE;WINDOWS_APP</DefineConstants>

		<LanguageTargets>$(MSBuildThisFileDirectory)languageTargets\Windows.targets</LanguageTargets>
		<!-- Need to override the built-in implicit defines for win81 or it'll be NETCORE4_5_1 -->
		<ImplicitFrameworkDefine Condition="'$(DisableImplicitFrameworkDefines)' != 'true'">WINDOWS8_1</ImplicitFrameworkDefine>
	</PropertyGroup>

As Work around I use currently following Entry in my project file
<TargetPlatformVersion Condition="'$(TargetFramework)' == 'win81'">8.1</TargetPlatformVersion>

TargetPlatformVersion should be added by Windows 8.x SDK targets
When I did the rework, I found that TPV was in fact added by the Windows LanguageTargets, so I removed those lines! It was working well for me. This ain't supposed to happen. I'll check the issue and get back to you!

temporary fix in #29

Fixed in the latest code, thanks!


Uniget安装失败

下面是innounp.log中的内容
Signature detected: Inno Setup Setup Data (6.3.0)
This is not directly supported, but i'll try to unpack it as version 5602
; Version detected: 6300
Critical error: The setup files are corrupted. Please obtain a new copy of the program.

看上去是安装文件有问题，可以手动打开安装exe文件对比试试


Minification support

Fixes #62.
Finally found the right combo of minification options to not get things to break here.
I would have used the Webpack integration of minification, but auth0.js has a very strange bug where terser just returns "undefined" for the source code, which needed a custom workaround (basically just to fallback to unminified when this happens).
This does slow down the tests quite a bit, but I think it is worth it to ensure minification is properly tested. I've left minification off by default though in builds for this reason.

Codecov Report

Merging #105 into master will increase coverage by 0.44%.
The diff coverage is 100%.

@@            Coverage Diff             @@
##           master     #105      +/-   ##
==========================================
+ Coverage   73.31%   73.75%   +0.44%
==========================================
  Files           6        6
  Lines         356      362       +6
==========================================
+ Hits          261      267       +6
  Misses         95       95

Impacted Files
Coverage Δ

src/index.js
92.3% <100%> (+0.78%)
: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 38dd21e...d71202b. Read the comment docs.

@guybedford needs rebase


Add python bindings

Checklist

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

Draft PR to add python bindings by making a multi-output feedstock

We should fix the rerender in PR https://github.com/conda-forge/hepmc2-feedstock/pull/6 and then rebase this PR to keep things more atomic.

Adding - {{ stdlib("c") }} as proposed in documentation results in c_linux-64 does not exist error for some reason

@conda-forge-admin, please rerender

@Kwaizer now that PR #7 is in, can you rebase this PR on main but do so in an interactive rebase that drops all of the MNT: Re-rendered commits as those have already been taken care of? This will make it easier to review what is actually getting changed in this PR.

@conda-forge/hepmc2 can you review this when you have time?

Given this comment from Andy Buckely (https://github.com/research-software-collaborations/project_database/pull/62#discussion_r1713599070) we can close this PR.

@conda-forge/hepmc2 can you close this PR, as this won't be supported?


fix migration order

When installing Sylius after adding the Plugin, the migrations are played in the wrong order.
This causes an error because a query references a table that does not yet exist.
This PR corrects this problem.

Les tests behat fails


Order of params not respected when using panel==0.5.1, param==1.9.0

Env
- panel=0.5.1
- param=1.9.0

Symptom
E.g. when running https://github.com/pyviz/panel/blob/master/examples/user_guide/Param.ipynb the order of widgets gets inverted:

Expected
The order should be phase, frequency as per the screenshot in documentation.

Are you on Python2 or Python3?  The order is respected only on Python3, due to the underlying dictionary support in each language.  On Python2 you'll need to add explicit precedence values if you want to control the order.

@jbednar py35

Ah, that's the problem.  Attribute order wasn't preserved in Python until 3.6.  Nothing we can do about that but suggest to upgrade to Python 3.6 or 3.7.


lxd-benchmark: Change name of spawn command to launch

LXD supports the four commands launch, start, stop, delete.
lxd-benchmark performs equivalent actions over a number of containers.
lxd-benchmark has the four commands spawn, start, stop, delete.
The spawn command should be renamed to launch.

This pull request didn't trigger Jenkins as its author isn't in the whitelist.
An organization member must perform one of the following:

To have this branch tested by Jenkins, use the "ok to test" command.
To have a one time test done, use the "test this please" command.

Those commands are simple Github comments of the format: "jenkins: COMMAND"

Please sign-off your commit so that we can review it.

I amended the commit and added the sign-off.


[feat] Navbar redesign

Would you like to have a new feature? Please describe.
I am looking  some dev who can redesign the navbar completely a/c to the design provided .
The design is in design folder present inside the root.
Write code for navbar in Component/Navbar.js
Note: Please visit to V1.0.0 branch and make that changes into that branch only and push changes into v1.0 0 branch only not in main branch.
All the communication regarding the designing part will done  in Discord only.
How would this feature be beneficial for the project
It will make the Ui more flexible and responsive.
Additional context
If anyone takes this then should complete this section within 5 days of assigned. Although the time can be extneded.

Hey @Vikash-8090-Yadav I would like to work on this issue.

Hey @Vikash-8090-Yadav I would like to work on this issue.

Yah sure, Start working on this.
Please see the guidelines before making Pr and do dev as per the design not exactly but try to do atleast same.
Deadline: 11 June '23

Hey, are u still working on this??

@kailashchoudhary11 please reply, otherwise i have to assign someoje else.

@kailashchoudhary11 please reply, otherwise i have to assign someoje else.

you can assign it to someone else for now

Could  you please assign this to me , I'll be happy to work on this issue under gssoc'23

Hey @Vikash-8090-Yadav , I'm open to work on issues!

@Arioum  Start working on this.

@Vikash-8090-Yadav If this issue is still open than I want to work on this!!

@Arioum takes this issue. PLease check the design and raise the issue if i haven't grown that particular section for redesigning. Thanks!

@Arioum takes this issue. PLease check the design and raise the issue if i haven't grown that particular section for redesigning. Thanks!

Sure!!


Add support for tab.background to themes

Summary of the Pull Request
Adds support for the tab.background property to themes. This is also a ThemeColor, so it accepts, colors, accent, and terminalBackground, just like everything else.
References

See #3327
⚠ targets #12992 ⚠

PR Checklist

[x] Closes #702
[x] I work here
[ ] Tests added/passed
[n/a] Requires documentation to be updated - YUP

Detailed Description of the Pull Request / Additional comments
I apparently left behing an optional color in TerminalTab for theme colors some time ago, just never used it. Crazy, huh?
Validation Steps Performed
gifs below

I'd like to see this tied into James' DECAC work somehow since he introduced color table aliasing

I'm explicitly not merging this so that you handle the merge order and all that.

Is there a possibility of making it inherit opacity & acrylic properties for the tabs too?
For example, I'd like to match an acrylic terminal background with the tabs, making the whole terminal acrylic.
Terminal Preview

This PR

This is the closest I've managed to imitate the acrylic 75% transparent background.

Settings
{
    "theme": "test",
    "themes":
    [
        {
            "name": "test",
            "tab":
            {
                "background": "#00000020"
            },
            "window":
            {
                "applicationTheme": "system",
                "useMica": true
            }
        }
    ],
    "useAcrylicInTabRow": true,
    "profile": {
       "defaults": {
          "opacity": 75,
          "useAcrylic": true
       }
    }
 }

Gorgeous!!


asset URL filter

https://github.com/dvershinin/lastversion/blob/2d6f116f4732b2673285d501aa9346fd33fdc354/lastversion/lastversion.py#L187
a --filter command-line option and let the user decide how to filter the asset URLs?
$ lastversion --assets stedolan/jq
https://github.com/stedolan/jq/releases/download/jq-1.6/jq-1.6.tar.gz
https://github.com/stedolan/jq/releases/download/jq-1.6/jq-1.6.zip
https://github.com/stedolan/jq/releases/download/jq-1.6/jq-linux32
https://github.com/stedolan/jq/releases/download/jq-1.6/jq-linux64
https://github.com/stedolan/jq/releases/download/jq-1.6/jq-osx-amd64
https://github.com/stedolan/jq/releases/download/jq-1.6/jq-win32.exe
https://github.com/stedolan/jq/releases/download/jq-1.6/jq-win64.exe

$ lastversion --assets stedolan/jq --filter linux64
https://github.com/stedolan/jq/releases/download/jq-1.6/jq-linux64

$ lastversion --assets github/hub --filter windows-amd64
https://github.com/github/hub/releases/download/v2.12.3/hub-windows-amd64-2.12.3.zip

Now to get all the applications I use to publish usable Release assets when binaries are hosted outside Github.
I'm looking at you @koalaman, and hoping! 🤣
$ lastversion --assets koalaman/shellcheck
https://github.com/koalaman/shellcheck/archive/v0.7.0/shellcheck-v0.7.0.tar.gz

Added in the latest release. To skip OS-dependent assets, use --filter . (it's a regex).
lastversion --assets stedolan/jq --filter linux64

... works as expected :)


[shared] removing repetition in github actions molecule tests

Changelog

Updated molecule github actions by removing repetition

Reviewed by
@suvajit-sarkar
Linked issue
#issue_number

@Dimbu-Afonso to which issue is this PR linked to?