How to Connecting Local EOSC with Public Testnet?

I'm following the tutorial:
Connecting Local EOSC with Public Testnet Tutorial
I used command below:
./esoc -H testnet1.eos.io -p 80
It returned error and required subcommand.
Which subcommand should I use to connect my eosc with public testnet?
Is that I am using the right http_endpoint or not? testnet1.eos.io is mentioned in email.

I use the command:
./eosc -H testnet1.eos.io -p 80 create account my_account_name currency public_key public_key
my_account_name

Is it right way to use?
Then I still face the "UnAuthorized" problem:
https://github.com/EOSIO/eos/issues/1577

I solve it by following: https://github.com/EOSIO/eos/wiki/Tutorials#14-creating-an-account


Create a migration tool

Is your feature request related to a problem? Please describe.
From the migration guide:

Every networked prefab and scene object needs to be adjusted. They will be using NetworkIdentity from Unet, and you need to replace that componenent with NetworkIdentity from Mirror. You may be using other network components, such as NetworkAnimator or NetworkTransform. All components from Unet should be replaced with their corresponding component from Mirror.

This is a difficult and error-prone process that could easily be automated with a search-and-replace script. I migrated my project with the search-and-replace function in VSCode and it worked really well.
Describe the solution you'd like
Create a program/script that goes through all prefab/scene files replaces all instances of the UnityEngine.Networking.NetworkIdentity script GUID with the Mirror.NetworkIdentity GUID. This can also be applied to other Mirror components, as well as certain required code changes:

using UnityEngine.Networking; -> using Mirror;
[Command(channel.*)]) -> [Command]
SyncListStruct -> SyncListSTRUCT
etc

Additional context
Obviously, users should be prompted to backup their project before migration.
One easy way to implement this would be as a PowerShell script:
# replace UnityEngine.Networking namespace usings
Get-ChildItem -recurse '*.cs' | ForEach {(Get-Content $_ | ForEach { $_ -replace '^[ \t]*using UnityEngine\.Networking;', 'using Mirror;' }) | Set-Content $_}
# remove command channels
Get-ChildItem -recurse '*.cs' | ForEach {(Get-Content $_ | ForEach { $_ -replace '^([ \t]*)\[Command\(channel.*\)\]', '$1[Command]' }) | Set-Content $_}
# ...

A migration script has already been developed, please note that it is still experimental ; https://gist.github.com/Lymdun/dae130c5a69d69ab202bd621af2de1ad


Test if all is fine on 12 and EA (why not?)

Overview

See: https://jira.bf.local/browse/ECR-XYZ
Definition of Done

[x] There are no TODOs left in the code
[x] Changelog is updated if needed (in case of notable or breaking changes)
[ ] The continuous integration build passes

12 is fine, EA does not work because EqualsVerifier needs to be updated (13, as any new release nowadays, bumps a class format version).


Move scarb installation to CI

Describe your changes

Add scarb installation to CI

add scarb plugin with asdf
install versions: 0.4.0, 0.7.0, 2.6.0

Linked issues

Closes #365
Breaking changes

[ ] This issue contains breaking changes

Discussed offline

We keep part of compileContracts.sh responsible for installing scarb and its versions, as it is handy for developers while testing SDK. Also, there's no need to add extra checks whether version/plugin is already installed, as asdf performs these checks on its own.
CI scarb installation is performed via asdf commands, mostly because we don't want to overcomplicate versions management. This could occur while using asdf-action and having main .tool-versions and multiple .tool-version files spread across the project - in the top directory and in subdirectories with contracts.
Unfortunately, we cannot utilize setup-scarb action as it doesn't allow to install multiple versions of scarb.


FIxed confgiure: Rscript should be called with --slave

Rscript should be called with --slave to avoid printing R's welcome message. If not implemented, then the installation fails because RHDF5_INCLUDE includes the welcome message.

Closing this because I didn't receive anymore information either here or in https://github.com/grimbough/rhdf5/pull/76 and this hasn't been reported by anyone else.


multiapi_init_gen.py generate unmatched code on azure-mgmt-resource

Package Name:
Package Version:
Operating System:
Python Version:

Describe the bug
Swagger version: https://github.com/Azure/azure-rest-api-specs/pull/8268
Below is the _resource_management_client.py in azure.mgmt.resource.resources

It is calling ResourceManagementClientConfiguration with parameter subscription_id.
But in the _configuration.py, ResourceManagementClientConfiguration actually require both subscription_id and subscription_id1

To Reproduce
Steps to reproduce the behavior:
use packaging_tools.generate_sdk
Expected behavior
A clear and concise description of what you expected to happen.
Screenshots
If applicable, add screenshots to help explain your problem.
Additional context
Add any other context about the problem here.

Thanks @changlong-liu, @nickzhums can you take a look at this

@lmazuel to check the issue in generated code. thanks.

subscription_id1 is likely the root cause of the issue in the first place. Moving this issue to autorest repo

Hi @chenjianfei2017 , would you help to confirm this is fixed in swagger? Thanks.

hi @changlong-liu  @lmazuel  @kaerm
it was resolved in this pr: https://github.com/Azure/azure-rest-api-specs/pull/9580/files

Thanks @chenjianfei2017 !


BMW-Bike landing page

Description 📜
A website for bike with color variant using HTML, CSS and JavaScript.
Fixes #1457

Type of change 📝
Please delete options that are not relevant. In order to tick the check box just put x inside them for example [x] like this

[x] Add a new project

Domain of Contribution 📊
Please delete options that are not relevant. In order to tick the check box just put x inside them for example [x] like this

[x] Project using HTML, CSS & JS

Checklist ✅
Please delete options that are not relevant. In order to tick the check box just put x inside them for example [x] like this

[x] I have performed a self-review of my own code or work.
[x] I have commented on my code, particularly in hard-to-understand areas.
[x] My changes generate no new warnings.
[x] I'm GSSoC'22 contributor

Screenshots / Gif (Recommended) 📸

Add readme file with working demo video

@Mrjoy832 Please review. I have done the desired changes.


JavaScript heap out of memory

I have a database of 127k entries, each corresponding to a userId and a movieId. I want to add these to raccoon with the raccoon.liked() method when I start my server, but doing that seems to hit the memory limit real fast. Is that normal? The .csv version of this data is not even 10 MB. What sort of data structure is being used in the implementation that it allocates around 1.5 GB for just 100 entries, hitting the memory limit?

@halileohalilei Hey Halil,
Thanks. That seems very possible. I'm going to try to run it with the movielens benchmark to see how it performs. In terms of the data structures being stored.
For every user there are:
liked lists
disliked lists
similarity sets
recommendation sets
For every item there are:
liked lists
disliked lists
Others include:
Most liked set
Most disliked set
Overall score

@halileohalilei working on the memory problem now. there seems to be a leak but i'm having problems installing heapdump because of node-gyp. i'll let you know when i figure it out. also made a repo for benchmarking movielens 100k with raccoon: https://github.com/guymorita/benchmark_raccoon_movielens

@halileohalilei i got it to work on the movielens 100k data set. please see the benchmark repo here. the short solution is to increase the memory allocated to node. i'm still looking into other ways. please check it out here: https://github.com/guymorita/benchmark_raccoon_movielens


Searcherer.findDictionary should be an instance method

The undocumented (from a README perspective, at least) Searcherer.findDictionary method was accidentally declared static where it should be an instance method. In fact, attempting to use it will result in an error as it looks for the dictionaries on this, which will be an incorrect reference.

This bug has been fixed in cd29130 and will be included in the 0.1.1 release.


LUCI isn't deleting some entries in dhcp config when 'DHCP Client' and 'DHCPv6 Client' mode is enabled

Supply the following if possible:

Device problem occurs on
WD My Net n750
TP-Link TL-WDR3600 v1

Software versions of OpenWrt/LEDE release, packages, etc.

LEDE Reboot 17.01.4 r3560-79f57e422d

Steps to reproduce

From fresh install go to Network > Interfaces and edit the LAN interface.  Switch the protocol to 'DHCP Client' and click switch protocol under 'Really switch protocol?'  After it switches then click 'Save & Apply' near the bottom.
Checking the /etc/config/dhcp  file after this shows some leftover settings that should have been removed but were not.
Attached are two different /etc/config/dhcp files, one labelled dhcp-incorrect.txt which is what results after preforming the above steps and another labelled dhcp-correct.txt which I believe should be the correct settings that should be applied after preforming the above steps.
dhcp-correct.txt
dhcp-incorrect.txt

Has anyone taken the time to look at this issue?

Yeah I looked at it and will fix it after the release. Since the dnsmasq init script will refuse to operate on non-static interface (https://git.openwrt.org/?p=openwrt/openwrt.git;a=blob;f=package/network/services/dnsmasq/files/dnsmasq.init;h=c1ae0934fd2c466687c80f7ae7f6fa567e4474fa;hb=7a6b2badfa56cfd833d64f113398198f71fd896e#l477) and since one can disable the DHCP server before switching the protocol I do not deem it release critical yet.

@jow- it's been awhile and this issue hasn't been closed. Has this been fixed for newer releases of OpenWRT and LUCI?

No, it hasn’t been fixed.


v0.1.0

Codecov Report

Merging #2 (6db4e80) into master (7d2ad3d) will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##           master       #2   +/-   ##
=======================================
  Coverage   97.43%   97.43%
=======================================
  Files           3        3
  Lines          78       78
=======================================
  Hits           76       76
  Misses          2        2

Continue to review full report at Codecov.

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


GRPCChannelManager : Create channel to  fail

Please answer these questions before submitting your issue.

Why do you submit this issue?
[v] Question or discussion
[ ] Bug
[ ] Requirement
[ ] Feature or performance improvement

Question

What do you want to know?
What is the cause? help me, thanks.

Bug

Which version of SkyWalking, OS and JRE?
version: 6.6.0
OS: centos 4.14.123-111.109.amzn2.x86_64
JDK version: 1.8.0_121

Which company or project?

What happen?
I remove the apm-vertx-core-3.x-plugin-6.6.0.jar from the plugins

log
DEBUG 2020-03-06 12:13:18:636 SkywalkingAgent-5-ServiceAndEndpointRegisterClient-0 ServiceAndEndpointRegisterClient : ServiceAndEndpointRegisterClient running, status:DISCONNECT.
DEBUG 2020-03-06 12:13:21:583 SkywalkingAgent-2-GRPCChannelManager-0 GRPCChannelManager : Selected collector grpc service running, reconnect:true.
ERROR 2020-03-06 12:13:21:584 SkywalkingAgent-2-GRPCChannelManager-0 GRPCChannelManager : Create channel to  fail.
java.lang.NullPointerException
at org.apache.skywalking.apm.agent.core.remote.GRPCChannelManager.run(GRPCChannelManager.java:122)
at org.apache.skywalking.apm.util.RunnableWithExceptionProtection.run(RunnableWithExceptionProtection.java:36)
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
at java.util.concurrent.FutureTask.runAndReset(FutureTask.java:308)
at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$301(ScheduledThreadPoolExecutor.java:180)
at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:294)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
at java.lang.Thread.run(Thread.java:748)
DEBUG 2020-03-06 12:13:21:585 SkywalkingAgent-2-GRPCChannelManager-0 GRPCChannelManager : Selected collector grpc service is not available. Wait 30 seconds to retry
DEBUG 2020-03-06 12:13:21:638 SkywalkingAgent-5-ServiceAndEndpointRegisterClient-0 ServiceAndEndpointRegisterClient : ServiceAndEndpointRegisterClient running, status:DISCONNECT.

