[docs]: Operator throttleTime is missing an example for the throttleConfig param

Documentation Related To Component:
The throttleTime operator:
throttleTime.ts
Please check those that apply

[ ] typo
[ ] documentation doesn't exist
[x] documentation needs clarification
[ ] error(s) in example
[x] needs example

We may want to include a description for throttleConfig param. Also, the see also section is incomplete.
Description
The detailed description can be improved. Here we should include that:

there is an optional config param

See Also
We miss some operators in the see also section.
A suggested list for related operators could look like this:
 * @see {@link delay}
 * @see {@link delayWhen}
 * @see {@link audit}
 * @see {@link auditTime}
 * @see {@link debounce}
 * @see {@link debounceTime}
 * @see {@link sample}
 * @see {@link sampleTime}
 * @see {@link throttle}

Would it make sense to also mention that configurability in the description?
Current description totally disregards that:

Emits a value from the source Observable, then ignores subsequent source values for duration milliseconds, then repeats this process.

We could add, e.g.

Can be configured to ignore the first value and|or also emit the last value within given duration.

I personally missed that option, probably due to rather strict description of the behavior.

The new throttleTime behavior with { leading: true, trailing: true } is not documented, neither in the operator page (https://rxjs.dev/api/operators/throttleTime) nor in the v7 breaking changes page. The operator marble image also still shows the old behavior, where both the last and the first event is emitted, even if the time between them is smaller than the throttle time. I noticed the new behavior through unit testing.

Same issue, the graph shows

while the api is throttleTime<T>(duration: number, scheduler: SchedulerLike = asyncScheduler, config?: ThrottleConfig): MonoTypeOperatorFunction<T>
https://rxjs.dev/api/operators/throttleTime


fix: use binary protocol for connecting to remote

What kind of change does this PR introduce?
Bug fix
What is the new behavior?
Binary protocol supports pipeline mode with several benefits.

implicit transaction for migrations
performance gains for large batch of statements

Additional context
Add any other context or screenshots.

Pull Request Test Coverage Report for Build<PHONE_NUMBER>
Details

64 of 94 (68.09%)  changed or added relevant lines in 9 files are covered.
9 unchanged lines in 3 files lost coverage.
Overall coverage decreased (-0.01%) to 58.864%

Changes Missing Coverage
Covered Lines
Changed/Added Lines
%

internal/db/remote/commit/commit.go
0
3
0.0%

internal/migration/repair/repair.go
24
30
80.0%

internal/db/remote/changes/changes.go
0
10
0.0%

internal/testing/pgtest/mock.go
21
32
65.63%

Files with Coverage Reduction
New Missed Lines
%

internal/db/reset/reset.go
2
58.18%

internal/migration/list/list.go
2
95.08%

internal/gen/keys/keys.go
5
11.76%

Totals

Change from base Build<PHONE_NUMBER>:
-0.01%

Covered Lines:
6209

Relevant Lines:
10548

💛  - Coveralls


Trouble capturing Phantomjs via Karma when testing on a hosted agent

I'm trying to use a VSTS hosted agent to build my web app and run Jasmine tests through Karma. I'm using NPM to launch Karma using the task:
"test": "karma start --reporters mocha,junit --single-run --browsers PhantomJS",

I'm able to build my web app just fine, but Karma runs into issues trying to start the PhantomJS headless browser to run my tests. I'm seeing these messages in the logs:
2016-04-04T22:54:15.0148818Z [command]C:\Program Files\nodejs\npm.cmd run test
2016-04-04T22:54:15.9338829Z ><EMAIL_ADDRESS>test C:\a\1\s
2016-04-04T22:54:15.9338829Z > karma start --reporters mocha,junit --single-run --browsers PhantomJS
2016-04-04T22:54:19.0078825Z START:
2016-04-04T22:54:35.1438831Z ts-loader: Using<EMAIL_ADDRESS>and C:\a\1\s\test\tsconfig.json
2016-04-04T22:54:42.3838827Z 04 04 2016 22:54:42.380:INFO [karma]: Karma v0.13.22 server started at http://localhost:9876/
2016-04-04T22:54:42.3958835Z 04 04 2016 22:54:42.393:INFO [launcher]: Starting browser PhantomJS
2016-04-04T22:57:42.3970982Z 04 04 2016 22:57:42.396:WARN [launcher]: PhantomJS have not captured in 180000 ms, killing.
2016-04-04T22:57:44.4000982Z 04 04 2016 22:57:44.399:WARN [launcher]: PhantomJS was not killed in 2000 ms, sending SIGKILL.
2016-04-04T22:57:46.4000995Z 04 04 2016 22:57:46.399:WARN [launcher]: PhantomJS was not killed by SIGKILL in 2000 ms, continuing.
2016-04-04T22:57:46.4090997Z Finished in 0 secs / 0 secs
2016-04-04T22:57:46.6030998Z npm ERR! Windows_NT 6.3.9600
2016-04-04T22:57:46.6040993Z npm ERR! argv "C:\\Program Files\\nodejs\\\\node.exe" "C:\\Program Files\\nodejs\\node_modules\\npm\\bin\\npm-cli.js" "run" "test"
2016-04-04T22:57:46.6040993Z npm ERR! node v0.12.7
2016-04-04T22:57:46.6050995Z npm ERR! npm  v2.11.3
2016-04-04T22:57:46.6050995Z npm ERR! code ELIFECYCLE
2016-04-04T22:57:46.6060993Z npm ERR<EMAIL_ADDRESS>test: `karma start --reporters mocha,junit --single-run --browsers PhantomJS`
2016-04-04T22:57:46.6060993Z npm ERR! Exit status 1
2016-04-04T22:57:46.6060993Z npm ERR!
2016-04-04T22:57:46.6070995Z npm ERR! Failed at the<EMAIL_ADDRESS>test script 'karma start --reporters mocha,junit --single-run --browsers PhantomJS'.
2016-04-04T22:57:46.6070995Z npm ERR! This is most likely a problem with the myapp package,
2016-04-04T22:57:46.6080994Z npm ERR! not with npm itself.
2016-04-04T22:57:46.6080994Z npm ERR! Tell the author that this fails on your system:
2016-04-04T22:57:46.6080994Z npm ERR!     karma start --reporters mocha,junit --single-run --browsers PhantomJS
2016-04-04T22:57:46.6090992Z npm ERR! You can get their info via:
2016-04-04T22:57:46.6090992Z npm ERR!     npm owner ls myapp
2016-04-04T22:57:46.6100992Z npm ERR! There is likely additional logging output above.
2016-04-04T22:57:46.6100992Z npm ERR! Please include the following file with any support request:
2016-04-04T22:57:46.6100992Z npm ERR!     C:\a\1\s\npm-debug.log
2016-04-04T22:57:46.6230995Z ##[debug]rc:1
2016-04-04T22:57:46.6240986Z ##[debug]success:false
2016-04-04T22:57:46.6250991Z ##[debug]taskRunner fail
2016-04-04T22:57:46.6270971Z ##[debug]task result: Failed
2016-04-04T22:57:46.6330990Z Npm failed with error: C:\Program Files\nodejs\npm.cmd failed with return code: 1

I'm able to run this just fine on my Windows machine. I tried increasing the capture timeout in case it wasn't starting up within 60 seconds, but it still doesn't work with a timeout of 180 seconds. Could it be because I can't connect to http://localhost:9876/ with PhantomJS? Also, I'm not sure why Karma's not able to kill the process.
Is there a technique or workaround to get PhantomJS to launch properly and connect to Karma on a hosted agent?

I discovered the problem:
The hosted VSO agent has a global copy of PhantomJS installed at C:\NPM\Modules\PhantomJS.cmd, but the exe file linked to the cmd is not at `C:\NPM\Modules\node_modules\phantomjs\lib\phantom\phantomjs.exe'.
When npm installs a Phantomjs dependency, the install checks if there's a global phantomjs install; if there is, it just stores the location to the global install and doesn't install a local version in node_modules.
Later, when the karma-phantomjs-launcher gets the location, if it receives the path to the global .cmd file, it naively walks from the .cmd file to cmdfile//node_modules//phantomjs//lib//phantom//phantomjs.exe. Since this doesn't exist on the hosted build agent, it doesn't start PhantomJS at all, and breaks, resulting in the 60 second time out, and subsequent not being able to kill the PhantomJS process.
I'll go file an issue on https://github.com/karma-runner/karma-phantomjs-launcher.

I am having the same issue, however, PhantomJS.cmd is not at the location C:\NPM\Modules\PhantomJS.cmd. I don't even have C:\NPM path.
I did add the environment variable PHANTOMJS_BIN into the build server with path to the npm install phantomjs path, however this has not fixed the issue. Any help?
package.json
"karma-phantomjs-launcher": "1.0.0",
"phantomjs": "2.1.3",
"phantomjs-prebuilt": "2.1.3"

I've been running into the same issue as @chekkan - something was recently changed

@lediur @chekkan The hosted agent image has been updated recently. Can you try executing the task and let us know if the issue still exists?

@SatishThareja This issue seems to be back.
Here is our situation:

2 days ago the commit in questions completed successfully including test runs
if I do a manual rerun of the same commit, it will now fail every time due to PhantomJS have not captured in xxx ms.

Questions:

Has the agent been updated recently again?
Is there a place where one can see when agents get updated and what the change log is?

You can find the details about the software on the hosted image pool here : https://www.visualstudio.com/en-us/docs/build/admin/agents/hosted-pool
Image updates are published here as well : https://blogs.msdn.microsoft.com/visualstudioalm/

In case anyone else lands here, the fix I found via stackoverflow is to add a build variable with the key "PHANTOMJS_BIN" and the value "C:\NPM\Modules\PhantomJS.cmd".

@ntziolis I was coming across the same issue and was able to resolve it by changing from "Hosted" to "Hosted VS2017" agent in the Options tab of my builds. Not sure if that's an option for you but something seems to have changed on the default "Hosted" agents that Microsoft is spinning up for us

@BrianMikinski Changing the type worked for me, thx!

I don't think either solution works anymore; I've tried the build agent variable;

And the Agent is the most recent possible version;

Any other ideas?


Graphite web login and password

Just installed the whole stack, and while checking status found no login/password for graphite.
Tried root/root admin/admin - nothing worked

+1, stuck on the same problem

Run container's shell
$ make shell
then go to Graphite webapp directory:
$ cd /opt/graphite/webapp
and created superuser:
$ ./manage.py createsuperuser

@tm-minty , just to add:
Before you run the manage.py command, you would need to execute the following:
root@38cf3634dcbe:/opt/graphite/webapp# mkdir -p /opt/graphite/storage/log/webapp/


Fix Ingress API check

If the full API resource is given, Helm on ArgoCD produces wrong answer for the ".Capabilities.APIVersions.Has" template.
Checking for "networking.k8s.io/v1" is enough, and works well.

There is a version issue for argo's helm library in my mind. They should use a moddr modern version. Z2jh require helm 3.5 and that can handle this.
Due to that i wish to reject this PR, i think there are more issues to follow if this would be patched anyhow, and this was just the first of several issues if using an old helm version.
I suggest making sure you use the latest argo version, and then nudging argo to use a more modern version of helm (3.5+ needed).


Optionally exclude provider and resource type prefix from category tag for label to tag mapping

See UI PR for full details
Links
Addresses https://github.com/ManageIQ/manageiq/issues/20409
Related UI PR: https://github.com/ManageIQ/manageiq-ui-classic/pull/7273

@lpichler @gtanzillo can you run a cross-repo test with the providers that do tag_mapping?  So amazon, azure, kubernetes, openshift, openstack, and vmware.

Cross-repo tests are green, merging


运行问题

Traceback (most recent call last):
File "/home/lkh/Project/code/JTFT-master/run_longExp.py", line 169, in
exp = Exp(args)  # set experiments
File "/home/lkh/Project/code/JTFT-master/exp/exp_main.py", line 24, in init
super(Exp_Main, self).init(args)
File "/home/lkh/Project/code/JTFT-master/exp/exp_basic.py", line 13, in init
self.model = torch.compile(self.model) #, mode="max-autotune"
AttributeError: module 'torch' has no attribute 'compile'
请问应该怎么修正呢

这个是因为pytorch版本低，好像2.0以上才能编译。不编译，把这个地方删了就行
---- 回复的原邮件 ----
| 发件人 | @.> |
| 日期 | 2023年12月06日 16:13 |
| 收件人 | @.> |
| 抄送至 | @.***> |
| 主题 | [rationalspark/JTFT] 运行问题 (Issue #1) |
Traceback (most recent call last):
File "/home/lkh/Project/code/JTFT-master/run_longExp.py", line 169, in
exp = Exp(args) # set experiments
File "/home/lkh/Project/code/JTFT-master/exp/exp_main.py", line 24, in init
super(Exp_Main, self).init(args)
File "/home/lkh/Project/code/JTFT-master/exp/exp_basic.py", line 13, in init
self.model = torch.compile(self.model) #, mode="max-autotune"
AttributeError: module 'torch' has no attribute 'compile'
请问应该怎么修正呢
—
Reply to this email directly, view it on GitHub, or unsubscribe.
You are receiving this because you are subscribed to this thread.Message ID: @.***>


obfuscate main program

Hello,
I want to use Proguard to obfuscate my main application after building the Project.
The problem is, the launcher will download every restart the obfuscated application, maybe because the app.xml in the launcher.
there is a way to fix that? Can i create or replace the app.xml in the launcher myself?

Yes, it's just a zip file, so you can open it and swap out the app.xml, or use the jar command to replace it :)

Ok, i just have to generate a new checksum, with ur alogirithm, and replace it in the app.xml.
That will fix it?

You can do that, but you could also just make sure the obfuscation happens before you bundle the app.xml file in the launcher, so you don't need to fiddle with this at all.

I have no idea how to do this, acutally i obfuscate with the Proguard GUI. So i have to build, take the jar and obfuscate.

Just do that before you run the create-manifest and embed-manifest-in-launcher step. Refer to the maven or gradle example project for more info and examples :)

i´ll try it, thank you for reply!


Merge binding changes into imgui_lua_bindings

Hey this repo is great! Would love to get the extra function support here merged into the imgui_lua_bindings repo as well.

Thanks, your bindings were clearly a life saver when I started to work on this integration and I would clearly love to contribute back on it. I'll have a look at it when I'll find some time and let you know!

Thanks I appreciate it! Happy I made a difference!
FYI I just pushed a whitespace change to the whole generate_imgui_bindings.pl file to prepare for adding ImDrawList functions, so use  git merge -Xignore-space-change or something equivalent.


Member access expressions support for table - Compile time

Refer spec in https://htmlpreview.github.io/?https://raw.githubusercontent.com/ballerina-platform/ballerina-spec/master/lang/spec.html ...

Done in https://github.com/ballerina-platform/ballerina-lang/pull/22623 and https://github.com/ballerina-platform/ballerina-lang/pull/22652


DropdownMenuItem label when selected

So it is possible to  create a dropdown that can show a multi level list instead of having more than 1 dropdown.
a label property when selected can be handy because the default label can show text with some indentation to denote it is in another level and shown when the dropdown list is displayed to the user.
once selected, the selected property will show the text based on the text widget and style, in this case eliminating the indentation shown to the user.

Hi @chitgoks
This platform is not meant for assistance on personal code. Please see https://flutter.dev/community for resources and asking questions like this, you may also get some help if you post it on Stack Overflow. Closing, as this isn't an issue with Flutter itself,
if you disagree please write in the comments and I will reopen it
Thank you

oh. i submitted this issue as a feature request. not as help. but ok


fix: fix a lot of tests when running them using cli

Following https://github.com/littleant/cakephp-1.3.21/pull/22
Tests are now passing 7.2 - 8.1 => Travis build

Everything works now!
Good job, and thank you for your time, Vincent!

Thanks for your work on this, @vincentreitz. It'll be very helpful to me!


Add checkmark icon to indicate a transcript is completed

Checkmark shows up on tiles on the index page, and somewhere on the transcript show page too.

Here's a shot at it:

@foglabs for the transcript show page, can we have a modal or something open whenever someone gets to that page (through clicking from the index page or coming from a direct link they found somewhere else like social media)?
The modal should say:
Great news! This transcript has already been completely corrected! Help us correct another transcript here [link to the index page filtered to the same collection as the transcript who's page they are on]

@foglabs @sroosa In addition to the checkmark, can we provide text next to it like Transcript Completed or something like that?


Settings editor shows dropdown at (0,0) (sometimes)

open settings editor
find/filter inlineChat.showGutterIcon
select something from the dropdown
🐛 sometimes the dropdown shows at (0,0) but not always

Is there anything I should look out for? Probe for some dom element or something in the log I should check?

Yeah if at all this reproduces in a vscode-bisect session that would be cool. We are tracking this issue in https://github.com/microsoft/vscode/issues/198251
/duplicate https://github.com/microsoft/vscode/issues/198251

Thanks for creating this issue! We figured it's covering the same as another one we already have. Thus, we closed this one as a duplicate. You can search for similar existing issues. See also our issue reporting guidelines.
Happy Coding!


[core] Changed the datatype for keynum from integer to long to allow …

Changed the datatype for keynum from integer to long to allow ycsb to load a larger dataset. Currently, ycsb restricts the number of rows that can be loaded to 2^32 rows.

there are already several open PRs with attempts to switch from a max size of MAX_INT to MAX_LONG. please review them to ensure you cover all the changes they do and expressly note that.


Generic hash state needs to be 64-byte aligned

At least according to:
https://libsodium.gitbook.io/doc/hashing/generic_hashing
We noticed crashes when it was not 16-byte aligned - probably is
architecture dependent. This makes the safe choice and always 64-byte
align it.

https://www.pivotaltracker.com/story/show/161806076


Disable concurrency on pr tester

Point being that we have pr's stuck in the check status stage for a long time, where their generated job dsl's can be overriden by new jobs. We need to go back to the old system of sequential builds and a queue system as described in the README of the pr-tester...
Signed-off-by: Morgan Davies<EMAIL_ADDRESS>

Tester is failing due to aarch builds suffering from a laggy filesystem issue (unrelated to the changes in this pr)
12:23:37  Updating support/src.zip
12:35:28  wrapper script does not seem to be touching the log file in /home/ubuntu/workspace/build-scripts-pr-tester/build-test/jobs/jdk15u/jdk15u-linux-aarch64-hotspot@tmp/durable-fc09f713
12:35:28  (JENKINS-48300: if on an extremely laggy filesystem, consider -Dorg.jenkinsci.plugins.durabletask.BourneShellScript.HEARTBEAT_CHECK_INTERVAL=86400)

So are we saying we can't have 2 PR testers in parallel because they override pipelines?
Could we not add a UUID to the temp pipeline in each case?

So are we saying we can't have 2 PR testers in parallel because they override pipelines?

They override each other. Say one tester has generated a jdk8 pipeline successfully but it has to sleep when it tries to do the same for a jdk11 one (since jdk11 is building at that moment). Then, another tester comes along and also generates the jdk8 job, overwriting the 1st tester with the 2nd's configuration. It then also sleeps while the jdk11 one is in progress. The 1st tester would then run using the 2nd tester's code and you would get a false positive or negative result.

Could we not add a UUID to the temp pipeline in each case?

We don't currently have a system for doing that and I think the result would be the same anyway. The tester runs, stops when it realises that a pipeline is in progress and carries on when it's not. So it's still sequential, it just means that you won't have a link to follow in the pr-checks until your job is first in line (it also tells you when your job is in the queue)

@gdams Can you see a way around this from your original impl

Approved, I also think that we should disable the autorunning to avoid running the PR tester unnecessarily

Approved, I also think that we should disable the autorunning to avoid running the PR tester unnecessarily

@gdams We currently have a no-test label for PR's that will prevent the tester from running. However, I think that we should have it disabled unless someone comments run tests. I could enable Only use trigger phrase for build triggering so that only the trigger phrase will execute PR builds?


jquery is(:visible) check doesn't work consistently against JSDOM

Was just looking at your library as an alternative to using our own custom matchers and saw something we ran into. We weren't able to use is(:visible) to detect visibility against JSDOM, as they don't always set the CSS properties for it to be reliable. For now, we've had to instead just check that css('display') !== 'none'.

Yeah, is(:visible) only works reliably if the element is mounted to the real document. These days I tend to avoid testing visibility at all in my unit tests.
Not sure what I could do with this issue...

Does checking css('display') instead not work?

If you hid the element using display, sure. What if you hid it using visibility? Or you set opacity to 0? Or you set the width and height to 0?
Trying to determine visibility is a fool's errand, I don't think it's worth pursuing in this library. There's a matcher for CSS properties (toHaveCss), so if toBeVisible doesn't work in a particular scenario I'd recommend using that to create your specific expectation.


Expected failures

In python's unittest module it's possible to mark a test as an expected failure, i.e. the test will run but the test suite will pass see expectedFailure. Can this be done in CppUTest, or is this a new feature?

Closing this issue.


Inconsistent results when recreating model instance

Hello there,
First of all, thanks a lot for publishing your code and actively answering questions on GitHub!!
I ran into problems when I instantiated a new instance of the FEDformer model class and loading weights of a previous run. I could not reproduce the same scores. Moreover, the scores substantially differed each time I reloaded the weights.
Hence, I checked whether model outputs stayed the same when reloading previous model weights while feeding consistent inputs. Therefore, I have created 3 model outputs, which should all be the same:

creating a model instance and running inference
creating a NEW model instance, loading the model weights from 1) and running inference
loading the model instance from 1) as a whole and running inference

1., 2., 3. should be the same. This is true if model version is Wavelets. However, if the model version is Fourier this leads to 1. != 2.. As a result, I am not able to use the weights of a Fourier model I trained. I could save and load the model instance as a whole, but I am still wondering why this is the case. Or did I miss something?
This is the code to reproduce my findings:
class Configs(object):
    ab = 0
    modes = 32
    mode_select = 'random'
    # version = 'Wavelets'
    version = 'Fourier'
    moving_avg = [12, 24]
    L = 1
    base = 'legendre'
    cross_activation = 'tanh'
    seq_len = 96
    label_len = 48
    pred_len = 96
    output_attention = False
    enc_in = 7
    dec_in = 7
    d_model = 16
    embed = 'timeF'
    dropout = 0.05
    freq = 'h'
    factor = 1
    n_heads = 8
    d_ff = 16
    e_layers = 2
    d_layers = 1
    c_out = 7
    activation = 'gelu'
    wavelet = 0

# consistent input of just ones
configs = Configs()
enc = torch.ones([3, configs.seq_len, 7])
enc_mark = torch.ones([3, configs.seq_len, 4])
dec = torch.ones([3, configs.seq_len//2+configs.pred_len, 7])
dec_mark = torch.ones([3, configs.seq_len//2+configs.pred_len, 4])

# 1) creating a model instance and running inference
model = Model(configs)
model.eval()
out_1 = model.forward(enc, enc_mark, dec, dec_mark)
# saving only the model weights like it is done in the training
torch.save(model.state_dict(), "./model_weights.pt")
# saving the class instance as a whole
torch.save(model, "./model_class_instance.pt")

# 2) creating a new model instance and loading previous model weights
model = Model(configs)
model.load_state_dict(torch.load("./model_weights.pt"))
model.eval()
out_2 = model.forward(enc, enc_mark, dec, dec_mark)  # <-- this leads to inconistent results when 'version' is "Fourier"

# 3) loading the whole model instance
model = torch.load("./model_class_instance.pt")
model.eval()
out_3 = model.forward(enc, enc_mark, dec, dec_mark)

# this should always output: True, True
print(torch.equal(out_1, out_2), torch.equal(out_1, out_3))

I appreciate any help on this matter!!

Update: This is due to the modes set to random.
However, how do you intend to reload a model if modes are set to random? Should I save the whole class instance with torch.save(model, "./model.pt") then?

Can you elaborate on your problem with reloading random model?
The repo uses random mode by default and the code does not just work for reloading random mode. It's already saving weights, I just had to change this line in run.py
    setting = '{}_{}_{}_modes{}_{}_ft{}_sl{}_ll{}_pl{}_dm{}_nh{}_el{}_dl{}_df{}_fc{}_eb{}_dt{}_{}_{}'.format(args.task_id,
                                                                                args.model,
                                                                                args.mode_select,
                                                                                args.modes,
                                                                                args.data,
                                                                                args.features,
                                                                                args.seq_len,
                                                                                args.label_len,
                                                                                args.pred_len,
                                                                                args.d_model,
                                                                                args.n_heads,
                                                                                args.e_layers,
                                                                                args.d_layers,
                                                                                args.d_ff,
                                                                                args.factor,
                                                                                args.embed,
                                                                                args.distil,
                                                                                args.des, ii)


Any ideas on how to preload youtube-dl into RAM to save on disk i/o?

Make sure you are using the latest version

[x] I've verified and I assure that I'm running youtube-dl 2018.03.10

Before submitting an issue make sure you have:

[x] At least skimmed through the README, most notably the FAQ and BUGS sections
[x] Searched the bugtracker for similar issues including closed ones
[x] Checked that provided video/audio/playlist URLs (if any) are alive and playable in a browser

What is the purpose of your issue?

[ ] Bug report (encountered problems with youtube-dl)
[ ] Site support request (request for adding support for a new site)
[ ] Feature request (request for a new functionality)
[x] Question
[ ] Other

Description of your issue, suggested solution and other information
When running multiple youtube-dl instances with a long queue of video, I'm noticing a lot of disk I/O and high CPU usage when using the -J argument to get JSON for a youtube video.
I'm pretty sure it's because of all the modules that have to be loaded every time the script runs. I'm thinking of ways to wrap youtube-dl in another python script that initializes it only once (and stores it all in RAM so when it needs to run again everything is already preloaded and ready to go). I feel like this could also speed up youtube-dl execution time greatly.
Does anyone have any suggestions on linux tools/commands or other scripts that can help me do this? I would hate to be re-inventing the wheel if I didn't have to 😋

Just pass this long queue of videos as list of URLs to single youtube-dl instance so that modules will be loaded only once. Alternatively you can implement a simple daemon like https://github.com/jaimeMF/youtube-dl-api-server.

@dstftw
Passing a long queue of videos as a list of urls isn't possible because the videos are getting added on the fly (not at the time I launch the first youtube-dl instance).  Thanks for the daemon suggestion! I'll look into that 👍


How to load all the files after the first file is done loading?

At the start of the game, I would like to load just 1 file in order to show users that the game is loading. After I load the first file, I try to load the rest of the files, but the progress won't count from 0 to 100%, instead, it jumps instantly to 100% after the rest of the files are loaded. My code is somewhat like this:
     window.sm.loadContent("./style/images/animations/loader/expand/logoExpand.json");
        window.loader.once("load", function() {
            self.logo = self.createSprite( 'logoExpand', 15, 100, 200, false, 0.5 );
        });

        onUpdate() {

        if( this.logo !== undefined )
            if( this.logo.finishUntilEndLoop() ){
                this.logo.stop();
                this.loadingDone = true;
            }

        if( this.loadingDone && !this.finish ) {
                var self = this;
                this.finish = true;
                window.sm.loadContent( window.assets.loadableContent );
                window.loader.on("progress", function(loader, resource) {
                      console.log( "progress: " + loader.progress.toFixed(0) + "%" );
                      self.loaderFront.element.width = 2.9 * loader.progress.toFixed(0);
                });

                window.loader.once("complete", function( loader, resource ) {
                      self.fade = true;
                      window.sm.goToScene( 'main' );
                }, this);
        }

        if( this.fade ) this.fadeOut();

    }

I'm not sure if the code is clear enough, but I hope that my question makes sense and that you can provide a very simple and elegant solution.

Have you tried resetting the loader before using it again? .reset()

It says that reset is not a function... I guess that there is no reset function build in?


Are ZDIFF and ZDIFFSTORE supported?

Issue
When I try and use zdiff I get the error client.zdiff is not a function
From the redis documentation page it mentions this command is Available since 6.2.0 and I'm using 6.2.1

Environment

Node.js Version: 14

Redis Version: 6.2.1

Platform: node:14 (docker image)

And from package.lock:
  "redis": {
    "version": "3.0.2",
    "resolved": "https://registry.npmjs.org/redis/-/redis-3.0.2.tgz",
    "integrity": "sha512-PNhLCrjU6vKVuMOyFu7oSP296mwBkcE6lrAjruBYG5LgdSqtRBoVQIylrMyVZD/lkF24RSNNatzvYag6HRBHjQ==",
    "requires": {
      "denque": "^1.4.1",
      "redis-commands": "^1.5.0",
      "redis-errors": "^1.2.0",
      "redis-parser": "^3.0.0"
    }
  },
  "redis-commands": {
    "version": "1.6.0",
    "resolved": "https://registry.npmjs.org/redis-commands/-/redis-commands-1.6.0.tgz",
    "integrity": "sha512-2jnZ0IkjZxvguITjFTrGiLyzQZcTvaw8DAaCXxZq/dsHXz7KfMQ3OUJy7Tz9vnRtZRVz6VRCPDvruvU8Ts44wQ=="
  },
  "redis-errors": {
    "version": "1.2.0",
    "resolved": "https://registry.npmjs.org/redis-errors/-/redis-errors-1.2.0.tgz",
    "integrity": "sha1-62LSrbFeTq9GEMBK/hUpOEJQq60="
  },
  "redis-parser": {
    "version": "3.0.0",
    "resolved": "https://registry.npmjs.org/redis-parser/-/redis-parser-3.0.0.tgz",
    "integrity": "sha1-tm2CjNyv5rS4pCin3vTGvKwxyLQ=",
    "requires": {
      "redis-errors": "^1.0.0"
    }
  },

We're working now on adding the missing features from Redis 6 to the module, but It'll take some time.
In the mean time you can use client.sendCommand as an workaround:
client.sendCommand('ZDIFF', ['a', 'b', 'c'], (err, result) => {
  // ...
});

Thank you!


Intersection type does not work in React Props

I am using flow in my react application to define the type of the props as an intersection of two objects:
type ErrorHandler= {
   error: {
      display: () => void
   }
}

type Props =
  & {
    accountId: string
  }
  & ErrorHandler;

However, flow is not typechecking my code.
For example, the following incorrect statement does not produce a flow error
const id = this.props.account.id // Should give error

If I subsequently define my props as follows then flow works again/
type Props = {
    accountId: string,
    error: {
        display: () => void
    }
}

Is this a bug in flow or am I making a mistake here?

This throws correctly in Try Flow, so your error may be elsewhere.
Be sure you're running the latest version.
Also try the new spread properties!
type Props = {
  accountId: string,
  ...ErrorHandler
}

Also, mark all your keys on your Prop types as covariant (read-only) and some of the errors will go away.
type ErrorHandler= {
   +error: {
      +display: () => void
   }
}

type Props =
  & {
    +accountId: string
  }
  & ErrorHandler;

It seems like a bug on my side, I will check it out! Thanks a lot for your help, I appreciate it:)


MouseEvent overload: Allow options to be an optional paramter

When using this plugin without specifying options for original mouse events, ex: $el.simulate('click');. It currently throws an error:
Uncaught TypeError: Cannot read property 'pageX' of undefined
    at $.simulate.mouseEvent (http://localhost:9876/base/node_modules/jquery-simulate-ext/src/jquery.simulate.ext.js:21:14)
    at $.simulate.createEvent (http://localhost:9876/base/node_modules/jquery-simulate/jquery.simulate.js:83:16)
    at $.simulate.simulateEvent (http://localhost:9876/base/node_modules/jquery-simulate/jquery.simulate.js:73:20)
    at new $.simulate (http://localhost:9876/base/node_modules/jquery-simulate/jquery.simulate.js:32:8)
    at HTMLButtonElement.<anonymous> (http://localhost:9876/base/node_modules/jquery-simulate-ext/src/jquery.simulate.drag-n-drop.js:27:5)
    at Function.each (http://localhost:9876/base/node_modules/jquery/dist/jquery.js:374:23)
    at jQuery.fn.init.each (http://localhost:9876/base/node_modules/jquery/dist/jquery.js:139:17)
    at jQuery.fn.init.$.fn.simulate (http://localhost:9876/base/node_modules/jquery-simulate-ext/src/jquery.simulate.drag-n-drop.js:26:16)
    at Object.<anonymous> (http://localhost:9876/base/test/jasmine/index.js:141113:42)

Thanks!
However, note that this plugin is not maintained anymore.


Improve axis awareness and visibility for Position2D and Position3D

Previously, it was impossible to see which axis a Position node pointed towards. However, this can be important information depending on how the Position node is used in game logic.
Preview
2D

Before
After

3D

Before
After

As a bonus, mixed-background visibility is improved:

It seems a bit weird to me to use gradients. Maybe it would be better to have the positive side fully colored, and the negative side mixed with black, with no transition in-between?

It seems a bit weird to me to use gradients. Maybe it would be better to have the positive side fully colored, and the negative side mixed with black, with no transition in-between?

That can be done too; I'll look into it.

Here it is with a "hard" gradient and 50% darkened colors on the negative axis side:
2D

3D

I feel it's less visible overall, especially in 3D due to https://github.com/godotengine/godot/issues/48573.

This may be a bit naïve, but what if we just make the darkened colors even darker for 3D? It already looks good for 2D IMO.

I noticed that in the code for 2D, the order is negative to positive, and in 3D, the order is positive to negative. Which we choose shouldn't matter, but I suggest being consistent with one of them. This isn't a problem with this PR as this was also the case before, but this PR is a good opportunity to fix it.

Fixed :slightly_smiling_face:

Thanks!


Landing page: Add menu and style features

Header looks a little bit weird when resizing on web :o

Maybe Content.js, AccentedText.js, Highlight.js should go to styledComponent/ (or any other similar name) folder? I think it would be more convenient to have separate folder for just styled components

Header looks a little bit weird when resizing on web :o

It will be solved in another PR


trailing newline not allowed in () string interpolation

on tip (commit f89aa48)
The following cue file doesn't parse:
x: "\(
	345
)"

It gives this error:
expected ')' for string interpolation:
    ./n.cue:4:5
missing ',' in struct literal:
    ./n.cue:5:4

The specification says:

\( must be followed by a valid CUE Expression, followed by a ).

And the above expression is valid.
Removing the newline after the 345 fixes the issue, but this should not be necessary.

Not saying it’s good UX, but it is according to spec. Comma insertion rules insert a comma at the new line, which means it’s no longer a valid expression.

Comma insertion rules insert a comma at the new line, which means it’s no longer a valid expression.

I don't understand why it's not a valid expression when there's a trailing newline.
This piece of cue works fine, for example:
123,

ah, but this doesn't:
(123,)

I understand better now :) It'd still be good to fix.

@rogpeppe, aside from convenience, how would you justify a trailing comma in `"(foo,)"?
Either way, I looked at what Swift does, from where this construct was copied, and they take the following approach: for single-line strings there may be no newline separating \(, expr, and ). For multiline strings there may be a newline on both ends. I like that approach as a compromise.

aside from convenience, how would you justify a trailing comma in `"(foo,)"?

Convenience seems like a reasonable argument to me. After all, Go allowed trailing commas in function arg lists and other places for a similar reason. This doesn't seem so different to me.

It is a bit different in that argument lists are lists, and this is a single value. I'm inclined to take the Swift approach though. It keeps single-line strings as single-line strings and can be relaxed later if need be.

This issue has been migrated to https://github.com/cue-lang/cue/issues/309.
For more details about CUE's migration to a new home, please see https://github.com/cue-lang/cue/issues/1078.


v7 stops updating curtains & meters.

After upgrading to v7.0, it seems that after the initial boot/enable of the ESP32 (or restart of the MQTT broker), MQTT data other than lastwill is no longer updated for curtains and meters (these are all that I have to test on at the moment, so could be others experiencing the same issue).
I also tried forcing the botScanTime to a set interval (120 seconds) for the devices and used onlyActiveScan = true; but doesn't seem to make a difference. No updates for any of the device attributes come in.
This has been the case with both ESP32 library v1.0.6 (currently using) and v2.0.0.
Downgrading back to v6.12 seems to make everything work again.

 It is working for me, but I have at least one of every device type, so it is possible I missed something if only curtain and meter are in the device lists
Note:

onlyActiveScan = true means it just won't use passive scanning. It still only active scans based on the scheduled settings
the botScanTime list is only if you want to override the default settings for one or more specific devices. Not really useful to you in this situation

Settings to consider:

static const bool scanAfterControl = true;                   // perform requestInfo after successful control command (uses botScanTime).
```static const bool scanWhileCurtainIsMoving = true;           // The ESP32 will scan for defaultCurtainScanAfterControlSecs seconds after control to keep the position slider in sync with the actual position```

if scanAfterControl = true. when a command is sent to curtain is will scan after 30 secs for a state update. If scanWhileCurtainIsMoving = true, it will scan for the entire 30 secs while the curtain is moving

2.
```static const int defaultCurtainMQTTUpdateSecs = 600;         // Used only when alwaysMQTTUpdate = false. Default MQTT Update for curtain every X seconds.  Note: a change in state will be always be published either way during active scanning
static const int defaultMeterMQTTUpdateSecs = 600;           // Used only when alwaysMQTTUpdate = false. Default MQTT Update for meter temp sensors every X seconds. Note: a change in state will be always be published either way at all times (active or passive)```

MQTT will only update every 600 seconds if there is a change in state/value. This is to avoid sending overloading MQTT with messages when the state hasn't changed

3.

static const int defaultCurtainActiveScanSecs = 1800;        // Default Active Scan for curtain every X seconds if not active scanned since X seconds. *override with botScanTime list.
static const int defaultMeterActiveScanSecs = 3600;          // Default Active Scan for meter temp sensors every X seconds if not active scanned since X seconds. *override with botScanTime list.
static const bool activeScanOnSchedule = true;               // perform an active scan on decice types based on the scheduled seconds values for XXXXActiveScanSecs

If activeScanOnSchedule = true, every 1800/3600 seconds an active scan will be performed on curtain and meter. It may only MQTT update if there is a change in state/value

4

static const bool autoRescan = true;                         // perform automatic rescan (uses rescanTime and initialScan).
static const int rescanTime = 10800;                         // Automatically perform a full active scan for device info of all devices every X seconds (default 3 hours). XXXXActiveScanSecs will also active scan on schedule

every 10800 seconds an active scan is performed, I believe it will update MQTT even if the state has not changed

5.

static const bool alwaysMQTTUpdate = false;                  // If the ESP32 is scanning, always publish MQTT data instead of using set times. ***Note: This creates a lot of MQTT traffic

If the ESP32 is scanning already, send MQTT messages even if the state hasn't changed. This will send a ton of MQTT messages and will load up HA logs etc

6.

static const bool onlyActiveScan = false;                    // Active scanning requires more battery from the BLE switchbot devices. If false, passive scanning is used when possible for contact/motion
static const bool onlyPassiveScan = false;                   // If this ESP32 is a mesh ESP32 or you only have motion/contact/meter sensors. Passive scanning uses less battery from BLE switchbot devices. Passive scanning provides less data then active scanning, but uses less battery

When scanning, it will only do one type of scanning. Only one value should be set to true if you want only one type of scanning. It will scan based on the schedules times

7.

static const bool alwaysActiveScan = false;                  // No battery optimizations. If you are using the switchbot hub or app to control devices also and you want immediate state updates for bot and curtains in MQTT set to true

if alwaysActiveScan = true, 100% of the time the ESP32 will be active scanning. The ESP32 will never be idle.

So if you want to test, and you want the ESP32 to always be active scanning, and always be MQTT updating then set:
``` alwaysMQTTUpdate = true```
```alwaysActiveScan = true```

Thanks for the feedback. I should have also mentioned in my original post that the curtain actually updates as it should when given a command to open/close (per your note #1) so this seems to be working fine.
That said, I tested with alwaysMQTTUpdate = true and alwaysActiveScan = true and confirmed that the devices do get polled and this data is being sent to MQTT (indeed the curtain spews out MQTT traffic like crazy, while the meters are only a few times every minute), so that's good.
I then set alwaysMQTTUpdate = false while leaving alwaysActiveScan = true and MQTT updates slowed down and only came in at the expected intervals (akin to your note #2). I assume, though, that keeping alwaysActiveScan on is unecessarily wasting energy.
So, setting alwaysMQTTUpdate = true and alwaysActiveScan = false, but also setting defaultMeterActiveScanSecs = 60 (akin to your note #3), the ESP32 just sat there with status "idle" the entire time and never changed to "activescanning" in the 15 or so minutes I tested it. I can confirm that the actual temperature meter readings had changed in that interval.
Finally, setting rescanTime = 60 with alwaysMQTTUpdate = true and alwaysActiveScan = false, the ESP32 status flipped to "activescanning" every 60 seconds or so, and all devices reported updates to MQTT each time as expected during the testing interval.
Anecdotally it seems that at least defaultXXXXActiveScanSecs is being ignored in favor of rescanTime, and without explicitly requesting an active update (or alternatively sending a command in the case of the curtains), the devices won't publish their update to MQTT.

I then set alwaysMQTTUpdate = false while leaving alwaysActiveScan = true and MQTT updates slowed down and only came in at the expected intervals (akin to your note #2). I assume, though, that keeping alwaysActiveScan on is unecessarily wasting energy.

correct alwaysActiveScan would technically use more battery on the devices. I am using undocumented features to passive scan. in v6.10 and before the esp32 is always active scanning if contact and motion were included

So, setting alwaysMQTTUpdate = true and alwaysActiveScan = false, but also setting defaultMeterActiveScanSecs = 60 (akin to your note #3), the ESP32 just sat there with status "idle" the entire time and never changed to "activescanning" in the 15 or so minutes I tested it. I can confirm that the actual temperature meter readings had changed in that interval.

if meters are included you should see updates using passive scanning, so ensure activeScanOnly is set to false. Let me know, if it isnt I will take a look why. Meters/contact/motion can get data using passive scanning

Finally, setting rescanTime = 60 with alwaysMQTTUpdate = true and alwaysActiveScan = false, the ESP32 status flipped to "activescanning" every 60 seconds or so, and all devices reported updates to MQTT each time as expected during the testing interval.
Anecdotally it seems that at least defaultXXXXActiveScanSecs is being ignored in favor of rescanTime, and without explicitly requesting an active update (or alternatively sending a command in the case of the curtains), the devices won't publish their update to MQTT.

if rescanTime is a smaller value than all the values of defaultXXXXActiveScanSecs then yes they will basically be ignored. defaultXXXXActiveScanSecs will active scan only if it hasnt for that long. a full rescanTime will reset the timer to 0

if meters are included you should see updates using passive scanning, so ensure activeScanOnly is set to false. Let me know, if it isnt I will take a look why. Meters/contact/motion can get data using passive scanning

Yep, onlyActiveScan = false was set for all of these last tests.

if rescanTime is a smaller value than all the values of defaultXXXXActiveScanSecs then yes they will basically be ignored. defaultXXXXActiveScanSecs will active scan only if it hasnt for that long. a full rescanTime will reset the timer to 0

Right, that makes sense. In my test cases, I just left the rescanTime set at the default 10800 seconds, while I adjusted the `defaultMeterActiveScanSecs' to 60 seconds to see if it would override the rescanTime setting which it seems it didn't.

ok cook, I will take a look and try with just curtain and meters to see if I can reproduce

@bennyb0i thanks for testing. I believe i fixed the issues in my v7.1 branch here https://github.com/devWaves/SwitchBot-MQTT-BLE-ESP32/tree/v7.1
I will release this later today, but should be good for testing and will be the same once released. Cheers

Cool, I'll give it a whirl after work today. Thanks!

Thanks. I just decided to add another change before releasing v7.1. To cover the scenario where a device can't be found, I don't want it to continually active scanning trying to find it. Shouldn't be long

Should have read this thread before installing the 7.0 version 😅 I have the same issues but I'm happy to test 7.1 once it's ready 😊

Hey. The code for v7.1 is released. It should have the issues reported here fixed
I didn't get around to finishing the new additions to stop active scanning if a device cannot be found. It's a bit more complicated then I originally thought
Use Arduino ESP32 core v1.0.6 as it has been determined there are issues with version 2.0 and greater. I will release v7.1 as a packages released once I confirm the other PR for platform IO https://github.com/devWaves/SwitchBot-MQTT-BLE-ESP32/pull/93 works with version 3.5.0 of the Platform IO ESP32 library

Works for me! Thank you for this quick fix and this great firmware :)

Hey there, finally had a chance to update the firmware to v7.1, and just wanted to drop a note that it's working perfectly for me now too. Thanks so much for your hard work! 😄


(-215:Assertion failed) !ssize.empty() in function 'cv::resize'

error in trying running the wiki_image.py file.  In the step of processing all the images and merge them with the meta, the code goes running for the first 5 Batches and throw an error.
here is the trace for the error
error                                     Traceback (most recent call last)
 in ()
37         img = cv2.imread(path, 1)
38
---> 39         img = cv2.resize(img, (150,150))
40
41         img = img.flatten()
error: OpenCV(3.4.3) C:\projects\opencv-python\opencv\modules\imgproc\src\resize.cpp:4044: error: (-215:Assertion failed) !ssize.empty() in function 'cv::resize'

I have updated the project. Please have a look at the project now.


Exception being send to Sentry even when added to ignore_exception

Hello,
I have a Django project using raven 5.27.1 and I setting the the ignore_exception like so:
RAVEN_CONFIG = {
    ...
    'ignore_exceptions': [myproject.base.exceptions.BackOffException'],
    ...
}

I also have a celery task that raises that exception:
@shared_task(throws=(BackOffException,))
def my_useful_task():
     raise BackOffException

My problem is that raven is not respecting my ignore_exception config and sending the exception to Sentry anyway. The problem seems to be that the should_capture is being executed twice, I added the following to log to it:
    def should_capture(self, exc_info):
        exc_type = exc_info[0]
        exc_name = '%s.%s' % (exc_type.__module__, exc_type.__name__)
        exclusions = self.ignore_exceptions
        self.logger.error('hello {} {}'.format(exc_name, exclusions))

And these are logs that I am seeing:
hello myproject.base.exceptions.BackOffException set()

hello myproject.base.exceptions.BackOffException {'myproject.base.exceptions.BackOffException'}

Not capturing exception due to filters: <class 'myproject.base.exceptions.BackOffException'>

Traceback (most recent call last):
  File "/code/virtualenv/CURRENT/lib/python3.5/site-packages/celery/app/trace.py", line 240, in trace_task
    R = retval = fun(*args, **kwargs)
  File "/code/virtualenv/CURRENT/lib/python3.5/site-packages/celery/app/trace.py", line 438, in __protected_call__
    return self.run(*args, **kwargs)
  File "/code/scp/python/myproject/tasks.py", line 98, in my_useful_task
    raise BackOffException
myproject.base.exceptions.BackOffException
pathname=/code/virtualenv/CURRENT/lib/python3.5/site-packages/celery/utils/log.py lineno=282 Task myproject.my_useful_task[145d2141-8fbc-4c9e-bcad-4ce8c3d9b7d9] raised unexpected: BackOffException()
Traceback (most recent call last):
  File "/code/virtualenv/CURRENT/lib/python3.5/site-packages/celery/app/trace.py", line 240, in trace_task
    R = retval = fun(*args, **kwargs)
  File "/code/virtualenv/CURRENT/lib/python3.5/site-packages/celery/app/trace.py", line 438, in __protected_call__
    return self.run(*args, **kwargs)
  File "/code/scp/python/myproject/tasks.py", line 98, in my_useful_task
    raise BackOffException
myproject.base.exceptions.BackOffException

As you can see, should_capture was called twice, the first time the exclusion list was an empty set. I think this is causing the error to be sent to Sentry anyway

Can you print out object.__repr__(self) in that should_capture method and copy paste the output here?

@mitsuhiko
Sure, I added this line to it:
def should_capture(self, exc_info):
    self.logger.error('arcoiro {}'.format(object.__repr__(self)))

And here is the output:
23/Sep/2016:10:03:00 +0200 ERROR arcoiro <raven.base.Client object at 0x7f470c30ec88>
23/Sep/2016:10:03:00 +0200 ERROR arcoiro <myproject.infra.utils.RavenClient object at 0x7f4701659748>

I didn't mention this before but I am using the SENTRY_CLIENT configuration to overwrite the raven client, I have this in my Django settings:
SENTRY_CLIENT = 'myproject.infra.utils.RavenClient'

And this is my custom client (in case it matters):
class RavenClient(DjangoClient):
    """
    Adds the logging request_uuid identifier to the exception sent to
    Sentry, it enables finding all logs related to a given exception.
    """

    def build_msg(self, *args, **kwargs):
        data = super().build_msg(*args, **kwargs)

        log_data = getattr(threadlocal, 'log_data', None)

        if log_data and 'request_uuid' in log_data:
            data['extra']['request_uuid'] = log_data['request_uuid']

        return data

any update here?


Add Python 3 entry for imageio

Python 3 entry for imageio, the library to for reading and writing image, video, scientific, and volumetric data formats.

Debian: https://packages.debian.org/search?suite=default&section=all&arch=any&searchon=names&keywords=python3-imageio
This package is only available since Buster, should it cater for older versions as well? I assume that for those the Python 2 version is more relevant

Fedora and Gentoo: use same as original Python 2 entry which should install the Python 3 versions

Ubuntu: https://packages.ubuntu.com/search?keywords=python3-imageio&searchon=names&suite=all&section=all
Similar question as for Debian, only available since Bionic

Thanks for the feedback :+1: I removed the Fedora entry


Improvements

Same feedback as https://github.com/thephpleague/tactician-command-events/pull/17
Also, on an unrelated note (perhaps better to discuss on IRC later this week): I'm not super involved in this project really and feel like I'm mostly a barrier. Furthermore, it's a bit reliant on the current state of Bernard in terms of stability. How would you feel about spinning it off from the League into your namespace where you can have full control over it again?

Removed CoC from here as well.
Honestly, I would not be too happy to move this package around. Mainly because I don't have the time right now, but also because I think it is better to keep these stuff together. The reason why this plugin is not ready yet is that bernard isn't. My OSS time mostly goes to HTTPlug and FXMLRPC nowadays.
After that if you still think this should get out of the League, we can talk about it. But apart from my disagreement, the lack of time is what really blocking it right now.

Closed in favor of #43 with better separation.


Proximity Search

Hi
Am I correct that proximity search does not handle transpositions? So having indexed something like:
"This is a big grey wolf"
the query
"wolf big"~3
would not match. Right? I would have to reverse this like:
"wolf big"~3 OR "big wolf"~3
if I wanted something like "the word big occurring next to wolf with a word distance of up to '3', no matter which way around"
...
Quick update: on small samples I do get results that work in both ways. On my larger index datasets the proximity search seems not to be exact / consistent,...not really sure why.

Anybody got a clue?...

@PSeitz Yes. Let me see,...I will check out the debug information tonight; I will also try and put together a sample dataset. Not sure if that will work, but potentially possible. Will get back with some more data...

This is due to a race condition when the writer is multithreaded, which leads to left and right not being passed in a consistent order to fn intersection_count_with_slop. Unsure how to fix.

@sftse Which writer do you mean? There is not much multi-threading in tantivy

The IndexWriter is by default multithreaded. I've confirmed that the above provided example works deterministically over multiple index constructions over the same dataset, i.e always matches or does not match a given proximity query, when fn writer_with_num_threads is used to turn off multithreaded indexing.

Minimal example
use anyhow::Error;
use tantivy::collector::TopDocs;
use tantivy::query::QueryParser;
use tantivy::schema::Schema;
use tantivy::schema::STORED;
use tantivy::schema::TEXT;
use tantivy::Document;
use tantivy::Index;

fn main() -> Result<(), Error> {
    let mut schema_builder = Schema::builder();
    schema_builder.add_text_field("file_name", TEXT | STORED);
    schema_builder.add_text_field("email_text", TEXT | STORED);
    let schema = schema_builder.build();

    let file_name = schema.get_field("file_name").unwrap();
    let email_text = schema.get_field("email_text").unwrap();

    let index = Index::create_in_ram(schema.clone());
    let mut index_writer = index.writer_with_num_threads(1, 150_000_000)?;

    let mut doc = Document::default();
    doc.add_text(file_name, "a");
    doc.add_text(email_text, "Captain");
    index_writer.add_document(doc)?;

    let mut doc = Document::default();
    doc.add_text(file_name, "b");
    doc.add_text(email_text, "Captain Subject Wendy");
    index_writer.add_document(doc)?;

    index_writer.commit()?;

    let reader = index.reader()?;
    let searcher = reader.searcher();

    let query_parser = QueryParser::for_index(&index, vec![file_name, email_text]);
    let query = query_parser.parse_query("\"captain wendy\"~10")?;

    let top_docs = searcher.search(&query, &TopDocs::with_limit(10))?;
    println!("RES: {}", top_docs.len());
    println!("{:#?}", top_docs);

    Ok(())
}

The issue seems to start to appear after a certain size threshold. More threads means more smaller segments. That's not a race condition, that's just a side effect.
Especially it never hits (but should) with a single thread.

Not really sure what you mean by "size threshold". At least I can confirm that using the same code as in the sample project above but using a different dataset (although 10x larger than the sample) the result gets returned as expected. So it cannot just be size-related on 'byte-level'. At least not the byte-size of the initial corpus. Maybe of the index, I have not checked that.

I already posted a minimal example with 2 documents that fails, there's no reason to discuss about previous guesses

No, but it would certainly help if you were a bit more specific. I see your sample; but I asked what you mean with ‚size threshold‘. That would allow me to understand better. Is that determined automatically? Is it depending on what? Dataset size, thread count, a specific option that can be controlled,…?
Because that would allow me to rate and place all the tests I have done in relation to what you suggest...

The error occurs when two documents in the same segment share tokens like in the minimal example.
Obviously with bigger segments, that's more likely, which reflects the size threshold observation


Make history fields readonly when SIMPLE_HISTORY_EDIT is not set or set to False

Description
This PR makes history form fields readonly if SIMPLE_HISTORY_EDIT is not set or set to False

Related Issue
https://github.com/treyhunner/django-simple-history/issues/640
Motivation and Context

How Has This Been Tested?
I manually tested history detail view once without setting SIMPLE_HISTORY_EDIT, once with setting it to True and once with setting it to False. I also wrote some assertions to test expected functionality.
Screenshots (if appropriate):
Types of changes

[x] Bug fix (non-breaking change which fixes an issue)
[ ] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to change)

Checklist:

[x] I have run the make format command to format my code
[x] My change requires a change to the documentation.
[x] I have read the CONTRIBUTING document.
[x] I have added tests to cover my changes.
[x] I have added my name and/or github handle to AUTHORS.rst
[x] I have added my change to CHANGES.rst
[x] All new and existing tests passed.

Hi everyone,
I'm new here and I'm trying to use simple-history in my project.
I was annoyed that I could edit the History before reverting. I tested the SIMPLE_HISTORY_EDIT = False, but for my project, it didn't work (is it not working or did I mess something up in the lib?).
Well... anyway I worked on editing/overriding the get_readonly_fields function to solve my problem, and now i have two ways to solve it. But first I need to know if I'm on the right path. Can you help me please?
PS: SIMPLE_HISTORY_EDIT = True will create a new instance of the object in the database? (Or I again screwed up something)
If my understanding is correct I will submit a PR with my changes.


[Enhancement] Get default user name

Signed-off-by: dorianzheng<EMAIL_ADDRESS>What type of PR is this：

[ ] BugFix
[ ] Feature
[x] Enhancement
[ ] Refactor
[ ] UT
[ ] Doc
[ ] Tool

Which issues of this PR fixes ：

Fixes #
Problem Summary(Required) ：

Some environment, such as docker, might not set $USER as a environment variable which leads to empty $HADOOP_USER_NAME
Checklist:

[ ] I have added test cases for my bug fix or my new feature
[ ] This pr will affect users' behaviors
[ ] This pr needs user documentation (for new or modified features or behaviors)

[ ] I have added documentation for my new feature or new function

Bugfix cherry-pick branch check:

[ ] I have checked the version labels which the pr will be auto backported to target branch

[ ] 2.5
[ ] 2.4
[ ] 2.3
[ ] 2.2

@mergify backport branch-2.2 branch-2.3 branch-2.4 branch-2.5

run starrocks_admit_test


MusicXML: fix adding spurious staves on reading mid-score  with  tag

When Lomse reads a mid-score <attributes> tags which contains some value for <staves> larger than 1, it may attempt to add extra staves to the existing instrument, which may lead to adding spurious staves or even to a crash. This may occur with the scores exported from MuseScore if they contain section breaks, for example:

lomse_attr_staves_crash.musicxml.txt — crashes Lomse on engraving stage
(the original score in the MuseScore format: lomse_attr_staves_crash.mscx.txt)
lomse_attr_staves_no_crash.musicxml.txt — doesn't crash Lomse but displays a spurious third staff which shouldn't be there.

The cause of the issue is that the MusicXML importer assumes that the instrument has only one staff prior to reading <attributes> tag and adds staves on top of that regardless of whether they are needed. This PR corrects this behavior so no unnecessary staves are added. I am not sure whether something more sensible needs to be done if number of staves actually changes but if it doesn't this solution prevents the issues related to that.

Thank you by this PR. I will review it as soon as possible!

I am not sure whether something more sensible needs to be done if number of staves actually changes but if it doesn't this solution prevents the issues related to that.

Currently the staves model is very simple: the number of staves for each instrument is defined in ImoInstrument but it is assumed that it never changes. Staves are modeled as a list of ImoStaffInfo objects, each one containing the information (spacing, number of lines, etc.) for one staff.
I have never tried to address adding support for scores in which the number of staves could be dynamically changed, increasing or decreasing it. For this, probably, the solution would require to remove staves definition from ImoInstrument and move this to an AuxObj attached to an ImoDirection or other ImoStaffObj, something similar to MusicXML <attributes> element.
I don't know how Lomse will currently behave if the number of staves is changed in the middle. If the number of staves is increased I don't foresee any crashes: it will behave as if the instrument had the maximum number of staves defined since beginning, and will be rendered with that maximum number since beginning but with empty staves in parts having less staves. But if the number is decreased, probably there will be crashes due to loops using the maximum defined number of staves instead of the current part number of staves. I never tested.
As to your PR, I think it is correct and nothing else should be done until support for dynamically changing the number of staves is added.
Perhaps this is one of the next important changes to introduce in Lomse, as scores in which the number of staves changes dynamically are common, e.g. ossia staves, although this can be a special case with a different treatment.
Thanks again for this PR.

Thanks for your comment! Then it is indeed better to postpone further changes until support for variable staves number is added.


Smart contract verification phase 2 feedback

Problem

Move the verify contract button to the top right in the contract source box
For labels for smart contract verification use: Full Match, Partial Match, Not Verified
Add link to the Sourcify files for the verified contract
Provide messaging in that the meta data file is not required, but can increase your changes of a full match

Solution
Add the above
Alternatives
No response

So I think we are having a lot of churn about how to display the source code. A few options discussed:

We only display the source code of the "main" file.
We display one box will all of the source code combined
We display the source code of individual source code files (like etherscan)
We break the source code display into a new page
We provide a link to the source code in the Sourcify repo.

So here is my suggestion.

We display the byte code for verified contracts
In Phase 2 we take a KISS approach and for the source code we just provide a link to the Sourcify repo and do not attempt to display the source code within Hashscan. This will allow us to stay on schedule for a phase 2 release. I realize its not ideal to take Hashscan users over to sourcify - but at the same time I think for the people that want to consume the source code its not a bad experience for their needs.
We plan a phase 3 where we take on the challenge of how to display all the data associated with SC. As a reference there is probably a reason why Etherscan has a tab design - because over time there is a ton of data to display that cannot be easily displayed in a single page view (source code, recent contract calls, traceability etc.). We probably won't do tabs - but maybe break out pages? boxes where a large volume of info can be expanded and collapsed? This needs some thought and design which having a phase 3 will give us some breathing room to do right.

@Nana-EC @dougvk  any concerns with the above suggestion?

@Nana-EC @dougvk  any concerns with the above suggestion?

Nope, I'm in agreement

LGTM :shipit:

I am unable to verify a Remix generated smart contract on the stage2 staging instance with an error message that the files don't match. The verification works fine on the main Hashscan instance using the beta sourcify wiht a perfect match.
Contract: https://hashscan-latest.hedera-devops.com/testnet/contract/0.0.5839871
StorageSC files.zip


Reduce the length of the facetSearchClassificationInstitutionIndex name

Checklist

[x] the contributor license agreement is signed
[x] commit message follows commit guidelines

Description of change
#3021
This index is longer than 30 characters, which causes problems for Oracle Database 12c Release 1 or earlier.
When Oracle Database 12c Release 2 was released they increased the character limit to 128.
This seems to be the only place this index is referred to.

Just tested upgrading with this - upgrading from 2020.1 to the head of this branch works on:

Oracle 12.1
Oracle 12.2
PostgreS 9.6
MS SQL 2019 15.0.4123.1

It also works for 2020.2 to the head of this branch works too, for Oracle 12.2, PostgreS and MS SQL. I noted that as @PenghaiZhang said it doesn't rename the long index if it already exists as there is no migration, which is fine, it all still works as expected. Hibernate validation doesn't trip us up at all.

Still worth testing:

Upgrade to 2020.2 on Oracle 12.1 (trigger index too long error)
Apply the .sql file fix
Upgrade to this branch's head

So @SammyIsConfused , where are things at with this?


Normalize identifiers

There are many test assets that use PUBCHEM.COMPOUND ids.   With the latest updates to biolink and nodenorm, these will probably need to change to CHEBIs.  For instance TestAsset 305 has a chemical of PUBCHEM.COMPOUND:2973 and it will soon be updated to a CHEBI.
If the testrunner handles normalization then this will not need to be done, or not done at the testasset level anyway.

To answer your question, I report what the UI tells me even if the ID is not the preferred one. If there is an issue with the normalization itself (e.g. 2 results with the same compound but different ID for instance), I create an additional issue in the feedback repo.
Generally speaking, I was wondering how will we be handling normalization tests/issues in general? It happened to me that the reported ID was not the correct one (wrong ID) and I put them in a separate suite for the moment.

My current plan is to upgrade NodeNorm CI this Thursday (May 2) so that it will have those updated IDs after then, but if you'd like more time to update the test runner, let me know and I can delay that upgrade to next week! NodeNorm Test and Prod will remain unchanged until everybody is happy with NodeNorm CI.

Normalization has been added to the Test Harness, so we should be evaluating against all primary identifiers from node norm.


SASS is not compiled upon image updates

[x] I tried updating to the latest version

[ ] I can't, there is an issue
[ ] This is about an < latest

[ ] I understand older versions may be unsupported

[ ] I Am on Windows

[ ] Ubuntu Bash on Windows
[ ] Fedora Bash on Windows
[ ] Other  Bash on Windows

[ ] I Am on Linux

[ ] Ubuntu
[ ] Fedora
[ ] CentOS
[ ] Redhat
[ ] Debian

[ ] I am on macOS 10.13
[x] I am on macOS 10.14
[ ] I'm on Docker

[ ] I understand Docker may be unsupported

Description
SASS is not compiled upon image updates background: asset-url('some-img.png'). you have to  make a change in the SASS file to get a compile trigger.
Steps

Step 1
save an image to the asset folder
Step 2
link that image in the sass with asset-url('some-img.png')
Step 3
after the sass is compiled, replace/update the image

Output
no errors here

Expected
nothing happens, but it should update the image in the css and browser.

This is very much intended behavior. Why should the SASS be recompiled, and updated because an image is updated... they are two independent sources?

@envygeeks right, this should have been a "Feature Request". I've started to report this issue because i get in state where my background image completely disappears after i've updated it, and no matter how often i recompile sass it wont comeback. Only server restart helps. I cant not reliably reproduce this issue, so i ended up writing about the default behavior.

You should be using Sprockets depend_on to achieve what you want https://github.com/rails/sprockets#depend_on

@envygeeks thanks, now i just need this depend_on to accept directories (like link_tree does) or jekyll-assets to add every asset that I link with asset-url to that graph automatically. otherwise its too much manual work.

We don't link assets, that would be up to Sprockets mostly.


remove JET from unit tests

:warning: Please install the  to ensure uploads and comments are reliably processed by Codecov.
Codecov Report
All modified and coverable lines are covered by tests :white_check_mark:

Project coverage is 80.43%. Comparing base (dce4517) to head (f70266c).

:exclamation: Your organization needs to install the Codecov GitHub app to enable full functionality.
Additional details and impacted files
@@           Coverage Diff           @@
##             main       #6   +/-   ##
=======================================
  Coverage   80.43%   80.43%
=======================================
  Files           7        7
  Lines         276      276
=======================================
  Hits          222      222
  Misses         54       54

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.


Python: Dictionaries in Python

Description
Description
Breif description of dictionaries in Python
Domain
Python_Domain
Type of Contribution
Documentation
Code of Conduct

[X] I follow Contributing Guidelines & Code of conduct of this project.

/assign

/assign

/assign

Topic already covered. Closing this issue.


More options for context selection.

Hey Mango, thanks for pointing me to this. I just got the ASR endpoint running on my upstairs gaming machine (3090TI) and can send audio files over via your plugin!
I wanted to suggest that you enable support for sending mp4 files.
I also would like to see more granularity with the context selection, I usually work out of one Obsidian page and do multiple dictations, so allowing me to send one block or the whole page would be useful also.

Hey @dahifi! Glad it worked out. The plugin itself supports basically every media file type, see here.
However, the backends do vary in their support of filetypes. If Whisper ASR doesn't support MP4 you'll have to bring it up there, as it requires transcoding which is best handled on the processing endpoint. The Swiftink endpoint is built to handle all media filetypes.
As for granular context selection, I added that in last months update, see here. If you have any trouble with it, do let me know, and I'll be happy to reopen and take a look!

Yea, there seems to be some kind of ASR with certain MP4 encoding options. Works great with MKV. I'll update the plugin and check it out, thanks!
Keep up the great work.


Getting started page, added .NET Core requirement for VSCode

Docs Build status updates of commit ccd8081:
:x: Validation status: errors
Please follow instructions here which may help to resolve issue.

File
Status
Preview URL
Details

:x:Error

Details

[Error] Cannot sync git repo to specified state. Please make sure the pull request is mergeable. Details: Git merge results in conflict, repository remote url: https://github.com/MicrosoftDocs/quantum-docs-pr, working directory: W:\gc5e-s, target branch: master, target branch commit: 893874a97d8856f0b8c57546c58d7aa6f7cc8678, source commit: ccd8081e91e653f951bb1b1881e2785f5c9f886f.

For more details, please refer to the build report.
Note: If you changed an existing file name or deleted a file, broken links in other files to the deleted or renamed file are listed only in the full build report.


Failed in more complex environment

Thank for the sharing the code.
I tested that the code is working in the invertedPendulum-v1.
But when I changed the environment to Ant-v1 without changing any other parameters,
it seems the agent failed to learn as below. Do I need to change some parameters?
Time 00h 01m 01s, episode reward -3032.25671304008, episode length 1000
Time 00h 02m 01s, episode reward -99.15254692012928, episode length 25
Time 00h 03m 01s, episode reward -41.27665909454931, episode length 14
Time 00h 04m 01s, episode reward -39.077425184658665, episode length 17
Time 00h 05m 02s, episode reward -136.60746428384076, episode length 45
Time 00h 06m 02s, episode reward -111.40062667574634, episode length 40
Time 00h 07m 02s, episode reward -516.1070385678166, episode length 169
Time 00h 08m 02s, episode reward -129.64627338344073, episode length 42
Time 00h 09m 02s, episode reward -146.55425861577797, episode length 45
Time 00h 10m 03s, episode reward -253.41361049200614, episode length 86
Time 00h 11m 03s, episode reward -108.6953450777496, episode length 38
Time 00h 12m 03s, episode reward -64.66194807902957, episode length 16
Time 00h 13m 03s, episode reward -33.51695185844647, episode length 11
Time 00h 14m 03s, episode reward -86.88904449639067, episode length 35
Time 00h 15m 03s, episode reward -78.48049851223362, episode length 23
Time 00h 16m 03s, episode reward -165.73681903021165, episode length 61
Time 00h 17m 04s, episode reward -155.3555664457943, episode length 60
Time 00h 18m 04s, episode reward -57.65249942070945, episode length 20
Time 00h 19m 04s, episode reward -392.10161323743887, episode length 109
Time 00h 20m 04s, episode reward -55.63287075930159, episode length 12
Time 00h 21m 04s, episode reward -81.0448173961397, episode length 29
Time 00h 22m 04s, episode reward -149.84827826419726, episode length 52
Time 00h 23m 04s, episode reward -398.0365800924663, episode length 22
Time 00h 24m 05s, episode reward -1948.6136580594682, episode length 17
Time 00h 25m 05s, episode reward -18719.08471382285, episode length 51
Time 00h 26m 06s, episode reward -805145.8854457787, episode length 1000
Time 00h 27m 06s, episode reward -17008.04843510176, episode length 17
Time 00h 28m 07s, episode reward -168769.34038655, episode length 129
Time 00h 29m 07s, episode reward -104933.08883886453, episode length 79
Time 00h 30m 07s, episode reward -22809.687035617088, episode length 17
Time 00h 31m 07s, episode reward -46398.71530676861, episode length 37
Time 00h 32m 07s, episode reward -18513.064083079746, episode length 15
Time 00h 33m 07s, episode reward -21329.411481710402, episode length 15
Time 00h 34m 09s, episode reward -1393903.341478124, episode length 1000
Time 00h 35m 10s, episode reward -1374988.6133415946, episode length 1000
Time 00h 36m 10s, episode reward -33792.40522011441, episode length 28
Time 00h 37m 10s, episode reward -20629.94697013807, episode length 16
Time 00h 38m 10s, episode reward -39780.93399623488, episode length 29
Time 00h 39m 10s, episode reward -61722.81635309537, episode length 47
Time 00h 40m 10s, episode reward -46780.12455378964, episode length 36
Time 00h 41m 10s, episode reward -91640.36757206521, episode length 73
Time 00h 42m 11s, episode reward -77137.71004513587, episode length 63
Time 00h 43m 11s, episode reward -15184.611248485926, episode length 10
Time 00h 44m 11s, episode reward -26995.023495691694, episode length 20
Time 00h 45m 11s, episode reward -110371.66228435331, episode length 81
Time 00h 46m 11s, episode reward -55639.738879114084, episode length 41
Time 00h 47m 11s, episode reward -53735.2616539847, episode length 39
Time 00h 48m 11s, episode reward -60755.49631228513, episode length 43
Time 00h 49m 11s, episode reward -29466.664499076247, episode length 23
Time 00h 50m 12s, episode reward -48580.31395829051, episode length 37
Time 00h 51m 12s, episode reward -128957.8903571858, episode length 99
Time 00h 52m 12s, episode reward -70144.76359014906, episode length 51
Time 00h 53m 12s, episode reward -29271.097255889938, episode length 21
Time 00h 54m 12s, episode reward -21737.6644599086, episode length 17
Time 00h 55m 12s, episode reward -27549.40889570978, episode length 20
Time 00h 56m 12s, episode reward -97097.66966694668, episode length 77
Time 00h 57m 13s, episode reward -18384.51761876518, episode length 14
Time 00h 58m 13s, episode reward -28424.585660954337, episode length 22
Time 00h 59m 13s, episode reward -96267.24448946006, episode length 72
Time 01h 00m 13s, episode reward -79794.54738721657, episode length 60
Time 01h 01m 13s, episode reward -88486.88046448736, episode length 64
Time 01h 02m 13s, episode reward -31071.50782185118, episode length 24
Time 01h 03m 13s, episode reward -53608.97197643964, episode length 38
Time 01h 04m 14s, episode reward -38451.031800392186, episode length 27
Time 01h 05m 14s, episode reward -27645.787896926682, episode length 20

Indeed, I was doing something wrong by using the probabilities of action given 'old' models.
I corrected this error into my PPO implementation, and now it seems to learn in all environments. I'm going to update everything.


Monocle3 slides update

Fixed typos, images, links

@wee-snufkin Hi! Can you see if you can debug this issue and also respond to Helena? Then we can merge :)

@nomadscientist All fixed now (also citations that Helena mentioned)! The issue you referred to was because of the link to the RStudio tutorial that I thought would be published by the time the slides are updated

Looks great! Thanks @wee-snufkin


Why can't I just put a symlink into deps?

When compile, I get "Skipping non-existent sub-dir:xxx"

Hi, this issue was closed in an attempt to do quick basic filtering. All tickets prior to March 2017 were closed and will be reopened on a per-request basis, please give rebar3 a try and feel free to reopen if it's a pressing issue that is still unresolved.


Roll Flutter Engine from 7f44b95616cc to eeb4b3285a0b (1 revision)

https://github.com/flutter/engine/compare/7f44b95616cc...eeb4b3285a0b
2022-09-03<EMAIL_ADDRESS>[Impeller] Fix unused-result warnings. (flutter/engine#35879)
If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/flutter-engine-flutter-autoroll
Please CC<EMAIL_ADDRESS>on the revert to ensure that a human
is aware of the problem.
To file a bug in Flutter: https://github.com/flutter/flutter/issues/new/choose
To report a problem with the AutoRoller itself, please file a bug:
https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug
Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md

Commit queue failed; closing this roll.


state manifests for importing notebooks image in repo

Currently, users can only rely on the odh-manifests to deploy notebook images.
As that is the only place where the manifests are kept.
Plan of action/ Acceptance criteria

[ ] Keep a copy of notebook manifests on the notebook repo.
[ ] Plan to update notebook images with the image sha digest update.
[ ] Plan to update the digest in release branches.

Reference: https://github.com/opendatahub-io/opendatahub-operator/issues/424#issuecomment-1670799870

think we can close this issue?

marking this as closed.
:+1:


fix: avoid an edge case that process was stubbed without process.browser property

https://github.com/aurelia/bootstrapper/pull/72#issuecomment-2063252767
Some unknown JS lib (or browser plugin) stubbed global var "process" with only "env" property. This breaks aurelia 1's check of environment. This fix is the tiniest change I can think off. In Node(or Nodelike) environment, process.version is always populated with the version of Nodejs.
Closes #71, supersedes #72

@berkerdemirer could you help to confirm this change bypasses the edge case?

Checking

I can confirm that this fix solves the issue.

Could we merge it today?

Ill do a merge and release tomorrow. Thanks @3cp @berkerdemirer

thanks!

Released in 2.4.1, thanks everyone 🙏

Is it possible to release it as jspm package as well?