Add the isMerging function

I shouldn't prepare pull requests while drinking - very sorry.

I made a pr in your fork to fix it a bit.

@SJMakin
When trying to use the script, the function is not defined in the script...
Uncaught TypeError: that.isMerging is not a function.


Refactoring data loading utilities

Among other things, this aims at solving #837 and #854.
This sorts out the data loading utilities a bit better, I think. Examples of how the current "training" and "inference" data loader behaviors can be recovered is included in examples/loader_example.py.
Main ideas:

Extracting many of the responsibilities currently on the data loader into standalone components. Examples:

Having a "stateful" iteration, which resumes from where it left, can simply use Python's iter.
Having a "cyclic" iteration for when a single epoch needs to go through the time series more than once, can be done in a separate component (non-allocating, unlike Python's cycle).
Pseudo-shuffling an iterator can be independent (this was already so on master) and applied where one desires (e.g. before or after the transformation).
If we want to use indexable dataset types, we can instead use proper shuffling that samples uniformly among the time series (not there yet).

The data loader becomes an extremely simple piece that just batches data entries
The batching function can be customized with an "array constructor", that stacks arrays to the appropriate type (numpy, mxnet, pytorch, tensorflow, ...)

Also there:

Minor changes to TransformedDataset

Missing:

[x] Add multiprocessing
[x] Make sure processes don't hang (deadlocks)
[x] Remove dependency on MXNet for the loader.py module
[ ] Benchmark against existing code
[ ] Make sure all processes are correctly terminated in case of interrupts or error in a subprocess
[ ] Make tests pass
[ ] Solve #941
[ ] Add docstrings

By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.

Codecov Report

Merging #898 into master will decrease coverage by 0.23%.
The diff coverage is 37.93%.

@@            Coverage Diff             @@
##           master     #898      +/-   ##
==========================================
- Coverage   85.77%   85.54%   -0.24%
==========================================
  Files         195      196       +1
  Lines       11840    11895      +55
==========================================
+ Hits        10156    10175      +19
- Misses       1684     1720      +36

Impacted Files
Coverage Δ

src/gluonts/evaluation/backtest.py
85.55% <ø> (ø)

src/gluonts/shell/train.py
90.69% <ø> (ø)

src/gluonts/dataset/loader_v2.py
33.33% <33.33%> (ø)

src/gluonts/transform/dataset.py
100.00% <100.00%> (ø)

  * Having a "stateful" iteration (i.e. which resumes from where it left)

This could probably be done by just using iter

I refactored the code so that the new data-loader is supported.
However, there seems to be 3 errors due to the MultiProcessIterator not really supporting inference or validation datasets; will have to investigate.

I refactored the code so that the new data-loader is syntactically supported.
However, there seems to be 3 errors due to the MultiProcessIterator not really supporting inference or validation datasets; will have to investigate.

At inference time you probably don't want to use multi processing, since you want to keep things in the original order.

@AaronSpieler let's avoid merge commits please, the diff is now a mess. Just use rebase, the PR should only show relevant commits and diffs against master

I refactored the code so that the new data-loader is syntactically supported.
However, there seems to be 3 errors due to the MultiProcessIterator not really supporting inference or validation datasets; will have to investigate.

At inference time you probably don't want to use multi processing, since you want to keep things in the original order.

Well, sometimes. Most of the time when evaluating a model we don't care about the ordering. I think this should be something the user should be able to set. In any case, we could run InferenceDataLoader using multiprocessing and then reorder the output if desired.

@AaronSpieler and I did a quick proof of concept of using this data loader and the Predictor/Evaluation framework with a simple PyTorch model.
PyTorch_GluonTSPOC.zip
We conclude that:

The new TrainDataLoader is compatible with a PyTorch training setup.

Except for the serialization, the PyTorch Predictor needs only minor changes (basically just concerning the device parameter).

However, the SampleForecastGenerator is not framework agnostic, since the frameworks have different methods to transform tensors to numpy (.data.numpy() in PyTorch vs. asnumpy()). Currently, the PythonForecastGenerator needs a lot of code copying, which we need to address.

@lostella I have a new branch based on this one with 3 commits that consolidate the new data loader with the rest of the framework. All tests pass locally.

https://github.com/AaronSpieler/gluon-ts/tree/lostella_based_mp_dl
I hard coded num_workers=None for the InferenceDataLoader and ValidationDataLoader.

A few thoughts on the new data-loader concept:

It is completely based on Iterables an thus:

will not support splitting the dataset across workers efficiently
will not support multiprocessing for inference and validation loader
will not allow for generic global sampling strategies

the "sampling through splitting the time series at different points" will have to remain a transformation
we restrict ourselves again to sequentially processing time series per worker, essentially imposing a sort of ordering on the dataset (relaxed through the buffer based shuffling)

we could take the framework dependent batchify function concept to the old multiprocessing data loader (maybe together with the queue for the batches and the more elegant stopping logic) and recover the framework independent property whilst retraining the option to use multiprocessing on validation and inference data
The major benefit of the new data loader I see is the simplified code and the cleaner stopping logic

I would strongly advise against basing a new data loader on Iterables since such a data loader will come with many restriction (some mentioned above), and rather base it on Collections.

I would strongly advise against basing a new data loader on Iterables since such a data loader will come with many restriction (some mentioned above), and rather base it on Collections.

@AaronSpieler I'm not sure: data loading results in a sequence of batches, so iterators are perfectly fine to encode that.
What could be (optionally) represented as collections are datasets: that will allow more flexibility for example in shuffling.
Most importantly, this PR is not based on iterators neither more nor less than the current data loader from master: it's just as much I would say. Do you agree @AaronSpieler that all drawbacks you see are shared with the data loader in master? (Just as a reminder: the first goal here is to make the code simpler and better decoupled without sacrificing anything compared to master; it's not supposed to be final wrt to every aspect)

I would strongly advise against basing a new data loader on Iterables since such a data loader will come with many restriction (some mentioned above), and rather base it on Collections.

@AaronSpieler I'm not sure: data loading results in a sequence of batches, so iterators are perfectly fine to encode that.
What could be (optionally) represented as collections are datasets: that will allow more flexibility for example in shuffling.
Most importantly, this PR is not based on iterators neither more nor less than the current data loader from master: it's just as much I would say. Do you agree @AaronSpieler that all drawbacks you see are shared with the data loader in master? (Just as a reminder: the first goal here is to make the code simpler and better decoupled without sacrificing anything compared to master; it's not supposed to be final wrt to every aspect)

Yes, to have the overall data-loader encoded as an Iterator is perfectly fine.
Yes, I meant to say that we should rather consider datasets to be collections instead of Iterables or Iterators.
Yes, the drawbacks I mentioned also apply to the current data-loader in the master branch.
Ahh, I understand, I wan't aware that the only goal for now was the simplification of the code.
However, we would loose multiprocessing capability of the validation and test dataset with this data-loader design. A sacrifice  that is potentially worth it.

The GPU utilization during training is similar to the current data loader's performance:
Model training performance using the data loader of this branch (DeepAR, M4_hourly, ml.p3.2xlarge, 1000 epochs):

Model training performance using the current master data loader (DeepAR, M4_hourly, ml.p3.2xlarge, 2000 epochs):


fixed badges, now they point to master

The badges for travis, appveyor, coveralls now point to master.

Coverage remained the same at 86.033% when pulling 88f8fa4e8c4649dd8a96b3d7d4f55149cae02c95 on pbharrin-patch-3 into 3f651373e9ea2b0f657f8886be95a590b8987683 on master.

Coverage remained the same at 86.033% when pulling 88f8fa4e8c4649dd8a96b3d7d4f55149cae02c95 on pbharrin-patch-3 into 3f651373e9ea2b0f657f8886be95a590b8987683 on master.

Coverage remained the same at 86.033% when pulling c9bd28007cc5e4b8c0f9248361093d5a28080cd4 on pbharrin-patch-3 into bed2a29759badf8afab429ef9955a5b79dfaa1e3 on master.

@pbharrin : Could you please resolve the conflict?


Fix for close() method of QdrantLocal class

When the close() method of the QdrantLocal class is called,
it should also close() the file 'self._flock_file'.
All Submissions:

[ ] Contributions should target the dev branch. Did you create your branch from dev?
[ ] Have you followed the guidelines in our Contributing document?
[ ] Have you checked to ensure there aren't other open Pull Requests for the same update/change?

@FranckZibi thank you for the contribution!


Update the references of Land Use Public Notification to Public Notification

[x] Config.js
[x] default.htm
[x] localizedstring.js
[x] help.htm

https://github.com/Esri/land-use-public-notification/commit/06e9f7836debabdd401cd424acbeedd606a94c44

verified


npm ERR! error installing<EMAIL_ADDRESS>invalid version<EMAIL_ADDRESS><1.5.0-')

npm ERR! error installing<EMAIL_ADDRESS>npm ERR! Error: No compatible version found<EMAIL_ADDRESS><1.5.0-'
npm ERR! Valid install targets:
npm ERR! ["0.0.1","0.0.2","0.0.3","0.0.4","0.0.5","0.0.6","0.1.0","0.2.0","0.2.1","0.2.2","0.2.3","0.2.4","0.2.5","0.2.6","0.2.7","0.3.0","0.4.0","0.5.0","0.5.1","0.5.2","0.5.3","0.5.4","0.5.5","0.5.6","0.5.7","0.5.8","0.5.9","0.5.10","1.0.0","1.0.1","1.7.2","1.7.3","1.8.0","1.8.1","1.8.2","1.8.3","1.8.4","1.8.5"]
npm ERR!     at installTargetsError (/usr/local/lib/node_modules/npm/lib/cache.js:488:10)
npm ERR!     at next_ (/usr/local/lib/node_modules/npm/lib/cache.js:438:17)
npm ERR!     at next (/usr/local/lib/node_modules/npm/lib/cache.js:415:44)
npm ERR!     at /usr/local/lib/node_modules/npm/lib/cache.js:408:5
npm ERR!     at Object.saved [as oncomplete] (/usr/local/lib/node_modules/npm/lib/utils/npm-registry-client/get.js:147:7)
npm ERR! Report this entire log at:
npm ERR!     http://github.com/isaacs/npm/issues
npm ERR! or email it to:
npm ERR<EMAIL_ADDRESS>npm ERR!
npm ERR! System Darwin 10.8.0
npm ERR! command "node" "/usr/local/bin/npm" "install" "--dev"
npm ERR! node -v v0.6.7
npm ERR! npm -v 1.1.0-beta-10
npm ERR! message No compatible version found<EMAIL_ADDRESS><1.5.0-'
npm ERR! message Valid install targets:
npm ERR! message ["0.0.1","0.0.2","0.0.3","0.0.4","0.0.5","0.0.6","0.1.0","0.2.0","0.2.1","0.2.2","0.2.3","0.2.4","0.2.5","0.2.6","0.2.7","0.3.0","0.4.0","0.5.0","0.5.1","0.5.2","0.5.3","0.5.4","0.5.5","0.5.6","0.5.7","0.5.8","0.5.9","0.5.10","1.0.0","1.0.1","1.7.2","1.7.3","1.8.0","1.8.1","1.8.2","1.8.3","1.8.4","1.8.5"]
npm ERR!

