The JSON property 'Item' is defined multiple times on type 'System.Web.HttpApplicationStateBase'

I am trying to generate a specification for a .NET Assembly with NSwagStudio.
It works for simple Data Transfer Objects but when I select a Controller this happens:

System.InvalidOperationException: The JSON property 'Item' is defined multiple times on type 'System.Web.HttpApplicationStateBase'.

Stack Trace

Runtime: Default
Server stack trace:
   at NJsonSchema.Generation.JsonSchemaGenerator.d__32.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
   at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
   at NJsonSchema.Generation.JsonSchemaGenerator.d__23.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
   at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
   at NJsonSchema.Generation.JsonSchemaGenerator.d__15`1.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
   at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
   at NJsonSchema.Generation.JsonSchemaGenerator.d__10`1.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
   at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
   at NJsonSchema.Generation.JsonSchemaGenerator.d__9`1.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
   at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
   at NJsonSchema.Generation.JsonSchemaGenerator.d__13`1.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
   at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
   at NJsonSchema.Generation.JsonSchemaGenerator.d__32.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
   at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
   at NJsonSchema.Generation.JsonSchemaGenerator.d__23.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
   at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
   at NJsonSchema.Generation.JsonSchemaGenerator.d__15`1.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
   at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
   at NJsonSchema.Generation.JsonSchemaGenerator.d__10`1.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
   at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
   at NJsonSchema.Generation.JsonSchemaGenerator.d__9`1.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
   at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
   at NJsonSchema.Generation.JsonSchemaGenerator.d__13`1.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
   at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
   at NJsonSchema.Generation.JsonSchemaGenerator.d__32.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
   at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
   at NJsonSchema.Generation.JsonSchemaGenerator.d__23.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
   at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
   at NJsonSchema.Generation.JsonSchemaGenerator.d__15`1.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
   at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
   at NJsonSchema.Generation.JsonSchemaGenerator.d__10`1.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
   at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
   at NJsonSchema.Generation.JsonSchemaGenerator.d__9`1.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
   at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
   at NJsonSchema.Generation.JsonSchemaGenerator.d__27.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
   at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
   at NJsonSchema.Generation.JsonSchemaGenerator.d__23.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
   at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
   at NJsonSchema.Generation.JsonSchemaGenerator.d__15`1.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
   at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
   at NJsonSchema.Generation.JsonSchemaGenerator.d__10`1.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
   at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
   at NJsonSchema.Generation.JsonSchemaGenerator.d__9`1.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
   at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
   at NJsonSchema.Generation.JsonSchemaGenerator.d__27.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
   at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
   at NJsonSchema.Generation.JsonSchemaGenerator.d__23.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
   at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
   at NJsonSchema.Generation.JsonSchemaGenerator.d__15`1.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
   at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
   at NJsonSchema.Generation.JsonSchemaGenerator.d__10`1.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
   at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
   at NJsonSchema.Generation.JsonSchemaGenerator.d__9`1.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
   at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
   at NSwag.Commands.SwaggerGeneration.TypesToSwaggerCommand.d__32.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
   at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
   at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
   at NSwag.Commands.IsolatedCommandBase`1.IsolatedCommandAssemblyLoader`1.Run(String commandType, String commandData, String[] assemblyPaths, String[] referencePaths)
   at System.Runtime.Remoting.Messaging.StackBuilderSink._PrivateProcessMessage(IntPtr md, Object[] args, Object server, Object[]& outArgs)
   at System.Runtime.Remoting.Messaging.StackBuilderSink.SyncProcessMessage(IMessage msg)
Exception rethrown at [0]:
at System.Runtime.Remoting.Proxies.RealProxy.HandleReturnMessage(IMessage reqMsg, IMessage retMsg)
at System.Runtime.Remoting.Proxies.RealProxy.PrivateInvoke(MessageData& msgData, Int32 type)
at NSwag.Commands.IsolatedCommandBase1.IsolatedCommandAssemblyLoader1.Run(String commandType, String commandData, String[] assemblyPaths, String[] referencePaths)
at NSwag.Commands.IsolatedCommandBase1.<>c__DisplayClass13_0.<RunIsolatedAsync>b__0()    at System.Threading.Tasks.Task1.InnerInvoke()
at System.Threading.Tasks.Task.Execute()
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at NSwag.Commands.IsolatedCommandBase`1.d__13.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at NSwag.Commands.IsolatedSwaggerOutputCommandBase.d__9.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at NSwag.Commands.NSwagDocumentBase.d__40.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at NSwag.Commands.NSwagDocument.d__8.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at NSwag.Commands.Document.ExecuteDocumentCommand.d__9.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at NSwag.Commands.Document.ExecuteDocumentCommand.d__8.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at NConsole.CommandLineProcessor.d__12.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at NConsole.CommandLineProcessor.d__11.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at NConsole.CommandLineProcessor.Process(String[] args, Object input)
at NSwag.Commands.NSwagCommandProcessor.Process(String[] args)

My controller does not use a HttpApplicationStateBase but I suggest, that it gets loaded anyway.
I think this is the problem:

Can you fix it for HttpApplicationStateBase as for JArray in #755
Reproduction:

Create ASP.NET Web Application (.NET Framework) Project
Select MVC
Build > Build Solution
In NSwagStudio select .NET Assembly
Load <Project Name>.dll
Select <Project Name>.Controllers.HomeController
Generate Outputs

The JArray problem was an actual bug, but this here shouldnt be fixed the same way... Your controller must somehow expose this class (e.g. in a base class?).

I searched for "HttpApplicationStateBase" and "HttpApplicationState" but got 0 results and an empty project also leads to this exception.
The Global.asax Class is actually a HttpApplication so that may be the problem...
I am using NSwag now and it works perfectly 👍
As this is not a problem with ASP.NET Core you may close this according to me.


animate callback error

Normal function as a callback of View.animate works well but some functions which include animate doesn't work.
https://codepen.io/cs09g/pen/RQbXNq

I think it would be better behavior if the callback were called in the next tick, after all animation cleanup is done.  It should be possible to start another animation from the callback.  I'll put together a fix for this.


Allow to provide kafka broker and zookeeper properties under plugi…

…n configuration

Default kafka log and zookeeper data folders to target.

@arturmkrtchyan if you don't mind contribution, configuration for broker/zookeeper.


Cleaning up repo names post-move

The Berksfile should be updated to the "chef-training" github org, but it accidentally has "chef_classroom".  Can you adjust before we merge?

Good thing I made a PR - typos fixed.

Merged #52


eth1 follow distance is greater than default pruning history