I am not sure what is happening.  I could just say the managedChannel is NULL somehow.
https://github.com/apache/skywalking/blob/v6.6.0/apm-sniffer/apm-agent-core/src/main/java/org/apache/skywalking/apm/agent/core/remote/GRPCChannelManager.java#L122

Need you local debug to see what happens.


Add tests for #2331, #2332, and #2399

Changelog Entry
(No changelog is added for tests)
Description
Added tests for the following PRs:

#2331 Trimming send box value
#2332 Hide scroll to bottom button
#2399 Allow full screen for video players

Also improved reliability on focus.js.

[x] Testing Added

Coverage increased (+0.08%) to 65.379% when pulling e8ebe07d8a54e51a5beea02aa82587ffac4b642f on compulim:add-tests into 86714de52ef3399ccbac635463d45a25d1f211ed on microsoft:master.


things for borrowing + reference types and test changes yadayada

this PR adds:

simple reference types (half done?)
borrow phase (in prog)
changes to semantic passes (mostly init/destroy stuff)
cleanups in borrow check
nested lifetimes + cleanup for lifetimes
static lifetime

stuff still a wip...

Wow. You really need to up your git-fu


Fix camel-opentelemetry test

Applies the same approach as 4b747b8367cadb317bc4cd3aad5827b2e425e10c

The failure is unrelated to the change:
[ERROR] Failed to execute goal org.apache.maven.plugins:maven-artifact-plugin:3.5.1:buildinfo (buildinfo) on project apache-camel: Execution buildinfo of goal org.apache.maven.plugins:maven-artifact-plugin:3.5.1:buildinfo failed: Cannot invoke "org.apache.maven.project.MavenProject.getName()" because "project" is null -> [Help 1]
org.apache.maven.lifecycle.LifecycleExecutionException: Failed to execute goal org.apache.maven.plugins:maven-artifact-plugin:3.5.1:buildinfo (buildinfo) on project apache-camel: Execution buildinfo of goal org.apache.maven.plugins:maven-artifact-plugin:3.5.1:buildinfo failed: Cannot invoke "org.apache.maven.project.MavenProject.getName()" because "project" is null
	at org.apache.maven.lifecycle.internal.MojoExecutor.doExecute2(MojoExecutor.java:347)

It is caused because the artifact-plugin is failing after the test.

The failure is unrelated to the change:
[ERROR] Failed to execute goal org.apache.maven.plugins:maven-artifact-plugin:3.5.1:buildinfo (buildinfo) on project apache-camel: Execution buildinfo of goal org.apache.maven.plugins:maven-artifact-plugin:3.5.1:buildinfo failed: Cannot invoke "org.apache.maven.project.MavenProject.getName()" because "project" is null -> [Help 1]
org.apache.maven.lifecycle.LifecycleExecutionException: Failed to execute goal org.apache.maven.plugins:maven-artifact-plugin:3.5.1:buildinfo (buildinfo) on project apache-camel: Execution buildinfo of goal org.apache.maven.plugins:maven-artifact-plugin:3.5.1:buildinfo failed: Cannot invoke "org.apache.maven.project.MavenProject.getName()" because "project" is null
	at org.apache.maven.lifecycle.internal.MojoExecutor.doExecute2(MojoExecutor.java:347)

It is caused because the artifact-plugin is failing after the test.

Maybe the artifact plugin should be part of a profile disabled by default.

@oscerd yeah. Currently it's active for full and release. I think we need to make it active only when the release profile is active.


realtime: handle refusing connection

resolve the promise when onconnect is called or call reject onerror.

But on error, kmjs-core is trying to reconnect https://github.com/keymetrics/kmjs-core/blob/master/src/utils/websocket.js#L123


Mobile mode: title shortened to fit the header when scrolling

On mobiles the title of the book is in the sticky header. If sticking, the h1 should have overflow: ellipsis.

When sticky the h1 font-size should the the same on all pages


[Feature] Parse ProgramID as Literal.

This PR supports parsing ProgramIDs as Literals.
This allows users to use program IDs directly via the CLI and other input interfaces.

Works when testing for https://github.com/AleoHQ/ARCs/pull/41 !


Volume control

Is there a solution to control music Volumen by command line ?

@thekr1s thx for the link, but i can't find volume control for spotipy
@ComlOnline: great, but it's not python just 'go' - any other suggestions?

@thekr1s  got it working :)
here my python code:
import pprint
import sys

import spotipy
import spotipy.util as util

scope = 'user-modify-playback-state'
username = 'YOURUSER'
token = util.prompt_for_user_token(username,scope,client_id='mine!',client_secret='mine!',redirect_uri='http://localhost:8888/callback/')
volume  = int(sys.argv[1])

if token:
    sp = spotipy.Spotify(auth=token)
    sp.trace = False
    results = sp.volume(volume)
    print results
else:
    print "Can't get token for", username

@tatoosh, Great that you got it working.


Add GUI option to disable settings flow

It is possible to disable the settings flow in the identity service configuration, but not in the UI.
Would be a good addition in base settings
context: https://ory-community.slack.com/archives/C02MR4DEEGH/p1669392879249409

Tracked via: https://github.com/ory-corp/cloud/issues?q=is%3Aissue+is%3Aopen+label%3A"needs+triage"