That's only a devDependency at least. Do you get this error doing npm install . in the project directory or installing from npm directly? I see that<EMAIL_ADDRESS>has an engines field that only works in node 0.4.x:
  engines: { node: '>= 0.4.1 < 0.5.0' },

I'm getting this in the project dir. I'm installing the package as dependency to another package which I'm installing with "npm install --dev". It works with "npm install" as it's not fetching the dev dependencies.

I'm getting this error also.


Error when running on ubuntu

Summary
Running this on WSL 2 using ubutnto 20.04. command used to run was python3 BlobHunter.py and sudo python3 BlobHunter.py
after installing requirements
Traceback (most recent call last):
File "BlobHunter.py", line 19, in get_credentials
stderr=subprocess.DEVNULL).decode("utf-8")
File "/usr/lib/python3.6/subprocess.py", line 356, in check_output
**kwargs).stdout
File "/usr/lib/python3.6/subprocess.py", line 438, in run
output=stdout, stderr=stderr)
subprocess.CalledProcessError: Command 'az account show --query user.name' returned non-zero exit status 127.
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "BlobHunter.py", line 222, in
main()
File "BlobHunter.py", line 204, in main
credentials = get_credentials()
File "BlobHunter.py", line 22, in get_credentials
subprocess.check_output("az login", shell=True, stderr=subprocess.DEVNULL)
File "/usr/lib/python3.6/subprocess.py", line 356, in check_output
**kwargs).stdout
File "/usr/lib/python3.6/subprocess.py", line 438, in run
output=stdout, stderr=stderr)

Hi @ryan-4824,
Did you install Azure CLI on the Ubuntu machine?


Question about time step is different between input and output.

Really thank you for your excellent contribution of STL.
However, I cannot forecast using SimVP mdoel while time step of  input and output are different. So, I'd like to ask for the solving.
e.g.
input of the model is like B * T1 * C1 * H * W.
I'd like to got a output whose shape is B * T2 * C2 * H * W, which T2 is longer than T1.

Hi,
We have provided pre_seq_length and aft_seq_length in the SimVP model to accommodate video frames of varying lengths. These parameters can be adjusted to suit the requirements of your specific project.

Hi,
We have provided pre_seq_length and aft_seq_length in the SimVP model to accommodate video frames of varying lengths. These parameters can be adjusted to suit the requirements of your specific project.

Really thank you for your reply.
I have a idea of  how you implemented this. However, is that ignored different temporal information, only using dupicated prediction?
In fact, I have tried to modify the code on openstl in this days. Do you think that is the other idea to solve this problem, I add the Conv2d 1*1 to transform time dim of skip  into T2.

We tried this strategy and found that the two strategies usually get similar performance. The current strategy have less parameters, so we chose it.

We tried this strategy and found that the two strategies usually get similar performance. The current strategy have less parameters, so we chose it.

I got it. Really thank you again!

I will close this issue if there is no more question. Please feel free to open a new issue when you have new questions.


Fix weight params in conv1d and conv2d

Checklist

[ ] Confirmed that run-checks all script has been executed.
[ ] Made sure the book is up to date with changes in this PR.

Changes
Make weights in conv1d and conv2d public

Need to add comments and docs. Will do that soon (tomorrow)


[Bug]: Quickstart fails to run!