Apparently, the ETH1_FOLLOW_DISTANCE of 1024 is greater than the default pruning history of the ETH1 clients. This leads to issues (e.g., ref https://github.com/PegaSysEng/teku/issues/1813) where ETH2 clients won't be able to read historical ETH1 data that has been pruned already.
Default pruning values:

Geth  128bodyCacheLimit      = 256
blockCacheLimit     = 256
receiptsCacheLimit  = 32
txLookupCacheLimit  = 1024
maxFutureBlocks     = 256
maxTimeFutureBlocks = 30
badBlockLimit       = 10
TriesInMemory       = 128
BlockChainVersion uint64 = 7

OpenEthereum 128--pruning=[METHOD]
    Configure pruning of the state/storage trie. METHOD may be one of auto, archive, fast: archive - keep all state
    trie data. No pruning. fast - maintain journal overlay. Fast but 50MB used. auto - use the method most recently
--pruning-history=[NUM]
    Set a minimum number of recent states to keep in memory when pruning is active. (default: 128)
--pruning-memory=[MB]
    within this limit, and at least --pruning-history states will always be kept. (default: 64)

Besu 1024  --pruning-block-confirmations=<INTEGER>
                         Minimum number of confirmations on a block before
                           marking begins (default: 10)
  --pruning-blocks-retained=<INTEGER>
                         Minimum number of recent blocks for which to keep
                           entire world state (default: 1024)
  --pruning-enabled      Enable disk-space saving optimization that removes
                           old state that is unlikely to be required
                           (default: true if fast sync is enabled, false
                           otherwise)

Even with Besu's 1024 we would be always on the edge of getting this pruned right away once we need it.
I would encourage the OpenEthereum and Geth teams to increase the default value to 1024, however, there will be valid arguments against that, especially because in most cases they are retained in memory.
Forthermore -- and unfortunately -- it's not possible to customize this value in Geth. Meaning, to provide your own ETH1 endpoint for an ETH2 client, you would have to run an archive node or use a third-party client.
What were the considerations leading to an ETH1_FOLLOW_DISTANCE of 1024? Would it be possible to consider a lower follow distance, e.g. 512? Shall we approach ETH1 client teams to bump defaults?

I believe that most clients instead us logs to reconstruct the deposit root from logged deposits

ok.


python3.pkgs.isodate: 0.6.0 -> 0.6.1

Motivation for this change
0.6.0 tests don't pass on Python 3.10.
GitHub: Fixes #151664.
Things done

Built on platform(s)

[ ] x86_64-linux
[ ] aarch64-linux
[x] x86_64-darwin
[x] aarch64-darwin

[ ] For non-Linux: Is sandbox = true set in nix.conf? (See Nix manual)
[ ] Tested, as applicable:

NixOS test(s) (look inside nixos/tests)
and/or package tests
or, for functions and "core" functionality, tests in lib/tests or pkgs/test
made sure NixOS tests are linked to the relevant packages

[ ] Tested compilation of all packages that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review rev HEAD". Note: all changes have to be committed, also see nixpkgs-review usage
[x] Fits CONTRIBUTING.md.

@ofborg build python39.pkgs.isodate python310.pkgs.isodate


Handling of environment resets

Hi!
I had a question about how you handle environment resets.
I see that you only call an environment's reset method once. For example, in dreamer_v3.py, here.
In some environments, like gymnasium ones, the canonical usage is
for episode in tqdm(range(n_episodes)):
    obs, info = env.reset()
    done = False

    # play one episode
    while not done:
        action = agent.get_action(obs)
        next_obs, reward, terminated, truncated, info = env.step(action)

        # update the agent
        agent.update(obs, action, reward, terminated, next_obs)

        # update if the environment is done and the current obs
        done = terminated or truncated
        obs = next_obs

Here, any time done is True, an observation is queried from reset() to feed to the agent to determine an action for the beginning of a new episode.
My question is: how do you attain this first observation from reset() any time we're beginning a new episode? I can't seem to find where this ever happens in your code. My hunch is that you instead use the last observation (the one accompanied with done is True) as the first observation of the next episode, effectively in place of the one attained via reset() like in the code snippet I've provided above.
Thanks so much, and by the way very nice library!

Hi @PaulScemama, thank you for using our library!
In every algorithm we always wrap our environments with a gymnasium.vector.SyncVectorEnv or gymnasium.vector.AsyncVectorEnv. As specified in gymnasium docs:

To prevent terminated environments waiting until all sub-environments have terminated or truncated, the vector environments autoreset sub-environments after they terminate or truncated. As a result, the final step’s observation and info are overwritten by the reset’s observation and info. Therefore, the observation and info for the final step of a sub-environment is stored in the info parameter, using “final_observation” and “final_info” respectively.

So we're always sure that we have the reset observation when an episode has terminated (or truncated). When we need the final observations we grab it from the info dictionary.

Thank you @belerico! That totally makes sense


Atom is so Heavy, blue screen when install it.

I'm using windows 8.1 and install Atom the latest version. Just open it and try to edit my code. But the application load is so heavy. There are some delays when accessing my files and even moving my pointers :( so sad. Notepad++ is still fast to load. And when installing Atom, it's consume more memory and make my laptop blue screen and need restart.
It's a great editor, but i had to uninstall it.

Note: BSOD (Blue Screen of Death) not always appears because of low memory. It usually appears when something in windows's core crashes.

Agreed, Atom is more resource-intensive than N++, but it certainly won't crash your system, unless something else is already very wrong with it.
Delays can come from installed community packages (try running it without them: atom --safe), or from huge files which is a known limitation.

Okay, I'll try it again. I hope atom more more lighter.
So it can handle more more and more tabs like i always do.

What version of Atom are you using?

version 0.182.0
I download it from atom.io website.
and fyi, I'm using 64bit windows.

win 8.1 64 bit, works well.

This seems like one of the many performance issues we have. I'm going to close in favor of https://github.com/atom/atom/issues/1827 and friends

BSODs on app launch are usually either video driver related or due to bad RAM. Check both


The tutorial's revert tests are failing with latest packages

Describe the bug
Followed the tutorial with the latest package versions installed.   When I run tests, the ERC 20 passes, and "the basics" from Optimistic ERC20 passes, but the remaining Optimistic tests for "transfer" and "transferFrom" fail.
To Reproduce
Steps to reproduce the behavior:

Clone repo https://github.com/klassicd/optimism-test
In optimisim-test folder, run npm install
Close optimism-integration and in optimism-integration folder, run ./up.sh (after installation)
In optimisim-test folder, run npm run test

Expected behavior
Tests to pass with no issue.
Screenshots

If I debug the build of node_modules/hardhat/internal/hardhat-network/provider/node.js I see a VmError { error: 'revert', errorType: 'VmError' } returned with no message property causing the Cannot read property 'includes' of undefined error.  which is caused by the compiled code:
if (err === null || err === void 0 ? void 0 : err.message.includes("sender doesn't have enough funds")) {

This is compiled from the typescript in node_modules/hardhat/src/internal/hardhat-network/provider/node.ts:
if (err?.message.includes("sender doesn't have enough funds")) {

System Specs:

OS: Mac 10.14.6
Package Version (or commit hash): See fork https://github.com/klassicd/optimism-test

Additional context
I think this is related to the error here https://github.com/ethereum-optimism/plugins/issues/25 as the issue is with testing transaction reverts on optimism.

I just tried rewriting the Optimism tests to use the method described here https://github.com/Synthetixio/synthetix/blob/develop/test/optimism/utils/revertOptimism.js
The VmError { error: 'revert', errorType: 'VmError' } cannot be parsed by the getOptimismRevertReason example.   I'm not exactly what the VmError means.   The optimism-integration is running ok as far as I can tell.

Thank you for the report! It seems this is likely the same issue as https://github.com/ethereum-optimism/plugins/issues/17. This is a result of a recent change in hardhat. I opened an issue over there and a fix has been merged, just waiting for a release: https://github.com/nomiclabs/hardhat/issues/1317
Sorry for the inconvenience!

Will leave this open for visibility until the fix is merged.

Thanks, can confirm this works with<EMAIL_ADDRESS>and the tutorial's base tests.

Thanks for trying that out. I recommend others attempt to update to<EMAIL_ADDRESS>for the moment (but don't forget to bump to a real version once it's released!).

We just published<EMAIL_ADDRESS>that should fix this

Thanks for the great work, verified this works with<EMAIL_ADDRESS>


bug(cdk): Unable to resolve migrations

Is this a regression?

[X] Yes, this behavior used to work in the previous version

The previous version in which this bug was not present was
^12.0.0
Description
I have custom schematics that include @angular/cdk in the package.json "packageGroup". When running ng update my-custom-schematics I get the following error:
Unable to resolve migrations for package (@angular/cdk).  [Package subpath '././schematics/migration.json' is not defined by "exports" in [project<EMAIL_ADDRESS>Reproduction
Steps to reproduce:
1.
2.
Expected Behavior
When running ng update my-custom-schematics @angular/cdk should run any required migrations without error
Actual Behavior
Unable to resolve migrations for package (@angular/cdk).  [Package subpath '././schematics/migration.json' is not defined by "exports" in [project<EMAIL_ADDRESS>Environment

Angular: v13
CDK/Material: v13
Browser(s): N/A
Operating System (e.g. Windows, macOS, Ubuntu): macOS

Duplicate of https://github.com/angular/angular-cli/issues/23068


files_upload_v2 filename required even though content provided

Reproducible in:
pip freeze | grep slack
python --version
sw_vers && uname -v # or `ver`

The Slack SDK version
slack-sdk 3.21.2
Python runtime version
Python 3.10.11
OS info
ProductName:    macOS
ProductVersion: 12.3
BuildVersion:   21E230
Darwin Kernel Version 21.4.0: Mon Feb 21 20:36:53 PST 2022; root:xnu-8020.101.4~2/RELEASE_ARM64_T8101
Steps to reproduce:
SLACK_TOKEN = XXX
slack_client = slack_sdk.WebClient(SLACK_TOKEN)
slack_client.files_upload_v2(channel="test", content="test")

Expected result:
File uploaded successfully without specifying filename parameter because according to the docstring of files_upload_v2:
        filename: Optional[str] = None,  # you can skip this only when sending along with content parameter

Actual result:
slack_sdk.errors.SlackApiError: The request to the Slack API failed. (url: https://www.slack.com/api/files.getUploadURLExternal)
The server responded with: {'ok': False, 'error': 'invalid_arguments', 'response_metadata': {'messages': ['[ERROR] missing required field: filename']}}

This happens because files_upload_v2 calls _to_v2_file_upload_item which does not create filename if file is None. The resultant files are then passed to files_getUploadURLExternal for which filename is required.
Suggestion
Currently:
def _to_v2_file_upload_item(upload_file: Dict[str, Any]) -> Dict[str, Optional[Any]]:
    ...
    filename = upload_file.get("filename")
    if upload_file.get("filename") is None and isinstance(file, str):
        # use the local filename if filename is missing
        if upload_file.get("filename") is None:  # <- this will always be true
            filename = file.split(os.path.sep)[-1]
        else:
            filename = "Uploaded file"

Change to:
def _to_v2_file_upload_item(upload_file: Dict[str, Any]) -> Dict[str, Optional[Any]]:
    ...
    filename = upload_file.get("filename")
    if filename is None:
        if isinstance(file, str):
            # use the local filename if filename is missing
            filename = file.split(os.path.sep)[-1]
        else:
            filename = "Uploaded file"

Hi @tirameshu, thanks for taking the time to report this issue! It seems that the v2 method needs to be improved for the pattern. We will look into it next week and some fix will be included in the next patch release.


Add nanobox

Hi, thanks fr the contribution. I think that the new category could also be "Platform as a service". It seems that microplatform is not broadly used. What do you think?

PaaS is probably O.K. just to put us into a category that is more recognizable. One important distinction is that nanobox doesn't provide the underlying infrastructure/hosting. You use the nanobox platform on ANY host of your choice (DO, AWS, Softlayer, etc).
I'll go ahead and update and make that change. Thanks!

Ok thanks for the modification, let's see if we need a specific category in the future

Ahh fair point. I hadn't considered the cost of the underlying host. Although, for any host that has a free tier, you could use this on top of that and it would technically be free, but I don't know if thats too much "workaround" to make it onto the list (maybe a "limitation"?).

maybe too much workaround
also there are only two hosting provider with free tiers, AWS EC2, but only during the first year and only for t2.micro instances and Google Cloud which has only a free tier for App Engine, but only for some languages like Php. So maybe this is two "complicated" to get a completely free stack.
I prefer keeping it outside the list for now. I will add it to the excluded list but with a special mention, so maybe we could reconsider in the future.
What to you think?

While nanobox offers a great free local development tool, I think you're probably right that, due to the nature of the production offering, it probably isn't quite the right fit for the list you're trying to build here.
Thanks!


Allow for roundtrip between DigMontage.save() and mne.channels.read_dig_fif

Describe the new feature or enhancement
I would like to save a DigMontage object, and later be able to get the full object back via mne.channels.read_dig_fif
Describe your proposed implementation
Currently, ch_names are not saved, and I don't know which parts of FIF would need to change to allow for this.
Describe possible alternatives
We could offer a format parameter in DigMontage.save, which can be fif by default (the current behavior), but could also be set to some other format, which would then allow a roundtrip reading (e.g., CapTrak: https://mne.tools/stable/generated/mne.channels.read_dig_captrak.html#mne.channels.read_dig_captrak)
Additional context

#12992

Actually, one could already set a montage to an info object, and save the info, and then use the get method to get the montage back. That would preserve channel names ... But it's a bit unclean to recommend doing that, as an info object also needs to be set with a sampling frequency, which may not be applicable if you really only have a montage.
An additional point is that for most fif files we save, we recommend a suffix like raw, ave, or info. However for a dig montage, there is no such recommendation.

Currently, ch_names are not saved, and I don't know which parts of FIF would need to change to allow for this.

I don't think any parts of the FIF spec would need to change, in principle I think you can use write_name_list_sanitized and the corresponding read function
https://github.com/mne-tools/mne-python/blob/096243fe43c936587190a8e9e8e86b155446800e/mne/_fiff/write.py#L152
Similar to how we do here for bads
https://github.com/mne-tools/mne-python/blob/096243fe43c936587190a8e9e8e86b155446800e/mne/_fiff/meas_info.py#L2092
Because you are writing a CH_NAME_LIST, but instead of "bads" you would have "ch_names".


Add node version in package.json

Discord.js has a bug with voice connections in node versions above 14.16.1, so I just fixed the node version in package.json for heroku.

Thank you!


Problem: The parser generator is javascript based and requires nodeJS to run

When building a parser, we need to run a generator through nodeJs. This adds an unnecessary dependency.
Solution: Research other parsers, see if we can find one that works in PHP
SuccessCriteria: Compile a list of parsers and weigh up their pros and cons

Ideally we're looking for a parser that combines lexical analysis and parsing.

Found a PHP Parser generator, Lime PHP
Not sure I understand the syntax, and I can't find any solid examples that explain what's going on.
Conclusion: Move on from it for now

Found PEG PHP generator, PHP-PEG
Closer to PegJS grammar than anything else, looks like they're both based on PEG.
Conclusion: Best one so far

ANTLR seems to be the king. I like the grammar, easy to understand and build complex grammars. There currently isn't a port to PHP that I would trust.

The time it would take to move over to another parser generator would be quite large. For now I think that our reliance on NodeJS isn't that big of a problem, especially since it's baked into the Homestead VM.
We could move out the parser generator into it's own microservice in it's own container, but we'll leave that problem until it's actually a problem.
I'm going to close this issue now, we can reopen it when we need to discuss the parser generator again.


2D mesh plotting: too many labels

One point of feedback, with many different regions the labeling/coloring will basically become illegible. A possible solution is to plot the region numbers instead of the region markers. That way you can instantly see which region has which number, and you can use colors to just make the boundaries clear.

Originally posted by @Laar in https://github.com/hpgem/nanomesh/issues/204#issuecomment-1027966929

Possible options:

Do not call plt.legend() inside the method (i.e. make it the responsibility of the user)
Add floating labels to plot
Legend with field names only
Add legend parameter with different options: ('off', 'fields', 'all', 'floating')
Separate function in mpl submodule to add floating labels to plot

With region markers:

With cell data (line mesh):


Make borgs shown in logprobe

About the PR

If entity accessed by borg - logprobe will show their name identifier
Why / Balance

dont know
Technical details

Media

[X] I have added screenshots/videos to this PR showcasing its changes ingame, or this PR does not require an ingame showcase

Breaking changes

Changelog

:cl:

tweak: Borgs ID now will be shown in LogProbe instead of Unknown.

I just thought, would it be better to use only name indentifier in case if in future not only borgs will be able to access doors


whitelist ppa:jamey-hicks/connectal

Fixes issue #283
ppa:jamey-hicks/connectal includes updated version of verilator.

This check seems to fail on @travis-ci master branch.

I figured out the problem -- changing the key_url to null fixed it.


Produce correct case for EXE and DLL IDs

When using the output of symstore on a case-insensitive file system or webserver, everything works great. However, when using a case-sensitive one, only PDBs will be accessible. This seems to be because Visual Studio queries the presence of EXEs and DLLs with the first eight hex digits of the ID capitalised, and the remainder lowercased. This is visible on AMD's symbol server, for example: https://download.amd.com/dir/bin
Hopefully this is a relatively easy fix and can make it into a patch release soon.

Which version of symstore are you using?
This bug should be fixed in symstore v0.3.4  https://github.com/symstore/symstore/issues/25
I did test publishing two DLL from AMD's symbol server using symstore version 0.3.4
https://download.amd.com/dir/bin/amdhdl32.dll/58C315C32d000/
https://download.amd.com/dir/bin/libamdsmi_host.dll/64D630D97f000/
The cases look correct to me:
bin
├── 000Admin
│   ├──<PHONE_NUMBER>
│   ├── history.txt
│   ├── lastid.txt
│   └── server.txt
├── amdhdl32.dll
│   └── 58C315C32d000
│       └── amdhdl32.dll
├── libamdsmi_host.dll
│   └── 64D630D97f000
│       └── libamdsmi_host.dll
└── pingme.txt

0.3.3, apparently. I thought I'd got the CI script I was using it in set to grab the latest version, but apparently I'd pinned it to what was the latest the last time I touched it, and somehow never actually needed to pull binaries from the server until now. Sorry for the noise.


adding fastq_screen module

PR checklist

[ ] This comment contains a description of changes (with reason).
[ ] If you've fixed a bug or added code that should be tested, add tests!
[ ] If you've added a new tool - have you followed the pipeline conventions in the contribution docs
[ ] If necessary, also make a PR on the nf-core/seqinspector branch on the nf-core/test-datasets repository.
[ ] Make sure your code lints (nf-core lint).
[ ] Ensure the test suite passes (nf-test test main.nf.test -profile test,docker).
[ ] Check for unexpected warnings in debug mode (nextflow run . -profile debug,test,docker --outdir <OUTDIR>).
[ ] Usage Documentation in docs/usage.md is updated.
[ ] Output Documentation in docs/output.md is updated.
[ ] CHANGELOG.md is updated.
[ ] README.md is updated (including new tool citations and authors/contributors).

@nf-core-bot fix linting, please :)

I only had a quick glance (so no formal review yet), but I would prefer that we start using git lfs on this repo for managing the references and other large files. I am sure that we will have more modules that require large reference data:
git lfs install
git lfs track "*.bt2"
git lfs track "*.fa"
git add .gitattributes
git commit

Ideally, you would in the process also edit the history on your branch, because the previous commands would only apply to future files, but not the ones that you already committed. For this, it is necessary to rewrite the history and that will lead to diverging branches with your origin:

On branch dev
Your branch and 'origin/dev' have diverged,
and have 1 and 1 different commits each, respectively.
(use "git pull" if you want to integrate the remote branch with yours)

Instead of pulling in the origin, however, (which would bring back the data we want to prune from history), we force push the rewritten history to the remote origin on GitHub. Then your origin dev branch is clean again and can be safely merged to the upstream repo in nf-core after approval of this PR:
git checkout -b "backup_dev"
git checkout dev
git lfs install
pip install git-filter-repo
git lfs migrate import --include="*.bt2"  --include="*.fa"
git lfs track "*.bt2"
git lfs track "*.fa"
git add .
git commit --amend
git reflog expire --expire=now --single-worktree
git gc --prune=now --aggressive
git push --force-with-lease

The suggestion by @MatthiasZepper seems to be a bit of work but I think I agree. Probably worth getting git lfs up and running right away.

The suggestion by @MatthiasZepper seems to be a bit of work but I think I agree. Probably worth getting git lfs up and running right away.

The downside of git lfs is, that it is not right away supported by Nextflow :-/ ... sounds like a good feature for a plugin but...alas.

As per our discussion in the dev meeting, we bench the git lfs implementation for now, right? An I will instead pivot to use iGenome references for the tests, correct? @alneberg @MatthiasZepper

Yes, git lfs is not an option at the moment I think. If a suitable genome is already present in iGenomes that would be perfect I think.

I tried to provide the references for fastq screen test profile via igenomes, which is in a S3 bucket. Problem is, fastqscreen cannot read it. We have a few options, none I really like:

) ship the pipeline with bowtie2build and make our own bowtie index. This is what the module test uses. I don't like it because we add a tool to our pipeline just so we get the tests to run. A tool that can break and that has no impact on actually running the pipeline for real
) what I am currently doing and providing the reference as part of the module. We can chose for it to be only one, very small, references, for example PhiX. I hate hard coded anything.
) don't have test :P

I tried to provide the references for fastq screen test profile via igenomes, which is in a S3 bucket. Problem is, fastqscreen cannot read it. We have a few options, none I really like:

) ship the pipeline with bowtie2build and make our own bowtie index. This is what the module test uses. I don't like it because we add a tool to our pipeline just so we get the tests to run. A tool that can break and that has no impact on actually running the pipeline for real
) what I am currently doing and providing the reference as part of the module. We can chose for it to be only one, very small, references, for example PhiX. I hate hard coded anything.
) don't have test :P

I tried to provide the references for fastq screen test profile via igenomes, which is in a S3 bucket. Problem is, fastqscreen cannot read it. We have a few options, none I really like:

) ship the pipeline with bowtie2build and make our own bowtie index. This is what the module test uses. I don't like it because we add a tool to our pipeline just so we get the tests to run. A tool that can break and that has no impact on actually running the pipeline for real
) what I am currently doing and providing the reference as part of the module. We can chose for it to be only one, very small, references, for example PhiX. I hate hard coded anything.
) don't have test :P

