LoweringError: Failed at object (object mode frontend)

Reporting a bug

[x] I am using the latest released version of Numba (most recent is visible in
the change log (https://github.com/numba/numba/blob/master/CHANGE_LOG).
[x] I have included below a minimal working reproducer (if you are unsure how
to write one see http://matthewrocklin.com/blog/work/2018/02/28/minimal-bug-reports).

Hi, I have a single function shuffling lines in files by given indices. In python 3, it's extremely slow due to the massive invocation of file.tell method, which is not a problem in python 2. So I'm intended to use numba to speed up this function. However, a LoweringError raised:
---------------------------------------------------------------------------
NotImplementedError                       Traceback (most recent call last)
~/anaconda2/envs/py36/lib/python3.6/site-packages/numba/errors.py in new_error_context(fmt_, *args, **kwargs)
    576     try:
--> 577         yield
    578     except NumbaError as e:

~/anaconda2/envs/py36/lib/python3.6/site-packages/numba/lowering.py in lower_block(self, block)
    253                                    loc=self.loc, errcls_=defaulterrcls):
--> 254                 self.lower_inst(inst)
    255

~/anaconda2/envs/py36/lib/python3.6/site-packages/numba/objmode.py in lower_inst(self, inst)
     64         if isinstance(inst, ir.Assign):
---> 65             value = self.lower_assign(inst)
     66             self.storevar(value, inst.target.name)

~/anaconda2/envs/py36/lib/python3.6/site-packages/numba/objmode.py in lower_assign(self, inst)
    158         elif isinstance(value, ir.Expr):
--> 159             return self.lower_expr(value)
    160         elif isinstance(value, ir.Global):

~/anaconda2/envs/py36/lib/python3.6/site-packages/numba/objmode.py in lower_expr(self, expr)
    372         else:
--> 373             raise NotImplementedError(expr)
    374

NotImplementedError: make_function(name=$const236.13, code=<code object <listcomp> at 0x7f654d500810, file "/home/pluiefox/work/base/thseq/utils/file.py", line 70>, closure=$236.11, defaults=None)

During handling of the above exception, another exception occurred:

LoweringError                             Traceback (most recent call last)
<ipython-input-2-118eec84de1c> in <module>()
----> 1 shuffle('test.py', 'xxx')

~/anaconda2/envs/py36/lib/python3.6/site-packages/numba/dispatcher.py in _compile_for_args(self, *args, **kws)
    366                     e.patch_message(''.join(e.args) + help_msg)
    367             # ignore the FULL_TRACEBACKS config, this needs reporting!
--> 368             raise e
    369
    370     def inspect_llvm(self, signature=None):

~/anaconda2/envs/py36/lib/python3.6/site-packages/numba/dispatcher.py in _compile_for_args(self, *args, **kws)
    323                 argtypes.append(self.typeof_pyval(a))
    324         try:
--> 325             return self.compile(tuple(argtypes))
    326         except errors.TypingError as e:
    327             # Intercept typing error that may be due to an argument

~/anaconda2/envs/py36/lib/python3.6/site-packages/numba/dispatcher.py in compile(self, sig)
    651
    652                 self._cache_misses[sig] += 1
--> 653                 cres = self._compiler.compile(args, return_type)
    654                 self.add_overload(cres)
    655                 self._cache.save_overload(sig, cres)

~/anaconda2/envs/py36/lib/python3.6/site-packages/numba/dispatcher.py in compile(self, args, return_type)
     81                                       args=args, return_type=return_type,
     82                                       flags=flags, locals=self.locals,
---> 83                                       pipeline_class=self.pipeline_class)
     84         # Check typing error if object mode is used
     85         if cres.typing_error is not None and not flags.enable_pyobject:

~/anaconda2/envs/py36/lib/python3.6/site-packages/numba/compiler.py in compile_extra(typingctx, targetctx, func, args, return_type, flags, locals, library, pipeline_class)
    871     pipeline = pipeline_class(typingctx, targetctx, library,
    872                               args, return_type, flags, locals)
--> 873     return pipeline.compile_extra(func)
    874
    875

~/anaconda2/envs/py36/lib/python3.6/site-packages/numba/compiler.py in compile_extra(self, func)
    365         self.lifted = ()
    366         self.lifted_from = None
--> 367         return self._compile_bytecode()
    368
    369     def compile_ir(self, func_ir, lifted=(), lifted_from=None):

~/anaconda2/envs/py36/lib/python3.6/site-packages/numba/compiler.py in _compile_bytecode(self)
    802         """
    803         assert self.func_ir is None
--> 804         return self._compile_core()
    805
    806     def _compile_ir(self):

~/anaconda2/envs/py36/lib/python3.6/site-packages/numba/compiler.py in _compile_core(self)
    789         self.define_pipelines(pm)
    790         pm.finalize()
--> 791         res = pm.run(self.status)
    792         if res is not None:
    793             # Early pipeline completion

~/anaconda2/envs/py36/lib/python3.6/site-packages/numba/compiler.py in run(self, status)
    251                     # No more fallback pipelines?
    252                     if is_final_pipeline:
--> 253                         raise patched_exception
    254                     # Go to next fallback pipeline
    255                     else:

~/anaconda2/envs/py36/lib/python3.6/site-packages/numba/compiler.py in run(self, status)
    243                 try:
    244                     event(stage_name)
--> 245                     stage()
    246                 except _EarlyPipelineCompletion as e:
    247                     return e.result

~/anaconda2/envs/py36/lib/python3.6/site-packages/numba/compiler.py in stage_objectmode_frontend(self)
    436         if self.flags.enable_looplift:
    437             assert not self.lifted
--> 438             cres = self.frontend_looplift()
    439             if cres is not None:
    440                 raise _EarlyPipelineCompletion(cres)

~/anaconda2/envs/py36/lib/python3.6/site-packages/numba/compiler.py in frontend_looplift(self)
    426                               self.args, self.return_type,
    427                               outer_flags, self.locals,
--> 428                               lifted=tuple(loops), lifted_from=None)
    429             return cres
    430

~/anaconda2/envs/py36/lib/python3.6/site-packages/numba/compiler.py in compile_ir(typingctx, targetctx, func_ir, args, return_type, flags, locals, lifted, lifted_from, library)
    885                         args, return_type, flags, locals)
    886     return pipeline.compile_ir(func_ir=func_ir, lifted=lifted,
--> 887                                lifted_from=lifted_from)
    888
    889

~/anaconda2/envs/py36/lib/python3.6/site-packages/numba/compiler.py in compile_ir(self, func_ir, lifted, lifted_from)
    373
    374         self._set_and_check_ir(func_ir)
--> 375         return self._compile_ir()
    376
    377     def stage_analyze_bytecode(self):

~/anaconda2/envs/py36/lib/python3.6/site-packages/numba/compiler.py in _compile_ir(self)
    809         """
    810         assert self.func_ir is not None
--> 811         return self._compile_core()
    812
    813

~/anaconda2/envs/py36/lib/python3.6/site-packages/numba/compiler.py in _compile_core(self)
    789         self.define_pipelines(pm)
    790         pm.finalize()
--> 791         res = pm.run(self.status)
    792         if res is not None:
    793             # Early pipeline completion

~/anaconda2/envs/py36/lib/python3.6/site-packages/numba/compiler.py in run(self, status)
    251                     # No more fallback pipelines?
    252                     if is_final_pipeline:
--> 253                         raise patched_exception
    254                     # Go to next fallback pipeline
    255                     else:

~/anaconda2/envs/py36/lib/python3.6/site-packages/numba/compiler.py in run(self, status)
    243                 try:
    244                     event(stage_name)
--> 245                     stage()
    246                 except _EarlyPipelineCompletion as e:
    247                     return e.result

~/anaconda2/envs/py36/lib/python3.6/site-packages/numba/compiler.py in stage_objectmode_backend(self)
    650         """
    651         lowerfn = self.backend_object_mode
--> 652         self._backend(lowerfn, objectmode=True)
    653
    654         # Warn if compiled function in object mode and force_pyobject not set

~/anaconda2/envs/py36/lib/python3.6/site-packages/numba/compiler.py in _backend(self, lowerfn, objectmode)
    626             self.library.enable_object_caching()
    627
--> 628         lowered = lowerfn()
    629         signature = typing.signature(self.return_type, *self.args)
    630         self.cr = compile_result(

~/anaconda2/envs/py36/lib/python3.6/site-packages/numba/compiler.py in backend_object_mode(self)
    599                                      self.library,
    600                                      self.func_ir,
--> 601                                      self.flags)
    602
    603     def backend_nopython_mode(self):

~/anaconda2/envs/py36/lib/python3.6/site-packages/numba/compiler.py in py_lowering_stage(targetctx, library, interp, flags)
   1016         )
   1017     lower = objmode.PyLower(targetctx, library, fndesc, interp)
-> 1018     lower.lower()
   1019     if not flags.no_cpython_wrapper:
   1020         lower.create_cpython_wrapper()

~/anaconda2/envs/py36/lib/python3.6/site-packages/numba/lowering.py in lower(self)
    171         if self.generator_info is None:
    172             self.genlower = None
--> 173             self.lower_normal_function(self.fndesc)
    174         else:
    175             self.genlower = self.GeneratorLower(self)

~/anaconda2/envs/py36/lib/python3.6/site-packages/numba/lowering.py in lower_normal_function(self, fndesc)
    212         # Init argument values
    213         self.extract_function_arguments()
--> 214         entry_block_tail = self.lower_function_body()
    215
    216         # Close tail of entry block

~/anaconda2/envs/py36/lib/python3.6/site-packages/numba/lowering.py in lower_function_body(self)
    237             bb = self.blkmap[offset]
    238             self.builder.position_at_end(bb)
--> 239             self.lower_block(block)
    240
    241         self.post_lower()

~/anaconda2/envs/py36/lib/python3.6/site-packages/numba/lowering.py in lower_block(self, block)
    252             with new_error_context('lowering "{inst}" at {loc}', inst=inst,
    253                                    loc=self.loc, errcls_=defaulterrcls):
--> 254                 self.lower_inst(inst)
    255
    256     def create_cpython_wrapper(self, release_gil=False):

~/anaconda2/envs/py36/lib/python3.6/contextlib.py in __exit__(self, type, value, traceback)
     97                 value = type()
     98             try:
---> 99                 self.gen.throw(type, value, traceback)
    100             except StopIteration as exc:
    101                 # Suppress StopIteration *unless* it's the same exception that

~/anaconda2/envs/py36/lib/python3.6/site-packages/numba/errors.py in new_error_context(fmt_, *args, **kwargs)
    583         from numba import config
    584         tb = sys.exc_info()[2] if config.FULL_TRACEBACKS else None
--> 585         six.reraise(type(newerr), newerr, tb)
    586
    587

~/anaconda2/envs/py36/lib/python3.6/site-packages/numba/six.py in reraise(tp, value, tb)
    657         if value.__traceback__ is not tb:
    658             raise value.with_traceback(tb)
--> 659         raise value
    660
    661 else:

LoweringError: Failed at object (object mode frontend)
Failed at object (object mode backend)
make_function(name=$const236.13, code=<code object <listcomp> at 0x7f654d500810, file "/home/pluiefox/work/base/thseq/utils/file.py", line 70>, closure=$236.11, defaults=None)

File "utils/file.py", line 70:
def shuffle(inputs, outputs, indices=None, strict=False):
    <source elided>
        counts = [count] * len(inputs)
        offsets = [offs[:count] for offs in offsets]
        ^
[1] During: lowering "$236.14 = make_function(name=$const236.13, code=<code object <listcomp> at 0x7f654d500810, file "/home/pluiefox/work/base/thseq/utils/file.py", line 70>, closure=$236.11, defaults=None)" at /home/pluiefox/work/base/thseq/utils/file.py (70)
-------------------------------------------------------------------------------
This should not have happened, a problem has occurred in Numba's internals.

Please report the error message and traceback, along with a minimal reproducer
at: https://github.com/numba/numba/issues/new

If more help is needed please feel free to speak to the Numba core developers
directly at: https://gitter.im/numba/numba

Thanks in advance for your help in improving Numba!

This is minimal code reproducing this error.
import itertools
import numpy
import numba

@numba.jit
def shuffle(inputs, outputs, indices=None, strict=False):
    """
    shuffle with low memory usage
    :param inputs: a list of input files
    :param outputs: a list of corresponding output files
    :param indices: a numpy array of size (num_lines,)
    :param strict:
    :return:
    """
    if isinstance(inputs, str):
        inputs = [inputs]
    if isinstance(outputs, str):
        outputs = [outputs]

    if len(inputs) != len(outputs):
        raise ValueError("The number of input files and output files doesn't match.")
    counts = []
    offsets = [] # find offsets of each line for each input file
    for f in inputs:
        c = 0
        offs = []
        r = open(f, 'r')
        off = 0
        r.readline()
        while r.tell() > off:
            off = r.tell() # this method is significantly SLOW in python 3, not in python 2.
            offs.append(off)
            c += 1
            r.readline()
        if c > 0:
            offs = [0] + offs[:-1]

        counts.append(c)
        offsets.append(offs)
    if strict: # consistency check
        if len(set(counts)) != 1:
            raise ValueError("The files are not strictly aligned.")
    else:
        count = min(counts)
        counts = [count] * len(inputs)
        offsets = [offs[:count] for offs in offsets]

    offsets = numpy.array(offsets)
    if indices is None:
        indices = numpy.arange(counts[0])
        numpy.random.shuffle(indices)

    indices = numpy.array(indices)

    if indices.size != counts[0]:
        raise ValueError("The given indices doesn't match lines of file.")

    offsets = offsets[:, indices]  # shuffle offsets by indices
    for i, (fi, fo) in enumerate(itertools.zip_longest(inputs, outputs)):
        r=open(fi)
        w=open(fo, 'w')
        # the above 2 lines is an alternative to the following commented with statement,
        # since numba would raise an error on it.
        # with open(fi) as r, open(fo, 'w') as w:
        for off in offsets[i]: # write line by seeking indexed offset
            r.seek(off)
            line = r.readline()
            w.write("%s\n" % line.strip())
    return indices

shuffle('test.py','test.out')

Thanks for the report. Unfortunately I cannot seem to be able to reproduce this using the sample code. The sample code for me does however hit a known bug which is reported and discussed here https://github.com/numba/numba/issues/2657. I can also guess at the cause of the reported lowering error as the same bug as https://github.com/numba/numba/issues/3118.
FWIW I think Numba is going to struggle with your code. Numba is great a compiling loop based numerical and NumPy array orientated code. It supports a subset of Python and NumPy as declared here and here, you'll also want to look at nopython vs. object mode as described in the performance guide and in the definition of object mode here. As your code will be running in object mode, and there's very few lops that are liftable, performance may not be great (and I'm afraid Numba will not help with file.tell().

@stuartarchibald Thanks a lot! I did not now about njit, this implementation would have been my first choice if I knew about it!

@jonas-hagen no problem, thanks for getting back to us to confirm this is a good workaround.

Closing this issue as no new information has been provided. It is assumed that the above resolved the reported issue, if this is not the case please reopen the issue with new information. Many thanks.


dcos cli spark run command should normalize submit parameter value

What version of DC/OS + DC/OS CLI are you using (dcos --version)?
cli
dcoscli.version=0.4.14
dcos
{"build_date":"2016-04-15 01:00:13",
"build_time":1460682013.0,
"build_user":"",
"git_sha":"76c87d55a78e8cbb380fc0c71388ccec53ed1dc8",
"version":"0.28.1"}

What operating system and version are you using?
Distributor ID:	Ubuntu
Description:	Ubuntu 16.04.1 LTS
Release:	16.04
Codename:	xenial

What did you do?
First command:
./dcos spark run --submit-args="--class org.apache.spark.examples.SparkPi https://downloads.mesosphere.com/spark/assets/spark-examples_2.10-1.4.0-SNAPSHOT.jar 30"

Run job succeeded. Submission id: driver-20161202101532-0009

Result in mesos:
driver-20161202101532-0009	Driver for org.apache.spark.examples.SparkPi	FINISHED

Second command (with extra empty space in submit parameter's value):
./dcos spark run --submit-args="--class org.apache.spark.examples.SparkPi   https://downloads.mesosphere.com/spark/assets/spark-examples_2.10-1.4.0-SNAPSHOT.jar 30"

Run job succeeded. Submission id: driver-20161202101815-0010

Result in mesos:
driver-20161202101815-0010	Driver for org.apache.spark.examples.SparkPi	FAILED

Failed job log:
I1202 10:18:15.427426 36222 logging.cpp:188] INFO level logging started!
I1202 10:18:15.427824 36222 fetcher.cpp:424] Fetcher Info: {"cache_directory":"\/tmp\/mesos\/fetch\/slaves\/0f2fb632-3277-41d4-be0a-ed90d5c7c27d-S3","items":[{"action":"BYPASS_CACHE","uri":{"extract":true,"value":"\/home\/userjp\/Tools\/dcos\/"}}],"sandbox_directory":"\/var\/lib\/mesos\/slave\/slaves\/0f2fb632-3277-41d4-be0a-ed90d5c7c27d-S3\/frameworks\/704aec43-1aa3-4971-bb98-e892beeb2c45-0008\/executors\/driver-20161202101815-0010\/runs\/8fd7db97-aedf-4eb3-ac97-a8853a74ea3f"}
I1202 10:18:15.430150 36222 fetcher.cpp:379] Fetching URI '/home/jpavtel/Narzedzia/dcos/v01-12-2016/'
I1202 10:18:15.430178 36222 fetcher.cpp:250] Fetching directly into the sandbox directory
I1202 10:18:15.430208 36222 fetcher.cpp:187] Fetching URI '/home/userjp/Tools/dcos'
I1202 10:18:15.430233 36222 fetcher.cpp:167] Copying resource with command:cp '/home/userjp/Tools/dcos/' '/var/lib/mesos/slave/slaves/0f2fb632-3277-41d4-be0a-ed90d5c7c27d-S3/frameworks/704aec43-1aa3-4971-bb98-e892beeb2c45-0008/executors/driver-20161202101815-0010/runs/8fd7db97-aedf-4eb3-ac97-a8853a74ea3f/v01-12-2016'
cp: cannot stat '/home/userjp/Tools/dcos/': No such file or directory
Failed to fetch '/home/userjp/Tools/dcos/': Failed to copy with command 'cp '/home/userjp/Tools/dcos/' '/var/lib/mesos/slave/slaves/0f2fb632-3277-41d4-be0a-ed90d5c7c27d-S3/frameworks/704aec43-1aa3-4971-bb98-e892beeb2c45-0008/executors/driver-20161202101815-0010/runs/8fd7db97-aedf-4eb3-ac97-a8853a74ea3f/v01-12-2016'', exit status: 256

What did you expect to see?
Job to be finished
What did you see instead?
Job failed. dcos cli should normalize all white spaces inside submit parameter.

@janpavtel thanks! can you please create this issue against spark?

@tamarrow . I created  /spark-build/issues/103  as you suggested

thanks!


Implement remaining functions for 'list'

I'm planning to work on this for the new year. :)

I've implemented list.pop
Python test for error case is a bit weird for now
except Exception as e:
    assert(str(e).startswith("IndexError"))

It's because IndexError is not in global namespace, which seems to be a reason for another issue, don't you think?

Okay, IndexError should be placed in the global namespace as well.

It looks like, currently, as per the results of dir():
Python 3.7 list() has these methods that RustPython does not have or expose:
'init_subclass',
'reduce',
'reduce_ex',
'sizeof',
And RustPython list() has these methods that CPython does not have or expose:
'bool',
'dict',
Although, obviously Python 3.7 lists can be interpreted as bools so I'm not sure why it's missing, maybe they take a shortcut.

now the only unimplemented method is list.__init_subclass__, so this issue seems practically done.


Refactor ModelBinding

Splits the responsibilities of an IModelBinder into IModelBinderProvider and IModelBinder.
Introduces IModelBinderFactory.
Some Cleanup of ModelBinderContext.

Some allocation data using BigModelBinding
Before

The highlighted Type[] is totally gone accounting for most of the difference in allocations.
After

Some sampling data using BigModelBinding
Before: my machine can sustain about ~1500rps
After: ~1750 rps
Before

After

Model binding has gone from 13.95% to 9.95% with this refactor and without applying any more specific optimizations.
Note that looking at the sampling data, GC is ranges from 60-64% of the total. The task and string allocations here are far and away the biggest issue.

/cc @benaadams @Tratcher - for formreader-related stuff

:shipit:

Pushing an update to this @dougbu
Please look at these two and make sure they are addressed to your satisfaction/opinion:
https://github.com/aspnet/Mvc/pull/4355#discussion_r57653080
https://github.com/aspnet/Mvc/pull/4355#discussion_r57653096
Here are the comments that are won't-fix/not-actionable
https://github.com/aspnet/Mvc/pull/4355#discussion_r57738137
https://github.com/aspnet/Mvc/pull/4355#discussion_r57739573
https://github.com/aspnet/Mvc/pull/4355#discussion_r57653093 (issue)
https://github.com/aspnet/Mvc/pull/4355#discussion_r57653128

:shipit:

Nice :smile:


About reproducibility

Hi, David:)
Thanks a lot for sharing your great work!
I am currently struggling on reproducing the results.
I tried finetuning on covidfact and scifact_20 dataset with one GPU(RTX 3090), but the results are different each time.
Looking at the metrics.csv file(in checkpoints folder) generated during finetuning, the label_loss, rationale_loss, and loss are recorded differently each time, so it seems that the randomness is not controlled during the training process.
When I looked at the code, I think there is no problem with the dataloader part because it is fixed.
I tried to add the code (in anaconda3/envs/multivers/lib/python3.8/site-packages/pytorch_lightning/utilities/seed.py) for setting the seed as below, but it is still not reproducible.

I wonder if there are any parts that need additional modification or if there are parts difficult to reproduce perfectly.
Thank you~~

Thanks for raising this issue. I tried to control for randomness by calling pl.seed_everything in the training script. Unfortunately, I think that GPU training is inherently nondeterministic for reasons that I don't understand.
Are you getting results within the same ballpark (within an F1 point or two) across runs, or are you getting wildly different results?

In the case of the covidfact dataset, I'm getting results within the same ballpark (within an F1 point or two), so that seems fine.
For the scifact_20 dataset, the results are quite different.
So I'm thinking of averaging multiple results.
Thanks for the quick response:)

Hmm interesting, can you give me a sense of how different they are for scifact_20? I can try a few training runs and see if I get the same level of variation.

Hmm so the results seem to vary by a few F1 points. Interesting. I'm traveling for the next couple weeks, but when I get back I'll try to take a look.

Unfortunately I think I'm not going to have the bandwidth to run more experiments on this. I agree it's strange that there's so much variance between runs. If you have results on this, feel free to submit a Markdown document to the doc folder describing your findings and I can merge it in; that way we'll at least have this issue recorded.

Thank you for taking a look! Perhaps trying multiple experiments and averaging the results could be a potential solution.


If a member is part of multiple teams, they will only be listed once

Since primary key only consists of the member id.
https://github.com/MeltanoLabs/tap-github/blob/f5ce902a19a6fa6b9890f01d0d5574a18225bc55/tap_github/organization_streams.py#L126
We would need a member id / team slug combination here.

@morrislaptop thanks for flagging this. This seems quite reasonable. Could you open a small PR to fix this? Thanks.

@ericboucher done! #204


DMX-in almost working / "port address we don't care about"

Hi Breina,
After a long time I finally found some time to continue my project with your integration.
The good nes is that my DMX controll software Madrix now discovers the integration as new art-net node and even shows the correct amount of universes.
Also on the other hand, the integration in HA reports, that it is connected to the Madrix software.
I have mapped a 1ch fixture to the example my_dimmer light on channel 1 in universe 1 (set the universe in the config.yaml to 1) but it doesn't receive any values.
This is the log output:
2023-07-08 23:26:53.740 DEBUG (MainThread) [custom_components.artnet_led.client.artnet_server] Received ArtDmx for port address that we don't care about: 0:0:0 2023-07-08 23:26:53.742 WARNING (MainThread) [custom_components.artnet_led.client.artnet_server] Received Opcode OpCode.OP_SYNC, which isn't supported yet!
P.S.: I saw in the log that the integration is polling a lot, that's why warnings like the Opcode one show up 10.000 times within a couple of minutes.
I think this could be an issue why I wasn't able to get it running on my old Pi3b, which crashed everytime I installed the integration. Now I have it running in a VM which can handle a lot more, however, this probably needs some refininf (which unfortunately I have no idea of...)

The first warning is saying that it received DMX data for universe 0 (net:subnet:universe), not universe 1. As thus, Madrix is sending to the wrong universe.
The OP_SYNC opcode is used to sync up several ArtNet controllers to the same timing. This is for example used for syncing up big panels. Is there a setting in Madrix to disable this?
If you desire this, I can look into implementing it. Shouldn't be too hard.

Ahhh okay I understand now.
Madrix does show the Universe and DMX Channels starting from 1 in the UI while Art-Net starts at 0
However, It is working now! :)
There is not even a noticeable delay. This is amazing.
We are a small nightclub and having the possibility to control basically any smart light (or device) by DMX via Madrix, opens up a whole new dimension of light shows.
Thanks a lot for your work!
If you'd like me to test anything further just let me know.
Regarding OPSync: I don't need it and I've just disabled it in Madrix (it was on by default)

Glad to hear! :)

Btw, I've been playing around with computationally generating light shows; https://www.youtube.com/watch?v=zZtRdKxHvpI
It's in the back of my head to port this over so that it works with HA. Would be cool to see that in an actual night club someday. :D

That's pretty dope :)
The reason why we are using Madrix, is because it has these super easy functions to create light shows just like you did there, based on either sound frequency volume or musical notes. So something like that is fairly easy to do with Madrix

Ah, I figured that the DMX community has that problem already solved. Perhaps it's smarter to just export my shows into Madrix, so that they can be used and tuned as-is.
There's a huge repository (50k songs or something) of already synced note timings from the rythm game community. I'm just leeching of that, I'm not actually reading the music itself.


Added import for util.widget.Rs2Widget

Was running into build issues without the import

Already done, thanks!


Consider adding Parrhesia to SeaORM showcase!

Hey @joeyame, thanks for adopting SeaORM!
It's our pleasure to see more inspirational projects were built on top of SeaORM :)
Let us know if you have any feature recommendation or feedback.
Some learning resources for you: Documentation, Tutorial, Cookbook, Q&A
Join our Discord server to chat with others in the SeaQL community!
Feel free to submit a PR to showcase your project, https://github.com/SeaQL/sea-orm/issues/403.

As discussed in #2 , this project will be moving away from the ORM model in preference of more explicit database management / integration via SurrealDB.
Best of luck with your project.

Thanks for the updates!! @joeyame


Serverside gmod_wire_spu NULL error

Saw this error in the logs, seems like it might be relatively easy to fix. This happened on latest master.
addons/wire/lua/wire/gpulib.lua:749: Tried to use a NULL entity!
   1.  unknown - [C]:-1
    2.  Start - [C]:-1
     3.  Flush - addons/wire/lua/wire/gpulib.lua:749
      4.  unknown - addons/wire/lua/entities/gmod_wire_spu/init.lua:119

locals:
compressInfo = {
  1 = Table [6 items]
  2 = Table [6 items]
  3 = Table [6 items]
  4 = Table [6 items]
  5 = Table [5 items]
}
self         = {
  CacheBytes = Number [0]
  Entity = Entity [2880][gmod_wire_spu]
  EntIndex = Number [2880]
  Enabled = Bool [true]
  Cache = Table [1582 items]
}
forcePlayer  = Player [NULL]
messageSize  = Number [4]

Should be fixed in https://github.com/wiremod/wire/pull/2580


Lambda Test Times out

I have tried several time and my Lambda test always times out. I even increased the duration to 30 sec. I am using Node js 4.3.
Any thoughts. Here is the log returned
START RequestId: c8054000-a37f-11e6-935a-93d6e8e04457 Version: $LATEST
2016-11-05T17:46:31.023Z	c8054000-a37f-11e6-935a-93d6e8e04457	session applicationId: amzn1.ask.skill.49a8db9e-6db6-496f-be6a-046ccc40918b
2016-11-05T17:46:31.024Z	c8054000-a37f-11e6-935a-93d6e8e04457	dispatch intent = UnmuteIntent
2016-11-05T17:46:31.024Z	c8054000-a37f-11e6-935a-93d6e8e04457	UnmuteIntent received
2016-11-05T17:46:31.024Z	c8054000-a37f-11e6-935a-93d6e8e04457	Advanced Mode = false
2016-11-05T17:46:31.081Z	c8054000-a37f-11e6-935a-93d6e8e04457	Sending HTTP request to: /living%20room/unmute
END RequestId: c8054000-a37f-11e6-935a-93d6e8e04457
REPORT RequestId: c8054000-a37f-11e6-935a-93d6e8e04457	Duration: 37001.40 ms	Billed Duration: 37000 ms 	Memory Size: 128 MB	Max Memory Used: 11 MB
2016-11-05T17:47:06.345Z c8054000-a37f-11e6-935a-93d6e8e04457 Task timed out after 37.00 seconds

Fixed - Had to accept incoming connection on server


Support customising time labels styles

If the bus stops is about to come (< 5 minutes): red, bold, bigger?
If the bus stop time-to-come is less than (>5 & <10 minutes): blue, italic, medium?
If the bus stop time-to-come is greater than 10 minutes: green, regular, normal?

Merged


Add support for time series data

Add support for time series data so that users can automatically have sliders to isolate date ranges.

I'm also interested in it :)

@wjbmattingly is there any progress on this?

Thanks for pinging me @harsha20032020 ! I'll take a look at this in the next week or so.

I can submit a pull request for it, i implemented it, but I think the sliders for dates is a bit clumsy and overlaps a lot. I was thinking of having a calendar input which also shows the slider date.
Can I have a go at it?

Oh by all means! Looking forwarding to seeing what you come up with! =)


cron may not be the best way to run sonar - due to nologin, at least

It could look like my cron jobs are not currently running on ml8 because ml8 is in lockdown for exclusive use - there's a nologin set up.
It could appear that root can still log in so sonar could run as root, but this is a bad idea.
Sonar could run as a daemon of some sort instead of as a cron job - analysis tasks run elsewhere anyway, so it's just sonar we care about.

This is fixed on fox by using a system user, and will be fixed on the ML nodes (and elsewhere) the same way, I think.  It may be (see #285) that we'll eventually want to switch to a daemon model anyway.


Clustering of 100k+ points

Server side: enable processing of data table (CARTO table) to pre-generate clusters. These are not zoom-based like CDB_overviews, but hierarchical data structure, so result table is not standard mbtiles, but own structure. Otherwise logic somewhat similar to tippecanoe.
Client side: use this table as offline point datasource, enable animations during zoom in/out similar to current small point set clustering feature.

Customer case: HemaMaps (https://cartodb.supportbee.com/tickets/11625325)

Develop branch now has much faster clustering with much lower memory footprint. On iPad2 it performs approximately 100k points/sec.

Request from customer: can we serialize and cache clusters, to make next data loading faster?

Comment from HEMA https://cartodb.supportbee.com/tickets/12152326

Just one more question – since I no longer want to re-run clustering as it is all loadable at the start, I need to hide the cluster layer sometimes  for when we show certain app states.
The method setVisible on a ClusteredVectorLayer is really really slow for me.  I think it might be modifying the visible flag for every single marker object in memory.
Is there a way to make this just skip rendering the clusters instead of updating the data if I set this to false?  Or is there another faster method I could call to hide the layer?

Loading geojson is 10x faster with latest dev branch, need to be tested with slow devices.

Part of SDK 4.1.0RC1


simple_ota_example error :  esp-tls-mbedtls: Failed to set client configurations, returned [0x8017] (ESP_ERR_MBEDTLS_SSL_SETUP_FAILED) (IDFGH-8036)

When I do the ota upgrade, there is an error as shown in the figure, I want to know how this pem is generated? What is the role of existence code?

@DreamPWJ
Please try simple_ota example with certificate bundle feature from:
https://github.com/espressif/esp-idf/blob/afc6fba7f5619af82623f22052685bbcc6fb5665/examples/system/ota/simple_ota_example/main/simple_ota_example.c#L95
This way you need not generate and attach any other server certificate. Please let us know if you still run into any issues.

doesn't work, same error  @mahavirj

@DreamPWJ Please share details as per GH issue template, along with your sdkconfig and sample app code.

https://github.com/DreamPWJ/embedded-monorepo/blob/develop/projects/esp32-demo/lib/ota/ota.cpp   @mahavirj


Services / DNS Resolver / General Settings

Static should be static.
Elements that don't need to be dynamic should be static.
More robust than depending on client-side processing to set them.

There are about a dozen of these that were created this last week, because I was using a "template" of how the Advanced button code was done in services_dhcp
So I guess they all should be changed.
After this one gets committed (so we know that is the agreed way to go), I am happy to find the all and do the update.

I for one definitely think they should be changed and welcome your offer.
In my opinion client-side processing on static items, adds unnecessary complexity and compatibility risk.
For instance in this particular case had this been static setting the JavaScript failure, fixed yesterday, would not have resulted in an unsuspected submit.  Instead it would have just failed to toggle its target.

I have no objection to this and agree that it is somewhat more robust. The change is not strictly necessary but since the matter was introduced (mostly) in a recent change, it is OK to fix it. There appear to be 16 instances of this altogether so not too bad a task (easy for me to say)

Commit this one whenever you like, and I will make a PR for the rest of them that will be waiting for you on Monday morning...

Thank you Phil.


chore: migrate to Nuxt ESLint

🔗 Linked issue
❓ Type of change

[ ] 📖 Documentation (updates to the documentation or readme)
[ ] 🐞 Bug fix (a non-breaking change that fixes an issue)
[ ] 👌 Enhancement (improving an existing functionality)
[ ] ✨ New feature (a non-breaking change that adds functionality)
[x] 🧹 Chore (updates to the build process or auxiliary tools and libraries)
[ ] ⚠ Breaking change (fix or feature that would cause existing functionality to change)

📚 Description
Repositories in Nuxt oranization are migrating to use Nuxt ESLint.
Therefore, this repository has also been migrated to use @nuxt/eslint-config instead of @antfu/eslint-config.
Note
node/prefer-global/process and node/prefer-global/buffer are rules provided by eslint-plugin-n, and were not provided by default in @nuxt/eslint-config.
As before, if necessary, you can configure all eslint-plugin-n rules configured in @antfu/eslint-config in a separate PR. 👍
I thought that this rules should be implemented after receiving @harlan-zw 's opinion, so it has not been addressed in this PR.

Hi @harlan-zw , please review and comments when you have a time 🙏

Btw, I would like to take advantage of the monopo configuration to simplify package management in the playground/ and docs/.
Is this okay to try?
(I will implement this in another PR)

Thanks! This is some great work


Mini-Bug Version 1.0.15

Es gibt bei mir minütlich eine Fehlermeldung im Log-File:

State value to set for "go-e.0.temperatures.tempereatureArray" has to be stringified but received type "object"

Ich habe händisch mit allen zu Verfügung stehenden Formaten versucht, die Fehlermeldung zu unterbinden, ging aber nicht.
Danke dafür
Nachtrag:
Im Log-File des iobrokers findet eine wahre Nachrichtenflut statt - bis der Ladevorgang unterbrochen wird.:

go-e.0
2021-08-17 12:13:00.028
info
Set value 0 of id alw

go-e.0
2021-08-17 12:12:51.705
info
State value to set for "go-e.0.temperatures.tempereatureArray" has to be stringified but received type "object"

go-e.0
2021-08-17 12:12:34.838
info
State value to set for "go-e.0.temperatures.tempereatureArray" has to be stringified but received type "object"

go-e.0
2021-08-17 12:12:34.716
info
State value to set for "go-e.0.temperatures.tempereatureArray" has to be stringified but received type "object"

go-e.0
2021-08-17 12:12:34.388
info
State value to set for "go-e.0.temperatures.tempereatureArray" has to be stringified but received type "object"

go-e.0
2021-08-17 12:12:34.070
info
State value to set for "go-e.0.temperatures.tempereatureArray" has to be stringified but received type "object"

go-e.0
2021-08-17 12:12:32.953
info
200 with message: OK

go-e.0
2021-08-17 12:12:32.845
info
200 with message: OK

go-e.0
2021-08-17 12:12:32.731
info
200 with message: OK

go-e.0
2021-08-17 12:12:32.626
info
200 with message: OK

go-e.0
2021-08-17 12:12:18.691
info
State value to set for "go-e.0.temperatures.tempereatureArray" has to be stringified but received type "object"

go-e.0
2021-08-17 12:12:18.645
info
State value to set for "go-e.0.temperatures.tempereatureArray" has to be stringified but received type "object"

go-e.0
2021-08-17 12:12:18.535
info
State value to set for "go-e.0.temperatures.tempereatureArray" has to be stringified but received type "object"

go-e.0
2021-08-17 12:12:18.176
info
State value to set for "go-e.0.temperatures.tempereatureArray" has to be stringified but received type "object"

go-e.0
2021-08-17 12:12:17.659
info
State value to set for "go-e.0.temperatures.tempereatureArray" has to be stringified but received type "object"

go-e.0
2021-08-17 12:12:16.516
info
200 with message: OK

go-e.0
2021-08-17 12:12:16.407
info
200 with message: OK

go-e.0
2021-08-17 12:12:16.293
info
200 with message: OK

go-e.0
2021-08-17 12:12:16.151
info
200 with message: OK

go-e.0
2021-08-17 12:12:16.040
info
200 with message: OK

go-e.0
2021-08-17 12:12:09.541
info
State value to set for "go-e.0.temperatures.tempereatureArray" has to be stringified but received type "object"

go-e.0
2021-08-17 12:12:09.485
info
State value to set for "go-e.0.temperatures.tempereatureArray" has to be stringified but received type "object"

go-e.0
2021-08-17 12:12:09.394
info
State value to set for "go-e.0.temperatures.tempereatureArray" has to be stringified but received type "object"

go-e.0
2021-08-17 12:12:09.275
info
State value to set for "go-e.0.temperatures.tempereatureArray" has to be stringified but received type "object"

go-e.0
2021-08-17 12:12:09.072
info
State value to set for "go-e.0.temperatures.tempereatureArray" has to be stringified but received type "object"

go-e.0
2021-08-17 12:12:08.494
info
State value to set for "go-e.0.temperatures.tempereatureArray" has to be stringified but received type "object"

Kann mich meinem Vorredner anschließen.
Benutze folgende HW V3 mit Firmware 052.1.

Hallo,
Das Schreiben kann in den Einstellungen deaktiviert werden. In den letzten Wochen habe ich dazu eine neue Version in Beta eingestellt.


Research django-filter

Goal: The lobbies list page lists all lobbies with no specific organization. To make lobby searches more efficient, we want to implement advanced filtering capabilities where users can choose to display only lobbies with certain games, players, or match start times. We need to research how to add this.
Possible Deliverables:

Wiki page

I have created a Django-filters quickstart page in the matches section of the wiki. You can find that here. I think Chloe will edit/revise as necessary, and then sign off.

added sentences about order of filters, handling multiple filters, error handling, and clearing filters.

Closing Comment:
task is finished.
Nat:

created the quickstart page with most of the information

Creating Filter Classes
Adding Filters to your View
Adding Filters to your HTML template
Chloe:

revised the quickstart page to include bits of supplementary information

order of filters
handling multiple filters
error handling
clearing filters

Issue Score: Excellent
Comments:
Nice work on this issue! Love the documentation as well, and I think it will be very helpful for other teams and not just matches.


Homepage content missing

Details
When enabling Pin on Open and setting Opening Method to "Replace all open notes" the homepage content will be deleted if the graph is open when closing the window.
Obsidian Desktop
Windows 10
Steps to reproduce

Open homepage.
ctrl+G to open graph.
Close window.
Open obsidian.

Debug information
{"version":3,"homepages":{"Main Homepage":{"value":"Dashboard","kind":"File","openOnStartup":true,"openMode":"Replace all open notes","manualOpenMode":"Replace all open notes","view":"Reading view","revertView":false,"openWhenEmpty":true,"refreshDataview":false,"autoCreate":false,"autoScroll":false,"pin":true,"commands":[],"alwaysApply":false}},"separateMobile":false,"_defaultViewMode":"preview","_livePreview":true,"_focusNewTab":"default","_plugins":["obsidian-excalidraw-plugin","obsidian-icon-folder","quickadd","dataview","homepage","cmdr","hide-folders"],"_internalPlugins":["file-explorer","global-search","switcher","graph","backlink","canvas","outgoing-link","tag-pane","properties","page-preview","daily-notes","templates","note-composer","command-palette","editor-status","bookmarks","outline","word-count","file-recovery","sync"],"_obsidianVersion":"1.4.5"}

Checklist

[X] I updated to the latest version of the plugin.

I can't reproduce this, but this should theoretically be fixed by 3d609ebfce7fdcdf9f6d2f39c60df860243a0c75 in release 3.5.2. Let me know if it isn't.

The issue has been fixed, Thanks for the hard work.


Make getPosition() calculate offsets correctly for svg elements

Current implementation of getPosition is broken for children of svg elements.
Their clientHeight and clientWidth values are usually (or always, not sure, though) equal to 0, therefore calculated offsets are wrong.
This may be a common issue for tooltips whose tips are some sort of svg child elements, like polygon, rect, line, circle etc. In such cases, their placement is usually wrong.

Hey, I runned into the exact same problem at work (tooltip on svg elements).
I cherry picked your commit and it work perfectly. Thanks a lot !

Check this https://bugzilla.mozilla.org/show_bug.cgi?id=874811
tldr :

SVG elements don't have a CSS layout box
The clientTop, clientLeft, clientWidth, and clientHeight attributes must return zero if the element does not have any associated CSS layout box

use getBoundingClientRect

Looking at https://developer.mozilla.org/en-US/docs/Web/API/Element/clientWidth, it seems getBoundingClientRect() will return fractional values. Otherwise it seems equivalent, and works for SVG. Have you seen any ill-effects because of fractional values?

Oops, sorry, I missed your comment before I merged. Feel free to submit another PR, I'll get it right in.
If you start your commit message like:

fix(examples): add SVG example
then I can test auto-publish of the examples 😄

:tada: This PR is included in version 3.5.1 :tada:
The release is available on:

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


BeamComponent needs to be created

BeamComponent is currently empty. The desired behavior for this component is to be able to draw engineering beam diagrams such as this example:

These diagrams are commonly used in structural engineering for designing steel, concrete, timber, etc. The top diagram shows the beam loading, the middle shows the shear force diagram, and the bottom shows the bending moment diagram.
There should be inputs for the user to adjust the parameters such as span length, L and loading magnitude, w.
And finally, the component should calculate the forces when the user inputs parameters

I'm interested in working on this part

Great! feel free to add comments here if you want to discuss anything


DEFAULT_TOKENIZER import error in sacrebleu

Latest Version 0.3.0
When loading the metric "sacrebleu" there is an import error due to the wrong path

This issue was resolved by #447


[Bug] HTTPError: 401 Client Error using EDL Token authentication

Describe the bug
The readme suggests using an EDL token for authentication is possible, but I'm running into an 'Unauthorized' error.
To Reproduce
import asf_search as asf

# MYEDLTOKEN from https://urs.earthdata.nasa.gov/users/scottyhq/user_tokens
session = asf.ASFSession().auth_with_token(MYEDLTOKEN)
# NOTE that the EDL token is stored in the `session.headers` as  {'Authorization': 'Bearer XXXXXXXXXXX...'}

results = asf.geo_search(platform=[asf.PLATFORM.SENTINEL1],
                         beamMode=asf.BEAMMODE.IW,
                         processingLevel=asf.PRODUCT_TYPE.SLC,
                         intersectsWith='POINT (146.347 -37.486)',
                         relativeOrbit=45,
                         start='2021-09-01',
                         maxResults=1)

results.download('./', session=session)

Desktop (please complete the following information):

chrome browser running jupyterlab 3
asf-search-3.0.4 from pip

Additional context
traceback below:
---------------------------------------------------------------------------
HTTPError                                 Traceback (most recent call last)
/tmp/ipykernel_366/3425839706.py in <module>
     11                          maxResults=1)
     12
---> 13 results.download('./', session=session)

/srv/conda/envs/notebook/lib/python3.9/site-packages/asf_search/ASFSearchResults.py in download(self, path, session, processes)
     30         if processes == 1:
     31             for product in self:
---> 32                 product.download(path=path, session=session)
     33         else:
     34             pool = Pool(processes=processes)

/srv/conda/envs/notebook/lib/python3.9/site-packages/asf_search/ASFProduct.py in download(self, path, filename, session)
     36             filename = self.properties['fileName']
     37
---> 38         download_url(url=self.properties['url'], path=path, filename=filename, session=session)
     39
     40     def stack(self) -> UserList:

/srv/conda/envs/notebook/lib/python3.9/site-packages/asf_search/download/download.py in download_url(url, path, filename, session)
     73     response = session.get(url, stream=True, hooks={'response': strip_auth_if_aws})
     74
---> 75     response.raise_for_status()
     76     with open(os.path.join(path, filename), 'wb') as f:
     77         for chunk in response.iter_content(chunk_size=8192):

/srv/conda/envs/notebook/lib/python3.9/site-packages/requests/models.py in raise_for_status(self)
    951
    952         if http_error_msg:
--> 953             raise HTTPError(http_error_msg, response=self)
    954
    955     def close(self):

HTTPError: 401 Client Error: Unauthorized for url: https://urs.earthdata.nasa.gov/oauth/authorize?client_id=BO_n7nTIlMljdvU6kRRB3g&response_type=code&redirect_uri=https://sentinel1.asf.alaska.edu/login&state=%2FSLC%2FSA%2FS1A_IW_SLC__1SDV_20211019T192511_20211019T192539_040192_04C2C2_EF09.zip&app_type=401

Thanks @glshort. I'm eager to use token-based authentication for running on cloud systems and other servers that I have temporary access too. So it's desirable to not use my personal URS user/pass.

Just wanted to highlight a different traceback path if using multiple processes for download:
import asf_search #3.0.6

# NOTE: revoked this token, so no longer valid, just an example
MYEDLTOKEN='EDL-U42e90596f9fe3b92c6db538d04618fe5475e9e6f7aef3526bd75cb1776d'

granules = ['S1A_IW_SLC__1SDV_20200511T135117_20200511T135144_032518_03C421_7768',
            'S1B_IW_SLC__1SDV_20200517T135026_20200517T135056_021622_0290CB_99E2']

results = asf_search.granule_search(granules)
session = asf_search.ASFSession().auth_with_token(MYEDLTOKEN)
results.download(path='/tmp/data', processes=2, session=session)

MaybeEncodingError: Error sending result: '<multiprocessing.pool.ExceptionWithTraceback object at 0x7fc6f42b1310>'. Reason: 'AttributeError("Can't pickle local object 'download_url.<locals>.strip_auth_if_aws'")'

Another workaround that would be nice is to automatically pick up credentials from ~/.netrc file as recommended here https://wiki.earthdata.nasa.gov/display/EL/How+To+Access+Data+With+cURL+And+Wget

I believe the issues in this thread have been resolved:

Token-based authentication was repaired in 3.1.2
.netrc support has been in since early on, as python's requests library provides this functionality itself. 3.2.2 also provided a fix to .netrc functionality after a change to how requests handles redirects.

As for the multiprocessing.pool exception in the last comment, this is often an issue with python's interactive interpreter and some notebook-style environments. Will put in a ticket separate from this issue to detect those troublesome environments and respond accordingly.


No documentation and reference available for inventory movement within store in POS

There is no reference or documentation on the support for in-store inventory transfers between locations within the store. The feature was made GE in Aug 2021.
Feature URL: https://learn.microsoft.com/en-us/dynamics365-release-plan/2021wave2/commerce/dynamics365-commerce/support-inventory-movement-between-in-store-locations-pos

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

ID: 2fafe12b-5dcb-7e32-074d-3776210e9698
Version Independent ID: f2df7539-d7db-fe8a-9793-e728d715b619
Content: Store inventory management - Commerce | Dynamics 365
Content Source: articles/commerce/work-with-store-inventory.md
Service: dynamics-365-commerce
Product: ****
Technology: ****
GitHub Login: @BrianShook
Microsoft Alias: hhaines

Bug 834386 has been logged to address this issue.

@5fq, thank you for your feedback. We have passed this feedback onto the product team for consideration.


How do I load the latest version into BC?

The latest rev of COL contains codeunits not present in the latest available release of BC -- e.g., COD30XX.txt (XX > 27).  I am trying to prepare a submission to the COL but I need to develop against the latest COL version.  I pulled the latest BC on-prem image (13.0.24623) and the latest BC docker image (13.0.24630.25789) neither of which contain the latest COL.  I am not able to import the .txt files due to license / object range restrictions.
How should I proceed?
(please don't say wait until next month)
Thanks in advance.

It is correct, that you will not find the latest open library codeunits in the released version of BC. The library is based on the upcoming (now spring) release of BC and you will hence only find the objects in the developer preview docker images. Now that you mention it, that might actually not be the best development model for contributions due to the mentioned license restrictions! What happens is you grab the latest developer preview?
Another solution would of course be to open the license for the new codeunits already now, which would unblock you. However, we're currently looking into alternative solutions to the .NET wrappers, which is why I'm hesitant to take this step right now. Please try with the developer preview and let me know how that went! Thanks!

Can you post a link for the developer preview?  I can't find it on docker hub.  (can only find bcsandbox)
Another (not optimal approach) might be to make available a .fob with skeletal versions of the codeunits in the library.  Then we could import that .fob and overwrite with the .txt from the library.
Is there any public info on the alternate approach that you mention?
Thanks.

Developer previews are obtainable through our Ready to Go program (http://aka.ms/readytogo)! Here you will find the latest and greatest developments. Highly recommended :-)
I'm afraid I don't yet have any public info on alternate approaches quite yet. We're currently only spiking into those to see, if there are other ways to this.
It is new to me that branching is disabled to this repo! I need to dig into that. Worked just fine for me a couple of days ago!

I just tried once more on a clean machine without any problems:

What error do you get?

Not sure what happened -- something weird when I forked.
I deleted the fork and started over -- seems ok now.
I just issued a pull request for the changes.
Hope it passes.


Support Wasm start section

We should consider to support Wasm start sections. Standard says it’s optional and should be automatically executed when a module is instantiated (https://webassembly.github.io/spec/core/syntax/modules.html#syntax-start). Currently we disabled start sections and we don’t execute a Wasm that contains it. AssemblyScript generates start sections if global variables needs to be instantiated. If we’re to support it we need to add necessary tests to ensure we properly charge for executing it apart from call

In #3129, I quickly bumped the compiler to v0.17 but couldn't up to 0.20 as, since 0.18, it always emits a start section, and I haven't found an easy way to disable it.


Tests/CAPI: Fix trivial sign-compare warnings

This is a trivial fix to silence sign-compare warnings in a unit test case for inference C-APIs.
/usr/src/googletest/googletest/include/gtest/gtest.h:1545:11: error: comparison of integer expressions of different signedness: ‘const unsigned int’ and ‘const int’ [-Werror=sign-compare]
1545 |   if (lhs == rhs) {
|       ^~
cc1plus: all warnings being treated as errors
Signed-off-by: Wook Song<EMAIL_ADDRESS>

:memo: TAOS-CI Version: 1.5.20200925. Thank you for submitting PR #406. Please a submit 1commit/1PR (one commit per one PR) policy to get comments quickly from reviewers. Your PR must pass all verificiation processes of cibot before starting a review process from reviewers. If you are new member to join this project, please read manuals in documentation folder and wiki page. In order to monitor a progress status of your PR in more detail, visit http://ci.nnstreamer.ai/.


Fix onResource change to return to all rooms on click again

Do you want to request a feature or report a bug?
The implementation of this functionality was interrupted to solve more emerging issues, however, it is necessary that the expected behavior is achieved:
What's the current behavior?
       resources.map(([id, resource], idx) => (

          {resource && (
            <div className="rbc-row rbc-row-resource" key={`resource_${idx}`}>

 props.onResourceChange([resource])}
              >
                <ResourceHeaderComponent
                  index={id}
                  label={resource.resourceTitle}
                  resource={resource}
                />

          )}

onResourceChange does not work to return to the initial state of the rooms.
What's the expected behavior?
When clicking on a room, switch the view to that room, and when clicking again return to all rooms

closed by #8


Warcraft III 2019 build (not Reforged)

The new 2019 build (not game) of Warcraft III The Frozen Throne freezes when you enter in the options window and click cancel, it also happens once you start a new game, when you click options and then cancel the screen turns black for a second and then comes back but frozen with the cursor clicking the button.
For example: Options -> Video -> Cancel, when the screen turns black but you don't hear the chains sound you know it crashed. It may not crash/freeze always, while testing I noticed once didn't happened, it also doesn't crash when you go to Options and just click Cancel.
Windowed mode (not fullscreen) works fine.
Software information
Warcraft III (<IP_ADDRESS>64 x86_64) default and all high, 1920x1080x75 fullscreen and windowed fullscreen.
System information

GPU: RX 480 8GB
Driver: amdgpu (free) 19.2.6
Wine version: 4.20 (staging)
DXVK version: 1.4.4 and 1.4.5 (both compiled and tested)

Apitrace file(s)

Put a link here

Log files

d3d11.log: https://gist.github.com/ChazyTheBest/9fb88c7fa00b9f64fe0512584764d6ab
dxgi.log: https://gist.github.com/ChazyTheBest/11b95d8e0ba38b0375fe8f5ba7164fdb

This wasn't included in the log (console output):
003d:fixme:thread:SetThreadDescription (FFFFFFFFFFFFFFFE L"dxvk-shader"): stub
003e:fixme:thread:SetThreadDescription (FFFFFFFFFFFFFFFE L"dxvk-shader"): stub
003f:fixme:thread:SetThreadDescription (FFFFFFFFFFFFFFFE L"dxvk-writer"): stub
0040:fixme:thread:SetThreadDescription (FFFFFFFFFFFFFFFE L"dxvk-submit"): stub
warn:  DXG0041:fixme:thread:SetThreadDescription (FFFFFFFFFFFFFFFE L"dxvk-queue"): stub
I: VK_FORMAT_D24_UNORM_S8_UINT -> VK_FORMAT_D32_SFLOAT_S8_UINT
0042:fixme:thread:SetThreadDescription (FFFFFFFFFFFFFFFE L"dxvk-cs"): stub
info:  Presenter: Actual swap chain properties:
info:    Format:       VK_FORMAT_B8G8R8A8_UNORM
info:    Present mode: VK_PRESENT_MODE_IMMEDIATE_KHR
info:    Buffer size:  1920x1080
info:    Image count:  4
warn:  DXGI: MakeWindowAssociation: Ignoring flags
info:  Presenter: Actual swap chain properties:
info:    Format:       VK_FORMAT_B8G8R8A8_UNORM
info:    Present mode: VK_PRESENT_MODE_FIFO_KHR
info:    Buffer size:  1920x1080
info:    Image count:  4
0046:fixme:avrt:AvSetMmThreadCharacteristicsW (L"Audio",0000000003ABFD28): stub
002b:fixme:secur32:schan_QueryContextAttributesA Unhandled attribute 0x23
wine: Read access denied for device L"\\??\\Z:\\", FS volume label and serial are not available.
002b:err:secur32:schan_free_handle Handle 0(0xa1a10) is not of type 0x1
002b:err:secur32:schan_free_handle Handle 1(0xa1a20) is not of type 0x1
002b:fixme:setupapi:SetupDiOpenDeviceInterfaceW<PHONE_NUMBER>778A60 L"\\\\?\\DISPLAY#Default_Monitor#0000&0000#{e6f07b5f-ee97-4a90-b076-33f57bf4eaa7}" 00000000<PHONE_NUMBER>22BFE0
002b:err:secur32:schan_free_handle Handle 2(0xa1a30) is not of type 0x1
002b:err:secur32:schan_free_handle Handle 3(0xa1a40) is not of type 0x1
002b:fixme:setupapi:SetupDiOpenDeviceInterfaceW<PHONE_NUMBER>F818F0 L"\\\\?\\DISPLAY#Default_Monitor#0000&0000#{e6f07b5f-ee97-4a90-b076-33f57bf4eaa7}" 00000000<PHONE_NUMBER>22BFE0
002b:fixme:secur32:schan_QueryContextAttributesA Unhandled attribute 0x23

Apitrace file(s)

Put a link here

There's a reason why that's in the issue template. Please make an apitrace.

Is this the same game (and problem) as #1252?

yes its Warcraft 3 Reforged Warcaft 3 original used d3dx9

Considering that you're not getting any DXGI errors and the game seems to crash before even creating a swap chain, there are likely issues on your setup in addition to the DXVK problem. Closing as duplicate of #1252 .

@Thaodan No, Warcraft 3 classic/original got an update to support x86_64 and dx11, you can check the latest build is: <IP_ADDRESS>64 x86_64 Jun 5 2019.
@doitsujin This is not the new Reforged remake. I am talking about the 2002 game Warcraft 3.
Does no one have this game to check it out? I can provide a screenshot:

I am talking about the 2002 game Warcraft 3.

Why does that game even support D3D11? Did they remove D3D9 support or is that still an option?
If so, I'd suggest using D3D9 instead. I can't debug this without an apitrace and I don't have the game.

It should even have a opengl
switch if I remeber corectly

@ChazyTheBest So i downloaded the game with the battle.net app, but i can't figure out how to actually  launch the game. Running either x86_64/Warcraft III.exe or Warcraft III Public Test Launcher.exe just exit immediately, and it doesn't even show up in the battle.net app itself.

Why does that game even support D3D11? Did they remove D3D9 support or is that still an option?

@doitsujin I don't know, I was about to read the patch notes: https://wow.gamepedia.com/Warcraft_III/Patch_1.31.0
Looks like D3D9 is still an option:

Removed: -d3d (Replacement: -graphicsapi Direct3D9 [May be removed in the future])

Or try D3D11 with wined3d and see if that works.

I tried but I get a black window with sound.

It should even have a opengl switch if I remeber corectly

@Thaodan Yes, it's in the patch notes:

Remvoed: -opengl (Replacement: -graphicsapi OpenGL [May be removed in the future])

So i downloaded the game with the battle.net app, but i can't figure out how to actually launch the game. Running either x86_64/Warcraft III.exe or Warcraft III Public Test Launcher.exe just exit immediately, and it doesn't even show up in the battle.net app itself.

@Oschowa Hmm I didn't do anything special, just compile dxvk and install it in a new prefix. I always enable the 2 options from staging: enable VAAPI and EAX. And also run the 64 bits binary:
runaswine /home/GAMES/Warcraft\ III/x86_64/Warcraft\ III.exe

The Reforged Multiplayer Beta actually stopped working ~ 1,5 - 2 weeks ago after the last Night Elf patch (they were added as a playable race in the Beta). The -graphicsapi OpenGL did resolve the issue either The dxvk-1.4.6 release resolved the issue with the beta, by adding the required features and is now working perfectly again with the Reforged Beta.
Thanks! It's appreciated :-)

@ChazyTheBest So i downloaded the game with the battle.net app, but i can't figure out how to actually launch the game. Running either x86_64/Warcraft III.exe or Warcraft III Public Test Launcher.exe just exit immediately, and it doesn't even show up in the battle.net app itself.

You cannot install old Warcraft III from battle.net app (from app - only Reforged). To buy and install old Warcraft III you need buy it from battle.net shop and download original installers for Reign of Chaos and Frozen Throne.

Sharing finding from the other thread here: this game used DirectX 8 before the 1.31 patch:
https://github.com/doitsujin/dxvk/issues/1808#issuecomment-734039255
Also the game's OpenGL backend is as raggedy as it was since the early 2000s. I barely get 20FPS on a Threadripper + 1080Ti build with Warcraft's OpenGL renderer.
The DirectX backends don't have this issue, so it's best to try to get it working properly (via dxvk).
A telltale sign is no logs from DXVK during startup, and DXVK_HUD=1 having no effect. That means you fell into the OpenGL renderer.

@ChazyTheBest @avindra is this still an issue? If you are still around and able to test this.

Stale

Also wasn't able to reproduce with the same warcraft version and newest dxvk or 1.4.5
If any of you still have the issue then comment here again.


WIP - aws_future

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

Codecov Report
Patch coverage: 90.51% and project coverage change: +0.26 :tada:

Comparison is base (1378606) 79.43% compared to head (7b13c6f) 79.69%.

Additional details and impacted files
@@            Coverage Diff             @@
##             main     #572      +/-   ##
==========================================
+ Coverage   79.43%   79.69%   +0.26%
==========================================
  Files          25       26       +1
  Lines        5581     5718     +137
==========================================
+ Hits         4433     4557     +124
- Misses       1148     1161      +13

Impacted Files
Coverage Δ

source/future.c
90.51% <90.51%> (ø)

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Do you have feedback about the report comment? Let us know in this issue.

Can multiple callbacks be attached to a future (ie a list)?

Currently, just 1 callback, but we could support more by storing them in a list. I didn't want to support it without a real-world use-case in C. I know javascript promises let you chain callbacks nicely, but JS does nice things like: don't run 2nd callback if 1st callback raises exception.

Do we really need by-value results?

My first use of aws_future was to store a bool. It seemed annoying to define a custom aws_future_bool_result struct along with with aws_future_bool_result_new() and s_future_bool_result_destroy().
I got to this design 1 step at a time
In my 1st iteration result was always void*, and the "consumer" was required to take ownership of the result and clean it up properly.
Then the first time I tried to use it, the result was a bool, and it seemed really annoying to define a custom aws_future_bool_result struct along with with aws_future_bool_result_new() and aws_future_bool_result_destroy().
So my 2nd iteration had a few specific setters/getters for basic by-value types. e.g. set_bool() / get_bool() but I expected most use-cases to go through the set_pointer() / get_pointer() API.
This was decent. Look here in aws-c-s3 to see this API in use. You need to document the types stored in each future, and it's OK. But it's not 100% type-safe, and I've seen bugs with mis-use of aws_array_list that have taken years to notice, and I was inspired to try this macro-based-100% type-safe thing.
I'm OK ditching the macros, and just using comments to document the API. But I wanted to experiment with "templates in C via macros", so we could some day develop an aws_vector<T> API that is a safer and easier to use wrapper around aws_array_list.

Can multiple callbacks be attached to a future (ie a list)?

Currently, just 1 callback, but we could support more by storing them in a list. I didn't want to support it without a real-world use-case in C. I know javascript promises let you chain callbacks nicely, but JS does nice things like: don't run 2nd callback if 1st callback raises exception.

This wasn't a reference to chaining promises it was a reference to having multiple (sibling) listeners on the result.


Ergonomics of SiconosVector initialization

I propose that it would be good to make more use of the available ways to initialize SiconosVector throughout the code.  There is a lot of code that does things like,
SP::SiconosVector v = SP::SiconosVector(new SiconosVector(3));
v->zero();

or
v->setValue(0, 0);
v->setValue(1, 0);
v->setValue(2, 1);

There are many cases where it would be nice just to have something closer to Vector(value1, value2...).
Array initialization
I just discovered that SiconosVector actually has an initializer for a constant value, and an initializer for std::vector.  This means that currently with C++98, we can already do:
SP::SiconosVector zeroVector(new SiconosVector(3,0));

and
double a[] = {0,0,1};
SP::SiconosVector axis1(new SiconosVector(std::vector<double>(a, a+3)));

We can simplify the last one by adding SiconosVector const double* initializer with a size parameter,
double a[] = {0,0,1};
SP::SiconosVector axis1(new SiconosVector(a, 3));

or it's even possible to have a template function that infers the array size at compile time (quite clever, found on stack overflow),
template< typename T, size_t N >
SP::SiconosVector makeSiconosVectorSP( const T (&data)[N] )
{
  std::vector<T> v(data, data+N);
  return std11::make_shared<SiconosVector>(v);
}

which makes possible,
double a[] = {0,0,1};
SP::SiconosVector axis1 = makeSiconosVectorSP(a);

In fact I even found that the following two cases work:
SP::SiconosVector axis2(makeSiconosVector((double[]){0,0,1}));
SP::SiconosVector axis1(new SiconosVector((const double[]){0,0,1}, 3));

Although the latter fails without "const", and I am not sure that this is C++ standard -- however it works in both g++ and clang++ for me, with -std=c++98.  (g++ 5.4.0 and clang++ 3.8.0)
On the other hand if one extends SP::SiconosVector to a derived class, i.e.,
  class MySPSiconosVector : public std11::shared_ptr< ::SiconosVector >
  {
  public:
    template< typename T, size_t N >
    MySPSiconosVector( const T (&v)[N] )
      : std11::shared_ptr< ::SiconosVector >(
        std11::make_shared< ::SiconosVector >(v, N)) {}
  };

Then I can declare it very tersely indeed:
SP::MySPSiconosVector axis1((double[]){0,0,1});

I tried to verify that when compiled with C++11 no changes are needed to support initializer lists, because we support std::vector, so this should work,
SP::SiconosVector axis1(new SiconosVector({0.0, 0.0, 1.0}));
SP::MySPSiconosVector axis2({0.0, 0.0, 1.0});
SP::MySPSiconosVector axis2({0.0, 0.0, 1.0});

However both g++ and clang++ report ambiguity with the SiconosVector(const std::string& filename, bool b = true) constructor!  I don't know why, since they are clearly lists of doubles, but it would be really, really good to fix this for the future.
Temporarily removing the default value for the string constructor's bool for testing makes both cases work.  (Actually I had to make no changes to the Siconos codebase when I did this, but this might be because i have serialization turned off right now.)  You must provide floating point values, otherwise it infers the type wrongly.  I tested all these cases while fixing up the PrismaticJoint.cpp example, so I tested against a reference file and it did not generate errors.
To pose an actual question here, I guess I am wondering, for the examples at least, if anyone else thinks it would be good to "standardize" on a way to initialize "literal" SiconosVectors?  At the very least it would be nice to use the value initializer more instead of v->zero().  Adding the array/double* constructor would not be so impactful and might be useful.  Although a SiconosVector(const double* v, int size) constructor would be confusing in the second argument between "size, value" and "array, size"..  Perhaps it would be more consistent to have SiconosVector(int size, const double* v).
At the very least it would be cool if zero() returned the pointer to the SiconosVector, then you could do:
SP::SiconosVector v(new SiconosVector(3)->zero());

I tried adding the makeSiconosVector above as a templated constructor and that worked okay:
template< typename T, size_t N >
  SiconosVector( const T (&v)[N] ) : SiconosVector(N)
    { resize(N); for (int i=0; i<N; i++) setValue(i,v[i]); }

which makes possible in C++98:
SP::SiconosVector axis1(new SiconosVector((const double[]){0, 0, 1}));

But in fact the SP::SiconosVector v(new SiconosVector(..)) pattern is so common in Siconos that imho it would make a lot of sense to have a function for this.
Or possibly we should only add known-size array constructors to the proposed SiconosVector3/4/7 classes in #135. e.g.,
SiconosVector3(x,y,z);

Zero initialization
Another idea is to replace the "size" constructor with a boolean constructor for zero-initialization defaulting to true,
SiconosVector(unsigned row, bool zeroInitialize = true, Siconos::UBLAS_TYPE type = Siconos::DENSE);

so that by default we get zero vectors, and internally for performance we can explicitly specify not to zero the values. (Not that this is a performance bottleneck.)
In any case I think it would be good practice from a security point of view to force users to explicitly say when they don't want the vector initialized.
Unfortunately this seems to cause ambiguity with the SiconosVector(int, int) constructor, but if I put the bool after the type argument it works,
SiconosVector(unsigned row, Siconos::UBLAS_TYPE type = Siconos::DENSE, bool zeroInitialize = true);

which is not as nice but maybe okay for internal code.
I've tried these ideas and they compile without complications in both g++ and clang++.  If there is some agreement I'll make a PR for the const double* and zeroInitialize constructors, and maybe the template constructor... depending on opinions.  I am guessing that changing SP::SiconosVector to a class will be more controversial.  On the other hand adding a templated makeSiconosVectorSP() function would be really easy and useful. Or I could just add to #135.
Following this, some cleanup at least in the examples would nice, because it really takes you an extra 5 seconds to read the code when you come across something like this,
V1.setValue(2, 1);
V1.setValue(0, 3);
V1.setValue(1, 2);

I don't think this is in any way a pressing issue, but it would bring some "ergonomics" to Siconos, in my opinion.

I fixed the ambiguity with initializer lists in fd628978989fccb9a55027eb872a9945be9d3ba8, which I figure should be fairly uncontroversial.  Better to get c-dash to test it immediately.  For the other ideas I'll be more careful.

@radarsat1 Fully agree with all your proposition
Zero Initialization.
Clearly, we can initialize the vector to zero by default. It will cleanup the example but also the kernel code.
Array initialization
I am ok with your proposition.

Ok, I also got tired of the useless output from "print" in Python to I took the initiative of adding toString() for the other algebra types and added __str__() methods for SWIG.  Seems to work and not break anything so far..
I still hesitate with the double* and template initializers, they are cool but maybe aren't necessary with the ideas in #135, and with C++11 initializer lists.  (e.g., SiconosVector7 has a pre-defined size, so we can just have a constructor that takes 7 doubles.)  I do like the idea of providing dedicated shared_ptr creation functions, these could just be renamed make_shared<SiconosVector> functions in fact.
@bremond any thoughts?

I think that without c++11, even if we have fixed size vectors, the
double* and template initializer trick is interesting for all the
cases where the vector size is not 3, 4, 7 or whatever is predefined.
For bounded size arrays, the problem is that that this function
makeSiconosVectorSP works with some heap allocation and that is not
wanted, but we could have some specializations.
With c++11 and variadic template all of this may be greatly simplified.
In the end, I would like to have:
SiconosVector3 tmp = {1.0, 2.0, 3.0};
Let's switch to c++11.
Ok for the zero initialization. Maybe a global way to have NaN
initialization (for debug) ?

Let's implement that using initializer-list!
I agree that we should have a way to have an initialisation to signaling NaN for debug

Do we change something for the initialization ?

Transferred in wiki


Inform about downloading index

When using restic on a "slow" connection, it takes a while to download the index form the remote repository, and during this time restic just sits there without saying anything, leaving the user in the dark unless they check and see that there is much active network traffic.
It would be nice if restic at least notified the user that it's working on downloading the index, and even better output a progress/percentage during that time to keep the user updated. Something along the lines of Downloading index... 42%.

Yes, this is something we definitely need to work on, it also applies to other operations.

Still relevant :/

@MichaelEischer Can you point me towards what functions I should look at to implement the percentage of index files downloaded

@arjunajesh The index loading is implemented at internal/repository/repository.go in the method LoadIndex. That method would have to take an additional progress.Counter parameter (see internal/ui/progress/counter.go). Most commands will be able to use the counter implementation from cmd/restic/progress.go. For the backup and restore command, we'll need some adapter code which converts the progress bar output into something suitable for the termstatus.Terminal that is used to handle the output for these two commands.

@MichaelEischer Here is a solution that I came up with. I use the repo.list method to count how many index files exist in the backend. Is this an appropriate solution?
repo.List(ctx, restic.IndexFile, func(id restic.ID, size int64) error {
    numIndexFiles += 1
    return nil
})
bar := newProgressMax(!gopts.Quiet, uint64(numIndexFiles), "index files loaded")
defer bar.Done()

err = repo.LoadIndexModified(ctx, bar)

Additionally, could you elaborate on how the adapter code should work for backup and restore command? How should I write to the termstatus.Terminal?

Is there a simpler way to get the number of index files?

Not really, but the index counting can be moved inside LoadIndex: The Counter used for the progress bar has a SetMax method which allows updating the limit. That is the progress bar can be created with a hardcoded maximum of 0, which is afterwards updated by LoadIndex.

Additionally, could you elaborate on how the adapter code should work for backup and restore command? How should I write to the termstatus.Terminal?

newProgressMax uses a progress.Func that directly prints to os.Stdout.  It might be enough to create an alternative implementation of newProgressMax that uses something like term.SetStatus([]string{formattedProgress}) to print the output. As both functions would return a progress.Counter, this would then allow LoadIndex to work with either one.

Thanks for the help, I am getting close to a PR. I just need some clarification on how I should handle all the calls of LoadIndex (which now takes an additional progress.Counter) in /internal. The implementation of newProgressMax is in cmd/restic/progress.go and so I can't use it in a lot of the test files that call LoadIndex in the internal directory. My instinct is to modify LoadIndex to handle nil for progress.Counter parameter, but I wanted to ask before I implement this. Thanks!

My instinct is to modify LoadIndex to handle nil for progress.Counter parameter, but I wanted to ask before I implement this.

@arjunajesh For most tests using nil in place of a progress.Counter is the best solution.


Assigning variables

From the docs, the assigning of variables goes thus:
ti abd = "abd"

But, ti in Yoruba actually means if that's If I'm not mistaking and let ( which I assume you translated to ti ) should be jẹki instead. Lmk know your thoughts. I was thinking of fixing and sending a PR but it's wise to discuss it first.

True

Jeki is very perfect

Ok.cool.
On Wed, Dec 5, 2018, 06:50 yomi kolawole<EMAIL_ADDRESS>wrote:

Jeki is very perfect
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/anoniscoding/yorlang/issues/19#issuecomment-444367365,
or mute the thread
https://github.com/notifications/unsubscribe-auth/Adkrjxgxmul4NBZgDe9_UCL_MnlqjWdoks5u116IgaJpZM4ZBpWZ
.

Haha nice!

Yeah, i've changed it in the latest version(1.0.5) to jeki

thanks @Youngestdev


Clarity on TCP 80 (HTTP)/Out/WAN marked as Required:No

In section Port requirements for Azure Stack Edge, TCP PORT 80 on WAN interface is added. But is marked as Required:No. Does that mean outbound TCP port 80 need not be opened on the WAN firewall? If that is the case, could it just not have been omitted from the document altogether?

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

ID: 395c3c72-ce27-3bf7-409b-31c9dd1883de
Version Independent ID: 7c5f3e7b-d371-3fa1-55c1-398e40ee8950
Content: Microsoft Azure Stack Edge system requirements
Content Source: articles/databox-online/azure-stack-edge-system-requirements.md
Service: databox
Sub-service: edge
GitHub Login: @alkohli
Microsoft Alias: alkohli

@kiranpradeep Thanks for the feedback. I have assigned the issue to the content author to evaluate and update as appropriate.

As per discussion with engg, the doc was retained as such. #please-close


add server-side caching

Update some dependencies (gomock, flake hash)
Add and fix tests
Add caching to room

Clear cache after video ends
Save video duration on Worker and check cache individually wrt. duration


Missing tags for current beta release

In fact: missing git tags for almost all releases.
And docs are missing too.
It would be great if you could choose an API and do the v7 release @neoeinstein Pretty please?

Working to get there.


Is it possible to run a remote profile for Firefox?

Hello,
Is it possible to run a remote profile for Firefox?
also to install remote extension?
install_addon return error
Thank you

@SHELA yes, this is possible. Just set profile capability to RemoteWebDriver.

@vania-pooh what about chrome profile, is it possible ?

Closing in favor to #930.


Cannot connect node from rest-gateway

Describe the bug
I started symbol-bootstrap, but healthCheck is not OK. When I check the log, the connection from the rest-gateway to the node is in error. Is there a way to solve this?
 Polling will stop in 50.835 seconds
Unavailable","body":"{\"status\":{\"apiNode\":\"down\",\"db\":\"up\"}}"}
    Error: Network did NOT start!!!

docker error
$ cd target/docker
docker $ docker-compose logs -f rest-gateway
rest-gateway    | verbose: connecting to node:7900 {"timestamp":"2021-11-14T12:50:49.830Z"}
rest-gateway    | error: caught error 503 connection failed {"body":{"code":"ServiceUnavailable","message":"connection failed"},"jse_info":{},"jse_shortmsg":"connection failed","stack":"ServiceUnavailableError: connection failed\n    at Object.createServiceUnavailableError (/app/catapult-rest/rest/src/server/errors.js:56:44)\n    at TLSSocket.<anonymous> (/app/catapult-rest/rest/src/connection/catapultConnection.js:27:53)\n    at Object.onceWrapper (events.js:421:26)\n    at TLSSocket.emit (events.js:326:22)\n    at net.js:675:12\n    at TCP.done (_tls_wrap.js:568:7)","timestamp":"2021-11-14T12:50:49.841Z"}

Desktop (please complete the following information):

OS: CentOS 7.9
Tool Version：symbol-bootstrap/1.1.0 linux-x64 node-v12.22.6
Docker Version：Docker version 20.10.5, build 55c4c88
Node Version：v12.22.6

It seems like the catapult client did not run correctly and Rest cannot connect to it. Rest is ok, just the client is down. Do you have catapult logs?


Update channel-settings.md

Wondering if we should also mention managing members and adding members in this doc?

+1


Can't find 10token data

Hi, I'm trying to run python -m run +alg=mend +experiment=gen +model=distilgpt2 data.wiki_webtext=False, but I get a file not found error for data/10token/data/self_sample/train.json. I downloaded 10token from the linked google drive folder and unzipped it to data/10token. However, when I unzip it, all I get is a single 10token file, no train.json. Not sure if I'm missing something here. Thanks!

After unzipping the Google Drive file (which contains 10token/data/self_sample/*.json, you should move the top-level 10token directory into the data directory inside of the top-level mend directory. Please re-open if you're still having trouble with this!

@salemohamedo the file format is tar.gz
tar -xf 10token.zip


Why did I modify the “sidebar” parameter and still can't see the sidebar after compiling?

code.txt

NexT is rebased into organization repo.
If you want new feature, fix, or support, create new in NexT v6.x repo (desirable in English).
There is instructions on English or Chinese how to update from v5.1.x to v 6.x
You also may read this for details.


Add --min-size, --max-size

From email

5/ You could also add a filter by size, so that users who want in priority to slim their library can focus on the largest videos first, with something like
--minSize
--maxSize

--min-size SIZE would only export photos >= SIZE
--max-size SIZE would only export photos <= SIZE
This would be useful for people that want to export large videos from the Photos library then delete those videos to slim down the library.
Should make it smart enough to read the size in a variety of ways:
12345 = bytes
1234k = 1234K = KB
12m = 12M = MB
1g = 1G = GB

Use bitmath for human readable sizes

Added in https://github.com/RhetTbull/osxphotos/releases/tag/v0.42.4


Bump golang.org/x/tools dependency version

Describe the PR
Update the golang.org/x/tools dependency from v1.0.10 to v1.0.12. This resolves a number of transitive vulnerabilities from the outdated version:

https://www.mend.io/vulnerability-database/CVE-2022-27664
https://www.mend.io/vulnerability-database/CVE-2012-6708
https://www.mend.io/vulnerability-database/CVE-2015-9251
https://www.mend.io/vulnerability-database/CVE-2020-11022

To be honest, I haven't looked into whether these vulnerabilities are actually exploitable in a project that uses swag, but since the unit tests pass with the updated library I figured it's probably an easy change.
Relation issue
https://github.com/swaggo/swag/issues/1337
Additional context
n/a

@sa7mon Thanks for your contribution.


Fix intermittent result on Windows

Uninstalling a pack means that the file pack.idx is touched, changing its modified time. This is later validated by cpackget
tests, meaning that the modified time of pack.idx before and after pack removal should be different.
Here's a pseudo code explaining the problem:
mtime_before = stat(pack.idx, mtime)
RemovePack() # should touch pack.idx, changing its modified time (mtime)
mtime_now = stat(pack.idx, mtime)
assert.True(mtime_before < mtime_now)

On Linux/Mac systems, the modified time is recorded with a higher precision if compared to Windows. So if the "RemovePack()" operation happens to run fast enough, both mtimes will be the same thus breaking the test depending on the load of the testing system at that specific time.
Since this is just a test thing, sleeping on windows should be fine to make sure this test runs correctly.

@jkrech Please don't merge this yet. I'll re-run Github checks a few times to make sure the intermittent test is really fixed.

OK, I re-run this 3 times and now it seems it's fixed.

Merging this for now, and will keep an eye for future intermittent errors like this


Calculator Test Failed

Hi,
The calculator test was failing on my Windows 11 Pro laptop.
Though the Calculator App was launched successfully, I got the below error after launch:
System.InvalidOperationException
HResult=0x80131509
Message=Unable to find Windows.UI.Core.CoreWindow|WinUIDesktopWin32WindowClass in {Calculator, ApplicationFrameWindow, }
Source=WebDriver
StackTrace:
at OpenQA.Selenium.Remote.RemoteWebDriver.UnpackAndThrowOnError(Response errorResponse)
at OpenQA.Selenium.Remote.RemoteWebDriver.Execute(String driverCommandToExecute, Dictionary2 parameters)    at OpenQA.Selenium.Remote.RemoteWebDriver.StartSession(ICapabilities desiredCapabilities)    at OpenQA.Selenium.Remote.RemoteWebDriver..ctor(ICommandExecutor commandExecutor, ICapabilities desiredCapabilities)    at OpenQA.Selenium.Appium.AppiumDriver1..ctor(Uri remoteAddress, ICapabilities desiredCapabilities)
at CalculatorTest.CalculatorSession.Setup(TestContext context) in C:\YWinAppDriver\YWinAppDriver-<IP_ADDRESS>\examples\CalculatorTest\CalculatorSession.cs:line 42
at CalculatorTest.ScenarioStandard.ClassInitialize(TestContext context) in C:\YWinAppDriver\YWinAppDriver-<IP_ADDRESS>\examples\CalculatorTest\ScenarioStandard.cs:line 94
I had to add else loop after line 54 in UIObjectHelper.cs to make it work
The below is how my code looks now
...
...
50   if (currentTimeout < 0 && element == null)
51   {
52     throw new UIObjectNotFoundException(
53       $"Timeout after ${timeoutInMilliseconds}: Unable to find {string.Join("|", classNames)} in {topWindow}");
54   }
55   else      // by Saif
56   {
57     break;
58   }
...
...
Just want a confirmation, is this correct? Or am I missing something?
Thanks,
Saif.

Well, did things work with your code change? You could test it out as one way to confirm as well.

Yes! My code changes doe work.

First, we need to know why the matching failed.

It maybe the calculator app is changed, and the existing matching is not enough to match the app. The app will always fail in this case, and need code fix it.
timeout. The matching depends on a timer. You may workaround the issue either increasing the 300ms timeout

or using title matching


[WIP] Feat: add chart template for multicluster gateway

What this PR does / why we need it:
Which issue(s) this PR fixes:

Fixes #
Special notes for your reviewer:

This PR is merged in #2247.


Updated cross function

Fixes #5531
Changes proposed in this pull request:

made the cross function return an empty array if there is no matching rows

@wetneb
I made another pull request, Thanks, I hope this one passes

user@DESKTOP-VCH2N0O MINGW64 ~/IdeaProjects/OpenRefine (master)
$ mvn formatter:format
[INFO] Scanning for projects...
[INFO] Inspecting build with total of 12 modules...
[INFO] Installing Nexus Staging features:
[INFO]   ... total of 12 executions of maven-deploy-plugin replaced with nexus-staging-maven-plugin
[INFO] ------------------------------------------------------------------------
[INFO] Reactor Build Order:
[INFO]
[INFO] OpenRefine                                                         [pom]
[INFO] OpenRefine - main                                                  [jar]
[INFO] OpenRefine - server                                                [jar]
[INFO] OpenRefine - extensions                                            [pom]
[INFO] OpenRefine - Jython extension                                      [jar]
[INFO] OpenRefine - Wikibase extension                                    [jar]
[INFO] OpenRefine - Database extension                                    [jar]
[INFO] OpenRefine - Gdata extension                                       [jar]
[INFO] OpenRefine - PC-axis extension                                     [jar]
[INFO] OpenRefine - Phonetic clustering extension                         [jar]
[INFO] OpenRefine - packaging                                             [pom]
[INFO] OpenRefine Java JMH benchmarks                                     [jar]
[INFO]
[INFO] ---------------------< org.openrefine:openrefine >----------------------
[INFO] Building OpenRefine 3.8-SNAPSHOT                                  [1/12]
[INFO] --------------------------------[ pom ]---------------------------------
[INFO]
[INFO] --- formatter-maven-plugin:2.17.1:format (default-cli) @ openrefine ---
[INFO]
[INFO] ------------------------< org.openrefine:main >-------------------------
[INFO] Building OpenRefine - main 3.8-SNAPSHOT                           [2/12]
[INFO] --------------------------------[ jar ]---------------------------------
[INFO]
[INFO] --- formatter-maven-plugin:2.17.1:format (default-cli) @ main ---
[INFO] ------------------------------------------------------------------------
[INFO] Reactor Summary for OpenRefine 3.8-SNAPSHOT:
[INFO]
[INFO] OpenRefine ......................................... SUCCESS [  3.516 s]
[INFO] OpenRefine - main .................................. FAILURE [  0.409 s]
[INFO] OpenRefine - server ................................ SKIPPED
[INFO] OpenRefine - extensions ............................ SKIPPED
[INFO] OpenRefine - Jython extension ...................... SKIPPED
[INFO] OpenRefine - Wikibase extension .................... SKIPPED
[INFO] OpenRefine - Database extension .................... SKIPPED
[INFO] OpenRefine - Gdata extension ....................... SKIPPED
[INFO] OpenRefine - PC-axis extension ..................... SKIPPED
[INFO] OpenRefine - Phonetic clustering extension ......... SKIPPED
[INFO] OpenRefine - packaging ............................. SKIPPED
[INFO] OpenRefine Java JMH benchmarks ..................... SKIPPED
[INFO] ------------------------------------------------------------------------
[INFO] BUILD FAILURE
[INFO] ------------------------------------------------------------------------
[INFO] Total time:  6.604 s
[INFO] Finished at: 2023-03-21T21:58:30+01:00
[INFO] ------------------------------------------------------------------------
[ERROR] Failed to execute goal net.revelc.code.formatter:formatter-maven-plugin:2.17.1:format (default-cli) on project main: Cannot find config file [C:/Users/user/IDEs/eclipse/Refine.style.xml] -> [Help 1]
[ERROR]
[ERROR] To see the full stack trace of the errors, re-run Maven with the -e switch.
[ERROR] Re-run Maven using the -X switch to enable full debug logging.
[ERROR]
[ERROR] For more information about the errors and possible solutions, please read the following articles:
[ERROR] [Help 1] http://cwiki.apache.org/confluence/display/MAVEN/MojoExecutionException
[ERROR]
[ERROR] After correcting the problems, you can resume the build with the command
[ERROR]   mvn  -rf :main

That is the error i got

Nope, the file does not exist in that location.
When I checked the version this is what i got
C:\Users\user>mvn -v
Apache Maven 3.9.1 (2e178502fcdbffc201671fb2537d0cb4b4cc58f8)
Maven home: C:\Program Files\Maven\apache-maven-3.9.1
Java version: <IP_ADDRESS>, vendor: Oracle Corporation, runtime: C:\Program Files\Java\jdk-<IP_ADDRESS>
Default locale: en_GB, platform encoding: UTF-8
OS name: "windows 10", version: "10.0", arch: "amd64", family: "windows"
Thank you so much, it passed already, so if I pull from this branch , it should run fine, right?

@wetneb
The second commit for the test, the checks are still yet pass, what do I do?

No it should not be needed, the code is already formatted correctly.


[1.28] sap.ui.table.Table#removeColumn returns the table

In sap.ui.table/src/sap/ui/table/Table.js:1956 theres the implementation for removeColumn:
Table.prototype.removeColumn = function (oColumn) {
    this.removeAggregation('columns', oColumn);
    this._bDetermineVisibleCols = true;
    return this;
};

(see https://github.com/SAP/openui5/blob/master/src/sap.ui.table/src/sap/ui/table/Table.js#L1956)
It clearly returns this (the Table).
The documentation on the other hand states:
Returns:
    {sap.ui.table.Column}	the removed column or null

(see https://openui5.hana.ondemand.com/#docs/api/symbols/sap.ui.table.Table.html#removeColumn)
This change, introduced between 1.26 and 1.28, changed the behavior of the method and it behaves different then other remove[AggregationName] methods do.

Hi themasch,
thanks for reporting this. We will have a look into this. Internal reference:<PHONE_NUMBER>
Best! thilo

Hi themasch,
thanks for reporting this issue. It's fixed now in the current master.
https://github.com/SAP/openui5/commit/e689271e2b1a6d28efd2ab0a09387bf121396419
Best regards
Sebi


Not waiting for iOS internet permissions

Problem
When launching an app for the first time on iOS, if it requires an internet connection then the default iOS dialog to request internet permissions pops up after starting the app.

On older versions it seems this would be waited for before proceeding to run the main app, however on recent versions this behaviour has changed.
This means that for apps which rely on an internet connection from the main screen they are likely to just hang or not load correctly at all. This actually resulted in one of my apps being rejected as it would just hang when the testers first launched it.
This can be easily reproduced by creating an app with a webview with a loadRequest - it has impacted a couple of different apps I work on which rely on loading data in the background immediately. This is however not limited to web views - I also have some apps loading the latest config / data in the background before runApp() which are now also broken.
Possible Solutions?

Check & wait for permission before running main()
Implement a way to manually await and check for this permission to be granted (not available as far as I can see?)

Code Sample
add to pubspec.yaml:
webview_flutter: ^4.0.7
import 'package:flutter/material.dart';
import 'package:webview_flutter/webview_flutter.dart';

void main() {
  runApp(const MyApp());
}

class MyApp extends StatelessWidget {
  const MyApp({super.key});

  // This widget is the root of your application.
  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      title: 'Webview Demo',
      theme: ThemeData(
        primarySwatch: Colors.blue,
      ),
      home: const MyHomePage(),
    );
  }
}

class MyHomePage extends StatefulWidget {
  const MyHomePage({super.key});

  @override
  State<MyHomePage> createState() => _MyHomePageState();
}

class _MyHomePageState extends State<MyHomePage> {
  late WebViewController _controller;

  @override
  void initState() {
    _controller = WebViewController()
      ..loadRequest(
        Uri.parse("https://my.raceresult.com"),
      );
    super.initState();
  }

  @override
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(
        title: Text("Webview Demo"),
      ),
      body: Center(
        child: WebViewWidget(
          controller: _controller,
        ),
      ),
    );
  }
}

@elliotrtd
Can you make use of https://pub.dev/packages/permission_handler and see if it helps to resolve your issue ?

@darshankawar
I use the permission _handler package in other places, but unfortunately does not contain anything for handling internet permissions.
I could be wrong but I believe this is a breaking change in the Flutter framework somewhere for which we're left without a solution, I don't recall facing this issue when I originally launched my apps.

@darshankawar
Could that be missed as a breaking change? It doesn't fundamentally change the way a function works per se - so it doesn't itself break the app from working - but stops certain elements from functioning on new installs.
As mentioned this only impacts iOS and the networking info only references Android / MacOS platforms
Thanks for your help with this!

I tried to replicate it using the code sample provided on iOS. I deleted the sample app and ran the code, turned OFF wifi but it didn't show me the permission dialog.  Are you able to consistently see the permission dialog upon running the code sample ? If yes, can you provide iOS version / device along with flutter doctor -v that shows this ? because permissions on iOS are disabled by default if I am not wrong.