AgentScope is an open-source project. To involve a broader community, we recommend asking your questions in English.
Describe the bug
A clear and concise description of what the bug is.
Quickstart fails to run
To Reproduce
Steps to reproduce the behavior:
Code:
import agentscope
azure_cfg_dict = {
"config_name": "lite_llm_azure",
"model_type": "litellm_chat",
"model_name": "gpt-4",
"api_key": "xxx",
"api_base": "xxx",
"api_version": "xxx",
},
agentscope.init(model_configs=[openai_cfg_dict])
dialogAgent = DialogAgent(name="assistant", model_config_name="gpt-4", sys_prompt="You are a helpful ai assistant")
from agentscope.message import Msg
message_from_alice = Msg("Alice", "Hi!")
print(dialogAgent(message_from_alice))
Expected behavior
Correct output
Error messages
Traceback (most recent call last):
  File "/Users/mikelueck/GitHub/agentscope_playground/main.py", line 1, in <module>
    import agentscope
  File "/Users/mikelueck/Library/Caches/pypoetry/virtualenvs/muser-scene-agent-BPyGuuEz-py3.11/lib/python3.11/site-packages/agentscope/__init__.py", line 5, in <module>
    from . import agents
  File "/Users/mikelueck/Library/Caches/pypoetry/virtualenvs/muser-scene-agent-BPyGuuEz-py3.11/lib/python3.11/site-packages/agentscope/agents/__init__.py", line 3, in <module>
    from .agent import AgentBase, DistConf
  File "/Users/mikelueck/Library/Caches/pypoetry/virtualenvs/muser-scene-agent-BPyGuuEz-py3.11/lib/python3.11/site-packages/agentscope/agents/agent.py", line 17, in <module>
    from agentscope.memory import TemporaryMemory
  File "/Users/mikelueck/Library/Caches/pypoetry/virtualenvs/muser-scene-agent-BPyGuuEz-py3.11/lib/python3.11/site-packages/agentscope/memory/__init__.py", line 8, in <module>
    from .temporary_memory import TemporaryMemory
  File "/Users/mikelueck/Library/Caches/pypoetry/virtualenvs/muser-scene-agent-BPyGuuEz-py3.11/lib/python3.11/site-packages/agentscope/memory/temporary_memory.py", line 17, in <module>
    from ..service.retrieval.retrieval_from_list import retrieve_from_list
  File "/Users/mikelueck/Library/Caches/pypoetry/virtualenvs/muser-scene-agent-BPyGuuEz-py3.11/lib/python3.11/site-packages/agentscope/service/__init__.py", line 29, in <module>
    from .multi_modality.dashscope_services import (
ModuleNotFoundError: No module named 'agentscope.service.multi_modality'

Environment (please complete the following information):
 [tool.poetry.dependencies]
 python = "^3.11"
 agentscope = "^0.0.5"

AgentScope Version: 0.0.5
Python Version: 3.11
OS: MacOS

Additional context
Add any other context about the problem here.

Version 0.0.5 is stale. Please clone the repository and install it with pip install -e .

Can't we have a stable version? If you expect ppl to use AgentScope in production?

Thanks for your suggestion. A new stable version will be available in a few days

A new vision v0.1.0 is updated in Pypi and GitHub. Feel free to open a new issue if neededd, closing this for now.


[ISSUE] HIP can not compile a hip file if it contains vector_functions.h

i have got a hip file(please see below), which includes a header file vector_functions.h,
but i got the error if i trying to compile it:
  D:/Repository/HIP/build/testKernel/testKernel.hip:5:10: fatal error: 'vector_functions.h' file not found
  #include <vector_functions.h>
           ^~~~~~~~~~~~~~~~~~~~
  1 error generated when compiling for gfx1010.

HIP file:
// CUDA kernel. Each thread takes care of one element of c

#include <hip/hip_runtime.h>
#include <hip/hip_cooperative_groups.h>
#include <vector_functions.h>

extern "C"
__global__ void vecAdd(float *a, float *b, float *c, int n)
{
    // Get our global thread ID
    int id = blockIdx.x*blockDim.x+threadIdx.x;

    // Make sure we do not go out of bounds
    if (id < n)
        c[id] = a[id] + b[id];
}

Please help me out
Thanks a lot

could you comment '#include <vector_functions.h>' ?

if i removed it, everything is ok


Time for nodejs upgrade

Hi there,
I am getting this ERROR when applying terraform on module-1:
aws_lambda_function.react_lambda_app: Creating...
╷
│ Error: error creating Lambda Function (1): InvalidParameterValueException: The runtime parameter of nodejs14.x is no longer supported for creating or updating AWS Lambda functions. We recommend you use the new runtime (nodejs20.x) while creating or updating functions.
│ {
│   RespMetadata: {
│     StatusCode: 400,
│     RequestID: "<snip>"
│   },
│   Message_: "The runtime parameter of nodejs14.x is no longer supported for creating or updating AWS Lambda functions. We recommend you use the new runtime (nodejs20.x) while creating or updating functions.",
│   Type: "User"
│ }
|   with aws_lambda_function.react_lambda_app,
│   on main.tf line 23, in resource "aws_lambda_function" "react_lambda_app":
│   23: resource "aws_lambda_function" "react_lambda_app" {

Out of curiosity, simply switching to nodejs20 will solve this issue?
I update nodejs14 to nodejs20 but still having an issue with deploying it.

but still having an issue with deploying it.

@LifeTimeScriptKiddie what's the issue?

This issue has been fixed by upgrading to nodejs runtime to 18.x, the application has been tested for all functionality with the upgraded nodejs version.


Create annotation on a contact

I cannot find a way to create an annotation for a specify contact, does the gem support this use case?

Perhaps, I'm doing something wrong. This is the command I'm trying to execute:
client.create('annotation', subject: 'test', notetext: 'test', objecttypecode: 'contact', objectid: '0234c027-828b-e411-80d2-c4346bac692c')
From the logs I can clearly see that I'm sending those fields:
    <Create xmlns='http://schemas.microsoft.com/xrm/2011/Contracts/Services' xmlns:i='http://www.w3.org/2001/XMLSchema-instance'>
      <entity xmlns:a='http://schemas.microsoft.com/xrm/2011/Contracts'>
        <a:Attributes xmlns:c='http://schemas.datacontract.org/2004/07/System.Collections.Generic'>
          <a:KeyValuePairOfstringanyType>
            <c:key>subject</c:key>
            <c:value i:type='s:string' xmlns:s='http://www.w3.org/2001/XMLSchema'>super test</c:value>
          </a:KeyValuePairOfstringanyType>
          <a:KeyValuePairOfstringanyType>
            <c:key>notetext</c:key>
            <c:value i:type='s:string' xmlns:s='http://www.w3.org/2001/XMLSchema'>super test</c:value>
          </a:KeyValuePairOfstringanyType>
          <a:KeyValuePairOfstringanyType>
            <c:key>objecttypecode</c:key>
            <c:value i:type='s:string' xmlns:s='http://www.w3.org/2001/XMLSchema'>contact</c:value>
          </a:KeyValuePairOfstringanyType>
          <a:KeyValuePairOfstringanyType>
            <c:key>objectid</c:key>
            <c:value xmlns:d='http://schemas.microsoft.com/2003/10/Serialization/' i:type='d:guid'>0234c027-828b-e411-80d2-c4346bac692c</c:value>
          </a:KeyValuePairOfstringanyType>
          <a:KeyValuePairOfstringanyType>
            <c:key>annotationid</c:key>
            <c:value xmlns:d='http://schemas.microsoft.com/2003/10/Serialization/' i:type='d:guid'>0234c027-828b-e411-80d2-c4346bac692c</c:value>
          </a:KeyValuePairOfstringanyType>
        </a:Attributes>
        <a:EntityState i:nil='true'/>
        <a:FormattedValues xmlns:b='http://schemas.datacontract.org/2004/07/System.Collections.Generic'/>
        <a:Id>00000000-0000-0000-0000-000000000000</a:Id>
        <a:LogicalName>annotation</a:LogicalName>
        <a:RelatedEntities xmlns:b='http://schemas.datacontract.org/2004/07/System.Collections.Generic'/>
      </entity>
    </Create>
```

But it doesn't work, MS Dynamics responded with an error saying the `objectid` is missing, which is quite odd, maybe the request is malformed or its a bug on dynamics side.

```
  <s:Body>
    <s:Fault>
      <s:Code>
        <s:Value>s:Sender</s:Value>
      </s:Code>
      <s:Reason>
        <s:Text xml:lang='en-US'>The parent object type was present, but the ID was missing.</s:Text>
      </s:Reason>
      <s:Detail>
        <OrganizationServiceFault xmlns='http://schemas.microsoft.com/xrm/2011/Contracts' xmlns:i='http://www.w3.org/2001/XMLSchema-instance'>
          <ErrorCode>-2147220987</ErrorCode>
          <ErrorDetails xmlns:b='http://schemas.datacontract.org/2004/07/System.Collections.Generic'/>
          <Message>The parent object type was present, but the ID was missing.</Message>
          <Timestamp>2015-02-12T01:20:51.6217817Z</Timestamp>
          <InnerFault>
            <ErrorCode>-2147220987</ErrorCode>
            <ErrorDetails xmlns:b='http://schemas.datacontract.org/2004/07/System.Collections.Generic'/>
            <Message>The parent object type was present, but the ID was missing.</Message>
            <Timestamp>2015-02-12T01:20:51.6217817Z</Timestamp>
            <InnerFault i:nil='true'/>
            <TraceText i:nil='true'/>
          </InnerFault>
          <TraceText i:nil='true'/>
        </OrganizationServiceFault>
      </s:Detail>
    </s:Fault>
  </s:Body>
```

Problem solved, I had to pass an hash to the objectId.
client.create('annotation', notetext: 'my power metal note', subject: 'my power metal note', objecttypecode: 'contact', objectid: { id: '0234c027-828b-e411-80d2-c4346bac692c', logical_name: 'contact', name: 'contact' })
It would be great to have some examples on how to create resources for a contact.

Can you elaborate it . I am facing the same Error ? How did you fix it

@jagadeesh1992 I don play with Dynamics CRM for a long time, so correct me if I'm wrong, but I believe objectid should be an hash with all the required parameters to reference another dynamics object, in this case, a contact. According to the official documentation, such reference should be an instance of the class EntityReference.
Apparently, you don't need to instantiate any class, just passing in an hash with the required fields seems to do the trick. Have you tried to set the objectid with an hash with the fields id, logical_name and name?
Also make sure, id exists, logical_name is set to contact and name is also set to contact, if all goes well, those fields will successfully link the annotation to the contact.

@carlos4ndre Yup That Worked Thank you:-)


Range request and partial content support

Hi,
This pull request contains implementation of HTTP ranges (RFC 2616, RFC 7233) and additions to QFilesystemHandler and QIODeviceCopier to support partial content requests. Although this implementation lacks multipart reply support, it already allows to stream video/audio content with seeking support and allows resuming on interrupted downloads. Additionally, unit tests are implemented for all new features.
Please review this pull request and help me find a best way to merge it (after the review). Should it be merged to new-features or to master?
Regards,
Aleksei

Oh wow, thanks! I was planning to implement this eventually and now you've saved me a lot of time. I'll take care of the merge.

Glad to help. QHttpEngine is a nice library with great test coverage. If you'll have any questions about implementation, I'll be glad to answer.

Merge is complete. Thanks again!


Support sending tags to sentry

Serilog only knows about additional properties to log, f.e. in LogContext. Sentry differentiates between 'Extra'-properties and 'tags'. Both are just key/value pairs of strings but they get treated different in Sentry. Tags get indexed and the log data is easy filterable by tags, f.e.
For that reasons I implemented the ability to specify property keys in a comma-separated optional string parameter to specify serilog properties that goes to Sentry Tags instead of Additional Data.
I think this is of general use and I would be glad if you could include that feature in your package so others could also use it and I don't have to maintain a fork of the sink anymore.

@olsh i checked your comment, but unfortunately your suggestion prevents the use of configuration files. Details in the comments.

@jrottmann thank you!
Could you please make the last update and I'll merge the PR.


Check response body for nil before reading it

Thank you for your contribution to Go-AutoRest! We will triage and review it as soon as we can.
As part of submitting, please make sure you can make the following assertions:

[ ] I've tested my changes, adding unit tests if applicable.
[ ] I've added Apache 2.0 Headers to the top of any new source files.
[ ] I'm submitting this PR to the dev branch, except in the case of urgent bug fixes warranting their own release.
[ ] If I'm targeting master, I've updated CHANGELOG.md to address the changes I'm making.

Hmm, I read the docs for resp.Body and it will never be nil so I don't think this is the correct fix.

Related issue: https://github.com/terraform-providers/terraform-provider-azurerm/issues/6773

Fixes https://github.com/Azure/go-autorest/issues/547


Add acurite_exporter and smartthings_exporter

Addition of links to acurite_exporter and smartthings_exporter

Also, the energy/power units are defined in the smartthings spec backwards. Should the exporter correct them?
See “Energy Meter” and “Power Meter” on
https://docs.smartthings.com/en/latest/capabilities-reference.html

The secret is only needed for the first call. Once it is done, you don’t need to do it again because the oauth token is cached in a file.

The key thing is that secrets shouldn't be on the command line. Beyond that how you handle it is largely up to you.

I’ll fix up the units, but when they aren’t provided by the underlying system in base units should the exporter concert them to the base unit?

Yes, where possible.

Also, the energy/power units are defined in the smartthings spec backwards. Should the exporter correct them?

Those look right to me in that spec.

Regarding the spec, I see now.  I just left the hour off the unit.  Should it be watt_hour or watthour?

What suffix would your recommend for metrics that simply indicate state.  For example, motion and presence are 1 when they are detected and 0 otherwise.

There's no specific suffix. Here I'd use something like _detected.

@brian-brazil I've seen that you don't recommend the constant metrics with timestamp approach, except in certain circumstances.  It feels like with acurite, that is the correct circumstance.  The acurite  access or smarthub device will post metrics to atlasapi.myacurite.com every 5 minutes.  On the local network atlasapi.myacurite.com resolves to the server running acurite_exporter.  So, seems like the acurite_exporter needs to keep the samples around for eventual scraping from prometheus.  Does this seem right?

Seem good now?
...
# HELP smartthings_alarm_cleared 0 if the alarm is clear.
# TYPE smartthings_alarm_cleared gauge
smartthings_alarm_cleared{id="",name="Workshop Smoke Detector"} 0
# HELP smartthings_battery_percentage Percentage of battery remaining.
# TYPE smartthings_battery_percentage gauge
smartthings_battery_percentage{id="",name="Workshop Smoke Detector"} 94
# HELP smartthings_contact_closed 1 if the contact is closed.
# TYPE smartthings_contact_closed gauge
smartthings_contact_closed{id="",name="Workshop Smoke Detector"} 0
# HELP smartthings_energy_usage_joules Energy usage in joules.
# TYPE smartthings_energy_usage_joules gauge
smartthings_energy_usage_joules{id="",name="Heater, Workshop"} 3.532301728438278e+08
# HELP smartthings_exporter_build_info A metric with a constant '1' value labeled by version, revision, branch, and goversion from which smartthings_exporter was built.
# TYPE smartthings_exporter_build_info gauge
smartthings_exporter_build_info{branch="",goversion="go1.11.2",revision="",version=""} 1
# HELP smartthings_invalid_metric Total number of metrics that were invalid.
# TYPE smartthings_invalid_metric counter
smartthings_invalid_metric 0
# HELP smartthings_power_usage_watts Current power usage in watts.
# TYPE smartthings_power_usage_watts gauge
smartthings_power_usage_watts{id="",name="Heater, Workshop"} 1350.7
# HELP smartthings_presence_detected 1 if presence is detected.
# TYPE smartthings_presence_detected gauge
smartthings_presence_detected{id="",name="iPhone"} 0
# HELP smartthings_smoke_detected 1 if smoke is detected.
# TYPE smartthings_smoke_detected gauge
smartthings_smoke_detected{id="",name="Workshop Smoke Detector"} 0
# HELP smartthings_switch_enabled 1 if the switch is on.
# TYPE smartthings_switch_enabled gauge
smartthings_switch_enabled{id="",name="Heater, Workshop"} 1

Made all the changes you suggested and released v0.0.1 of both.

So, seems like the acurite_exporter needs to keep the samples around for eventual scraping from prometheus. Does this seem right?

This is a case where timestamps may make sense, however as the data is more than 5 minutes old it'd cause staleness issues for most users. I'd not use timestamps in this case.
You're still taking a password on the command line.

Yes, that password is part of a registration step needed to complete OAuth.  I guess we could prompt for the password (maybe using something like (Terminal.ReadPassword)[https://godoc.org/golang.org/x/crypto/ssh/terminal#Terminal.ReadPassword]), but it would need to be cross platform.  During the normal execution of the exporter, there is no password
Acurite SmartHub/Access only posts data every 5 minutes.  Can you explain how the data will cause staleness.  Also, what are the issues?

For timestamps data, I tend to expose those directly as a metric. For example if you have the timestamp of of the last alarm event, you could expose this:
smarthings_last_alarm_seconds X

This way you can do things like time() - smarthings_last_alarm_seconds for the time since last alarm. Or changes(smarthings_last_alarm_seconds[28d]) to find out how many alarms have happened in the last 4 weeks.
One other suggestion is to make the alarm state a "positive" bool. smartthings_alarm_cleared -> smartthings_alarm_present.
As for the password, the recommended method is to read it from a file.

Acurite SmartHub/Access only posts data every 5 minutes. Can you explain how the data will cause staleness. Also, what are the issues?

If you exposed the true timestamp, once the data was 5 minutes old then it'd no longer be returned by instant queries.

Thanks for the feedback. Unfortunately I thjnk I only have whether it is alarmed or not, not when it happened.
I like the idea of using _present. How would you do it if there are 3+ states (smoke detector can be clear, detected, or tested).
My thinking is that at exporter config time the password would be prompted for. The config is interactive. The resultant token needs to be provided to the exporter during its standard run as a file.

@brian-brazil. Got it. So with the acurite posted time stamp there may be an edge case where there are no instant metrics. In stat case, it will probably be fine to have the exported remove the time stamp from the metric, but keep it for ageist off the sample.

I like the idea of using _present. How would you do it if there are 3+ states (smoke detector can be clear, detected, or tested).

Depends on those states, can it be both "clear" and "tested" simultaneously?
If it comes back as one of 3, I would probabl make an ENUM.
smarthings_smoke_detector_status{state="clear"} 1
smarthings_smoke_detector_status{state="detected"} 0
smarthings_smoke_detector_status{state="tested"} 0

If we're following openmetrics, that'd be:
smarthings_smoke_detector_status{smarthings_smoke_detector_status="clear"} 1
smarthings_smoke_detector_status{smarthings_smoke_detector_status="detected"} 0
smarthings_smoke_detector_status{smarthings_smoke_detector_status="tested"} 0

That’s great!
—
Joel Baranick
<EMAIL_ADDRESS>
From: Brian Brazil<EMAIL_ADDRESS>Sent: Wednesday, December 5, 2018 3:41 AM
To: prometheus/docs
Cc: Joel Baranick; Author
Subject: Re: [prometheus/docs] Add acurite_exporter and smartthings_exporter (#1231)
If we're following openmetrics, that'd be:
smarthings_smoke_detector_status{smarthings_smoke_detector_status="clear"} 1
smarthings_smoke_detector_status{smarthings_smoke_detector_status="detected"} 0
smarthings_smoke_detector_status{smarthings_smoke_detector_status="tested"} 0
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHubhttps://github.com/prometheus/docs/pull/1231#issuecomment-444456523, or mute the threadhttps://github.com/notifications/unsubscribe-auth/AB0RAu-pUn95jF5USougNBBJx_LznLS9ks5u17DogaJpZM4Y_TDi.

@brian-brazil Does the exporter need to know about all the status values for the smarthings_smoke_detector_status metrics  and when it pulls the value clear from Smartthings then explicitly set the smarthings_smoke_detector_status{status="clear"}==1 and the others to 0?
What if you don't know all the status values up front, or don't want to require them to be coded into the exporter?

Does the exporter need to know about all the status values

It should.

What if you don't know all the status values up front, or don't want to require them to be coded into the exporter?

Then you're best leaving it as an integer. I imagine this list won't change though.

@brian-brazil/@superQ as far as I can see the token is being read from a file now.
There is a step to generate the secrets file which requires a different secret to be passed in the CLI. As it is just the generation step and not involved in the actual running of the exporter, can we merge this in?

Passing secrets on the command line is passing secrets on the command line. The code shouldn't allow it, and the docs shouldn't mention it.
The entries also need to be sorted.


Prefetch Factor issue

I've come across a new issue when running in colab. Getting this error message:
"ValueError: prefetch_factor option could only be specified in multiprocessing.let num_workers > 0 to enable multiprocessing, otherwise set prefetch_factor to None."
Is this something new?

set num_workers >1


Permission property of new report.

Hi!
This is my case.

I add some fields into Table 17 G/L Entry. Example: Field A and Field B
I create new report (ProcessingOnly=true) to update these fields.

When I add Permission property for this report. I get an error as bellow.

So, please show me how to solve this problem. If permission property is not supported. Please let me know.

Hi! Take a look at #214 . It explains the current usage of the Permissions property.


<EMAIL_ADDRESS>decompress error

`Updating 'gimp' (2.10.38 -> 2.10.38-1)
Downloading new version
Loading gimp-2.10.38-setup-1.exe from cache
Checking hash of gimp-2.10.38-setup-1.exe ... ok.
Uninstalling 'gimp' (2.10.38)
Installing 'gimp' (2.10.38-1) [64bit] from 'extras' bucket
WARN  Cache is being ignored.
gimp-2.10.38-setup-1.exe (323,0 MB) [=========================================================================] 100%
Extracting gimp-2.10.38-setup-1.exe ... ERROR Exit code was 1!
Failed to extract files from C:\Users\user\scoop\apps\gimp\2.10.38-1\gimp-2.10.38-setup-1.exe.
Log file:
~\scoop\apps\gimp\2.10.38-1\innounp.log
Please try again or create a new issue by using the following link and paste your console output:
https://github.com/ScoopInstaller/Extras/issues/new?title=gimp%402.10.38-1%3A+decompress+error`
innounp.log

As seen in https://github.com/ScoopInstaller/Extras/issues/14363#issuecomment-2459449733 updating innounp worked.


chore: delete unused *.proto files

.proto files were initially copied when we still used the monolithic gapic-generator and the generated_pb2.py files were not  human readable. These files no longer serve a purpose and can be removed.

I think this should be good now (I accidentally deleted an empty line and lint failed 🤦♀ ).


Add README.md files for my demos

Important I get these in while still fresh in my mind.

Nicely done, good best practices. I wonder how we could add more technical depth.


hubstaff: 1.5.19-9e79d1da -> 1.6.0-02e625d8

Automatic update generated by nixpkgs-update tools. This update was made based on information from passthru.updateScript.
meta.description for hubstaff is: "Time tracking software"
meta.homepage for hubstaff is: "https://hubstaff.com/"
meta.changelog for hubstaff is: ""
Updates performed

Ran passthru.UpdateScript

To inspect upstream changes
Impact

Checks done (click to expand)

built on NixOS

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

Warning: no invocation of /nix/store/bgdwr6z8yrvqk4cqx15bx25zfc739asm-hubstaff-1.6.0-02e625d8/bin/HubstaffClient had a zero exit code or showed the expected version

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

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

found 1.6.0-02e625d8 with grep in /nix/store/bgdwr6z8yrvqk4cqx15bx25zfc739asm-hubstaff-1.6.0-02e625d8

found 1.6.0-02e625d8 in filename of file in /nix/store/bgdwr6z8yrvqk4cqx15bx25zfc739asm-hubstaff-1.6.0-02e625d8

directory tree listing: https://gist.github.com/17e68044a32ddb25fef523dfc92697ca

du listing: https://gist.github.com/61477f179cbb35e9ee86f185b3b45f2f

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

1 total rebuild path(s)

1 package rebuild(s)

1 x86_64-linux rebuild(s)
0 i686-linux rebuild(s)
0 x86_64-darwin rebuild(s)
0 aarch64-linux rebuild(s)

First fifty rebuilds by attrpath
hubstaff

Instructions to test this update (click to expand)

Either download from Cachix:
nix-store -r /nix/store/bgdwr6z8yrvqk4cqx15bx25zfc739asm-hubstaff-1.6.0-02e625d8 \
  --option binary-caches 'https://cache.nixos.org/ https://nix-community.cachix.org/' \
  --option trusted-public-keys '
  nix-community.cachix.org-1:mB9FSh9qf2dCimDSUo8Zy7bkq5CX+/rkCWyvRCYg3Fs=
  cache.nixos.org-1:6NCHdD59X431o0gWypbMrAURkbJ16ZPMQFGspcDShjY=
  '

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

After you've downloaded or built it, look at the files and if there are any, run the binaries:
ls -la /nix/store/bgdwr6z8yrvqk4cqx15bx25zfc739asm-hubstaff-1.6.0-02e625d8
ls -la /nix/store/bgdwr6z8yrvqk4cqx15bx25zfc739asm-hubstaff-1.6.0-02e625d8/bin

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

1 package built:

hubstaff

Maintainer pings
cc @michalrus @srghma for testing.

Result of nixpkgs-review pr 129665 at b2aedd0f run on x86_64-linux 1

1 package built successfully:

hubstaff

1 suggestion:

warning: missing-phase-hooks
installPhase should probably contain runHook preInstall and runHook postInstall.
Near pkgs/applications/misc/hubstaff/default.nix:38:3:
   |
38 |   installPhase = ''
   |   ^


⚠ Bofrost.lu has degraded performance

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

HTTP code: 200
Response time: 1394 ms

Resolved: Bofrost.lu performance has improved in b1f686f after 17 minutes.


Fix app freeze

I ran the app to test https://github.com/crypto-power/cryptopower/pull/521, maybe not related but it made my beach ball spin hard.
It would occasionally let me click the screen, I was on the settings page and clicked the back icon several times, it did respond and took me to the Opening wallets page but never recovered.
I think the issue was that the back icon eventually responded to all my clicks and cleared the page stack.
2024-05-24 01:14:27.781 [INF] LTC: Current sync progress update is on block 1845000, target sync block is 3278053
2024-05-24 01:14:31.621 [INF] LTC: Current sync progress update is on block 1845000, target sync block is 3278053
2024-05-24 01:14:41.532 [ERR] UI: Error opening wallet: sync_already_in_progress
2024-05-24 01:14:41.538 [ERR] UI: no rate information available

i'm unable to reproduce this, can you reproduce this?


http: guard against multiple 100 responses

Description:
If not proxying 100-Continue, swallow 100-continues.
Also handle the case of multiple continues headers "cleanly" by resetting the stream, rather than crashing.  Support for responses with multiple headers, such as 103 (early hint) can be added when there's a need.
Risk Level: Medium (on top of a high risk feature)
Testing: Lots and lots of extended integration tests.
Docs Changes: n/a
Release Notes: 100-continue support already docced.
Fixes #2563

@alyssawilk at a high level LGTM. I wouldn't mark "Fixes #2563" until we fully protect against multiple informational headers from upstream (wasn't sure if you meant a follow up in this PR, or in another PR).

Fair.  Just to sanity check we're fine just resetting the stream on multiple non-informational headers with a comment that we'll add support iff anyone wants to pick it up?

Just to sanity check we're fine just resetting the stream on multiple non-informational headers with a comment that we'll add support iff anyone wants to pick it up?

Absolutely. Or even just ignore them. Either way.

(New unit test for the "don't crash on lots of headers" plus verified the ASAN use-after-free crash turns into a reset stream)

plus verified the ASAN use-after-free crash turns into a reset stream

Just to make sure I understand, that's a manual verification right? (When you remove the other fix). There isn't a test that covers this? That's fine, I just want to make sure I'm not missing something.

Yeah, exactly, with my new fix in there's no current way to integration
test so I manually integration tested and then added a unit test for real
regression testing.
On Mon, Feb 12, 2018 at 2:46 PM, Matt Klein<EMAIL_ADDRESS>wrote:

plus verified the ASAN use-after-free crash turns into a reset stream
Just to make sure I understand, that's a manual verification right? (When
you remove the other fix). There isn't a test that covers this? That's
fine, I just want to make sure I'm not missing something.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/envoyproxy/envoy/pull/2567#issuecomment-365039961,
or mute the thread
https://github.com/notifications/unsubscribe-auth/ARYFvcBHHwkH6cINUpHU95qu8PSdoj3bks5tUJUxgaJpZM4R_YUN
.