yes :(
probably best to copy the full message when creating the issue.
I only found this: https://archive.ory.sh/t/5167192/is-it-possible-to-disable-settings-profile-flow-in-ory-cloud#b107b509-c8a1-40e7-a3db-c755edfa19cd
I think the use case was to prevent the user from changing their profile information.

Maybe we could also introduce a “reject” Action / built in hook that you can just configure to run pre settings flow (or anywhere else deemed useful).
Not sure which way is better.


Swap gsub! for gsub for safety.

Using gsub! on fields that could be frozen is dangerous.

Just a heads up, I don't have merge rights here.


Add subscribe function as on without auto-unsubscribe context

Isolate function added:
https://github.com/betula/realar/commit/012b0fc93c8c7f7f7292424287d4d0b6ec37b282#diff-a2a171449d862fe29692ce031981047d7ab755ae7f84c707aef80701b3ea0c80R234-R241


[stable/sonarqube] sonarqube.properties is not mounted properly

Is this a request for help?: no

Is this a BUG REPORT or FEATURE REQUEST? (choose one):BUG REPORT

Version of Helm and Kubernetes:
Which chart: stable/sonarqube
What happened: if you try to populate sonarqube.properties configmap, it errors out
What you expected to happen:
How to reproduce it (as minimally and precisely as possible):
Anything else we need to know:

/assign


fix(core): fix sameVnode for async component

I found and fixed a vdom bug related to async component and SSR.
I originally noticed this bug on my closed project using Nuxt.
The minimal reproduction code is included in test.
Phenomenon
Throw when hydrated pending async component is patched by v-if="false" node.
(version: 2.6.11)
Cause

v-if="false" node is represented by comment node
sameVNode returns true when asyncPlaceholder and comment are compared.
patchVNode executed for asyncPlaceholder and comment.
comment doesn't have asyncFactory but asyncFactory.resolved is accessed.

Fix
Fix sameVNode to return false when asyncPlaceholder and comment are compared.

What kind of change does this PR introduce? (check at least one)

[x] Bugfix
[ ] Feature
[ ] Code style update
[ ] Refactor
[ ] Build-related changes
[ ] Other, please describe:

Does this PR introduce a breaking change? (check one)

[ ] Yes
[x] No

If yes, please describe the impact and migration path for existing applications:
The PR fulfills these requirements:

[x] It's submitted to the dev branch for v2.x (or to a previous version branch), not the master branch
[x] When resolving a specific issue, it's referenced in the PR's title (e.g. fix #xxx[,#xxx], where "xxx" is the issue number)
[x] All tests are passing: https://github.com/vuejs/vue/blob/dev/.github/CONTRIBUTING.md#development-setup
[x] New/updated tests are included

If adding a new feature, the PR's description includes:

[x] A convincing reason for adding this feature (to avoid wasting your time, it's best to open a suggestion issue first and wait for approval before working on it)

Other information:

We are running into this issue as well, can this be reviewed @yyx990803 ?

Just ran into this again, would love for this to be merged!

Will this get included anytime soon?


Add dappkit-web functionality

Want to get some initial feedback since there was a lot of discussion on how we want to structure the separate modules.

In this PR, there are a few functions that now have web-specific counterparts(waitForAccountAuthWeb, waitForSignedTxsWeb, parseURLOnRender).
I implemented these in a decorator-like style, so refactored the mobile functions in the process (and haven't published/tested these yet), but we can always remove the majority of the mobile changes if need be.
I didn't create counterparts for listenToAccount or listenToSignedTxs -- it seems like we never use these in the tutorials/docs anyways (maybe it makes sense to deprecate these?? the functionality is very very similar to the waitFor* functions except for not requiring a requestId)

(web mods heavily based on Alex's workaround in use-contractkit
(- Includes Alex's change from Expo -> react-native (can rebase again once that is pushed to devx/update-dappkit))

@AlexBHarley split into two files for now but without any special nesting/configuration--was playing around with this a bit but it felt messy to have nested tsconfigs and wasn't working as cleanly as I'd hoped, so for now web imports would look like import {...} from @dappkit/lib/web. Added a simple timeout for now, but yeah I think canceling dappkit flows would be a nice feature (and has a different ticket out for it?) will continue thinking about how that could look!


docs: Fix a few typos

There are small typos in:

mne/decoding/tests/test_ssd.py
mne/epochs.py
mne/io/constants.py
mne/io/meas_info.py
tutorials/io/30_reading_fnirs_data.py

Fixes:

Should read frequency rather than freqquency.
Should read discouraged rather than discoraged.
Should read characteristic rather than charactersitic.
Should read acquisition rather than acquition.
Should read occurred rather than ccurred.

Semi-automated pull request generated by
https://github.com/timgates42/meticulous/blob/master/docs/NOTE.md

@timgates42 thanks! Can you add an entry to latest.inc with a **new contributor** tag like Darin Erat Sleiter did:
https://github.com/mne-tools/mne-python/blob/702d727c9a039e4ddfce0b00f9e7c3ce8de22c0e/doc/changes/latest.inc#L34-L42
And then your name + URL to the bottom of names.inc? That way you can get proper credit for your first contribution in our next release.
(BTW, If you are looking for another PR to make, you could add these typos and their fixes to codespell, which is our automated spell checking tool that missed these errors: https://github.com/codespell-project/codespell/blob/master/codespell_lib/data/dictionary.txt)

thx @larsoner I've updated latest.inc and names.inc

Oh no - codespell doesn't like my name Tim and wants it to be Time instead.

Just add to ignore_words.txt (I think it needs to be all lower case)

Have gone with my full name - Timothy

Thanks @timgates42 !

@timgates42 every week with our linkcheck CI run we get a timeout error on your URL:
https://github.com/timgates42
I even just got the Unicorn trying to look now! It's perhaps because you have so many cloned repositories, making it probably a GitHub problem. Do you have an alternative URL we could use? If not, I can also just remove the link -- let me know what you prefer.

For now I went with https://au.linkedin.com/in/tim-gates-0528a4199 in https://github.com/mne-tools/mne-python/commit/9df7022fb488c4e06cb27f278dc81b1cd46e28fb#diff-2251dce798fba74c4df58306756b5f4796d604ce037adf3dbe267ae40e7727b6


feat: Add Demeo

Thought I'd throw this here, especially since ML now has built-in Demeo support.

Oh, we actually had something planned for this page already. Currently waiting on some things but it should be added soon.


Provide swappable strategy at runtime

Parse the authentication/authorization configuration and load the appropriate strategy

https://github.com/strimzi/strimzi-ui/pull/128


running the UI in-cluster

With the docker image in place, we can run the UI in a k8s deployment inside the cluster.
I made a PR to have such manifest, with a proxy running:
https://github.com/bitnami/kubeless/pull/154
but it can't seem to be able to fetch the functions at all.
I am guessing an issue with the CORS proxy itself running in the UI code ?

it is working now with the manifests in:
https://github.com/kubeless/kubeless/tree/master/manifests/ui


Updating the watch market

Can you provide some details on how to update the market like exchange , asset and currency ?
I tried updating Settings.py and example-config.js but it still hots USDT and BTC

Those settings are now under generations.dataset_source on Settings.py. Can you confirm the usability? x]

Sure will try to run script tonight after updates ...

It's throwing
`WEBSERVER MODE

Running on http://<IP_ADDRESS>:5000/ (Press CTRL+C to quit)
Traceback (most recent call last):
File "japonicus.py", line 65, in
gekko_generations(strat, GenerationMethod)
File "/Users/harssh/Documents/gekko/gekkoJaponicus-dtaset/evolution_generations.py", line 34, in gekko_generations
GenerationMethod = promoterz.selectRepresentationMethod(GenerationMethod)
File "/Users/harssh/Documents/gekko/gekkoJaponicus-dtaset/promoterz/base.py", line 11, in selectRepresentationMethod
M = importlib.import_module("promoterz.representation.%s" % methodname)
File "/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/importlib/init.py", line 126, in import_module
return _bootstrap._gcd_import(name[level:], package, level)
File "", line 978, in _gcd_import
File "", line 961, in _find_and_load
File "", line 948, in _find_and_load_unlocked
ModuleNotFoundError: No module named 'promoterz.representation.standard'
^CException ignored in: <module 'threading' from '/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/threading.py'>
Traceback (most recent call last):
File "/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/threading.py", line 1294, in _shutdown
t.join()
File "/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/threading.py", line 1056, in join
self._wait_for_tstate_lock()
File "/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/threading.py", line 1072, in _wait_for_tstate_lock
elif lock.acquire(block, timeout):
`

This error has been solved on the recent rework.
Enjoy this new batch of bugs xD
(jk, I'm trying to do a better quality control)


Mollie can't return to finish page when saleschannel is not root domain

Hi There,
The domain of my saleschannel is domain.com/nl and domain.com/en.
After going to the mollie external enviroment it sends me back to domain.com/mollie/payment/ instead of domain.com/nl/mollie/payment.
Error: Uncaught Shopware\Storefront\Framework\Routing\Exception\SalesChannelMappingException: Unable to find a matching sales channel for the reques
It works when i add the /nl in the url
Shopware v<IP_ADDRESS> Stable Version
Mollie plugin Version: 1.5.1

we changed the router from symfony to shopware router in v1.5.2. It should wrk with this version.


Please add a 'cancel' property to the 'EntityRemoveBeforeEvent' class

Please add a 'cancel' property to the 'EntityRemoveBeforeEvent' class that can be set to 'true' to cancel the event.
Document Details
⚠ Do not edit this section. It is required for learn.microsoft.com ➟ GitHub issue linking.

ID: f44b679e-ac99-954f-db63-59e83676bdcc
Version Independent ID: f44b679e-ac99-954f-db63-59e83676bdcc
Content: minecraft/server.EntityRemoveBeforeEvent Class
Content Source: creator/ScriptAPI/minecraft/server/EntityRemoveBeforeEvent.md
Service: minecraft-bedrock-edition
GitHub Login: @JakeShirley
Microsoft Alias: jashir

Thank you so much for your feedback. This channel is for documentation-specific feedback only, and we are not able to add properties.


configure script for MacOS local mode: Fixes #221

Fixes #221
Configures Local mode script command to work on MacOS, when qDup is running on MacOS

merged, I've no way to test it so :crossed_fingers:


replace calls to getChr() with getContig() after htsjdk update

Feature.getChr() is being replaced with getContig()

related to compile warninng #377

done by #478


Add tooltips for the validator details page

The Chore
Add tooltips for the validator details page so users can understand what they're looking at.
Tasks

[ ] Populate definitions @JonRay15
[ ] Do it @sam-keen

For each one I list the section and the field, if I havent listed it assume it doesnt need a tooltip.
Profile
About this validator > External URL provided by the validator linking to informafion about themselves.
Status > Consensus, Standby, or Pending (Candidate) depending on how much stake the validator has attracted
Stake
Staked by operator > The stake provided as self-stake by the node operator, must be at least the minimum stake as defined by network parameter
Staked by delegates > The stake delegated to the node by other users
Pending stake > copy what is on the main page already
Stake share > copy what is on the main page already
Penalties
Overstaked penalty > A penalty applied for having more stake than the optimal stake for the network. Designed to avoid concentration of voting power with a small number of validators.
Performance score > A measure of how often a validator proposed blocks in the last epoch relative to how many they should be expected to propose based on their voting power.
Performance penalties > The penalty applied for having a performance score of less than 1
Voting Power
Unnormalised voting power > The voting power of the validator based on their final validator score after all penalties have been applied
Normalised voting power > The voting power of the validator, adjusted to ensure all validator scores sum to 1, used for distribution of rewards.
Additional details / background info
Suggest we also include some words at the top similar to the main page directing people to the docs for more detailed information on any of the things shown here.

@JonRay15 bump


Translation Updates

Translation Process Automation generated string (DO NOT EDIT): [translations/nl.json,translations/pt-br.json]

Coverage remained the same at 67.456% when pulling a05c7ef0bb6dbc5443c6fcb0980e541bd38f0c73 on TPA_20170412_123046 into a0c9c1bb4aa1aecd8957c4cd03ca9b7e08e5cb9e on master.

Coverage remained the same at 67.456% when pulling a05c7ef0bb6dbc5443c6fcb0980e541bd38f0c73 on TPA_20170412_123046 into a0c9c1bb4aa1aecd8957c4cd03ca9b7e08e5cb9e on master.

Coverage remained the same at 67.456% when pulling a05c7ef0bb6dbc5443c6fcb0980e541bd38f0c73 on TPA_20170412_123046 into a0c9c1bb4aa1aecd8957c4cd03ca9b7e08e5cb9e on master.


Test appears to Error instead of Fail

Hello,
I was wondering if you could help me? I'm trying to build a POC to convince my team to adapt these awesome tools as our testing software.
I've built a test which should return a single value from an OLAP Cube and compare it to a range. It appears that when the value returned by the cube is outside of the range, the test errors out instead of failing.
I've attached my test and the value returned by the MDX query is -0.034, which passes successfully when the range is <row><cell>[-0.04;0.02]</cell></row> but it errors out when it's set to <row><cell>[-0.02;0.02]</cell></row>
Am I doing something wrong here?
Thanks,
Jack
Poc_Test.txt

NBi doesn't make any difference between an error or a failure. All failures are reported as errors (AFAIR limitation due to NUnit 2.x ).

@JackArthurton It's THE best testing tool for the MS-BI-stack, AFAIK. I'm using it every day and I hope you can convince your team :)


⚠ SolarOscp has degraded performance

In 9c51595, SolarOscp ($SOLAROSCP_URL) experienced degraded performance:

HTTP code: 200
Response time: 244 ms

Resolved: SolarOscp performance has improved in dcbf845.


Validate if method has no arguments before invoking without arguments

What this PR does / why we need it:
During development, our tests suddenly started to fail with an IllegalArgumentException when using an input
schema validation and serializing it again to send over the network as JSON. After some time we figured out that was due to this part of the code at serializeOneOf in the SerializeHelper:
public class SerializeHelper {
  public static void serializeOneOf(JsonGenerator jgen, Object item) throws IOException {
    try {
      for (Method m : item.getClass().getDeclaredMethods()) {
        Object value = m.invoke(item); // <<--- Invoking method that may have parameters
        if (value != null) {
          jgen.writeObject(value);
          break;
        }
      }
    } catch (ReflectiveOperationException ex) {
      throw new IOException(ex);
    }
  }
}

This issue ocurred when we added a new test using @SpringBootTest annotation and ran it on different orders.  The method withFormat from Schema class was appearing first on the list returned by getDeclaredMethods method.
And raising the following exception:
Caused by: java.lang.IllegalArgumentException: wrong number of arguments: 0 expected: 1
	at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.checkArgumentCount(DirectMethodHandleAccessor.java:329)
	at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:101)
	at java.base/java.lang.reflect.Method.invoke(Method.java:580)
	at io.serverlessworkflow.serialization.SerializeHelper.serializeOneOf(SerializeHelper.java:26)
	at io.serverlessworkflow.api.types.SchemaSerializer.serialize(SchemaSerializer.java:19)
	at io.serverlessworkflow.api.types.SchemaSerializer.serialize(SchemaSerializer.java:10)
	at com.fasterxml.jackson.databind.ser.BeanPropertyWriter.serializeAsField(BeanPropertyWriter.java:732)
	at com.fasterxml.jackson.databind.ser.std.BeanSerializerBase.serializeFields(BeanSerializerBase.java:770)

To resolve this we added a small check to avoid the, error as getDeclaredMethods does not guarantee a specific order.
Let me know if you'd like any further adjustments!

Fixed with https://github.com/serverlessworkflow/sdk-java/pull/429


Day176

Resolves #364.

Pull Request Test Coverage Report for Build 683

0 of 0   changed or added relevant lines in 0 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage remained the same at 100.0%

Totals

Change from base Build 681:
0.0%

Covered Lines:
5

Relevant Lines:
5

💛  - Coveralls

Pull Request Test Coverage Report for Build 674

0 of 0   changed or added relevant lines in 0 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage remained the same at 100.0%

Totals

Change from base Build 681:
0.0%

Covered Lines:
5

Relevant Lines:
5

💛  - Coveralls


Fix bugs in GDS vertex property scanning

Based on #4416
I fixed some edge cases in the NodeGroup::scan variant used by GDS vertex property scanning, and also fixed handling scans that run across node group boundaries.
I renamed NodeGroupScanState::numScannedRows to nextRowToScan since they are functionally equivalent and nothing was ever using numScannedRows as a size, just as an indication of the next row to scan. There was also a field called nextRowToScan already in CSRNodeGroupScanState, so that was just removed and the other field is now used in its place.

Do we not have CI for PRs which don't target the master branch? This was passing all tests locally (notably including the two tests which were failing for me initially on #4416).


Grammatical error in statement

[Enter feedback here]
Grammatical error

Also, the data in an RDBMS must be normalized, which isn't appropriate for every data set.

be is missing in above statement

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

ID: e40cb85c-ee53-7b49-0622-bed8ebedea81
Version Independent ID: 896e0838-dfd1-c442-414d-ad9ea6dc8f7d
Content: Understand data store models - Azure Application Architecture Guide
Content Source: docs/guide/technology-choices/data-store-overview.md
Service: architecture-center
Sub-service: guide
GitHub Login: @dsk-2015
Microsoft Alias: pnp

Thanks for reporting - this issue is under review. This is a Microsoft Internal DevOps Bug ID # 367810

Thanks for reporting - this issue is under review. This is a Microsoft Internal DevOps Bug ID # 367810

@sachinb4u
I have assigned the issue to the content author for further review and update the doc as appropriate.

@sachinb4u
I have assigned the issue to the content author for further review and update the doc as appropriate.

This has been fixed. Closing this issue.


simplify rustup install

I want to use the sh.rustup.rs URL instead of my fork of the rustup.rs repo. So blocked on sh.rustup.rs getting updated.


Save manifest to myjson.com does not work anymore

The site myjson.com is set as default when creating a new manifest at https://digital.bodleian.ox.ac.uk/manifest-editor .
However, it seems to be down for some time.
Does anyone know a replacement store?

Too bad that myjson.com doesn't work anymore. It seems to be permanently down.
You could use this alternative:
https://github.com/textandbytes/iiif-manifest-store
But you would have to host it yourself.

ok. Thanks for the hint!

You're welcome. I actually want to leave this issue open because it doesn't look like myjson.com is coming back, in which case it should be removed as the default store and some of the dialogs need to be updated.

Hi Rafael 😉  FWIW I've recently managed to configure a new JSON endpoint (directly through the Manifest Editor UI, which is great!) and store my custom Manifest on this 3rd-party service: https://jsonstorage.net
The endpoint URL is: https://jsonstorage.net/api/items
The question is: how long will it stay alive? 😬

Hi Régis! That's great! Maybe I can configure this as the default (when I get to it). Thanks for the tip!

@mnscholz Thanks for bringing this to my attention. I replaced myJson.com with JsonStorage.net as suggested by Régis, so the remote storage feature is now available again and you don't need to host anything yourself. You can see it in action here:
http://iiif-manifest-editor.textandbytes.com/ (don't forget to delete your browser cache first)
@regisrob Thanks again for the great suggestion, Régis, it works like a charm!

PS: this also fixes manifest validation which was going through myJson.com and now goes through JsonStorage.net (can't POST directly to the IIIF Validator)

Thanks Rafael, that was a quick fix! Cheers from Paris

Thanks for the fix!
Your changes, however, only apply to the editor found on http://iiif-manifest-editor.textandbytes.com/ , but not to the version I mentioned first at https://digital.bodleian.ox.ac.uk/manifest-editor . Will the latter also be updated?

Yes

I've just updated the Bodleian hosted manifest editor to the latest version. You may need to clear your browser caches if it doesn't work as expected.


submit button not working

Feature
Why is this feature being added?

What should your feature do?

Bug Report
What is the current behavior?
The submit button doesn't work so I can't submit my application
What is the expected behavior?
To be able to click submit and have my data submitted
What steps did you take to get this behavior?
Filled out the input boxes and clicked submit
Additional Info
Operating System
Browser
Screenshots

There is only one button on the page I believe. Once you fill out all the
input boxes there’s a button you click to submit your info.
On Sun, Nov 4, 2018 at 9:22 AM William Montgomery<EMAIL_ADDRESS>wrote:

Can you explain what submit button you are talking about?
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/OperationCode/operationcode_backend/issues/442#issuecomment-435678461,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AhvvRT1auvIJt4103Op0asCoYgVOBvgMks5urwZEgaJpZM4YEQU0
.

Sorry I still don't know what page you are talking about. codeschools, some other form, registration for site, mailing list subscribe?

Here is the link to the page:
http://operationcode-pyback.us-east-1.elasticbeanstalk.com/new_school.
There's only one button on the whole page called Submit Request
On Sun, Nov 4, 2018 at 11:01 AM William Montgomery<EMAIL_ADDRESS>wrote:

Sorry I still don't know what page you are talking about. codeschools,
some other form, registration for site, mailing list subscribe?
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/OperationCode/operationcode_backend/issues/442#issuecomment-435686581,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AhvvRT25eBdxJv2q1grnCbBX1LUVZT6kks5urx1SgaJpZM4YEQU0
.

Appreciate the clarification. I wasn't sure which web page out of all our web pages, either from the main website, or the different forms we provide users, specifying the specific link was helpful.

@AllenAnthes is almost done with fixing this.

@wegmand
Hi there, this working now. Thank you for being patient.

Thanks!
On Fri, Nov 9, 2018 at 12:33 AM William Montgomery<EMAIL_ADDRESS>wrote:

@wegmand https://github.com/wegmand
Hi there, this working now. Thank you for being patient.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/OperationCode/operationcode_backend/issues/442#issuecomment-437264395,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AhvvRRKlGu0tYr4VyCfmD6rZQVgY86bJks5utSGigaJpZM4YEQU0
.


test: Write a generic jsonEquals check and deepToJson function

As discussed at https://github.com/zulip/zulip-flutter/pull/256#discussion_r1286466765 .

Thanks for the review! Replied above; merging.


stat function doesn't work on a FILEHANDLE or DIRHANDLE

stat function doesn't work on a FILEHANDLE or DIRHANDLE

Also stat_cando doesn't work

Fixed in v0.968


docs: update examples

I hope this is useful. Haven't quite gotten covert or coverify working with tape (for a true unixy experience), so decided to stick to the existing istanbul example. Thanks!
Changes

docs: Shortens existing examples by leveraging node_modules/.bin.
docs: Adds tape example.

Nice catch! Thanks

Played around with covert today, and couldn't quite get it to work due to this bug, so I guess istanbul is indeed the way to go until it's fixed.


Update generated natdiscovery.pb.go

The protobuf code generation CI job is failing:
diff --git a/pkg/natdiscovery/proto/natdiscovery.pb.go
    b/pkg/natdiscovery/proto/natdiscovery.pb.go
index a0ab18a..03cde00 100644
--- a/pkg/natdiscovery/proto/natdiscovery.pb.go
+++ b/pkg/natdiscovery/proto/natdiscovery.pb.go
@@ -17,7 +17,7 @@

 // Code generated by protoc-gen-go. DO NOT EDIT.
 // versions:
-// 	protoc-gen-go v1.26.0-devel
+// 	protoc-gen-go v1.27.0-devel
 // 	protoc        v3.17.3
 // source: pkg/natdiscovery/proto/natdiscovery.proto

It seems the protoc-gen-go version was bumped somewhere.

@tpantelis the commit message linter is complaining, thanks for addressing this, I wonder what happened.

wrong button

@tpantelis I updated the commit message.


Display bubble title in some way when bubble is highlighted

When the user moves over a bubble, the bubble title is hidden to show the papers in the area. This breaks the user experience, especially with long titles and overlapping bubbles, as users want to see the title in some form at any time. A tooltip is shown after a few seconds, but this is not satisfactory. A possible solution could be jQuery tooltips as they can be immediately shown.

#37
I would suggest that the visualization context can either be the whole search or a single selected bubble (incl. the bubble title of course)


feat: add a news about the bilingual support on the inverted wordles website

The deploy preview of this pull request is at https://feat-inverted-wordle-bilingu.floeproject-org-bmr.pages.dev/

Can you shorten the title of the news article? Perhaps "Bilingual support in the Inverted Word Cloud"

Let's add a paragraph about what the Inverted Wordle is - I think it could be inserted between your first and second paragraphs.
In traditional word clouds, majority answers are emphasized while minority answers fade to the background. The Inverted Word Cloud centres minority voices by providing an option to flip the algorithm and select between highlighting minority or majority answers. This is a very effective tool to use in the classroom setting, particularly when talking about diversity and inclusion.

@michelled thanks for suggestions. All have been addressed. Moreover, the word "wordle" has been replaced with "word cloud" as such change has been made to the live website. This pull request is ready for another review.
The article about the "Inverted Word Clouds" on the WeCount website has also been updated. Could you also take a look. Thanks.


[interpreter] audit operand stack usage

Add paranoid check to protect the VM against a native function that return a number of values inconsistent with its declared return types. The verifier can't help us with this; we are at the mercy of native function implementers
Remove a redundant wrapper function and have execute_main take ownership of the Interpreter to ensure that it is used correctly
Add comments about where operand stack sharing happens
Remove one out-of-date comment about the create_account bytecode!

Going to go ahead and land this, but please feel free to open a follow-up if you want a different error code.


The argument is not a state

I am trying to use kalman filter for gps but by using your examples with predict and correct functions I got error "The argument is not a state. Tips: maybe you are using 2 different version of kalman-filter in your npm deps tree". It happens with kFilter.predict(...)
It happens just by defining new kFilter and using example from documentation:
const kFilter = new KalmanFilter({
  observation: {
    sensorDimension: 2,
    name: "sensor"
  },
  dynamic: {
    name: "constant-position", // observation.sensorDimension == dynamic.dimension
    covariance: [50, 50] // equivalent to diag([3, 4])
  }
});
let previousCorrected = null;
const results = [];
observations.forEach(observation => {
	const predictedState = kFilter.predict({
		previousCorrected
	});

	 const correctedState = kFilter.correct({
		predictedState,
		observation
	});

	results.push(correctedState.mean);

	// update the previousCorrected for next loop iteration
	previousCorrected = correctedState
});

Am I doing something wrong?

I find out what was wrong from your demo, needed to get predicted from kf.predict=() and use them after for kf.correct as first argument. Sorry for question.

Hello @Ivan-Kayn
I'm glad you have been able to fix it by yourself :-)
If you have any suggestion to improve the README.md in order to be more explicit and clear, do not hesitate to suggest a PR.


Default helm parameter name

Is there a reason why the default helm parameter for the image name is image.name when it seems the convention appears to be image.repository?
Some examples

Kubernetes Dashboard
Argo CD Notifications

I have so far been unable to find a helm chart in the wild using image.name.

Hey @LS80, sorry for picking this up so late.
The main reason is probably that I'm not much of a Helm user myself, and my knowledge about Helm parameter names and best practices around it are close to zero. :)
Do you feel this needs a change?

Do you feel this needs a change?

Based on what I've seen in the wild, I would say yes 👍

Yes, please change this default behaviour to image.repository.

@jannfis Would a PR to change this be acceptable?


Crash when creating safe

--- SNIP ---
$ pick --init
Enter password

Creating safe at /home/domain/myuser/.pick
Traceback (most recent call last):
File "/home/domain/myuser/bin/pick", line 241, in
pick.initialize_safe()
File "/home/domain/myuser/bin/pick", line 148, in initialize_safe
self.write_safe(safe)
File "/home/domain/myuser/bin/pick", line 47, in write_safe
ps2 = subprocess.check_output(cmd2.split(), stdin=ps.stdout, stderr=null)
File "/usr/local/Cellar/python/2.7.10_2/Frameworks/Python.framework/Versions/2.7/lib/python2.7/subprocess.py", line 573, in check_output
raise CalledProcessError(retcode, cmd, output=output)
subprocess.CalledProcessError: Command '['gpg', '--symmetric', '--armor', '--batch', '--yes', '--passphrase', 'test', '--output', '/home/domain/myuser/.pick/pick.safe']' returned non-zero exit status 2
--- SNAP ---
OS: Mac OS 10.10.5 (14F27) (Yosemite)
$ which gpg
/usr/local/bin/gpg
$ gpg --version
gpg (GnuPG/MacGPG2) 2.0.28
As GPG is already installed from GPGTools suite, brew can't link into /usr/local/bin.
Maybe force-use brew's gpg? /usr/local/Cellar/gnupg/1.4.19/bin/gpg

Problem seems to be related to the gpg version used (from MacGPG).
When using brew's gpg it works fine..

@Commenter123 Thanks for the report, I'm also running brew's GPG (1.4.19).
I don't have experience with MacGPG2, but I'll dig in a bit and see if there is any way we can support both, otherwise forcing brew with a sanity check might be a decent fix.

afaik MacGPG will not link its binary into /usr/local/bin if there already is a "gpg" file.
Anyway, quick fix would be to symlink your homebrew's gpg from the Cellar dir into ~/bin and use it as the very first folder in your PATH.
There should be no side effects.

I'm going to close this issue as it relates specifically to a user's configuration of their PATH, which has been resolved.
If more people start running into issues around GPG and their PATH, it may be worthwhile to add some general "troubleshooting" steps to a wiki.


Add obe.net and IT-Total

Added obe.net and IT-Total (AS3399 and AS8769) which both use BGPalerter

Thanks!


Allow integer arguments for cluster_spec

Closes #1294 . Covers DaskJobExecutor and PipelinedExecutor.
In order to round-robin assign CUDA ids we need to call detect() within the make_spec function (I delayed the import). I also added a warning when creating CUDA workers on a system with no detected CUDA devices.
Contributor Checklist:

[x] I have added or updated my entry in the creators.json file
[x] I have added a changelog entry for my contribution
[x] I have added/updated documentation for all user-facing changes
[x] I have added/updated test cases
[ ] I have included the rebuilt production build of the client (only if changes were made to the GUI)

Reviewer Checklist:

[ ] /azp run libertem.libertem-data passed
[x] No import of GPL code from MIT code

/azp run libertem.libertem-data

/azp run libertem.libertem-data


None of the maintainers are looking at the pull request made

It's okay, just means that there aren't any issues that they're looking to see solved.


Correct way to connect with IPv6 cluster

Given below is the definition of ip_port_separator as given in hircluster.c
#define IP_PORT_SEPARATOR ":"
How should I connect with my cluster which has got only IPv6? IPv6 has already got ':' in the IP address. Should I change the macro?

The separator is searched from the beginning of the address string, and one possibility to handle IPv6 is to search from the end of the address string instead.
In this fork, we have added IPv6 support. We have also fixed memory leaks, allocation failure handling and added features like TLS support. Feel free to switch to this fork.


updateKeyWordsForTestCase method is missing

Hi,
There is no method to add/set keywords for test cases into testlink for a given testcaseId either during creation of test case or update of test case. Although, there is a method to update custom field values. Can anyone let me know if its already available?
Thanks.

Yes @kinow . I have verified in the Testlink API that it exsits. Below is the screenshot of the same.

Method added some versions ago, closing now. Tested with:
URL testlinkURL = new URL("http://localhost:9999/lib/api/xmlrpc/v1/xmlrpc.php");
        TestLinkAPI api = new TestLinkAPI(testlinkURL, "768f9e7b9c2c23a2b85a1e66ea4daca5");

        System.out.println(api.ping());

        List<String> keywords = Arrays.asList("A");
        String testCaseExternalId = "p1-1";

        Map<String, List<String>> m = new HashMap<>();
        m.put(testCaseExternalId, keywords);

        Object o = api.addTestCaseKeywords(m);
        System.out.println(o);


Document that the reclaim-mannequin --skip-invitation option is not generally available

This updates the documentation for the reclaim-mannequin subcommand to make it clear that the --skip-invitation option is not currently generally available, and is instead in private beta.

[ ] Did you write/update appropriate tests
[ ] Release notes updated (if appropriate)
[ ] Appropriate logging output
[ ] Issue linked
[ ] Docs updated (or issue created)
[ ] New package licenses are added to ThirdPartyNotices.txt (if applicable)

I'm not going to add this to the release notes as the actual option has not yet been released, and this is a minor change to its documentation.

Would it be better to just make it a hidden option while flagged?

I'm going to keep the change to the description, but add IsHidden too. See 7d1d974.


Fix Theano Cudnn BatchNorm when axis!=1

Adresses issues like : https://groups.google.com/forum/#!topic/keras-users/innS4NcLPt8
Seems like keras uses cudnn batch-norm "spatial" configuration, which normalizes over axis (0, 2, 3). When you don't use axis=1 in keras, theano tries to broadcast the axis dimension, and can't because this dimension is not 1.
One way to fix it is to shuffle dimensions to put the normalization axis over first dimension, theano batch-norm, and then shuffle it back.
I'm not sure this is the best way to do it, but I think it fixes the issue.
Results with different backends on https://github.com/keunwoochoi/music-auto_tagging-keras are now the same (they were not).
We should check the fix without cudnn too (but it should be no problem imo).
Also, it raises the question of default value of axis : for dense/conv2d, you'd want axis=1 for default (-1 would work for dense, not for conv2d), but for conv1d, you'd want axis=2 (or axis=-1).

Results with different backends on https://github.com/keunwoochoi/music-auto_tagging-keras are now the same (they were not).

When I've added support for this model in TF/Theano and with both dim orderings, I verified that outputs were always the same (in test mode).
It looks to me that this PR assumes that the Theano backend is being used. Can you comment on that?

You're right, everything was working fine with tensorflow before this change, and we should move the fix in the theano backend (this fix is not changing the tensorflow result, but shouldn't be there anyway).
Theano bugged when using axis!=1, just like this : https://groups.google.com/forum/#!topic/keras-users/innS4NcLPt8.
Keras uses the cudnn batch norm (http://deeplearning.net/software/theano_versions/dev/library/sandbox/cuda/dnn.html) with mode="spatial" which assumes axis=1, and then fails to broadcast (because axis 1 doesn't have dimension 1).
Experiments like https://github.com/keunwoochoi/music-auto_tagging-keras didn't fail though, cause the dimension on axis 1 was 1 imho. But the normalization was on the wrong axis. You can easily run the example with both backend on current keras version, and see the difference in results (which disappears with the fix).

When I've added support for this model in TF/Theano and with both dim orderings, I verified that outputs were always the same (in test mode).

Do you try it with cudnn at the time ?

I'm not sure there is an issue with current keras version when we use http://deeplearning.net/software/theano/library/tensor/nnet/bn.html. Documentation about this isn't clear enough imho, I'm not really sure what it is doing when provided with parameters whose dim!=1 is not on the axis=1. I'll be doing more tests tomorrow, but problem could be related to the theano cudnn batch norm only.

It looks like the issue is specific to cuDNN with the Theano backend. In that case it should be fixed only in the Theano backend, when we use cuDNN BN.

I wonder if it is still useful to use cudnn batch_norm if we have to permute dimensions before and after (i.e when axis!=1) ? The performance gain may be lost ?
Also, as you suggested, it would be good to add the fix in the "batch_normalization" function of theano backend, but I'm not sure how to find which was the normalization axis. The easiest way would be to check for dim!=1 in mean shape for example, but I'm not really familiar with the way you can get shapes from theano tensor.

I though looking for the non-broadcastable was a good solution, but seems the parameters happen to be broadcastable on all dimensions sometimes...

I though looking for the non-broadcastable was a good solution, but seems the parameters happen to be broadcastable on all dimensions sometimes...

We could avoid using cuDNN in that case. Do you know in which cases this can occur?

It happened when the normalization axis had a dim of 1.

Sorry for the delay here.
When none of the axis are broadcastable, use theano batch norm instead of cudnn.

LGTM, thanks

@aloisg thank you!


expr: avoid repeating the same scalar into an array

For example, there's an EXTRACT(HOUR FROM col) in Nexmark Q14, where the HOUR is compiled to a literal VARCHAR expression. When evaluating the EXTRACT, we need to first repeat the same scalar "HOUR" 1024 times into an array, then evaluate the outer EXTRACT function. This is not efficient. https://github.com/risingwavelabs/risingwave/issues/8503#issuecomment-1465808412
Possible solutions:

Introduce ConstantArray than only stores the scalar and the time it appears, which is essentially a special case of Run-Length Encoding (arrow-array). This seems hard to do this under current architecture as we always use static type for arrays, so introducing a wrapper requires a lot of changes.

Check whether an argument of the expression is constant (literal) during the build_from_proto with macro (introduced in #8499). In this case, we're not able to handle the structure where a literal is nested under another expression, though in most cases this should be folded by the optimizer.

Allow the expression to directly return a scalar, and expands it into an array by repeating only if necessary. This sounds much simpler and the refactoring can be progressive.

This seems hard to do this under current architecture as we always use static type for arrays, so introducing a wrapper requires a lot of changes.

Can you elaborate this? How is "static type" a problem and how dynamic is ConstantArray/RunArrary?

This seems hard to do this under current architecture as we always use static type for arrays, so introducing a wrapper requires a lot of changes.

Can you elaborate this? How is "static type" a problem and how dynamic is ConstantArray/RunArrary?

For example, arrays in arrow and arrow2 are all trait objects, so we can introduce a RunArray wrapper easily without exposing it to any callers. However in our type system, we need to write a lot of stuff like MaybeRun<Utf8Array> or MaybeRun<ArrayImpl>. 🤔

How is the situation now after #9049?

How is the situation now after #9049?

I guess the ultimate solution should be allowing Value::Scalar to directly be passed among different executors and even remote actors, as described in https://github.com/risingwavelabs/risingwave/pull/9733#issuecomment-1543658669. It appears that #9049 has accomplished everything we can do without introducing a significant refactor. 😄

FWIW this looks similar 👀  https://github.com/apache/arrow-rs/issues/1047

Wonder if we can further generalize this into some compact encoding for multiple repeated datums. It could potentially optimize join performance, since the datums in the join key don't need to be expanded

Specifically for high amplification join, when building the new chunk, the probe side's record, just needs to convert it's scalar values into constant array, then we can just concat that with the build side to form the new stream chunk.

Wonder if we can further generalize this into some compact encoding for multiple repeated datums.

Yes. Are you referring to...

Run-Length Encoding (arrow-array)

Just FYI: eval_v2, introduced in #9049, is not adopted by all proc-macro-generated function impl any more.


Doc is misleading about printText method.

There is no such method

Hi @iSuslov, this was a legacy of my fork from. I just added an alias method printText to printBuffer (https://github.com/alepee/node-printer/commit/c627b32368e724a74310df1ff4670273ca0fd987).


Update tracking logs parsing script to insert hash_id and user_id

two possibilities:

include the hash_id and user_id directory from user_id_map
include a reference to the student_id_map by storing the ObjectId corresponding to the username in both tracking and user_id_map
both will result in a constraint that (just like the course_structure collection), the user_id_map collection needs to be parsed first
What do u think?
Aside: We can maybe even do it for all other collections, but then we will not be able to use the mongoimport commands...rather we will have to do this via python.

Either 1) or neither. At the moment when we create the problem ID
collections we add in the hash id so we can anonymise the output. The only
other instance of is with the user info script which currently access
multiple collections and always will unless we create a new user info
collection. But I don't see the utility given that it's a single report we
generate one time for a course.
Did I understand correctly.
Think we need to revisit the user info report and other basic/global one
time reports we generate for all courses.
Perhaps after setup having a series of command line prompts which guide the
user through generating all the basic reports.
There are a few reports we will always run on a course, some of which
require user input:
User info (combining a lot of information from certificates, profile data)
Country of origin by ip address. This could be combined with the user info
report. Have to figure out the best formatting in the case of users who
access from multiple countries.
Entrance and exit survey using the problem ID script which requires input
from the user (providing two or more problem ids)
The last output would be something we haven't done yet but it would be a
course info sheet providing general stats and demographics about the course.
On Sep 3, 2015 12:01 AM, "Usman Ehtesham Gul"<EMAIL_ADDRESS>wrote:

two possibilities:

include the hash_id and user_id directory from user_id_map
include a reference to the student_id_map by storing the ObjectId
corresponding to the username in both tracking and user_id_map
both will result in a constraint that (just like the course_structure
collection), the user_id_map collection needs to be parsed first
What do u think?
Aside: We can maybe even do it for all other collections, but then we will
not be able to use the mongoimport commands...rather we will have to do
this via python.

—
Reply to this email directly or view it on GitHub
https://github.com/McGillX/edx_data_research/issues/29.

I guess what I'm suggesting is a progression towards "one click" install,
setup and run.
If its straightforward then we can encourage other universities like
Dartmouth and Karolinska to run it.
On Sep 3, 2015 6:28 AM, "Alexander Steeves-Fuentes" <
<EMAIL_ADDRESS>wrote:

Either 1) or neither. At the moment when we create the problem ID
collections we add in the hash id so we can anonymise the output. The only
other instance of is with the user info script which currently access
multiple collections and always will unless we create a new user info
collection. But I don't see the utility given that it's a single report we
generate one time for a course.
Did I understand correctly.
Think we need to revisit the user info report and other basic/global one
time reports we generate for all courses.
Perhaps after setup having a series of command line prompts which guide
the user through generating all the basic reports.
There are a few reports we will always run on a course, some of which
require user input:
User info (combining a lot of information from certificates, profile data)
Country of origin by ip address. This could be combined with the user info
report. Have to figure out the best formatting in the case of users who
access from multiple countries.
Entrance and exit survey using the problem ID script which requires input
from the user (providing two or more problem ids)
The last output would be something we haven't done yet but it would be a
course info sheet providing general stats and demographics about the course.
On Sep 3, 2015 12:01 AM, "Usman Ehtesham Gul"<EMAIL_ADDRESS>wrote:

two possibilities:

include the hash_id and user_id directory from user_id_map
include a reference to the student_id_map by storing the ObjectId
corresponding to the username in both tracking and user_id_map
both will result in a constraint that (just like the course_structure
collection), the user_id_map collection needs to be parsed first
What do u think?
Aside: We can maybe even do it for all other collections, but then we
will not be able to use the mongoimport commands...rather we will have to
do this via python.

—
Reply to this email directly or view it on GitHub
https://github.com/McGillX/edx_data_research/issues/29.


Increasing timeouts for ssh in molecule gce and bumping versions

What type of PR is this?

Uncomment only one  /kind <> line, hit enter to put that in a new line, and remove leading whitespaces from that line:

/kind bug

/kind cleanup
/kind design
/kind documentation
/kind failing-test
/kind feature
/kind flake

What this PR does / why we need it:
With bootstrap-integration having ssh connection problems recently this will increase timeout
Which issue(s) this PR fixes:

Fixes #
Special notes for your reviewer:
Does this PR introduce a user-facing change?:

/test bootstrap-integration

/retest

/approve
/lgtm

/test bootstrap-integration

/test bootstrap-integration

/test bootstrap-integration

/test bootstrap-integration

/test bootstrap-integration

/test bootstrap-integration

/test bootstrap-integration

/test bootstrap-integration


[Q] Additional config required for M1 Mac ?

Facing (registerKeyboardListener() == null) in Mac M1 processor. Any additional installation / config required ?

No further config is required, did you give your app accessibility permissions?

@localcc
Yes, Given Accessibility  permissions.
But it's Not working in Chip: [Apple M1 Pro] OS: [Ventura 13.5.1].
Working on Chip [Apple M1] OS [Ventura 13.4.1]

Are you launching the app as a standalone built executable, or using flutter run/your ide debugging tools?

@localcc
I shared as .dmg

@localcc  need any specific config for release build?

It should just work ootb, your app has a window right?

@localcc Yes, But some users says it's not working! on Mac , Is there anything wrong in my code?

It should just work ootb, your app has a window right?

There most likely isn't anything wrong with your code, could you check if the example from the repo works for you on m1 pro?

There most likely isn't anything wrong with your code, could you check if the example from the repo works for you on m1 pro?
@localcc
Sure, let me check,
Is there any other platform i can communicate with you? So it'll helpful for my project help!

Sure you can message me on discord: localcc, or on telegram: localChicken

The issue was because of app updates while the app was unsigned, which caused it to lose accessibility permissions under the hood, while not doing so in the accessibility ui, this is fixed by revoking and granting the permissions back to the app in the settings ui. For this issue to not appear at all, you need to sign your app with a certificate, and sign all further updates with it too.


Dockerfile integration

Could you please support with a Dockerfile integration?
Thank you!

Hi, thank you for your interest in our work. Unfortunately, this is research code which I do not have time to support these days. If you ever create a Dockerfile for this project, feel free to make a PR, your contribution would be really appreciated!


Fix/migrate data from old app

This is a migration logic that will be there temporarily. It's tested and works well!

cc @J-Gann - you initially brought this whole paco / bson stuff to the natives. Just shout if you find sth. sus


Node doesn't update in editor when model is added.

When you create an empty node in the scene editor then add a model to it via right click add to scene the node doesn't update immediately. The model is added but will not be shown until you update the node again by adding a control or something else to it.

Does it work when clicking on the "update" button in the upper left?

Yes , I never noticed that until now. It still seems like it should update automatically though.

i'll take a look at this.

I also had not noticed that "update" button. :smile:
Thanks .


Transcribing multiple audio files, each over 20 minutes long to get WER

I have been trying to use the instructions to transcribe some audio files to get the WER. The audio files are over 20 minutes long so the reference dialog would be multiple paragraphs. I am struggling on how to get the reference dialog to use; this is also my first time using python code so any help would be appreciated.

A typical process for building a reference is to generate a machine transcription and then correct it.  You are correct, the transcript will be lengthy, and you may need to figure on 6x time of audio to correct it (2 hours for a 20 minute audio).
The transcribe.py script should be able to generate the transcription that you can then correct into a reference.  The reference is not required at time of transcription (it is optional parameter).

Use transcribe.py to generate the transcript
Manually correct the transcript, add to a reference file
Use the analyze.py to get word error rate, etc.

If you get errors, please post them here.


Non-owning entt::actor

Here I have a draft for a non-owning version of entt::basic_actor called entt::basic_handle. I really had my heart set on the name "handle" but then I realised (well actually the compiler realised 😄) that there's already entt::handle. So the alias in the forwarding header is called handle_grr because grr naming things is hard! Anyway, we can figure out a name later.
The handle is a reference type while actor is a value type. If actor was std::vector, then handle would be std::span. This has influenced a number of design decisions. Handles are lightweight types that can be copied and moved around freely. They are intended to be a drop-in replacement for an entity-registry pair. "having 3 parameters is better than having 6".
Mutability
entt::registry reg;
entt::entity e = reg.create();

entt::handle h1{e, reg};
const entt::handle h2{e, reg};
entt::const_handle h3{e, reg};
const entt::const_handle h4{e, reg};

h1.assign<int>(); // OK
h2.assign<int>(); // OK
h3.assign<int>(); // Not allowed
h4.assign<int>(); // Not allowed

Implicit conversions
void add_components(entt::handle);
void get_components(entt::const_handle);

entt::registry reg;
entt::actor actor{reg};
entt::handle handle{actor};

add_components(actor);
get_components(actor);
add_components(handle);
get_components(handle);

Deduction guides
ENTT_OPAQUE_TYPE(my_entity, entt::id_type);

entt::basic_registry<my_entity> reg;
const auto &const_reg = reg;
my_entity e = reg.create();

entt::basic_actor a1{reg};           // basic_actor<my_entity>
const auto &a2 = a1;
entt::basic_handle h1{a1};           // basic_handle<my_entity>
entt::basic_handle h2{e, reg};       // basic_handle<my_entity>
entt::basic_handle h3{e, const_reg}; // basic_handle<const my_entity>
entt::basic_handle h4{a2};           // basic_handle<const my_entity>

I have not attempted to deal with the duplication between the three classes. I wanted to keep it simple and deal with that later. Better to have all this boilerplate in the library than in user code though, right? I was thinking that it might be useful to give these classes a fuller API. Instead of just assign and remove, there could be emplace_or_replace, remove_if_exists, patch, etc. That is, all (or most) of the registry member functions that operate on a single entity could be added. That will make the duplication much worse but is a separate discussion anyway.
I also haven't added tests for this. I kind of wanted to find a name that doesn't clash (and perhaps discuss the design a bit too) before doing that. I just realised that the examples above are probably halfway towards a test suite.
In a couple of the constructors, I commented Does this assertion really make sense?. Would it ever make sense to construct a handle from a valid registry but a null entity? If this class is to be a drop-in replacement for an entity-registry pair then perhaps that assertion should be removed. To be clear, I'm not suggesting that it is removed from actor, just from handle. Or maybe it could be changed to ENTT_ASSERT(ref.valid(entity) || entity == null)? Or even ENTT_ASSERT(reg.valid_or_null(entity))? I think I remember suggesting valid_or_null long ago. Once again, separate discussion!

My main concern is about duplicating the whole API of the registry. This is something to avoid. It's a maintenance burden.
Before discussing anything else, I'd address this point. I can't really figure out an easy way to make it work without duplication at the moment. Any idea?

The simplest from the implementation point of view is having an operator->() that return entt::registry* and operator*() that returns the entity stored inside the actor/handle so that the final usage is something like:
auto my_handle = entt::handle {registry.create (), registry};

my_handle->assign (*my_handle, Comp{});

Obviously, it comes at the price of more code and possible errors.

There's inheritance, sfinae or macros. I don't like the idea of using operator-> and operator*. This is supposed to be a convenience type! I'll see if I can figure something out that isn't too ugly.

I thought about inheritance at first. The problem is that about can't inherit a function and change its signature. So you can't have a special kind of registry that has a defaulted entity parameter it all of its functions. This means that you'll still have to almost copy the API of the registry but with different parameter list.
I'm not sure how SFINAE can help here. Yes, you can have all kinds of actor/handle be represented by the same type that is reconfigured depending on whether you want it to be owning or not (that's what I'd have done myself), but the duplication of the registry API is still there.
As for macro, you can easily have it with the said operators. I just don't think it's the best use for macros in this case.

In theory, it could be possible to do all this with minimal duplication, but it would require some templated monstrosities.

You'll have to change the registry in such a way that the same internal data can be shared by multiple instances.

The registry itself will have to be templated in such a way that there is a variadic template parameter list for each function, dealing with a single entity. Something like assign (Entity..., Component&&). The Entity... here is a parameter pack if the type itself, not of the templated function. I'm not sure if it will work in practice, TBH.

The registry will have to have a place to store a "default" entity which is used in all the calls.

Implementation of each function will have to decide which entity to use: the default one or the one that is passed as a function argument. This will have to be done in an if constexpr manner.

The actors and handles, in this case, will be a special kind of a registry, that shares the internal state with the registry, provided to the constructor, and defaults the entity to the provided entity.

@Innokentiy-Alaytsev this is a big NO. :smile:
Before doing all this, I think I can live with my_handle->assign (*my_handle, Comp{});.

@skypjack I just was trying to describe a possible solution and all of its complications.

Now the registry API is only being duplicated twice instead of three times. I think the best we can do is duplicating it once.

I've personally not seen a convenience handle implemented without duplication unless it's in python or using crazy macros.
At the end of the day, it's not about whether there's duplication, it's about whether there's enough benefit to this to outweigh the maintenance cost.
I've often wished for a convenience wrapper in my code. I'll often to a lot of stuff to just one entity eg. the character entity, and calling registry.get, assign etc. and passing the entity over and over gets tiresome.
So I think if this handle thing can be demonstrated to have general use (I'd love to try it myself to see if it alleviates my pain) then it's worth it, duplication or not.

As I already mentioned, I'd much rather have all this boilerplate and duplication in the library than in user code. I'm looking at basic_actor and basic_handle. I don't see an easy way of dealing with the duplication between them. The way they deal with const is different so it's tricky.

It's partially because you use wrong const-qualifier for functions that change state of the registry.

I guess we still disagree on that! 😄

I like how @skypjack doesn't say anything about it 😂

Well, the basic question is if we really need both of them.What are the use cases for actor and what the ones for handle? Can we get around it with a single class that fits all need?

They have very different uses. Actor is "dedicated to those who aren't confident with the entity-component-system architecture" and handle is a convenient wrapper around an entity-registry pair. They're just too different. Handle is definitely something I would use (and I've already found a couple of places in EnTT-Pacman where I could use it). Actor on the other hand isn't something I would use. If we were to reduce the maintenance burden by merging the classes, we'd probably end up sacrificing usability somehow. Is the maintenance burden really that bad though?

It seems like actor is just a handle that creates/destroys the entity in the constructor/destructor.
Thus you could extract the rest, put it in the handle class, and leave the auto create/destroy in the actor class and have actor extend from handle.

@Lawrencemm It's not quite that simple because of the way const works.

I use something like a non-owning handle for simplifying function signatures. I have many cases where I need to work with 2 or 3 entities each of which can belong to a different registry. Having 3 function parameters is way better than having 6. Another feature is creating type-safe function signatures:
template <
    class TConfigComponent,
    class TQueryRegistry,
    class TConfigRegistry,
    class TDstRegistry,
    class... TConfigIdentifierComponent,
    class... THierarchyComponent,
    class... TIdentifierComponent,
    class... TExcludeComponent >
VoidExpected ApplyConfiguration (
    TypeContainer< TConfigComponent >,
    ConfigIdentifierComponentsList< TConfigIdentifierComponent... >,
    QueryContext< TQueryRegistry > const   i_query,
    ConfigContext< TConfigRegistry > const i_config,
    DstContext< TDstRegistry >             o_dst,
    HierarchyComponentsList< THierarchyComponent... >,
    IdentifierComponentsList< TIdentifierComponent... >,
    ::entt::exclude_t< TExcludeComponent... > = {});

Here, TQueryRegistry, TConfigRegistry and TDstRegistry may be different registries of different or the same type or the same registry (depending on the needs of the user code). Passing entities and registries separately is both not fun and not safe. It's very easy to mess up the order or relation between entity and registry. With distinct entity context types (that are more or less the same as the non-owning entity handle) I can guarantee that the user won't mess up the parameters order, and it will be easier to match entities to registries.

If difference between the way const works between actor and handle is a little confusing, here's mapping between the handles and some generic type.
entt::actor               ->  T
entt::actor const         ->  T const
entt::handle              ->  T *
entt::handle const        ->  T * const
entt::const_handle        ->  T const *
entt::const_handle const  ->  T const * const

An actor represents an object. A handle represents a reference to an object.
Look to the standard library for other types that represent references. A const std::shared_ptr<T> let's me modify T, a const std::span<T> let's me modify T and a const std::vector<T>::iterator let's me modify T. That's why we have std::shared_ptr<const T>, std::span<const T> and std::vector<T>::const_iterator.

As a matter of fact, I think handle should work simpler:
entt::handle              ->  T *
entt::handle const        ->  T const*

But obviously I've lost this argument.

@skypjack What do you think so far? I still need to update the wiki. Also might need some more tests. I was thinking about extending the API to bring it inline with the registry by adding functions like emplace_or_replace, remove_if_exists, patch, etc. Another minor thing is the last paragraph of my original comment.

I'm spending some time with my son today, so I will look into this later in the afternoon for a feedback.
However, the first thing that popped to my eyes is that we should give the actor class at least a deprecation cycle before deleting it. :wink:

@Kerndog73 I had an idea for patch since I don't like lambdas so much anymore.
Basically patch would return a proxy object containing a reference to the component and a reference to registry.
There would be an operator -> that delegates to that underlying reference. When this proxy goes out of scope, the registry patch is called with a no-op (directly triggering the on_replace would be better here, not sure if possible).
Here's how usage would look:
entt::proxy proxy{registry, some_entity);
proxy.patch<some_component>()->some_field = some_different_value;
// The returned proxy temporary then goes out of scope, triggering the on_replace for the registry.

Or:
entt::proxy proxy{registry, some_entity);
auto some_component_proxy = proxy.patch<some_component>();
some_component_proxy->some_field = some_different_value;
some_component_proxy->some_other_field = some_other_different_value;
// The returned proxy temporary then goes out of scope, triggering the on_replace for the registry.

I think this is much nicer than:
entt::proxy proxy{registry, some_entity);
proxy.patch<some_component>([](auto &some_component_instance){
    some_component_instance->some_field = some_different_value;
});

@Lawrencemm Calling patch without a function will trigger the signal. So you could call get<some_component>() and then patch<some_component>(). Still, proxy.patch<some_component>()->some_field = some_different_value is a cool idea. I think something like this would have to be added to the registry first. Then entt::proxy will call the registry function.
BTW, I'm not sold on the name entt::proxy. I really liked it yesterday. Your mention of "a proxy object" has made me realise that proxy already means something when you're talking about C++. entt::handle is a great name but it's taken 😢 . Open to suggestions.

IMO the current entt::handle should be entt::resource_handle anyway. Maybe this could be done in a deprecation step or something.

@Lawrencemm That's what I said!

@skypjack I think this is very close to done. I'm patiently awaiting a review but family comes first obviously. 😉

avatar

Or you could wait for actor deprecation and use actor again.

We could deprecate and rename the existing handle to resource_handle. I know @skypjack didn't like this idea but I think it's acceptable. You can use your IDE to do a find-and-replace for entt::handle -> entt::resource_handle and you're done in seconds. Because of the deprecation step, and because updating to the next version is optional, I think it's ok.
If we are strongly against that idea then we could also reuse the name actor after it's been removed. actor is less ambiguous than proxy but still not ideal. Maybe I'm fussing over an insignificant detail. 😅

Ok, I looked into this and it looks good. I'd probably make some small changes to the tests but overall I like it.
I don't like much to repeat the API of the registry instead but I don't see any other solution aside what @Innokentiy-Alaytsev suggested. In fact, I'm not against his approach, maybe I even like it more but I see what are the cons of it.
My only concern with renaming deprecating and renaming handle at once is that it will break all existing code that uses it.
On the other side, a deprecation step would mean that this class will enter EnTT in v3.6 instead of the next one.

It doesn't suddenly break. Users have a whole release cycle to deal with the rename. We can also introduce proxy in 3.5 with the warning that it will be renamed.
// Should also rename cache and loader...
template<typename Resource>
class resource_handle;

template<typename Resource>
using handle [[deprecated("Renamed to resource_handle")]] = resource_handle<Resource>;

template<typename Entity>
class [[deprecated("Will be renamed to handle in the next release")]] proxy;

I'm about to merge this. Can I ask you to rollback all the changes related to the actor class (doc and deprecation)?
I want it to be in a separate commit and I'm pushing it separately. Thanks.

@skypjack Done!

Thank you. In the meantime, I freed the handle name for you. :)
I can also make the required changes if you like, let me know.

I can also make the required changes if you like

I'll leave it in your hands. 😉

Please, squash commits before merging. Otherwise it would be incredibly painful to find the origins of the new feature.

Yeah, I'll squash and force push my changes on experimental, so as to have @Kerndog73 as author.
Since I'm leaving home for a couple of days, I'm not sure you'll find it upstream before Monday anyway.

I've been thinking about this and came to the conclusion that both of us is right and wrong at the same time. And here's why.
The version of the handle where all the member functions are declared as const represents a pointer, as @Kerndog73 described above.
The version of the handle where only the members that don't change the state of the underlying registry and thus the state of the logical object represented by the entity follows reference semantics.
At first, I was thinking that the reference semantics should be the prefered version.
Now I think, that both versions should be prefered because they cover different sets of use-cases that intersect to some extent.
The advantage of a pointer-like handle is that it's possible to store a non-constant "pointer" to a constant "object". This handle can be null or be changed during the runtime of the program.
The advantage of a reference-like handle is that the case of function parameters works in a simpler and more familiar way: you can't change the values of the components if the given "reference" is constant. It's not fantastically better and can be implemented with a pointer-like parameter, it's just more familiar and, probably, more idiomatic.
Sorry for this mind dump.

There's a part of the mind dump I forgot to put into the previous message: it would be somewhat nice if we could use names like pointer and reference for this. This way all the things like const entt::pointer< entt::entity >, entt::pointer< const entt::entity > and const entt::reference< entt::entity > could've looked almost natural.

@Innokentiy-Alaytsev proxy<const entity> has the same semantic of what you called a reference, am I wrong? I think this is the whole point of @Kerndog73 in one of the replies above.

I slept for 1.5 hours so I can't answer you quickly) I think yes, it does, but I think that the const proxy< entity > that does the same thing is somewhat more in like with how you use references in C++. However, the longer I look at it, the more I understand that it's mostly a matter of tastes)

There is one difference:
Imagine that you have two functions: f_mut(proxy<...>) that needs to mutate components and f_pure(proxy<...>) that accepts the "constant" entity. The f_mut() function invokes f_pure() function.
If you have the proposed implementation, you'll have to perform a conversion between proxy<entity> and proxy<const entity> that requires creating a temporary.
If you have a reference-like implementation, you don't need to perform a conversion, because proxy<entity> can be used as const proxy<entity>. You can even use const proxy<entity>& in this case to eliminate yet another copy.

That's true, even though we talk of a copy of two integers in a case that I don't know how common it is.
I think it's really more a matter of tastes, as you correctly pointed out. This one is more standard-ish imho, since the standard library followed this approach in many cases. Moreover, EnTT itself already uses this method for views and groups (view<T> and const view<T> let's you iterate non-const components since each is const while view<const T> is immutable and returns only const instances). Because of this, I think the solution proposed by @Kerndog73 is better, not in the sense that the reference-like model is wrong or worse in general but because this one is in line with the overall design of the library.


⚠ Processors has degraded performance

In a15893b, Processors ($STATUS_URL) experienced degraded performance:

HTTP code: 200
Response time: 101 ms

Resolved: Processors performance has improved in 6ca1faf.


Add a feature flag system

Hi everyone!
Holidays are coming soon 🎅 and I'm planning on working more on pydantic (currently it's mostly on my ~very~ short nights 😄)
For example I would like to work on the StrictUnion or the @computed_field and try to close a bunch of issues.
But while working on a very easy to fix issue like this one, I stopped thinking:
"Wait Eric, this is a breaking change. Is it that big of a deal? I don't know! 🤔"
Furthermore there are some issues where people want/expect a different global behaviour that could be easily done already and handled by a feature flag (for example all fields without default value are required, even the Optional ones, switching from re.match to re.search for the regex in fields, having a strict mode...)
And this is why I reckon we could benefit from a feature flag system
This would allow us to be less reluctant to make changes and start working for some features of v2 for example
And start adding warning messages like "careful this will be removed in v2...".
Seeing how pydantic is getting popular and how busy @samuelcolvin is, I think we really need to prepare the ground in order to work without stress on the new big features with possible breaking changes
I don't know yet how we would set those feature flags. It could be env variables, config module or/and file or anything else...feedback more than welcome! Here is a very basic example of what could be done.
@samuelcolvin @tiangolo @StephenBrown2 @dmontagu, anyone else?

Yeah sounds good, would love to be involved in developing this.

Possibly, though first off this issue sounds like a perfect candidate for GitHub's new discussions feature.
I'm not sure how that would be implemented, though I don't think an env var is the best way to go, and pydantic hasn't historically used a conf file. I believe setting a Config var in BaseModel/Settings classes would be the beset, since that's already the primary interface, and would allow for comparison between features, and would be explicit, thus "method of least surprise".

Unfortunately we don't have the new discussions feature but I completely agree. Maybe @samuelcolvin can activate it in the repo settings.
As for the implementation I'm not convinced by env variables either. I just want to be sure of the why before thinking too much of the how.
I just don't know the answer we always give like "create your own custom Model with this" annoys me and doesn't help us in the long way. And I would like to split the Config of a model used to customize the way one BaseModel works and global behaviour changes.

Yeah, my thought was limiting it to per-model config would be better, but that would be a pain if one wants to enact global changes for all of pydantic.
Perhaps introducing a PydanticConfig singleton class that could be instantiated and models would read from.
But on to the why: I think that it could also be handled with alpha releases (2.0.0a0, 2.0.0a1, etc), with clear documentation on things that have changed AND a request for feedback in case things break too badly, or maybe including the feature flag thing in the alpha, similar to how pip changed the resolver algorithm, but hid it behind --use-feature=2020-resolver for a bit until the kinks had been worked out.
On further thought, an alpha release seems better since breaking changes wouldn't necessarily keep the old behavior around, so some things might be an all-or-nothing approach.

Here is an example of what could be done. I think talking about alpha releases of v2 is way too early. For me v2 will go even further by rewriting some logic (e.g. the validation workflow possibly, more strictness by default...).
But we could already implement easy stuff right now.

Would you want to alter the behaviour of all Pydantic models in your dependency tree?
Is this not something model config could accomodate?  You could add a new setting which emits a deprecation warning when it's set to False (the default in the current major release).  If users would like to alter the behaviour of imported libraries, they'd be able subclass the library models to extend the config.

I guess we could also invite people to do
from pydantic import BaseConfig

BaseConfig.my_disabled_option_by_default = True

to change globally the behaviour of pydantic. It wouldn't require any new "GlobalConfig". I'm just afraid BaseConfig will end up with (too) many flags

Related issue: #2003

I've just seen this issue, sorry for the slow reply.
I've enabled discussions, I'll change the issue template to point to them for questions and suggest feature requests should seek approval in discussions before becoming issues.

I've thought about this quite a lot and I'm overall opposed to feature flags for pydantic unless absolutely necessary.
I think this is arguably a case of tragedy of the commons - the more complex features and confusing configuration settings we add, the harder pydantic becomes to use for everyone.
My point of view is described perfectly on this prettier issue: https://github.com/prettier/prettier/issues/40
In particular the following line resonates with me:

The requests for configuration are vocal. The requests to stay simple are often silent.

(I came to that issue when researching how to setup prettier to add a space before the opening { in js function definitions (of all weird esoteric desires). After I read that issue, I stopped worrying about my esoteric whims and used the defaults)

On the specific idea of global singleton that modifies all pydantic behaviour, I think this is a bad idea for the following reasons:

changing behaviour in one module by importing another is often confusing: imagine someone no longer uses an imported object, they run their code and all is well, they remove the import line and suddenly their codes breaks - this is very confusing, this is what would happen if the code in the main module (or another imported module!) relies on a global configuration which is defined in the module which is no longer imported
imagine you use some package which in turn uses pydantic and assumes a particular configuration, now you modify your global config and it breaks obscure behaviour inside a package (you don't know which package, you don' know the problem is in a package, you don't even know you're using packages that use pydantic, you haven't heard of pydantic). 💣 hours wasted.

Global configuration belongs to frameworks, not libraries. pydantic is a library, not a framework.

I think the current Config approach is good, custom base classes covers all common cases. They're not magic and require minimal code to use them throughout an application, they are also explicit and opt-in.
The route problem is that progress of pydantic has slowed down somewhat. The solutions for this are:

me doing some more work on it
me responding to PRs more quickly so I don't end up having to fix them myself because the creator got bored of waiting for me and abandoned the PR
using discussions to limit the number of new issues and particularly new PRs for new features which few people want

The reason this has come up is that I have 50 PRs to review whenever I look at pydantic which means I'm less inclined than I might otherwise be to work on pydantic (no one enjoys reviewing PRs as much as writing code). Even when I do work on pydantic I have two or three days of work reviewing PRs before I can work on any of the big behaviour changes people want. I never thought I would say this but there are too many people creating too many PRs!

Thanks a lot @samuelcolvin for the thoughtful and detailed explanation.
This is the kind of moments I cherish when I feel I truly learnt something important or got my eyes open.
I really liked the

The requests for configuration are vocal. The requests to stay simple are often silent.

This is actually why I started to fall in love with pydantic in the first place : easy to pick up and use

I tried probably too hard - and I'm sorry for that I'll stop opening so many PRs - to try to close issues without impacting the library. With the benefit of hindsight it makes perfect sense.
Anyway thanks again! Glad you answered and sorry for the bother

Sorry @PrettyWood, you've misinterpreted what I said (maybe my mistake). Your PRs are not the problem at all, in fact they help because they implement bigger changes and take little time to review. Please keep creating PRs!