I had a lengthly discussion with @maxulysse about this, but we couldn't really agree.

I'd say 2, if you choose a tiny reference.
I think in general bad tests are better than no tests, I don't think it's such a big issue that the reference is unrealistically small, the tests will still catch eg if fastq_screen crashes because of some config error.


SPARK[15500][DOC][ML][PYSPARK] Remove default value in Param doc field in ALS

Remove "Default: MEMORY_AND_DISK" from Param doc field in ALS storage level params. This fixes up the output of explainParam(s) so that default values are not displayed twice.
We can revisit in the case that SPARK-15130 moves ahead with adding defaults in some way to PySpark param doc fields.
Tests N/A.

Test build #59195 has started for PR 13277 at commit 435bc04.

Test build #59195 has finished for PR 13277 at commit 435bc04.

This patch fails MiMa tests.
This patch merges cleanly.
This patch adds no public classes.

Merged build finished. Test FAILed.

Test FAILed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/59195/
Test FAILed.

jenkins retest this please

Test build #59197 has started for PR 13277 at commit 435bc04.

Test build #59197 has finished for PR 13277 at commit 435bc04.

This patch passes all tests.
This patch merges cleanly.
This patch adds no public classes.

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/59197/
Test PASSed.

Merged to master/branch-2.0


Use labels in data points