Add zlib oneshot compression

Fixes #19520
The existing stream-based ZLIB compression does not close out the stream properly. This is incompatible with RFC1950.
Add a one-shot ZLIB compression method (as used with Brotli and Zstd) to do certificate compression.
This was found by tlsfuzzer.

Checklist

[ ] documentation is added or updated
[ ] tests are added or updated

24 hours has passed since 'approval: done' was set, but this PR has failing CI tests.  Once the tests pass it will get moved to 'approval: ready to merge' automatically, alternatively please review and set the label manually.

One of the tests is still pending after 24+ ?

As far as I can tell, looking at buildbot, there have never been any completed buildbot/master:unix-macos11-m1 builds? @levitte ?

Merged to master branch. Thank you for your contribution.

Hopefully the added bound checks won't trigger Coverity. If so we can fix that later though.

Appears to have. The failure can only occur if sizeof(size_t) > sizeof(unsigned long), which corresponds to an LLP64 system (Windows 64-bit systems with VC++ or MinGW). I can either create a Coverity exception, or do a #if with sizeof().
@t8m any preference?

I've dismissed the Coverity entries. IMO not worth fixing at all but if you want to submit a PR that silences Coverity in one way or another I'd approve it.


Could not create TRESPONSE. continue Error

[ERROR] [1550611905.512524171]: 2 actual length = 15, announced data-length = 4
[ERROR] [1550611905.513626297]: could not create TRESPONSE. continue
[ERROR] [1550611905.574752091]: 1 Length of response TCP-message does not match announced data-length!

What does the error above indicate? I am using the WSG50 on ROS kinetic. Here is the complete code if that helps.
#include <ros/ros.h>
#include <actionlib/client/simple_action_client.h>
#include <actionlib/client/terminal_state.h>
#include <ipa325_wsg50/WSG50HomingAction.h>
#include <ipa325_wsg50/WSG50GraspPartAction.h>
#include <ipa325_wsg50/WSG50ReleasePartAction.h>
#include <ipa325_wsg50/ackFastStop.h>

int main (int argc, char **argv)
{
  ros::init(argc, argv, "test_gripper");
  ros::NodeHandle nh;

  // create the action client
  // true causes the client to spin its own thread
  actionlib::SimpleActionClient<ipa325_wsg50::WSG50HomingAction> home_ac("WSG50Gripper_Homing", true);
  actionlib::SimpleActionClient<ipa325_wsg50::WSG50GraspPartAction> grasp_ac("WSG50Gripper_GraspPartAction", true);
  actionlib::SimpleActionClient<ipa325_wsg50::WSG50ReleasePartAction> release_ac("WSG50Gripper_ReleasePartAction", true);
  ros::ServiceClient srv = nh.serviceClient<ipa325_wsg50::ackFastStop>("/AcknowledgeFastStop");

  ROS_INFO("Waiting for action servers to start.");
  home_ac.waitForServer(); //will wait for infinite time
  grasp_ac.waitForServer();
  release_ac.waitForServer();
  ipa325_wsg50::ackFastStop ack;
  srv.call(ack);

  ROS_INFO("Homing gripper...");
  ipa325_wsg50::WSG50HomingGoal home_goal;
  home_goal.direction = true;   // True is in the out direction
  home_ac.sendGoal(home_goal);
  bool finished_before_timeout = home_ac.waitForResult(ros::Duration(10.0));

  if (finished_before_timeout)
  {
    actionlib::SimpleClientGoalState state = home_ac.getState();
    ROS_INFO("Homing finished: %s",state.toString().c_str());
  }
  else
    ROS_INFO("Homing did not finish before the time out.");

  ROS_INFO("Grasping Part...");
  ipa325_wsg50::WSG50GraspPartGoal grasp_goal;
  grasp_goal.width = 0;  // Part width in mm
  grasp_goal.speed = 20;  // Speed in mm/s
  grasp_ac.sendGoal(grasp_goal);
  finished_before_timeout = grasp_ac.waitForResult(ros::Duration(15.0));

  if (finished_before_timeout)
  {
    actionlib::SimpleClientGoalState state = grasp_ac.getState();
    ROS_INFO("Grasp finished: %s",state.toString().c_str());
  }
  else
    ROS_INFO("Grasp did not finish before the time out.");

  ROS_INFO("Releasing Part...");
  ipa325_wsg50::WSG50ReleasePartGoal release_goal;
  release_goal.openwidth = 95;
  release_goal.speed = 50;
  release_ac.sendGoal(release_goal);
  finished_before_timeout = release_ac.waitForResult(ros::Duration(10.0));

  if (finished_before_timeout)
  {
    actionlib::SimpleClientGoalState state = release_ac.getState();
    ROS_INFO("Release finished: %s",state.toString().c_str());
  }
  else
    ROS_INFO("Release did not finish before the time out.");

  //exit
  return 0;
}

I have seen these messages from time to time as well. Haven't had the time to track it down. Could you describe a bit more how far your code progresses before you get the error?

I actually don't have the hardware anymore.The gripper still functioned, but there was a seemingly continuous stream of these errors the entire time commands were not being issued. The light on the gripper would also turn white during homing and then immediately turn red for the entire process.

There seems to be an issue with newer or older models. That is something a colleague of mine told me. I guess we have to look into it deeper as soon it pops up again.

Facing the same issue on ROS Noetic with the WSG32 hardware. The gripper still functions fine, so I'm just ignoring the message.

The error points to issues in the communication, possible during (re)connection or safety stops, safety reset. I guess, that if the (error) message stops eventually, it should be fine.
In my opinion, the message should be a info or warning but not error.
The initial development was very verbose (and colorful) in its output and these error messages are left overs.
It would be highly appreciated, if someone feels like drilling down on the verbosity-levels, using less output messages and deescalate the levels accordingly.

@ipa-lth Would you know if the red light being constantly on during the running of the driver is due to this or something to be concerned about. I don't see a red light at other times (when I run the gripper from the browser, for instance)
The gripper still runs fine, but the red light is always on.

Honestly, I don't know why the re light is on. But we have the same here.

I think the red light was due to some error that needs to be confirmed or due to using the API incorrectly (ie calling "release the part" when actually gripping failed so there is no part)
I have an email from Mr Weiss with some hints but never really got around processing it fully and acting on it ...


Add firmware update

Very low priority since there are no firmwares out yet.

This is important, because a firmware update is needed to set up a watch in factory mode. I would bump this up in priority so Cobble can stand on its own.

It is dangerous, I have personally bricked watches from past attempts so testing it via an emulator or via a JTAG'd recoverable pebble would be best

I don't have any JTAG equipment so I think I will have to pass this one. Too scared to brick stuff.


Views Controlled Vocabularies TG call Jan 20 at 15:00 UTC

The Views Controlled Vocabularies Task Group will have an online meeting at 15:00 UTC on Wednesday, January 20, 2021. That corresponds to 10:00 AM Eastern (US) Standard Time (New York), 9:00 AM Central (US) Standard Time (Chicago), 8:00 AM Mountain (US) standard time (Phoenix), and 4:00 PM Central European time (Stockholm).
We will look at test images from Plazi if we can get them and discuss next steps.
Join Zoom Meeting
https://vanderbilt.zoom.us/j/91332808464
Meeting ID: 913 3280 8464
Find your local number: https://vanderbilt.zoom.us/u/adzp7eLoN7
Add to Google Calendar
Download Outlook .ics calendar invitation

This is a reminder that the Audubon Core Views Controlled Vocabularies Task Group is meeting on Wednesday, Jan 20 at 15:00 UTC. We will look at test controlled vocabularies for flies and their application to actual fly images. See https://github.com/tdwg/ac/issues/187 for connection details.

This is a reminder that the Audubon Core Views Controlled Vocabularies Task Group is meeting on Wednesday, Jan 20 at 15:00 UTC. We will look at test controlled vocabularies for flies and their application to actual fly images. See https://github.com/tdwg/ac/issues/187 for connection details.

2021-01-20 Views Controlled Vocabularies Task Group meeting notes are at https://github.com/tdwg/ac/blob/master/views/historical/vcv-notes-2021-01-20.pdf

2021-01-20 Views Controlled Vocabularies Task Group meeting notes are at https://github.com/tdwg/ac/blob/master/views/historical/vcv-notes-2021-01-20.pdf


Remove prerendered variant

It's pretty slow & I haven't heard of anyone using it. Additionally, the normal code is now simple enough that the caching layer should probably be placed a layer above, on the iterator level, if it's needed.
Just to make sure: Is anyone using it?

I've changed my mind, AVR doesn't work without an approach like this, see #14 for the new variant


option to pass --select index

Hi,
Would you be open to optionally passing --select an argument from the command line, specifically the index of the file to start the playlist from, eg --select=4. If --select contains an argument, we bypass the user prompt to select the file index.
Thanks!

Yup, that would be a handy feature :)


Add doc

Adding documentation for the following sections: Manually create an entity, Manually create an association and I18n

Coverage remained the same at 51.169% when pulling 792fd396ce836d1c6ab6d8331dc4da79fedf980a on esou:master into 985b6e78045753e6f1acf4d9b23cdcee4cd5c4c8 on blossom-project:master.


could you enable AVS3 decoder,thanks

AVS3 decoder is now used in China currently, just as "https://ffmpeg.org/ffmpeg-codecs.html#libuavs3d" sayed.
libuavs3d need to explicitly configure the build with --enable-libuavs3d.
Thank you, very much!

It already is:
https://github.com/BtbN/FFmpeg-Builds/blob/master/scripts.d/50-uavs3d.sh

It already is:
https://github.com/BtbN/FFmpeg-Builds/blob/master/scripts.d/50-uavs3d.sh

It already is:
https://github.com/BtbN/FFmpeg-Builds/blob/master/scripts.d/50-uavs3d.sh

OK
thanks, I got it ,thanks

It already is:
https://github.com/BtbN/FFmpeg-Builds/blob/master/scripts.d/50-uavs3d.sh

OK
thanks, I got it ,thanks


load projects and samples

Background
Link to issue
Link to staging deployment URL
https://ui-again2-ui258-api114.scp-staging.biomage.net/data-management
Links to any Pull Requests related to this
API - https://github.com/biomage-ltd/api/pull/114
UI - https://github.com/biomage-ltd/ui/pull/258
Anything else the reviewers should know about the changes here
Changes
Code changes
Definition of DONE
Your changes will be ready for merging after each of the steps below have been completed:
Testing

[ ] Unit tests written
[ ] Tested locally with Inframock (with latest production data downloaded with biomage experiment pull)
[ ] Deployed to staging

To set up easy local testing with inframock, follow the instructions here: https://github.com/biomage-ltd/inframock
To deploy to the staging environment, follow the instructions here: https://github.com/biomage-ltd/biomage-utils
Documentation updates
Is all relevant documentation updated to reflect the proposed changes in this PR?