I would like to put each label inside the points, but I'm having a bit of difficulty

I'm not sure what you mean by "inside the points", do you mean something like #63?

Thanks :D Helped me a lot thanks :D

Is it possible to make label Integer, without ".0"? For example "10" instead of "10.0"

@philackm is this really implemented in version 4? I just downloaded the demo project and in createBarGraph I added referenceLines.shouldShowLabels = true which unfortunately did nothing.


[BUG] Classes declared in spring xml configuration are not kept as dependencies

Describe the bug
Classes configured in spring's bean.xml files are not kept as mandatory dependencies.
To Reproduce
Steps to reproduce the behavior:

Create a Spring project with XML configuration
Add rightful maven dependencies
Run depclean

Expected behavior
All spring beans declared in the XML configuration count as rightful dependencies
Additional context
It may be the same with Java Config textual declaration inside annotations (but I don't have a use case in mind ATM)
It fails too for XML namespace imports:
[ERROR] myTest  Time elapsed: 0 s  <<< ERROR!
java.lang.IllegalStateException: Failed to load ApplicationContext
Caused by: org.springframework.beans.factory.parsing.BeanDefinitionParsingException:
Configuration problem: Unable to locate Spring NamespaceHandler for XML schema namespace [http://www.springframework.org/schema/data/jpa]
Offending resource: class path resource [my-beans.xml]

Hi @afillatre,
The only solution that comes to my mind for this issue is writing an XML parser in DepClean that inspect the XML files in src/main/resources to search for dependencies injected via XML annotations from the code.
WDYT?


Let users select metadata license

Fixes #39

@wincowgerDEV Is this what you imagined when opening #39? I don't have much to add for now and would squash and merge the PR then.


[d3d9-dev] Virtual milestones

e.g. https://github.com/koalaylj/hello-directx
Some tests are runs fine using DXVK, but draws nothing, due to missing

Direct3DDevice9Ex::SetClipPlane
Direct3DDevice9Ex::SetTransform
Direct3DDevice9Ex::SetRenderState

log_d3d9.txt
02_Triangle_dxgi.log
02_Triangle_d3d11.log

The clip plane wouldn't matter and neither would the render state (it would just render wrong with renderstate, and I doubt they're actually setting anything other than a degenerate clip plane.)
These examples are 90% fixed-function. I haven't started work on that yet.


gross-store: exemplar uses unknown syntax

The gross-store exercise's exemplar solution uses a concepts that is not in the prerequisites:
if _, ok := units[unit]; !ok {

I don't know what to do with this: rewriting the code or explaining what the if ...; .. syntax does.

@june Thoughts on the if syntax?

@junedev Thoughts on this?

This syntax is used rather frequently and although it is sometimes overused in over cases, it is idiomatic in this use case. This syntax should be introduced as part of the conditionals-if concept (cars assemble).

@junedev The cars-assemble exercise does not know about multiple return values, so I felt like teaching the natural place to introduce this syntax is in the exercise that will teach multiple return values: card-tricks: https://github.com/exercism/go/issues/1619 The gross-store exercise can then have multiple-return-values as a prerequisite.

@ErikSchierboom You are totally right, multiple return values are not introduced yet. However multiple return values have no actual relation to the if expression; condition { ... } syntax. Imagine this code for example:
if num := someFunction(); num != 0 {
  //...
}

So feel free to ignore this, but I still think if expression; condition { ... } should be part of conditionals-if and additionally we need to find a home for introducing multiple return values. Why do you think it fits with Card Tricks?
Why not adding it to Gross Store where we need it? Is that "too late" in the tree?

@junedev Issue created: https://github.com/exercism/go/issues/1644

additionally we need to find a home for introducing multiple return values. Why do you think it fits with Card Tricks?

Well, card-tricks uses multiple return values (func GetItem(slice []uint8, index int) (uint8, bool)) and the introduction is relatively short, so I felt it there was room there.

Ah, I missed that part when skimming the file. All good then.


[Robot][GE] Robot test for field reorder verification

Critical Changes
Changes
Issues Closed
https://foundation.lightning.force.com/lightning/r/agf__ADM_Work__c/a2x1E000001HsTcQAK/view
Community Ideas Delivered
New Metadata
Deleted Metadata

@schlossmj Just looking at this old PR with merge conflicts and wondering if the PR and branch are still needed. If not, would you mind deleting? Thanks.

@schlossmj Just looking at this old PR with merge conflicts and wondering if the PR and branch are still needed. If not, would you mind deleting? Thanks.

@force2b We will be completing this in the next 2-3 sprints.

Thanks @schlossmj. Though, I'm curious why it merges into master, but is using the parent-child branch name strategy. Was there a parent feature/robot branch at one time that has been deleted?


Formatting markdown documents to be less than 120 characters wide

Update markdown documents to avoid long lines and scrolling making editing easier.

Fair points and good feedback and something I have always done in the past. I'll close this out and look to do something in the future with your feedback in mind


Add-on modules in Studio Pro

@dlhartveld , could you please review this PR?

This PR should be merged after https://github.com/mendix/docs/pull/4030 and https://github.com/mendix/docs/pull/3678.
@Luyao-Zhang-1 , if MS Teams Connector is released while I am away, please merge this PR.

Closing this PR, I copied main changes to https://github.com/mendix/docs/pull/4332, the work will continue there.


Fix ZAXPY calls with INCX=0 on pre-AVX x86_64 and add utest

Fixes #4176 by limiting the changes made in response to #7 to the case where both INCX and INCY are zero.

I guess _sse.S needs to be updated for this too, but the change was much larger :(

Yes, working on that... at least none of the CI jobs failed due to the new test, so other architectures are most probably not affected.

No problem identified with zaxpy_sse.S so far - when it is used as CAXPY


Add docs section about custom plots

This docs section is added in response to https://github.com/JuliaDynamics/Agents.jl/issues/551.
@Datseris I would like to add two screenshots to this section. Where would you normally store those? I saw that you've stored the videos for the docs landing page on the JuliaDynamics github space.

Hi @fbanning cool! Yeap we store "external" images here https://github.com/JuliaDynamics/JuliaDynamics/tree/master/videos/agents  in order to minimize download size!

I don't need to bum the patch number for a docs update, right?

for the change to be reflected in the stable docs yes. However at the moment master branch is unstable because graph space uses Graphs.jl and OSM uses LightGraphs.jl. So don't bother with bversions!

at the moment master branch is unstable

You might be thinking about Agents right now. As far as I can tell, InteractiveDynamics does not have anything specifically unstable in its current master branch. If you're OK with my additions in this PR, I would say you could already merge it.

It is getting really hard to keep track of many large projects.... :D


cleaned up the code

cleaned up the code for numeric strings

@toastermagic I have refactored to make the code a little bit cleaner, would you review please?

Yes, I like the change to the sorting logic.
As the 'sort as numeric' behaviour will now always be active, there is no need to pass a final parameter, and the checkbox on the html test page can be removed.
test/index.html
102:
113: If both values are numeric, compare them as numeric
test/unit/ng-order-object-by.js
127: expect(orderObjectBy(obj, 'roomNumber', false**, true**)).toEqual(
133: expect(orderObjectBy(obj, 'roomNumber', true**, true**)).toEqual(

Thanks @toastermagic I appreciate your feedback. :smile:


M3-2707 Adjust positioning of our dear ADA

Adjust positioning of our dear ADA
Need fixed positioning so it floats around like in classic
Type of Change

Non breaking change ('update')

note for myself: need to add analytics to this


SubtitlesText.uasset

I can't open the file only SubtitlesText.uasset what should I do

](url)[https://www.mediafire.com/file/iadc4d7ng2892no/SubtitlesText.uasset/file

@MuratGundo
https://github.com/amrshaheen61/UE4LocalizationsTool/releases/tag/v2.3

@amrshaheen61 help me find out how to open this file (Little Hope - Switch version), v2.3 doesn't work!
https://www.mediafire.com/file/qcio2yzocjphl8b/buscrash_diversion.uasset/file
Thank you very much.


Use Bazel in deployment scripts [phab:D278]

Created by schroederc at 2015-05-22 22:53:47:
NOTE: The xrefs deployment is broken again, but it's not because of these changes.  I'll fix it in another change.

zarko wrote at 2015-05-22 23:25:57:
I'm having some trouble with deploy.sh. I have to run it twice, since the first time it complains about extra_actions:
DEV=1 ./kythe/release/appengine/xrefs/deploy.sh
Extracting Kythe compilations to /tmp/tmp.wCdHoc53GS.kythe_compilations
find: `bazel-out/local_linux-fastbuild/extra_actions': No such file or directory

Then it will run for a bit and print:
Skipping extraction
write_entries: error while loading shared libraries: libleveldb.so.1: cannot open shared object file: No such file or directory
Indexing /compilations/c++/kythe_cxx_extractor_extra_action_third_party_grpc_eb3e7db8e0a72d0a5c02579609ed71b4.c++.kindex
2015/05/22 23:22:04 write /dev/stdout: broken pipe
141 analysis failures

I did do a bazel build //kythe/release:docker right before calling deploy.sh.

schroederc wrote at 2015-05-26 16:31:45:
Fix xrefs deploy

zarko accepted this revision at 2015-05-26 17:55:08

schroederc closed via commit f00ab3adb48953adf5606f5d7a9db8ac23d75d31 at 2015-05-26 17:56:01


Add a crosshair size option

Follow-up to https://github.com/fgsfdsfgs/perfect_dark/pull/300.

5 sizes are available (from 0 to 4), with 2 being the default vanilla-like value.
Size 0 is a dot with alpha adjusted to match the crosshair color settings.
I've tested a fresh configuration file and the crosshair size is correct.
Preview

Note
Alpha adjustments for dot crosshair weren't added when this video was recorded,
so the dot crosshair appears more opaque than it would be now.

https://github.com/fgsfdsfgs/perfect_dark/assets/180032/222f3a98-eb78-4ac7-bb38-38813488650c

Nice work!


See if it's plausable to get the highest supported protocol/version from Velocity

https://jd.papermc.io/velocity/3.0.0/com/velocitypowered/api/network/ProtocolVersion.html
Think that should be it


Read sdk version number from environment pipeline.

AB#7837

@samwelkanda this feel like a remnant from the previous generation of the SDK, can you confirm please?

thanks for reporting this issue, we have since released a new version of the SDK which this issue doesn't apply to. We encourage you to migrate to the new version and open a new issue if you still need help


Avoid recording the pre-restore errors in syncagent server restore info

After the discussion with @joshimoo, we need to avoid recording the errors before performing the actual restore. Otherwise, the related replica will be marked as ERROR once there is a restore file locking timeout, which is bad for the user experience.
longhorn/longhorn#1279

This change was to differentiate between restore initiation failures and actual failures during the restore.
related to backup locks longhorn/longhorn#612


what is the actual point of per-room pushrules?

since you can only have one per-room pushrule, if you want to do anything more intelligent than 'treat all events in this room the same', you end up using overrides or underrides anyway

and while we're at it: per-sender and per-content pushrules are just special cases of underride rules, and per-sender pushrules are barely used.

The obvious way to extend this is to (a) allow clients to specify additional conditions to be applied to per-room pushrules, and (b) allow clients to PUT /_matrix/client/r0/pushrules/global/room/{roomId}/{blah} to allow for more than one per-room pushrule.

(otoh, maybe underride rules are fine)

I have limited insight into the real-world applications of this API, but as far as I can tell, the entire API can be generalized as such without losing any of its current capabilities, and while resolving the awkward bits:
The push rule configuration is a list of lists, let's call the outer list the "ruleset list" and each inner list a "ruleset". Within each ruleset, the first match terminates the matching for that ruleset, ie. only the first match within a ruleset will be considered. However, each ruleset will still be matched/considered individually, though in the order they are defined.
Example:

Ruleset 1: Rule 1, rule 2, rule 3 (match!), rule 4 (match!), rule 5
Ruleset 2: Rule 1, rule 2 (match!), rule 3, rule 4

In this example, the matched rules would be 1.3 and 2.2. While 1.4 would also have matched, it is not considered because 1.3 is already a match within that ruleset.
The current model would map to this generalized model as such: each current 'category' of rules (override, room, underride, etc.) would map to its own ruleset, in the currently-specced order. This provides a migration path. However, arbitrary extra rulesets can be added after this change, and individual rulesets do not have restrictions on what sorts of conditions their rules can contain. Room and sender matching would need to be converted to generic conditions, for this to work.
I've already been "test-driving" this generalized model by internally converting push rules to it, in my protocol implementation. I have not run into any issues with it, and it seems to be capable of representing the entire class of current push rule configurations, but I don't know if there are eg. server-side implementation concerns that I'm overlooking here. Of course, the actual representation towards the client would be a breaking protocol change.
(Bonus: in this generalized model, device-specific rules - which #1164 states are eventually a desirable feature - can be represented simply by having an isDeviceSpecific flag or similar on the ruleset itself.

After discussing with @richvdh, it turns out that the spec on this is a bit misleading, and my interpretation of it incorrect; single-match semantics apply across all rules of any kind, not "within the same kind". Therefore, the general model becomes much simpler:
The push rule configuration is simply a list of rules, where each rule has zero or more conditions. When matching rules, the first match terminates the matching process, ie. only the first match within the entire list of rules will be considered.
The current model would map to this generalized model as such: each current 'kind' of rules (override, room, underride, etc.) would map to its own list of rules. These lists then get concatenated into one final rule list, in the currently-specced order. This provides a migration path. However, arbitrary extra rules can be added after this change in any position in the list, and there are no restrictions on what sorts of conditions any of the rules can contain. Room and sender matching would need to be converted to generic conditions, for this to work.

@joepie91 I think the main reason to have some sort of structure within pushrules is to help clients map the pushrules back into UI. Most people don't want to have to manually maintain a list of rules: they just want a few options they can turn on and off. If the rules are a completely unstructured list, then it becomes very difficult for clients to map back and forth between UI and rules.

This doesn't really achieve that, though; you can already specify arbitrary rules through overrides and underrides, so clients need to already be either capable of processing/displaying arbitrary rules, or be willing to ignore them. Generalizing the model further wouldn't change that.
Of course clients do need to recognize the rules that they themselves have set. But is that not what the labels are for?

Also, to be clear, I'm definitely not arguing that my generalized model is the best possible model for push rules that we could have (and it probably isn't). I'm only arguing that it's a conceptually-compatible model to the current one that would solve a bunch of its complexity and not make anything worse in the process :)


Packages configuration seems a little buggy

Make sure you are running the latest version of Home Assistant before reporting an issue.
You should only file an issue if you found a bug. Feature and enhancement requests should go in the Feature Requests section of our community forum:
Home Assistant release (hass --version):
0.55.0, but see this issue since using packages.
Python release (python3 --version):
3.5.2
Component/platform:
https://home-assistant.io/docs/configuration/packages/
Description of problem:
After making changes in a packages file, you always have to restart HA.
Reload customizing, groups, scripts and automations never works.
Also a strange problem with the name of a subfolder in the packages directory:
https://community.home-assistant.io/t/automation-error-assistance/29533?u=vdrainer
Expected:
Problem-relevant configuration.yaml entries and steps to reproduce:

Traceback (if applicable):

Additional info:

This feature is not implemented and given the focus to move towards GUI, it is not a core focus for the devs currently.
It is not a bug, so please close the issue and add in the Feature Request section in the forums.

IMO packages are the ONLY way to keep track of your configuration.

Packages have their own issues and are not very well suited for the GUI editor, which is where we want to be.


What will happen if the number of properties exceed the limit?

Hi,
I have a question regarding the topic of the property limit. Is it only a limit of the warm storage? If there are more than 1000 properties in the ingestion pipeline, are they persisted to the cold storage still? If yes, can they be queried from the explorer via the cold storage query?
The scenario here is that there are many (more than 1000) properties in the ingestion pipeline, all of them will be used for the big data analysis by the data scientist via downloading the generated parquet file in the cold storage. Meanwhile, only a few of them will be used, e.g. by an operator, in an ad hoc fashion. I cannot judge whether it is a common scenario or not in the industry, but I would love to have a way to tell Azure TSI, which properties should be stored in the warm storage and the rest not. Is it something in your mind already?
Best regards,
Xiaoyang Chen

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

ID: 28603a8a-7f20-bc2c-ee79-cb1a60c6fbe2
Version Independent ID: 5f3c797b-0e3a-34fb-edf3-d915d07347e8
Content: Plan your Gen2 environment - Azure Time Series Insights
Content Source: articles/time-series-insights/how-to-plan-your-environment.md
Service: time-series-insights
GitHub Login: @deepakpalled
Microsoft Alias: dpalled

Hello @xiaoyang-connyun , thank you for the great question! I am checking with the team if this is planned or\and can be added in this doc. In the meantime did you check for any similar request on Azure Time Series Insights feedback forum?
Thanks!

Thanks @asergaz .
Yes, but at least I did not find anything related.

Hi @xiaoyang-connyun,
Great question, and it looks like our storage docs page should be updated to answer this. First I will answer the immediate question, but then I want to take a step back and discuss your JSON payload and see if you'd benefit from re-shaping.
There is no limit on schema width for cold storage--those 1000+ properties will be indexed and available via cold store queries. Tell me more about your schema--why are there so many properties? Is it the case that the tag or sensor ID is a JSON key rather than a value? In the first JSON sample below the tag/sensor/signal identifiers are keys, but the second sample shows a pivoted JSON where they are property values.
	{ 	"CLGSTG1CMD": 0, 	"CLGSTG2CMD": 1, 	"CLGSTG3CMD": 1, 	"SFSPEED": 70.67834, 	"SAT": 64.11172, 	"iot-hub-connection-deviceId": "800500054755", 	"timestamp": "2020-03-23T14:39:22.0505305+01:00"  	}
{

"timestamp": "2020-03-23T14:39:22.0505305+01:00",
"iot-hub-connection-deviceId": "800500054755",
"values": [{
		"tagId": "CLGSTG1CMD",
		"value": 0
	},
	{
		"tagId": "CLGSTG2CMD",
		"value": 1
	},
	{
		"tagId": "CLGSTG3CMD",
		"value": 1
	},
	{
		"tagId": "SFSPEED",
		"value": 70.67834
	},
	{
		"tagId": "SAT",
		"value": 64.11172
	}
	]
}

There are pros and cons to each:
Narrow pros:

Having a fixed schema might make things easier and faster for ML users who consume this as training data (in conjunction with the TSM for context). From a databricks/pyspark perspective, loading multiple parquet files into a data frame via UNION will be simpler with consistent schema across all the files.
Depending on the query patterns, there might be better partitioning.
Depending on your model, you might be able to better organize your tags using TSM and hierarchies.
Data is always query-able from warm store.

Narrow cons:

Many more rows will be generated, instead of 1 event shown in the first example there will be 5 as shown in the second example. Thus, more API calls are required and your users might hit our API limits  sooner.
The query concurrency limit will also be hit sooner as users are making more API calls.

Hi @lyrana ,
Thanks for your comprehensive explanation, and it is quite inspiring to me.
So, why are there so many properties? It is because first of all, we are using the "wide" approach as your first example demonstrated, and secondly, machines are not standardized so that every machine is sending different data points.
I also once thought about the "narrow" approach. However, independent from the query scenario, I did not understand how that would work with Azure TSI Explorer. With Azure TSI Explorer, it is pretty straightforward to work with the semantic like SELECT <data point>, but how to make it work with the semantic like SELECT <data point value> WHERE <data point name> = <data point>? I might have missed something, could you please explain me a bit as well?
Besides, I guess it is a valid requirement that not all properties need to be stored in the warm storage, and with TSM it is straightforward to define which properties are needed. What do you think?
Best regards,
Xiaoyang

Hi @xiaoyang-connyun
Thanks for your patience. First, I will mention that once you weigh the pros and cons, if you do decide to go "narrow" you can use either Azure Stream Analytics or even an Azure function (depending on your throughput needs and architecture, etc.) egressing to an Event Hub in front of TSI in order to do your schema standardization. But, this will incur additional costs and may or may not be needed.
I think I understand your question, and I assume you're using TSI Gen2, correct? In the first example, iot-hub-connection-deviceId was set at the TS ID, and the schema went wide.
In the second narrow example, the TS ID property should be assigned as values.tagId, or a composite key consisting of values.tagId and iot-hub-connection-deviceId if the hub device is needed as part of the unique identifier.
In the first, TSI will create instances per IoT Hub device, and the explorer will look like this:

In the second, the tag names will become the instances, and appear like this with an un-curated model

But then could be organized via hierarchies like this:

Exposing JSON properties is done via Type variables, you might want to check out this lab that goes through model curation on step 5:
aka.ms/tsilab
But curating a model when your machines aren't standardized might be difficult. Some users script this at the edge via the TSM APIs , but you'd have to write and maintain that script.
Please let me know if you have further questions, happy to help

Hi @lyrana ,
Thanks for the example, it was clear that I could use Function to transform the wide schema to the narrow one, but I was too shortsighted and did not realize that I could let the property name (tagId) be the instance id and group them together with the hierarchy.
I think the summary here will be, to choose the wide schema or the narrow schema, it depends on the query pattern and the hard limit of the warm storage. To use the narrow schema, other than adding a transformation component, the model has to be designed differently as well.
I would say my origin question is clearly answered, and I hope the documentation can be adjusted accordingly soon to close the issue.
However, I would be quite happy if you could answer my open question as well, do you see the need to have a way to control what properties should be stored in the warm storage? I could imagine that due to the query pattern, somebody could choose the wide schema approach. In order not to hit the limitation, save the storage cost and have a better performance, he would like to have a way to let only necessary properties to be stored in the warm storage. And in reality, properties that are often to be analyzed for example by the operator using the Explorer are usually a small set of all properties.
I am looking forward to hearing your opinions, nevertheless, it would also be fine if we stop here.

@xiaoyang-connyun it's been such a pleasure to assist you, and yes there is an opportunity to improve the docs to address this question. I don't have a timeline right now for when this particular doc update will go out--it's in our backlog though. I will keep this GitHub issue open and link it to the backlog item.
Currently no, there is no custom routing filter feature for what goes into warm storage, but, I'm taking note of your scenario and feature request. If you go wide you'll hit the limit, so one thing that you can do is to test the query performance for cold-only, without warm storage enabled--the cold query perf might meet the needs and expectations of your operators.
Do you have an idea of what the all-time upper limit of your schema width could be? I'm trying to understand if it's in the thousands, tens of thousands etc.

@lyrana So currently we have around 30 gateways, where each gateway sends data points from couple of hundreds to a thousand. Some of them are overlapping some are not. I think it is like that because it is still at the early stage, and the customer tries to get as much as data from the machine. The data scientist probably together with the domain expert will analyze the data to understand what data is helpful. Most likely, the later stage will not require as many data points.

@xiaoyang-connyun I see, thanks for this info.

Work item tracked in backlog
#please-close


feat: update namada to 0.17.3

Make sure to:

Install CometBFT
Recreate whole chain as usual - do not forget to change chain id in the envs like me :laughing:. Otherwise you might be able to query data, but submitting tx will fail.
It looks like CORS issue is not an issue anymore :crossed_fingers:

Looks good!
One thing is that I still had to fix the CORS thing to get it to work, but once that was done I could see my balances and get a transparent -> transparent transaction to work.
By the way, it looks like this file:
~/.local/share/namada/${CHAIN_ID}/setup/validator-0/.namada/${CHAIN_ID}/cometbft/config/config.toml

...is overwritten with the contents of:
~/.local/share/namada/${CHAIN_ID}/setup/validator-0/.namada/${CHAIN_ID}/config.toml

...when Namada is started, so the file that should be changed for CORS is the second one.

Not sure how it worked for me though :D Thanks!


Create frontend mvp

From a discussion with @the-frey we'll need the following pages for a whoami fronted MVP

[x] #8
[x] #9
[x] #10
[x] #11
[x] #12
[x] #13

Could track this better via a milestone maybe? But yes agree 🙂

tracked elsewhere in the whoami-ui repo. Didn't see that had been created :)


Add command guide for UG

find person
find event
view person
view event
filter person
filter event

LGTM!


Added a .windows platform

Should this be behind some kind of version check?

@swift-ci smoke test

@compnerd is this still relevant given your recent Windows work?

This one is still relevant. Platform detection as is on Windows won't work unless the windows machine happens to have "uname" in the path, which is possible, but not always the case. I'll also repeat the question above of if there is any particular reason it's currently done at runtime. Linux, yes, to distinguish the distros, but darwin could be behind a #if os.

This one is still relevant. Platform detection as is on Windows won't work unless the windows machine happens to have "uname" in the path, which is possible, but not always the case. I'll also repeat the question above of if there is any particular reason it's currently done at runtime. Linux, yes, to distinguish the distros, but darwin could be behind a #if os.

there seems to be at least some overlap with work @compnerd did on other PRs. @compnerd can you help coordinate this change with yours and get this in?

@gmittert could you please rebase this?

We moved our default branch to main and deleted master branch, GitHub automatically closed the PR. Please update the base branch to main.  More detail about the branch update - https://forums.swift.org/t/updating-branch-names/40412


Booting stops when RF switch is off

On installed helloSystem 0.8.0 experimental booting stops when RF switch is set to off on Lenovo T520.
It can reacts to Ctrl-Alt-Del and shuts down and reboots.
Booting stops at the position where RF switch state is being read.

What happens when you boot with the RF switch set to on until you can see the desktop. Then set the RF switch to off.
Does the device reboot? Immediate reboot or black/grey screen first?

When booting with the RF switch set to on until you can see the desktop, then setting the RF switch to off is followed by the kernel message "radio disabled". The system then continues to work properly.

Do you see the same behavior with GhostBSD?

GhostBSD was booting ok.

That is very interesting. I wonder what causes the difference between the two systems.


Add solveintro command

?solveintro @mention sends a direct message (DM) to the mentioned user with detailed guidelines on how to effectively ask for help on solving a Kata in the #help-solve channel, followed by a brief message in the given channel prompting the mentioned user to check his/her DMs. In the case where the mentioned user is unable to receive DMs, the fallback action is to post the contents of the DM on the given channel mentioning the user.
This command is only available to admins and mods, so the risk of the command being abused to spam someone with DMs is low.

Thanks for all the feedback! Since the design of the command itself should be refined, I will incorporate the suggested changes on my next pull request.


Wildcard [...path] has priority over a pre-rendered API route

Describe the bug

Goal: Pre-render a larger dataset as a pre-rendered API route, which can be used in a dynamic layout.
In the following structure the pre-rendered /api/global_container is reachable via the URL and working properly.
In the +layout.server.ts the /api/global_container is called and the [...path] catches this route while it should first be catched by the pre-rendered API route.
We tried several work-arounds, with folder structures, when the wildcard [...path] is removed the /api/global_container is reachable and everything works fine as expected. Also when we don't use the internal fetch and call http://localhost:4173/api/global_container than everything works as expected.
Also if I pre-render the root +layout.server.ts than it seems to work fine, but than I have the issue that all data collected in the layout.server.ts is pre-rendered.
Reproduction

If you have this structure and only prerender:

Logs
No response
System Info
System:
    OS: Windows 11 10.0.22631
    CPU: (20) x64 12th Gen Intel(R) Core(TM) i7-12700K
    Memory: 1.60 GB / 15.73 GB
  Binaries:
    Node: 18.19.0 - C:\Program Files\nodejs\node.EXE
    npm: 10.2.3 - C:\Program Files\nodejs\npm.CMD
  Browsers:
    Edge: Chromium (122.0.2365.59)
    Internet Explorer: 11.0.22621.1
  npmPackages:
    @sveltejs/adapter-auto: ^3.0.0 => 3.1.1
    @sveltejs/adapter-cloudflare: ^4.1.0 => 4.1.0
    @sveltejs/kit: ^2.0.0 => 2.5.2
    @sveltejs/vite-plugin-svelte: ^3.0.0 => 3.0.2
    svelte: ^4.2.7 => 4.2.12
    vite: ^5.0.3 => 5.1.4

Severity
serious, but I can work around it
Additional Information
These calls are template related (header, footer data)

Please provide a minimal reproduction in the form a repository.


Workspace - Reimburse expenses- Rate equals 0 is displayed after offline changes on Reimbursement page

If you haven’t already, check out our contributing guidelines for onboarding and email<EMAIL_ADDRESS>to request to join our Slack channel!

Action Performed:

Go to https://staging.new.expensify.com/and login with expensifail account
Create a workspace (or it could be existing one)
Go to Reimburse expenses page of the workspace
Disable the internet connection
Changes rate and and unit values
Enable internet connection
Refresh the page

Expected Result:
Rate and unit values should stay the same as were chosen offline
Actual Result:
Rate value changes to 0.
Workaround:
Unknown
Platform:

Where is this issue occurring?

Web
iOS
Android
Desktop App
Mobile Web

Version Number: <IP_ADDRESS>
Reproducible in staging?: Yes
Reproducible in production?: No
Email or phone of affected tester (no customers):
Logs: https://stackoverflow.com/c/expensify/questions/4856
Notes/Photos/Videos: Any additional supporting documentation
https://user-images.githubusercontent.com/93399543/196810696-d8029ba5-8ce1-439a-bfcd-6963f04ef687.mp4
Expensify/Expensify Issue URL:
Issue reported by: Applause - Internal Team
Slack conversation:
View all open jobs on GitHub

:wave: Friendly reminder that deploy blockers are time-sensitive ⏱ issues! Check out the open StagingDeployCash deploy checklist to see the list of PRs included in this release, then work quickly to do one of the following:

Identify the pull request that introduced this issue and revert it.
Find someone who can quickly fix the issue.
Fix the issue yourself.

Okay, it actually seems like the keys are intentional so that is fine.  I'm a little confused on how it's being set to null though.  This is the order of responses that happens when you go back online after editing the custom units offline.

Reconnect app is where the customUnits is set to null
https://github.com/Expensify/Web-Expensify/blob/fc8ad875d159f0da57f09e362aa8a6172d4be1e3/lib/AppInit.php#L211-L212
But in the next two commands, is where we should have an updated custom unit.

It seems like because it's slow to merge a collection METHOD_MERGE_COLLECTION like we do in ReconnectApp, it might be happening after the updates and merges.

Out of the staging changes that could have impacted this, we might have uncovered some bugs due to the new onyx changes https://github.com/Expensify/App/pull/11945 due to merge being faster, otherwise nothing else is sticking out.
I was able to get this to work by removing this line<EMAIL_ADDRESS>so that the customRate is never set to null, but it's still flipping between values (Fetches the old value first, but then shows the new value after)
I'm going to remove the deploy blocker since we this will have to update this with seperate changes, and the user can just see the updated rate by opening the screen again.
cc @amyevans / @jasperhuangg / @yuwenmemon
since you all worked on this code, do any of you have some additional context to this / does my investigation make sense?

I think your investigation makes sense @thienlnam!

Removing customUnit: null should clear up the overwriting with null problem
The other issue you describe

the new optimistic value in onyx is being overwritten somewhere in one of the Get / Reconnect api calls before UpdateWorkspaceCustomUnitRate API call is complete
is documented in https://github.com/Expensify/Expensify/issues/229696 so I think we should prioritize finding a fix for that, though it sounds like it's a tricky problem

Curious if others agree though too!

customUnit: null PR has been merged, closing this one out and https://github.com/Expensify/Expensify/issues/229696 will take care of the rest


Events

Feature
The events belong to different event channels (for instance BOOT, ALL). The user shall be able to subscribe to one or more of them. If an event in the subscribed channel occurs the user gets notified.
Criteria

[ ] clients can subscribe to channels
[ ] offers differnt channels
[ ] coordinator can publish events

Is not necessary anymore because all LEDs are published and the user may subscribe to the boot LED themself.


[ISSUE] qBitrr creating folder named from qBittorrent category.

OK been sitting on this one a couple of months.
Didn't wanna add to your plate.
Whenever I start qBitrr, it creates the two folders in my completed torrent download folder.
Those two folders are the two categories I have set up in qBitrr.
Nothing is ever put in these folders, though.
The two folders in relation to the qBitrr container are:

/downloads/Videos - Movies/
/downloads/Videos - Series/

Here are my qBittorrent categories with the save path shown:

Here're the two folders it creates

And finally, here are the logs on startup and my config:
qBitrr Logs

I'll be adding some new configs to specify directory when category has a set directory, unless I manage to read this from the api

Give the image feramance/qbitrr:pr-105 a try and let me know how it goes

OK a quick update changes the behavior a little.
The old unwanted behavior - note these are the qbitorrent category titles, not paths:

It created /downloads/Videos - Movies/
It created /downloads/Videos - Series/

The new unwanted behavior:

It creates /downloads/Complete/
and it creates the whole paths too
/downloads/Complete/Media/Videos/Movies/
/downloads/Complete/Media/Videos/Series/

which translates to this in terms of the full host path:

/mnt/user/Downloads/Torrents/Complete/Complete/Media/Videos/Movies/
/mnt/user/Downloads/Torrents/Complete/Complete/Media/Videos/Series/

The full host path:

/mnt/user/Downloads/Torrents/Complete/Media/Videos/Movies/
/mnt/user/Downloads/Torrents/Complete/Media/Videos/Series/

My container mount setting is:

/downloads = /mnt/user/Downloads/Torrents/Complete/

Can you send me logs please? I just need the first line

Can you send me logs please? I just need the first line

Here are the logs.
Wasn't sure which first line you wanted, here's the Radarr one:

Category exists with save path [/downloads/Complete/Media/Videos/Movies]
And here are the full logs: qbitrr Logs

Can you send me your docker volume mappings? As I think the issue is there

Also, is your qbitrr config set to /downloads or /downloads/Complete?

There's your problem, the path in qBitrr needs to be the same as in qbittorrent, try that and it should be good

OK gonna close this one. I changed the path and will monitor.
Thanks. :>

Leaving the issue open until you validate this fixed the issue for you, on my end it seems to be working

Leaving the issue open until you validate this fixed the issue for you, on my end it seems to be working

Yeah man looks good. Several torrents downloaded and no problems at all.
Guess that one was on me. :P' Sorry about that.

No worries


Allows non-inheriting trace context

Eventhough convenience may mean an inheriting thread local is a good
choice, there are problems with this approach, such as the inability to
cleanup data. This encourages use of non-inheriting thread local w/o
changing the default.

@gnoremac @schlosna do you think it is fair to recommend against using inheritable thread locals (leaving the default inheritable since we used to)?

simplified the javadoc a bit, notably ridding the discussion about static references as the underlying problem is different tracer instances.


Add GCC IA-16 toolchain for 16-bit DOS application development

Thank you @volkertb for contributing! ^^


Python on Windows

Hi
I tried soco-cli in a raspberry.. worked perfectly
Not used to Python in windows, I have setup the environment and installed the soco-cli package..
First I navigate to the Python package repository on my machine..

cd C:\Users\Username\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.9_qbz5n2kfra8p0\LocalCache\local-packages\Python39\site-packages

From here, I can run

Python3 discovery.py
and it outputs my setup..

Sonos Household: Sonos__xxxxmyuid_

Room/Zone Name    IP Address      Device Model    Visibility    SW Version
----------------  --------------  --------------  ------------  ------------
Anton             192.168.xx.122  One SL          Visible       14.0
Bureau            192.168.xx.108  Play:1          Visible       14.0
Kitchen           192.168.xx.170  One             Visible       14.0
Living Room       192.168.xx.119  Play:1          Visible       14.0
Parents           192.168.xx.176  One             Visible       14.0

1 Sonos Household(s) found
5 Sonos device(s) found

Saved speaker data at: C:\Users\Username/.soco-cli/speakers_v2.pickle

But then I try to run sonos SPEAKER play_file myfile.mp3   as I did on the raspbian..

python3 sonos.py Kitchen play_file myfile.mp3

Output
Traceback (most recent call last):
  File "C:\Users\Username\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.9_qbz5n2kfra8p0\LocalCache\local-packages\Python39\site-packages\soco_cli\sonos.py", line 36, in <module>
    from .wait_actions import process_wait
ImportError: attempted relative import with no known parent package

Would you have any idea on how to turn this around ?
Thanks

If you've installed SoCo-CLI using pip, then you should just be able to use the sonos command without specifying the Python3 executable. The command should be on your path. E.g.:
C:\Users\Pikasso>sonos Kitchen play_file my file.mp3
This is because pip has installed SoCo-CLI scripts in the Scripts directory of your Windows Python installation that allow direct invocation of sonos (and other SoCo-CLI commands), and which set up the required environment for the command to run.
The same applies to your Raspberry Pi installation, btw, except the scripts will be in the bin directory of your Python installation.

Thank you PWT.
Interestingly, if you install Python as a Windows App from the Microsoft Store, it won't have the same structure.. hence the strange path to my packages and imports.
As a result, I installed Python manually made sure app and script path were included inn my %path% and then.. installed soco-cli.. and ran
C:\Users\Username>sonos Kitchen play_file my file.mp3 as on the Pi...
Problem solved and learned something new ;-)
Havea great day !

It's because the sonos command (when you install soco-cli with pip) is not in the same folder as sonos.py or discovery.py. So there is this error message : ImportError: attempted relative import with no known parent package because python doesn't have the good relative address for importing packages when using it from another folder than the folder of the sonos command. In the script it is from sonos import blabla  for exemple and when using the .py it must be import blabla for importing the package blabla. It's a bug from Pypi so we can't use sonos.py if we want to use the sonos command.

It's a bug from Pypi so we can't use sonos.py if we want to use the sonos command. It's not about the way you install Python, it's about a Pypi bug

I wouldn't consider this a PyPI bug. Mostly, the pip/PyPI installs for command line scripts work fine, with issues only presenting when there's something up with the Python installation(s), the virtual environment(s), or the installation steps for the package.
I don't blame people for this -- it's easy to create problems, especially on Windows.


tooltips for timeline blocks

@kbaumzie check out generate_timeline.js.erb and look at lines 318-323 and 327-329

@kbaumzie I've finished up the blocks, so if you feel bored and want to change the colors to be pretty and mess with the styling a little bit, feel free!


[SPARK-5215] [SQL] add concat support in spark sql

support concat(string1, string2, ...)

Test build #25467 has started for   PR 4017 at commit 0a06376.

This patch merges cleanly.

Test build #25467 has finished for   PR 4017 at commit 0a06376.

This patch passes all tests.
This patch merges cleanly.
This patch adds the following public classes (experimental):
case class Concat(childSeq: Seq[Expression]) extends Expression

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/25467/
Test PASSed.

I was fine with #4040 because coalesce requires some very special case casting logic that is already implemented. But I want to block further addition of UDFs directly into the parser until we fix SPARK-4867

I propose we close this issue to keep the pull request queue small, until the UDF fix above is complete.  Thanks!

OK, Let's close it for now.


JS

https://www.ag-grid.com/why-the-world-needed-another-angularjs-grid/
http://techarena51.com/index.php/real-time-linux-server-monitoring-with-node-js-socket-io-and-d3-js-gauges/

promise and deffered
http://haroldrv.com/2015/02/understanding-angularjs-q-service-and-promises/

https://leanpub.com/understandinges6/read#leanpub-auto-var-declarations-and-hoisting


Merge develop to stable.

@zmoon  Sorry if this seems redundant, but would like to get these changes into stable.


implement the Attocube ANC300 Piezo controller

this device needs a custom adapter which is derived from the Python standard module telnetlib. Since a general TelnetAdapter could be useful also for other devices I included a general TelnetAdapter from which the specialized Attocube Adapter is derived.

@cjermain as this implements an additional adapter, could you take a look through this PR?

Since your device returns strings that don't fit into the simple pattern that Adapter.values can deal with, I don't see a much more elegant way than what you are already doing - this part could probably use some improvement. One alternative way to handle this would be to use a modified extract_value as the cast callable and make it return a float - but this only replaces your use of get_process= with cast=, so it's not simpler per se.
If one wanted to apply the same processing/parsing to all gets of an Instrument without specifying this for every control/measurement individually, I could see optionally implementing some generic method at the Adapter level. If that is defined (e.g. via kwarg to the Instrument constructor that gets passed to the Adapter), it gets called within Adapter.values right after receiving the string. This can be used to prepare the reply for the usual separator/cast application, via regex or whatever you want to use, and you only have to define/use this once for the whole Instrument. Of course this depends on the instrument's replies all having the same structure.
I think you should leave what you did here in place, and we take this discussion into a separate issue/feature request - that needs some thinking and will just get buried here. Can you open an issue, please?

I will report an issue with my next pull request.
I think most comments are resolved in this one. I have one last question: One option not discussed here (or I misunderstood something) was to totally integrate AttocubeConsoleAdapter into the ANC300Controller. So basically this means it would be directly be based on TelnetAdapter and handle all the device communication protocol directly in the instrument. I guess this largely would mean to copy paste the methods from the Adapter into the Instrument. If you prefer this I can do it. Functionally I guess it will almost remain the same. The small advantage would be that a user has easier access to the raw communication by just calling Instrument.adapter.read/write. Which now is a bit masked by the AttocubeConsoleAdapter

If the adapter is the same/very similar for most Attocube console uses, then by all means keep it separate as it is now.

Based on the discussion here I propose to leave the basic structure of the code as is. If there are further suggestions please let me know. From my side this is ready to be merged.
I will report the issue with the extract_* functions

Don't worry about it, I just made #331.

Yeah, this already looks good! As this adds a new adapter, I would like to wait for @cjermain and @CasperSchippers input if this fits in well.
I'd also like another opinion if there is a better way to solve the unusual behaviour of the write() in the AttocubeConsoleAdapter.

I was thinking about buffering the last response for the check_error function but the code is not getting easier. The problem is that the buffering can in my opinion not only be limited to the read function. Also after a write (in case of a set command) the device replies with the acknowledgement. If the write function will not read it back a later ask query will have some stray responses in the input buffer. Or upon every write the input buffer would need to be flushed, but this also seems like a dirty hack. The write used in the ask method, however, can not read the reply because the acknowledgement comes back after the return value (see below).
Here example communication with the instrument for illustration of the situation (lines starting in '>' are sent to the instrument, lines starting in '<' are received:
> 'setv 1 33.000\r\n' # here one would typically use a write, but still get a response
< 'OK\r\n'
or a query of a value
> 'getv 1\r\n'
< 'voltage = 33.000000 V\r\nOK\r\n'
a query with a multiline reply:
> 'ver\r\n'
< 'attocube ANC300 controller version 1.2.2-3 2019-01-25 11:02\r\nANC150 compatibillity console\r\nOK\r\n'
If I mimick the behavior with check_error the buffering will once have to be done in write (for example for check_set_errors=True of a control or setting property and once in read when check_get_errors=True.
If I missed something please let me know.

thanks for all the constructive comments. I hope I have addressed all of them in the latest commits.
Sorry for the late adding of one new property (an array property) which also made it necessary to implement some new validators. At least I do not know how to treat this otherwise. Feedback is welcome and I am happy to make more changes if necessary.
@cjermain : thanks for agreeing that check_ack as implemented here is ok. I actually with a different device with similar communication protocol tried to use the check_errors approach but found it more cumbersome than putting it into the Adapter where it seems to belong
I will definitely introduce some simplifications in this instrument once issue #331 is fixed. But propose to accept it as is (or after additional fixes) and I would open a new pull request when the time comes.

Thank you for your contribution and your patience with our comments. I think this is ready to merge now. :partying_face:


Need more assertion examples

Challenge http://www.freecodecamp.com/challenges/bonfire-where-art-thou has an issue. Please describe how to reproduce it, and include links to screenshots if possible.
There are not enough assertion examples for someone to understand what they're supposed to do.

@bugron please close this issue as #1756 resolves this issue.
@HexORSist Thanks.

@HexORSist thanks for posting this issue!
Closing this issue as the PR https://github.com/FreeCodeCamp/FreeCodeCamp/pull/1756 is merged.

Please review the Guidelines for Contributing, thank you!.


Roll engine 70068706d0ee..54f7c51339ae (1 commits)

https://github.com/flutter/engine/compare/70068706d0ee...54f7c51339ae
git log 70068706d0ee3bc9847632c4d0e467fba49271f8..54f7c51339ae7d86a983b5850b14dafe4e2bd90a --no-merges --oneline
54f7c5133 Roll src/third_party/skia 14c90c1ca218..ced2b79d00f9 (1 commits) (flutter/engine#8629)
The AutoRoll server is located here: https://autoroll.skia.org/r/flutter-engine-flutter-autoroll
Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+/master/autoroll/README.md
If the roll is causing failures, please contact the current sheriff (cbracken@google.com), and stop
the roller if necessary.

Auto-roller completed checks. About to merge.


How do you run both Highcharts and Highmaps in the same application?

I am running React 0.13 and using version 3.0.0 of react-highcharts
Including both Highcharts and Highmaps returns this error
http://www.highcharts.com/errors/16
Ive tried other configurations and importing the files in different combinations but then i end up with
Uncaught Error - highmaps.js:144

I don't remember how exactly it v.3 worked, but my guess would be:

Include Highcharts in the codebase
Include maps as a module (should be in the modules folder)
Use non-bundled versions of ReactHighcharts.

Thanks so much for your help. I did get a bit further thanks to your advice.
Just to confirm, would this be the correct approach? This is what I currently have and the map is rendering as a regular chart.
// LineChart.jsx

// Importing directly from /dist here causes an error asking to include 'highcharts'
// although it is already in the app's js bundle
import ReactHighchart from 'react-highcharts/dist/bundle/highcharts'

class HighChart extends Component {
  render () {
    return (

        <ReactHighchart config={...} isPureConfig/>

    )
  }
}
------------------------------------------------------------------------------
// MapChart.jsx

// Importing Highmaps here conflicts with the /bundle/highcharts import in LineChart
import ReactHighchart from 'react-highcharts/dist/highcharts'
import Maps from 'react-highcharts/dist/modules/map'

class MapChart extends Component {
  render () {
    return (

        < ReactHighchart config={...}/>

    )
  }
}
`

There should be a way to requre ReactHighmaps, something similar to this:
var ReactHighmaps = require('react-highcharts/ReactHighmaps');

@kirjs I couldn't figure out a way to require a non-bundled version in this manner.

I'm closing the issue, feel free to reopen.

Uncaught Error: Cannot find module "react-highcharts/ReactHighmaps"
why?

Looks like you're doing something wrong

I'm also getting the same issue. I have tried all sorts of combinations and variations of trying to include 'ReactHighmaps' no luck.
const ReactHighmaps = require('react-highcharts/ReactHighmaps');

You have to have highmaps in the codebase.

@tongjun741
i have the same error.
But when i use import ReactHighmaps from 'react-highcharts/dist/bundle/ReactHighmaps';,
it works

I got it working using:
const ReactHighmaps = require('react-highcharts/dist/ReactHighmaps');
But im calling this inside the react render function due to a conflict of loading this in conjunction with non react highcharts pages.