[ ] Relevant Github READMEs updated
[ ] Relevant wiki pages created/updated

Approvers

[ ] Approved by a member of the core engineering team
[ ] (UX changes) Approved by vickymorrison (this is her username, tag her if you need approval)

Just before merging:

[ ] After the PR is approved, the unstage script in here: https://github.com/biomage-ltd/biomage-utils is executed. This script cleans up your deployment to staging

Optional

[ ] Photo of a cute animal attached to this PR

Looking at Data Management page in the staging link, I am not sure if I can see information for experiments/projects from the experiments DynamoDB table. @StefanBabukov can you check if these get displayed?

I made some fixes because of the merge conflics, check again after the build finishes

Samples cannot be fetched due to the permissions issue described here - https://biomage.atlassian.net/secure/RapidBoard.jspa?rapidView=1&projectKey=BIOMAGE&modal=detail&selectedIssue=BIOMAGE-966

@StefanBabukov Marcell just resolved the permissions issue for samples for your staging link, it should be working now

I tried to create a project and am getting Error: ValidationException: Provided list of item keys contains duplicates, do you know if this is relateed to this PR?

I will do some refactoring on this code as it has some idiosyncrasies compared to the rest of the code base. i will try to fix the error you are seeing as well @cosa65 .

Overall looks good, there are some changes needed as seen in comments.

Overall looks good, see the comments on the review.


Add Alert Central for Zowe Conformance API Mediation Layer Zowe V2

Pre-submission checklist:
Please check each of these after submitting your pull request:

[ ] Are you including a repo_url? You need to pick the single best GitHub repository for your project, not a GitHub organization.
[ ] Does the project meet the guidelines for new entries section?
[ ] Have you included a URL for your SVG or added it to hosted_logos and referenced it there?
[ ] Does your logo clearly state the name of the project/product and follow the other logo guidelines?
[ ] Does your project name match the text on the logo?
[ ] Have you verified that the Crunchbase data for your organization is correct (including headquarters and LinkedIn)?
[ ] ~5 minutes after opening the pull request, the CNCF-Bot will post the URL for your staging server. Have you confirmed that it looks good to you and then added a comment to the PR saying "LGTM"?

@yarille Can you follow up on this one? Seems odd it's been out so long.

I just sent an email to follow up.
On Fri, Mar 3, 2023 at 4:38 PM John Mertic @.***> wrote:

@yarille https://github.com/yarille Can you follow up on this one?
Seems odd it's been out so long.
—
Reply to this email directly, view it on GitHub
https://github.com/openmainframeproject/omp-landscape/pull/668#issuecomment-1454161671,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AV3CWSATGRMEC7H7INBH6CDW2JQGZANCNFSM6AAAAAAQY4T53I
.
You are receiving this because you were mentioned.Message ID:
@.***>

--
Yarille Ortiz Kilborn
Linux Foundation
Project Coordinator

Cool - thanks!
On Fri, Mar 3, 2023 at 5:01 PM yarille @.***> wrote:

I just sent an email to follow up.
On Fri, Mar 3, 2023 at 4:38 PM John Mertic @.***> wrote:

@yarille https://github.com/yarille Can you follow up on this one?
Seems odd it's been out so long.
—
Reply to this email directly, view it on GitHub
<
https://github.com/openmainframeproject/omp-landscape/pull/668#issuecomment-1454161671
,
or unsubscribe
<
https://github.com/notifications/unsubscribe-auth/AV3CWSATGRMEC7H7INBH6CDW2JQGZANCNFSM6AAAAAAQY4T53I
.
You are receiving this because you were mentioned.Message ID:
@.***>

--
Yarille Ortiz Kilborn
Linux Foundation
Project Coordinator
—
Reply to this email directly, view it on GitHub
https://github.com/openmainframeproject/omp-landscape/pull/668#issuecomment-1454180303,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AACIOIIKB62T5E2ANVT4TDDW2JS25ANCNFSM6AAAAAAQY4T53I
.
You are receiving this because you commented.Message ID:
@.***>

--
Thank you,
John Mertic
Director of Program Management - Linux Foundation
ASWF, LF Energy, and Open Mainframe Project
@.***
+1<PHONE_NUMBER>
Schedule time with me at https://meetings.hubspot.com/jmertic


Does this works with .net 7 Asp Net Core?

Does this works with .net 7 Asp Net Core?

I checked it locally with my Aspire + Blazor + ASP.NET solution. dotnet-release build and run tests without problems. But you must set <IsPackable>false</IsPackable> in Directory.Build.props to prevent NuGet packing of your projects. I'm also going to test this dotnet-releaser as main CI for ASP project for build + test + generate changelog.
I expected that I can use subset of functionality for projects that is not NuGet packages (like ASP):


Store cooldowns in a seperate component

Given the pattern being used, this would be more cleanly defined as an optional component in the same bundle.

Fixed by #261.


CultureInfo ignored by FluentValidation.MVC6

In our ConfigureServices method (Startup.cs) we set our culture as follows:
CultureInfo.DefaultThreadCurrentCulture = new CultureInfo("de");
CultureInfo.DefaultThreadCurrentUICulture = new CultureInfo("de");

Unfortunately it seems to be ignored in all validation messages.
RuleFor(t => t.Betreff).NotNull().LessThanOrEqualTo("100");

Result:

'Betreff' must be less than or equal to '100'.

Which version of FV do you have installed?

We use the newest NuGet package: 6.4.0

The latest is actually 7.0.2 - you should be using the FluentValidation.AspNetCore if you're using asp.net core (there isn't technically an mvc6) - https://www.nuget.org/packages/fluentvalidation.aspnetcore
Please could you upgrade to that and let me know if it makes a difference?

Thank you very much. It works great! Awesome 😃

Did it work?!


unknown variable error

I'm in Windows 10 Ubuntu WSL. Followed the Usage guide. running the script bash readcomic_dl/readcomic_dl results in an endless error loop that prints
init_dialog: dlg_parse_rc
use_scrollbar:27: unknown variable
repeatedly.

the script does not stop. I have to CTRL-C it. I did cd into the directory as you said. Here is the last two iterations of what you suggested (with -x) before killing it:
init_dialog: dlg_parse_rc

true
++ dialog --title 'Comic URL' --inputbox 'Enter the URL of your comic'''s main page:' 8 50
++ tr -d ' '
url='use_scrollbar:27:unknownvariable

init_dialog:dlg_parse_rc'

[[ use_scrollbar:27:unknownvariable

init_dialog:dlg_parse_rc =~ https://readcomiconline.li/Comic/(.*?) ]]

dialog --title 'Error Input' --msgbox 'This script exclusively supports main page links from readcomiconline.li \nPlease try again!' 8 28
use_scrollbar:27: unknown variable

init_dialog: dlg_parse_rc

true
++ dialog --title 'Comic URL' --inputbox 'Enter the URL of your comic'''s main page:' 8 50
++ tr -d ' '
url='use_scrollbar:27:unknownvariable

init_dialog:dlg_parse_rc'

[[ use_scrollbar:27:unknownvariable

init_dialog:dlg_parse_rc =~ https://readcomiconline.li/Comic/(.*?) ]]

dialog --title 'Error Input' --msgbox 'This script exclusively supports main page links from readcomiconline.li \nPlease try again!' 8 28
use_scrollbar:27: unknown variable

init_dialog: dlg_parse_rc

true
++ tr -d ' '
++ dialog --title 'Comic URL' --inputbox 'Enter the URL of your comic'''s main page:' 8 50

Pretty sure WSL is causing this. The script works fine, I just tested it on Ubuntu.
Maybe try terminator or gnome-terminal to start the script and set scrolling to infinite. Otherwise you'll probably have to use a virtual machine or straight Linux install.

Hi! I'm currently running Pop_OS! And I have this exact error... Running on both Cosmic Terminal & Gnome Terminal...


Support Rails 5 #310

rebase and pull request again.

please add https://github.com/cequel/cequel/commit/dddc095a029743ac7eeedd82e9faf1680e5de14c to your pr.

also, use the build matrix exclusion feature to not run the tests on the combination of rails 5 & ruby 2.1

I have already added this
https://github.com/cequel/cequel/pull/322/files#diff-354f30a63fb0907d4ad57269548329e3R33
it seems not working.

Merged. Thanks for the improvement!


react-static-plugin-jss configured for MaterialUI doesn't always insert correct CSS

When using react-static-plugin-jss configured to use MaterialUI as shown in the guide, some routes are rendered with the correct CSS, but others are not. In the cases where it is missing, the <style id="jss-server-side"> tag with some minimal CSS is still inserted, but it is not the correct CSS that should be getting rendered.
Environment

react-static -V: 6.1.4
node -v: 11.4.0
npm -v: 6.4.1
Operating system: Windows 10 x64
Browser and version (if relevant): N/A

Reproducible Demo
Here is the branch in my repository with the plugin setup: https://github.com/Herohtar/thalion-herohtar/tree/jss-plugin
After running build the root index.html does not contain the correct MaterialUI CSS, but  404.html does. Looking into the routes, blog/2018/index.html does not contain the correct CSS, but blog/2017/index.html does. There are some other pages that are missing the MaterialUI CSS as well.
For comparison, here is the main branch that is just using a dropped-in node.api.js configured for MaterialUI and the CSS is rendered correctly on all pages: https://github.com/Herohtar/thalion-herohtar/tree/master

The only difference there is that your node.api.js file has the theme extracted to the export level. This might be the key to your styles showing up correctly. Try using your node.api.js instead of the plugin and see if that fixes it. If it does, then it's likely we need to make a react-static-plugin-material-ui plugin that handles this edge case (hopefully it could just use the jss plugin we've already created and add the extra stuff)

Using my dropped-in node.api.js works, as can be seen in the main branch, unless you were wanting me to test it in a different way somehow?
It seems that if I move the MuiThemeProvider out like it is for the jss plugin branch then the behavior is the same, with the CSS only being inserted on some routes.

Looks like that's a requirement for Material UI then. We'll need to sort
this out.
On Fri, Jan 4, 2019 at 5:09 PM Herohtar<EMAIL_ADDRESS>wrote:

Using my dropped-in node.api.js works, as can be seen in the main branch,
unless you were wanting me to test it in a different way somehow?
It seems that if I move the MuiThemeProvider out like it is for the jss
plugin branch then the behavior is the same, with the CSS only being
inserted on some routes.
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/nozzle/react-static/issues/940#issuecomment-451606189,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AFUmCRjVwQwtyicDSobPjkBt-Tp4oq2Wks5u_-09gaJpZM4ZpOHG
.

So looking at it some more, the docs seem to imply that you have to give it a MuiThemeProvider to use SSR at all for MaterialUI, and state that you need to create a new instance of the sheets manager, sheets registry, and class name generator for each request. I'm not sure of the exact details of how those work together, but it seems separating them out like that causes them to not function correctly.
Even without trying to insert MuiThemeProvider somewhere, there is still the inconsistent CSS when trying to use MaterialUI with the jss plugin as currently described by the guide. I think it is more than just an edge case and will require it's own plugin... I'm not sure how you could write it to use the jss plugin since MuiThemeProvider needs to be inserted below JssProvider....

Just wonder whether there is a solution to the above issue. I am having the same issue

Yeah, let's hear it!

I modified to your react-static-plugin-react-jss to:
 beforeRenderToElement: (App, { meta }) => props => {
        const generateClassName = createGenerateClassName();
        // Create a sheetsRegistry instance.
        meta.jssSheetsRegistry = new SheetsRegistry();
        // fresh sheet manager
        props.sheetsManager = new Map();
        props.theme = createMuiTheme(providerProps.muiTheme);
        return (
            <JssProvider generateClassName={ generateClassName } registry={ meta.jssSheetsRegistry }>
                <App { ...props } />
            </JssProvider>
        );
    },
    Head: ({ meta }) => {
        return <React.Fragment>
            <style id="jss-server-side" dangerouslySetInnerHTML={{ __html: meta.jssSheetsRegistry.toString() }}/>
        </React.Fragment>
    },

Then in App.js
export default function App(props?: any) {
    const theme = createMuiTheme(props.muiTheme ? props.muiTheme : MATERIAL_UI_THEME);
    return (
        <Root>
            <MuiThemeProvider theme={ theme } sheetsManager={ props.sheetsManager }>
                <Main/>
            </MuiThemeProvider>
        </Root>
    );
}


refactor: getControllerPlugins must not be called for all packages

Happens in Application.js when getController-override is called.

refactor instead of fix, since pluginMap can also get created for all controllers without specifying the fqn of a controller. By submitting the controller, unnecessary steps can be skipped, though.


x/tools/imports: does not find imports from go.mod

What version of Go are you using (go version)?
go version go1.11 darwin/amd64
Does this issue reproduce with the latest release?
Yes.
What operating system and processor architecture are you using (go env)?
GOARCH="amd64"
GOBIN=""
GOCACHE="/Users/jeremy/Library/Caches/go-build"
GOEXE=""
GOFLAGS=""
GOHOSTARCH="amd64"
GOHOSTOS="darwin"
GOOS="darwin"
GOPATH="/Users/jeremy/go"
GOPROXY=""
GORACE=""
GOROOT="/usr/local/go"
GOTMPDIR=""
GOTOOLDIR="/usr/local/go/pkg/tool/darwin_amd64"
GCCGO="gccgo"
CC="clang"
CXX="clang++"
CGO_ENABLED="1"
GOMOD="/Users/jeremy/example/go.mod"
CGO_CFLAGS="-g -O2"
CGO_CPPFLAGS=""
CGO_CXXFLAGS="-g -O2"
CGO_FFLAGS="-g -O2"
CGO_LDFLAGS="-g -O2"
PKG_CONFIG="pkg-config"
GOGCCFLAGS="-fPIC -m64 -pthread -fno-caret-diagnostics -Qunused-arguments -fmessage-length=0 -fdebug-prefix-map=/var/folders/97/k5tw9v055r57p9vv2qdl34wh0000gn/T/go-build069916519=/tmp/go-build -gno-record-gcc-switches -fno-common"

(Though repro instructions are given as a Dockerfile, below)
What did you do?
Here's a minimal Docker example. Place the following three files in an empty directory:
withImport.go:
package main

import (
	"fmt"

	"golang.org/x/image/colornames"
)

func main() {
	fmt.Println(colornames.Blue)
}

withoutImport.go:
package main

import "fmt"

func main() {
	fmt.Println(colornames.Blue)
}

Dockerfile:
FROM golang:1.11

RUN go get golang.org/x/tools/cmd/goimports

WORKDIR /home/example
RUN go mod init example

# Cache golang.org/x/images/colornames and populate go.mod and go.sum.
COPY withImport.go p.go
RUN go run p.go

# Delete the golang.org/x/images/colornames import statement.
COPY withoutImport.go p.go

Then build the docker container and run goimports in it:
$ docker build -t example .
$ docker run example goimports p.go

What did you expect to see?
I expected goimports to find the colornames package, because the package's repo is listed in go.mod and go.sum, and the package itself is in go's cache. (And in the full example where I encountered this in the wild, the package was also imported elsewhere in my project.)
So I expected the output of goimports to look like this:
package main

import (
	"fmt"

	"golang.org/x/image/colornames"
)

func main() {
	fmt.Println(colornames.Blue)
}

What did you see instead?
Since golang.org/x/image/colornames was not present in my GOPATH, goimports failed to find it:
package main

import "fmt"

func main() {
	fmt.Println(colornames.Blue)
}

Related: #27287 (temp fix: https://go-review.googlesource.com/c/tools/+/132598), #24661 (meta modules tools tracking bug), etc.

I'm going to close this as a dup of https://github.com/golang/go/issues/27287
Both are really "dups" of https://github.com/golang/go/issues/24661 which is tracking the fixing of all tools with modules, but I've linked to https://github.com/golang/go/issues/27287 as the issue for goimports specifically.


Test against all support and currently available PHP versions

Follow up for https://github.com/t1st3/php-json-minify/pull/23#issuecomment-582893111, haven't tested this but will update it to get it to work :)

Wow, thanks a lot @WyriHaximus

No problem, can also modernise the code a bit before the release if you want.

sure, please go ahead!

How far should I go ahead with that? Do you want to stay on the currently supported PHP version or can I bump it to something newer?


register cloud events metrics.

ref: https://issues.redhat.com/browse/ACM-14351

Do we have e2e test for metrics?

@clyang82 added simple integration test as UT cover the metrics in sdk-go repo.

/ok-to-test

/ok-to-test


Sprint 3 - Team 7 task ticket 2: Design display of win/lose prompt box

Description
Task:  Design display effects of win/lose prompt box (hover, UI etc.), and design display styles
Feature: Win/lose Condition for Selecting Traitor: Goal 2
After analysing the feedback gathered from user survey, the basic win/lose condition and display style of prompt box have been determined through the studio. In terms of design, the interaction process will include two sub-features: Win prompt box (if player selects the correct traitor); Lose prompt box (appears twice after player chooses wrong). Therefore, in this task, we will design the image and effect of these prompt boxes.
Example

Win prompt box: Design the detailed interface for the winning prompt box, which mainly contains correct message and what is the next step (May include image and text ..).
Lose prompt box: Design the detailed interface for the failure prompt box, which mainly contains error message and number of trial and error (remaining) (May include image and text ...), will pop up after the first and second wrong selection.

Dependencies

[x] Information about basic win/lose condition relies on storyline (#64  ).
[x] Relevant display of prompt box relies on existing eviction menu (#51  ).
[x] Display styles relies on feedback gathered form the studio (#127  ).

Milestones
Steps that need to be completed for this task:

[x] Step 1: Design draft of win/lose prompt box (Sep. 21)
[x] Step 2: Improve the final image and effect of the feature, such as more in line with the storyline, adjusting effect, etc. (Sep. 23)

Completion Deadline: Sep. 23
Additional goals (If have time)
Traitor will tell the player how to save Atlantis after she/he being expelled:
Design a image to display this scenario
Documentation

Eviction menu
Storyline
Sprint3 - Win/lose Condition: User survey (Team 7)

Member

Yingxin Liu (@LIU-Evelyn ) (Yingxin LIU)
Kexin Du (@motaA0309 ) (Kexin Du)

Initial win prompt box
Initial lose prompt box

My initial design idea was to make the win prompt box with the banner to be green to represent victory and success through the select traitor mission. In the part of the content box, the wooden boards and posters are used to create an atmosphere of celebration. On the outside of the content box, there are fireworks, confetti, and coloured streamers to represent the celebration. In the future, our team may optimize this part by adding animation or sound effects to the celebration elements to enhance the user experience.
The error box is banner red and also broken, then the content box below uses fault wind to indicate that the selection is incorrect and failed.

Added corresponding buttons:

Right button
Wrong button1
Wrong button2


added tls support

Added TLS support using tlsChannel by @marianobarrios.
Added pom file for maven build (didn't touch gradle file,it will probably need an update) and updated gitignore.
Modified module-info to add tls.channel.
I kept the implementation safe by adding the public methods of SmppHandlerImpl  back to the interface SmppHandler. Add implementing them in TlsSmppHandlerImpl  (basically copy with changes going to the socketchannel). I also added some code to the LoginForm. a simple checkbox,  that is used as follows. I made the smppHandler in EventDispatcher generic.
if (tlsCheckBox.isSelected()) {
    var smppHandler = new TlsSmppHandlerImpl(eventDispatcher);
    eventDispatcher.setSmppHandler(smppHandler);
}

Otheriwise, nothing else was changed.

@obbyK thanks for your interest in this project. Sorry, but I prefer not to use external libs in this project.


dev: Fix pr-check for sdist

Currently, pr-check fails when calling run-tests in an sdist directory
because of the editable install detection.
Note that editable install detection is there to minimize testing errors
during development, i.e., the developer testing the checked out code
while having a different version installed.

Jenkins, retest this please.


Angular 5 to 6: Internet Explorer, Loading chunk failed (caused by function rest parameters)

Bug Report or Feature Request (mark with an x)
- [x] bug report -> please search issues before submitting
- [ ] feature request

Command (mark with an x)
- [ ] new
- [x] build
- [ ] serve
- [ ] test
- [ ] e2e
- [ ] generate
- [ ] add
- [ ] update
- [ ] lint
- [ ] xi18n
- [ ] run
- [ ] config
- [ ] help
- [ ] version
- [ ] doc

Have not tested serve with IE.
Versions

Node v8.11.3
npm 6.3.0
Angular CLI: 6.1.3
Node: 8.11.3
OS: linux x64
Angular: 6.1.2
... animations, common, compiler, compiler-cli, core, forms
... language-service, platform-browser, platform-browser-dynamic
... router
Package                            Version
------------------------------------------------------------
@angular-devkit/architect          0.7.3
@angular-devkit/build-angular      0.7.3
@angular-devkit/build-optimizer    0.7.3
@angular-devkit/build-webpack      0.7.3
@angular-devkit/core               0.7.3
@angular-devkit/schematics         0.7.3
@angular/cdk                       6.4.3
@angular/cli                       6.1.3
@angular/flex-layout               6.0.0-beta.17
@angular/material                  6.4.3
@angular/material-moment-adapter   6.4.3
@ngtools/webpack                   6.1.3
@schematics/angular                0.7.3
@schematics/update                 0.7.3
rxjs                               6.2.2
typescript                         2.9.2
webpack                            4.9.2

TL;DR and Status
After upgrading to Angular 6, this project's build started to include dependencies of plotly.js that use function rest parameters syntax, which is not supported by Internet Explorer 11.
This seems to be caused by a combination of certain plotly.js imports and redundancy in the project's modules where two different modules import PlotlyComponent and other modules import both of those.
Arlo will try to reproduce this module setup in a new cli project Aug 20-24
Repro steps

Our application was working with Internet Explorer 11 previously.
We upgraded from angular/cli 1.7.4 to 6.1.3 and went through the Angular 6 upgrade process.
polyfills
verified polyfills match a new 6.1.3 project. The meant adding this line:
import 'core-js/es6/weak-map';
Commented animations, which we had previously enabled:
// import 'web-animations-js';
build
ng build --prod --deploy-url "/dashboard-dist/x.y.z/"
(x.y.z is our application version, this path is how we serve the dist)
angular.json
error occurs with optimization true or false.
          "configurations": {
            "production": {
              "optimization": false,
              "outputHashing": "all",
              "sourceMap": false,
              "extractCss": true,
              "namedChunks": true,
              "aot": true,
              "extractLicenses": true,
              "vendorChunk": false,
              "buildOptimizer": true,
              "fileReplacements": [
                {
                  "replace": "src/environments/environment.ts",
                  "with": "src/environments/environment.prod.ts"
                }
              ]
            }

The log given by the failure

The app loads in Edge, Chrome, Firefox, Safari.
Using Internet Explorer 11
The app loads partially. AppModule, CoreModule, AppComponent seem to load fine.
These JavaScript files execute fine: runtime, polyfills, scripts, main
After that, a series of chunks with multiple module names are loaded. The 2nd file (accord to network file load order) has an error.
https://MYHOST.com/dashboard-dist/2.6.1-45-g4b99f71/band-aid-band-aid-module-ngfactory~demo-demo-module-ngfactory~press-overflow-press-overflow-module-n~a0d51d90.038dae500f4276aa6c84.js
Error Mesages
SCRIPT1010: Expected identifier
Error: Loading chunk MYCHUNK failed.
with optimization=false, this line is
// get all points within the passed range
function (range ( ...args ) {
    let options
    // ...
}

My guess is that Internet Explorer does not support the Array spread operator. Is this the case?
Internet Explorer does not support function Rest Parameters
Here is tsconfig.json
{
  "compileOnSave": false,
  "compilerOptions": {
    "outDir": "./dist/out-tsc",
    "baseUrl": "src",
    "sourceMap": true,
    "declaration": false,
    "moduleResolution": "node",
    "emitDecoratorMetadata": true,
    "experimentalDecorators": true,
    "target": "es5",
    "typeRoots": [
      "node_modules/@types"
    ],
    "lib": [
      "es2017",
      "dom"
    ],
    "noImplicitAny": false,
    "suppressImplicitAnyIndexErrors": false,
    "noFallthroughCasesInSwitch": true,
    "noImplicitReturns": true,
    "noImplicitThis": true,
    "strictNullChecks": false,
    "strictPropertyInitialization": false,
    "downlevelIteration": true,
    "module": "es2015"
  }
}

I tried adding "downlevelIteration": true but it didn't fix the issue.
Here are those chunks (with --named-chunks on). The error is with the second of these (the first is harmony export/imports and does not contain rest parameter syntax). These load in all browsers. What are these chunks?
https://MYHOST.com/dashboard-dist/2.6.1-45-g4b99f71/admin-admin-module-ngfactory~band-aid-band-aid-module-ngfactory~demo-demo-module-ngfactory~press-ove~a1bd9788.5d054c3f7a4445b2ba1e.js
https://MYHOST.com/dashboard-dist/2.6.1-45-g4b99f71/band-aid-band-aid-module-ngfactory~demo-demo-module-ngfactory~press-overflow-press-overflow-module-n~a0d51d90.038dae500f4276aa6c84.js
https://MYHOST.com/dashboard-dist/2.6.1-45-g4b99f71/band-aid-band-aid-module-ngfactory~demo-demo-module-ngfactory~press-overflow-press-overflow-module-n~c989da39.063eb968f9c8f1de7507.js
https://MYHOST.com/dashboard-dist/2.6.1-45-g4b99f71/band-aid-band-aid-module-ngfactory~demo-demo-module-ngfactory~pwp-datasets-datasets-module-ngfactory~c6612e97.d26d4e796e6b47228cb5.js
https://MYHOST.com/dashboard-dist/2.6.1-45-g4b99f71/admin-admin-module-ngfactory~band-aid-band-aid-module-ngfactory~press-overflow-press-overflow-module~dcc0462d.fb22234d681c2ffcf2a0.js
https://MYHOST.com/dashboard-dist/2.6.1-45-g4b99f71/band-aid-band-aid-module-ngfactory~press-overflow-press-overflow-module-ngfactory~pwp-pwp-module-ngf~6538aa28.fc01e498d5c8e5f0e226.js
https://MYHOST.com/dashboard-dist/2.6.1-45-g4b99f71/band-aid-band-aid-module-ngfactory~press-overflow-press-overflow-module-ngfactory~pwp-pwp-module-ngf~e08b67b9.74a917b3f8c6fb8f698e.js
https://MYHOST.com/dashboard-dist/2.6.1-45-g4b99f71/demo-demo-module-ngfactory~pwp-pwp-module-ngfactory.57ec61eee1fce6678b23.js
https://MYHOST.com/dashboard-dist/2.6.1-45-g4b99f71/common.ac5aa9e1fdff127766b5.js
https://MYHOST.com/dashboard-dist/2.6.1-45-g4b99f71/pwp-pwp-module-ngfactory.8c848858c8031a97b6c5.js

band-aid, press-overflow, demo, admin are all are lazy-loaded and I don't expect them to be loading on the homepage. I'm wondering if there's some kind of dependency problem causing them to be loaded early. However, since the app works in other browsers this seems like a separate issue.
Desired functionality

Internet Explorer 11 should work as it did in Angular5 with cli 1.7.4
Troubleshooting Tips
For anyone encountering a similar issue.
The Internet Explorer error is due to unsupported JavaScript syntax. In my case, the build system was pulling in raw dependencies of plotly.js from my node_modules.

Determine what dependency is the issue
In angular.json set "optimization": false,
rebuild and examine where the error occurs in Internet Explorer.  Determine some text to search for that identifies the problematic code.
search for that same text in your node_modules to find the dependency, which was plotly.js in my case (node_modules/plotly.js/dist/plotly.js) and its dependency (node_modules/point-cluster/quad.js)
review your imports and modules related to that dependency, fix any redundancy in your modules and/or clean-up imports

Is there any hack to overcome this issue? Not supporting ie 11 is quite a regression.

For anyone supporting IE, this is a major issue. Any feedback on the status of this issue would be highly appreciated.

The code in question appears to originate from a third-party module.  Is Plotly.js being used within the project?  IE does not fully support ES6 and as a result third-party code that assumes otherwise will fail at runtime.
For an explanation regarding the chunks, please see this comment: https://github.com/angular/angular-cli/issues/10364#issuecomment-382040140

@clydin yes, we're using Plotly.js "plotly.js": "^1.39.4"
Production is on Plotly.js 1.39.2; I'll verify this wasn't changed in 1.39.4
angular.json
            "scripts": [
              "node_modules/plotly.js/dist/plotly.min.js"
            ]

I'm a bit confused because scripts references the minified file, which I expect would be used regardless of Angular optimized true | false. But maybe with optimized=false the build system looks for a corresponding script file without the .min? Otherwise, maybe imports are triggering inclusion of the package and my scripts config is redundant.
grep "get all points within the passed range" -R *
node_modules/plotly.js/dist/plotly-gl2d.js:	// get all points within the passed range
node_modules/plotly.js/dist/plotly-with-meta.js:	// get all points within the passed range
node_modules/plotly.js/dist/plotly.js:	// get all points within the passed range
node_modules/point-cluster/quad.js:	// get all points within the passed range
node_modules/regl-scatter2d/gh-pages/copyrights.html:	// get all points within the passed range

node_modules/plotly.js/dist/plotly.js
        // get all points within the passed range
        function range () {
                var args = [], len = arguments.length;
                while ( len-- ) args[ len ] = arguments[ len ];

You can look at dist/plotly.js on GitHub and it isn't using Rest Parameters.
Is it possible that the build system is optimizing the code and converting it to use Rest Parameters???

I'm not aware of anything in our toolchain adding spread operators. What you add to the scripts array should only go into the scripts bundle too, so if you're seeing this in one of your other bundles then maybe you are importing plotly directly?
Best thing I can say is to setup a minimal reproduction and we can try and debug it as well. You can read here why this is needed. A good way to make a minimal repro is to create a new app via ng new repro-app and adding the minimum possible code to show the problem. Then you can push this repository to github and link it here.

It is here though: https://github.com/dy/point-cluster/blob/master/quad.js#L155
It appears that the project is importing and bundling the library and all of its dependencies.

Yes, something is importing plotly.js in a way I don't expect.
I attempted to reproduce with a new project and wasn't able to.
The only way I can load Plotly into Angular common chunk files is with:
import * as Plotly from 'plotly.js/dist/plotly.js';
But I don't do that in my project.
I only import types (from @types/plotly.js) like this:
import { Axis, Config, Data, Layout, ScatterData } from 'plotly.js';
But in a new project, this doesn't load Plotly.
I'll review my project in more detail.
There are some discrepancies such as:
"baseUrl": "src", in tsconfig.json
I'll review my project config in more detail and try to figure out what's loading Plotly this way.

In my plotly.component.ts
Changed
import { Layout, Axis, Config, PlotMouseEvent } from 'plotly.js';
to
import { Layout, Config, PlotMouseEvent } from 'plotly.js';
(Axis was an unused import)
Now the build no longer includes plotly.js dependencies such as that range function from point-cluster. My build works in Internet Explorer now! :+1:
I've double-checked this twice because it seemed doubtful. But yes, this one little change to the import line makes the difference.
When I ctrl+click Axis in WebStorm, it takes me to the interface defined  in @types/plotly.js, but I wonder if it's also defined somewhere else such that the build system decides to load plotly.js dependencies?
My PlotlyComponent is imported in two different modules and I think the imports may be redundant. Not sure if this could be a contributing factor. I'll explore this when I try to reproduce.
I think this issue should remain open for now because this seems like a strange way for the build system to behave. I will try to reproduce the problem in new cli project next week.

@arlowhite in this case the build system is behaving as it should: it is including the referenced code. We do not police packages that ships ES2015 code (e.g. with rest operators) in their non-ES2015 entry points.
You should bring this packaging issue up with the package is doing this. I suggest looking directly inside of your node_modules files to find the offending code.

I could confirm that we have on Angular 7.2 same situation with chunks. IE can't read the chunk and breaks the app

I'm having the same issue too.