Upstart script and source ~/.nvm/nvm.sh

I am writing a upstart script using start-stop-daemon to control iojs server. And find it difficult to write one that do not require specifying env PATH.
This sucks because iojs updates frequently and PATH is fixed on a certain version of iojs.
I haven't seen an example using start-stop-daemon with source nvm.sh to launch the current version of iojs, maybe there should be one in the doc?
PS: also running iojs with a unprivileged system user, ie. start-stop-daemon --chuid someuser, not sure how it affects source.

I'm happy to accept a PR to the README for that.
Since I don't use start-stop-daemon, and this issue doesn't seem to have anything actionable in it, I'm going to close it.

@ljharb is the current advise to set PATH manually to a version? how you let a system user know that node npm exists otherwise? You can ignore start-stop-daemon if you don't use it.

You shouldn't ever have to set the PATH manually. nvm is meant to be used per-user, per-terminal - so if a given user wants to use it in a terminal session, it would need to run nvm use X or nvm alias default X, just for that session.

@ljharb in the context of upstart script though, this means it should also run nvm on start? sorry i don't fully understand how it works, system user doesn't have a home folder, so where does nvm go looking for .nvm folder?

nvm needs to be installed once for each user. Also, every user, including the root user, usually has a home directory - if not, then you'd have to manually set NVM_DIR.

I will need to think about this, I created that system user without home like this, I thought it's a standard to do that when running services.
It seems I am better of getting the node and npm to /usr/local/bin instead.


enum class failed break

with setting
BreakBeforeBraces: Attach
enum class remain
enum class XXX
{
XXX XX;
}
while enum or class  is independly  effectively
enum XXX {
XXX XX;
}
or
class XXX {
XXX XX;
}

I will close this issue as we need more information


Bosun Filter ,Sort, and Limit functions need documentation

These were added in https://github.com/bosun-monitor/bosun/pull/925

Example from SRE chat room:
template limit.sort.filter {
    subject = Test
    body = `
    {{.Graph .Alert.Vars.plot}}
    `
}

alert limit.sort.filter {
    template = limit.sort.filter
    $q = q("avg:rate:os.cpu{host=*}", "5m", "")
    $plot = filter($q, limit(sort(avg($q), "desc"), 5))
    crit = 0
}

Also, can I use these in a template or only in the alert expressions?

Also limit needs to be documented. These are expression functions.

It would be nice if there were equivalent functions on the template side. Right now I had to do this to this:
$source = change("sum:rate{counter,,1}:exceptional.exceptions.count{source=*}", "5m", "")
...
{{$sources := (.EvalAll .Alert.Vars.source).DescByValue}}
{{$top_source := index $sources 0}}

to match what this expression would return:
limit(sort(change("sum:rate{counter,,1}:exceptional.exceptions.count{source=*}", "5m", ""), "desc"), 1)

To match you can just $top = limit(sort($source, "desc"), 1) ... and then {{ index (.EvalAll .Alert.Vars.top) 0 }}. Not as nice but not that bad either. I have found in most instances I am using a different expression anyways because I want an expanded time window to give the alert context.


10% of requests does not receive deeplink data

10% of branch init calls does not receive deeplink info
Here are the the screenshot I've prepred:

https://www.dropbox.com/s/gjvke20amnyaqn0/link.png?dl=0  - generated link (including deep link data)
https://www.dropbox.com/s/wzq9bc2zd8xb2c8/code.png?dl=0 - the code I run during initial page load (including console logs)
https://www.dropbox.com/s/avukzw71uzuf1bk/success.png?dl=0 - the successful getting deep linking data (including console logs)
https://www.dropbox.com/s/trkir8e94g1a0qo/fail.png?dl=0 - getting deep linking data failing (including console logs)
https://www.dropbox.com/s/gpyyqnwxsp74dpr/fail-network.png?dl=0 - networktab (with location header redirect)
https://www.dropbox.com/s/gbm40cidsu9hxmv/success-network.png?dl=0 - networktab (with location header redirect)

I'm happy to provide our environment for testing
The requests are running into incognito tab on chrome

Here is a small movie where you can see how it can be reproduced
https://www.dropbox.com/s/ztnfb2ikin4kwal/video.mkv?dl=0

Thank you so much for raising the issue. I'm on it.

@navasiloy
This could be an issue in which the backend failed to lookup the deeplink info.
We can check against the backend error log to get a clue. 10% fail rate is unacceptably high had the backend not been in a rough state.
Looking at the screencase it has a clock in it, may I check with you the clock is reliable, and may I know your timezone?
Thank you in advance!

sure, I'm on EEST timezone
skype: navasiloy

Hi @navasiloy ,
This issue is hard to pin down deterministically. I would recommend that you talk to our support team, who would probably be better suited to help.
I would also recommend that you run the scenario again so that we have something recent to refer to. If the same error occurs, feel free to send an email to<EMAIL_ADDRESS>. When you do, make sure to include the branch key used and time of failure.
Thank you!

@navasiloy I'm on the support team. Please drop us a note with the branch key, time of failure and link used, like @Kirkkt indicated. It's easiest for us to investigate cases that are less than 24 hours old, so if it's not too much work, please try clicking until you recreate the issue again.
We're also investigating this on our side. There are two related issues, one inherent with fingerprinting, and one a bug that we see well < 1% of the time and are close to isolating and fixing. With the three data points requested above we can dig in and tell you definitively what is happening. Looking forward to your email.


ServerInfo doesn't work and produces an error.

Reproduction Steps:

Run :serverinfo in the command bar or chat then check your F9 console (Client)

Yeah um, that's caused by ExpertCoder who tried to turn ServerDetails into a GUI with Tabs.
Still don't know why no one is noticing this

Hmm..."GUI ServerDetails not found? That's strange, I'll look into it sometime soon.

This has been fixed long ago, can someone close the issue?

That action would require upgrading to Premium Adonis.

That action would require upgrading to Premium Adonis.

From our research, it has been found that Premium Adonis contains malicious contents and the game’s creator will be notified to remove it from their game. https://github.com/Sceleratis/Adonis/commit/24e48a5dbd5f5ec830b70a743928d3a3b6d929c8
Don’t worry, you won’t stay long on this github.


Is it normal for this JavaScript code to run slowly?

function f980101(w980, w981, w983) {
    var sum = w983;
    var j = 0;
    var mm = 0;
    for (var i = w980; i <= w981; i++) {
        j++;
        mm = j * j;
        sum += i * 42;
    }
    return sum;
};

function caleResult() {
    return f980101(0, 580176, 980)
}

Goja Implementation
func JsRun() (string, error) {
	jsstr := `function f980101(w980,w981,w983){var sum=w983; var j=0; var mm = 0;for(var i=w980; i<=w981;i++){j++; mm = j*j;sum += i*42;} return sum;};function caleResult(){return f980101(0,580176,980)}`
	Vm := goja.New()
	if _, err := Vm.RunString(jsstr); err != nil {
		return "", err
	}
	cale, ok := goja.AssertFunction(Vm.Get("caleResult"))
	if !ok {
		return "", errors.New("json,error")
	}
	res, err := cale(goja.Undefined())
	if err != nil {
		return "", errors.New("jsvm,error")
	}

	return res.String(), nil
}

Run on my computer. Single time is about 200 milliseconds? Is it too slow?Or is there something wrong with my wording?
I7 8700K

In short, yes. The compiler does very few optimisations (for example, it cannot work out that you don't need j or mm) and the virtual machine does not compile anything to native code, so it mostly runs at interpreter speeds. Even if you leave the loop body empty it will probably still take around 100 ms.
Also, see https://github.com/dop251/goja?tab=readme-ov-file#why-would-i-want-to-use-it-over-a-v8-wrapper


Could you help upgrade the vulnerble dependency in shape-detection-jdla_0.0.2

Hi, @JosueDLA , I'd like to report a vulnerability issue in shape-detection-jdla_0.0.2.
Issue Description
I noticed that shape-detection-jdla_0.0.2 directly depends on opencv-python_<IP_ADDRESS>.
However, opencv-python_<IP_ADDRESS> sufferes from the vulnerabilites which the C libraries exposed as following dependency graph shows. Refer to issue.
Dependency Graph between Python and Shared Libraries

Suggested Vulnerability Patch Versions
opencv-python has upgraded these vulnerable C libraries to patch versions in release <IP_ADDRESS>.
Python build tools cannot report vulnerable C libraries, which may induce potential security issues to many downstream Python projects.
Could you please upgrade this vulnerable dependency?
Thanks for your help~
Best regards,
JoeGardner

Hi @JoeGardner000 thanks for opening an issue, the dependencies have been updated in caf79ddc97888f69d829d84d2ee0a6599a7a5f2c.
Best regards
Josué de León


Tracking epoch_stake distribution

Problem Report
Post an epoch transition, the only way for us to know the status for epoch_stake distribution is querying the logs for total epoch stake distributions, and checking status manually for number of entries populated for the epoch in database):
grep -r 'Inserted.*.EpochStake for EpochNo ' dbsync*
# dbsync-20230510073605.json:{"app":[],"at":"2023-05-11T01:34:53.50Z","data":{"kind":"LogMessage","message":"Inserted 1277714 EpochStake for EpochNo 411"},"env":"<unknown>:00000","host":"","loc":null,"msg":"","ns":["db-sync-node"],"pid":"31654","sev":"Info","thread":"706479"}
# dbsync-20230515073731.json:{"app":[],"at":"2023-05-16T01:40:06.39Z","data":{"kind":"LogMessage","message":"Inserted 1278735 EpochStake for EpochNo 412"},"env":"<unknown>:00000","host":"","loc":null,"msg":"","ns":["db-sync-node"],"pid":"31654","sev":"Info","thread":"706479"}

First of all, it would be nice to have epoch_stake available before epoch transition (as it's already available in ledger approximately 2/3rd of previous epoch), even if not - it is essential to be able to check status without having to check logs (eg: an entry in meta or epoch [or a seperate table] containing amount of stake additions similar to what we see in the logs.
Additional Context
Since JSON logging against a file is not a common option, it makes implementation much more difficult than it needs to be to track status before being able to consume information in epoch_stake table. This is especially true for docker/kubernetes implementations which often do not make use of file-based logging and makes things difficult to rely on.
As far as I know, this is the only information that's present in log and not database - would be nice to not involve touching/knowing environment logs in scripts

I think we can have it available earlier

as it's already available in ledger approximately 2/3rd of previous epoch

I think it's available even earlier, almost the beginning of the previous epoch. How did you infer the 2/3?

I think it's available even earlier, almost the beginning of the previous epoch. How did you infer the 2/3?

You're right indeed, it should be available in an epoch earlier (sorry the 2/3rd of epoch reference is incorrect, for it confused with next epoch nonce - which is finalised by 6*k/10 of epoch). So ye - would be great to not have to wait post epoch transition for active stake.
(PS: For koios endpoints, we did end up artificially creating snapshot information by based on delta tx , MIR/reward/withdrawals/etc - which ofcourse runs once and takes ~10-20 min, but is one of those additional band-aids that we can get rid of, and something that will not be doable with prune options)


Speed up umbrella tox -e cover

This took a lot of wrangling, but eventually I found a solution: make unit_tests a namespace package and then collect from site-packages. This way we only run py.test once instead of 15 times, a huge speedup.
In order to do this I needed to do some renames to avoid collisions (e.g. unit_tests.test_client would have been installed for every sub-package).
The first 3 (of 4 of 5) commits are for the rename. The first two are automated (i.e. I didn't make changes to any files myself) and the third is just a tiny lint cleanup based on the automated changes.
Also relevant: https://testrun.org/tox/latest/example/pytest.html#known-issues-and-limitations

@tseaver The Travis failure is due to #2486. The change needed to filter for files that exist.
candidates, _ = get_affected_files()
python_files = [
    candidate for candidate in candidates
    if candidate.endswith('.py') and os.path.exists(candidate)]

unit_tests/handlers/transports/__init__.py → bigquery/unit_tests/bigquery/__init__.py, that doesn't seem right does it?

I'm grinding my teeth about the issues caused from moving the unit tests out-of-tree:  I still think they belong there, which would remove the need to mess with the unittests/ pseudo-package at all.

So from a selfish standpoint, I like having the unit_tests for a package in the package. It makes for less mental tracking while working on things. Might just be me though.

@daspecster RE:

unit_tests/handlers/transports/__init__.py → bigquery/unit_tests/bigquery/__init__.py, that doesn't seem right does it?

That is just git not really caring where the file went. The __init__.py files are all identical

Chatted with @tseaver and @jonparrott about this and will be putting the unit tests back.


[Faucet] Wallet CLI command to request Gas

Something like
wallet request-gas --faucet-url <> --address <>

do we still need this? I think the Discord bot is working quite well


Perspective Dice Random is to long and wraps an extra line

Perspective Dice Random is to long and wraps an extra line

[ ] Perspective- dice-random
[ ] Shot through the heart

It looks like the text is now cut off (rather than word wrapping), which I think is fine.


Need to update Xpaths in script

BUG
The script contains old xpaths, causing errors when the driver attempts to access the elements.

Can you share for us the update current path of Instagram?


Introduce new semantics of path-typed fields in artman yaml.

Any path-type fields specified in configuration YAML parsed by artman may accept relative paths; paths are computed as relative to the file in which the relative path is declared. For example, service_yaml field in artman_pubsub.yaml will become “pubsub.yaml” instead of “google/pubsub/pubsub.yaml” once the artman_pubsub.yaml gets moved to google/pubsub directory.
The path-typed fields in artman yaml will not support “..” syntax to refer to parent folder.
--input-dir flag gets renamed to --root-dir, and remain as optional flag (defaults to .). Once specified, it will be appended to import_proto_path field of artman config spec at runtime.
The current import_proto_path field will be removed and no longer configurable from API producer point of view.

Fixed the unittest failure. It turned out to be a transitive dependency (networkx) launched a new version (2.0) today which caused the failure. Forced the version to be 1.11.


Fix invalid command line generated when rpath is empty

This will be needed for ROCm packaging.

Jenkins, test this please

Jenkins CI test (for commit 1002650f3c885f4b26f01cdbd06eba0208c9efe0, target branch master) failed with status FAILURE.

pfnCI, test this please.

Jenkins CI test (for commit 1002650f3c885f4b26f01cdbd06eba0208c9efe0, target branch master) failed with status FAILURE.

pfnCI, test this please.

Jenkins CI test (for commit 1002650f3c885f4b26f01cdbd06eba0208c9efe0, target branch master) failed with status FAILURE.

Jenkins, test this please

Jenkins CI test (for commit 1002650f3c885f4b26f01cdbd06eba0208c9efe0, target branch master) failed with status FAILURE.

Jenkins, test this please

Jenkins CI test (for commit 1002650f3c885f4b26f01cdbd06eba0208c9efe0, target branch master) succeeded!


[frontend] Revamp UI + Add Authentication

@CrownKira there are some merge conflicts, can resolve first before we merge it in


Fix #7896: Intelligent and more correct Html::addCssClass

Enhanced parsing of whitespaces in both options['class'] and the $class param to  Html::addCssClass method.

Here are my opinions:

The original goal of the method is to add a single css class quickly
The new code all of a sudden introduces several regex calls
Not quite sure if we really need to handle TABs
Perhaps supporting array of new css classes is more practical and efficient?

The original goal of the method is to add a single css class quickly

Yes understand. But that can be a limitation as the use cases can be often when one wants to add more than CSS classes in the code.

The new code all of a sudden introduces several regex calls

Yes. But not all will be parsed unless needed. There will be an initial regex check to see if a whitespace exists (you could use strpos here as well) - else the functionality as in original implementation proceeds. A couple of regex is for input sanitization to check for any whitespace (i.e. space, tab, line feed, new line). If we do not want to make it intelligent enough to parse HTML like a browser would, then these sanitizations can be removed.
From a performance perspective there will be similar impact when adding more than one CSS class. Current implementation will anyway involve calling this method N number of times.

Not quite sure if we really need to handle TABs

That's the reason regex was introduced... for any whitespace parsing. If we want to be less strict and force only space parsing, then this check can be removed as mentioned previously.

Perhaps supporting array of new css classes is more practical and efficient?

True - if we do not have any whitespace parsing to be done. The current implementation was to also maintain consistency with Html::addCssStyle that supports string separated css styles.
Will modify the PR and send by simplifying with an array (it will not involve

I pushed in an update and here are the changes:

the addCssClass method now accepts class param as either a string or an array
regex parsing is minimized unless a third param clean is specified as true.
the only additional validation is that the method once checks for a whitespace and then proceeds to split the classes else it is exactly same to the original implementation

Example Tests:
$options = ['class' => '    kartik'];

//
// TEST 1 (clean = true)
//
echo Html::addCssClass($options, ' hide kartik robot', true);
//
// TEST 1 OUTPUT =   'kartik hide robot'
//

//
// TEST 2 (clean = true) - extending above test 1 options
//
echo Html::addCssClass($options, ' kartik   hide fancy    box     holy');
//
// TEST 2 OUTPUT =   'kartik hide fancy box holy'
//

// TEST 3 pass class params as array and clean = false
$options = ['class' => 'kartik'];
echo Html::addCssClass($options, ['hide', 'kartik',  'robot']);
//
// TEST 3 OUTPUT =   'kartik hide robot'
//

// TEST 1a variation of 1 with class param as string with whitespaces and clean = false
$options = ['class' => '    kartik'];
echo Html::addCssClass($options, ' hide kartik robot');
//
// TEST 1a OUTPUT =   '    kartik hide robot'
//

// TEST 2a variation of 2 with class param as string with whitespaces and clean = false
echo Html::addCssClass($options, '  kartik   hide fancy    box     holy');
//
// TEST 2a OUTPUT =   '    kartik hide fancy box holy'
//

However, note that even if the input had ONLY spaces - we would hit errors in parsing CSS classes with the original implementation - when we have more than ONE space / extra spaces in between or in the beginning/end. In these cases we may end up having duplicate CSS classes appended.

This is not true. The original implementation has considered this situation and can work correctly.
If we only support whitespace separator, allow single class as string and multiple classes as array, then we don't need any regex.

Yes, true the error would happen is if a tab character was pressed somehow in the begin or in between classes.
Is the new approach acceptable to have the CSS sent as either string or array or space separated? Much like Html::addCssStyle which allows both string or an array method to add styles.

I think 99% of the time users won't use tabs or newlines to separate css classes. We can rely on documentation to explicitly specify that we only handle whitespace-separated css classes.
The nested addCssClass() call at line 1722 should be rewritten as it is causing calling the regex method twice unnecessarily.


chore(deps): update common-dev-assets digest to 6ea009a

This PR contains the following updates:

Package
Update
Change

common-dev-assets
digest
616b101 -> 6ea009a

Configuration
📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).
🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.
♻ Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
👻 Immortal: This PR will be recreated if closed unmerged. Get config help if that's undesired.

[ ] If you want to rebase/retry this PR, check this box

This PR has been generated by Renovate Bot.

/run pipeline

:tada: This issue has been resolved in version 1.37.0 :tada:
The release is available on GitHub release
Your semantic-release bot :package::rocket:


Tooltips still not closing on keydown events

Prerequisites

[X] Reproduced the problem in Safe Mode: https://flight-manual.atom.io/hacking-
atom/sections/debugging/#using-safe-mode
[X] Followed all applicable steps in the debugging guide: https://flight-manual.atom.io/hacking-atom/sections/debugging/
[X] Checked the FAQs on the message board for common solutions: https://discuss.atom.io/c/faq
[X] Checked that your issue isn't already filed: https://github.com/issues?utf8=✓&q=is%3Aissue+user%3Aatom
[X] Checked that there is not already an Atom package that provides the described functionality: https://atom.io/packages

Description
Tooltips should fade away on keydown events.
Steps to Reproduce
Edit by @rsese to format repro steps
Using atom/atom as an example:

atom --safe .
Open SUPPORT.md
Hover over the tab for the file so the path tooltip appears
Start typing

Expected behavior: Tooltip(s) should be gone either on mouse hover away OR when any input event happens like keyboard click, mouse click, etc..
Actual behavior: Tooltip keeps in the place until I move mouse away only.
Reproduces how often: 100%
Versions
Atom 1.3.0^
Additional Information

Thanks for opening a new issue (and for the pull request) @cacheflow, reproduced with 1.32.0-nightly0 on macOS 10.12.6.
x-ref: https://github.com/atom/atom/issues/17431


Support vSphere

Currently Alibaba Cloud, AWS and Azure, GCP are supported, vSphere needs also to be supported.

@just-do1 I'd like to have a more detailed discussion on Terraform and vSphere with you. Could you please send me mail<EMAIL_ADDRESS>if you are interested? Thanks.


Preparatory changes for ThreadNet rewrite (PR number 2)

This PR is the second of a few. These are relatively minor lower-level changes that I've needed for the ongoing ThreadNet rewrite. Since it's beginning to mature, I'm going to open a few PRs that contain a few of these changes.
This set of commits primary alteration is a configurable timeout for the response to ChainSync's MsgFindIntersect message. In the tests create large delays that are difficult to predict, so we simply suspend this timeout in the test (it is currently shortWait in the implementation).
We also provide some additional STM primitives that have been useful in tracing/debuging STM-based deadlocks in io-sim.
Lastly, there is a slightly more granular export that allows additional reuse in the rewritten ThreadNet code.

The current ThreadNet rewrite doesn't rely on liftStStm, but I've included it with say and traceSTM to complete the analogy.
Name bikeshedding welcome now.

@coot We could choose to let this close Issue #2725 if we wanted. My original concept there involved a class like MonadSay but for Dynamic instead of String eg. But that's ultimately not crucial.

I can imagine scenarios in which we'd need liftStStm, but I've avoided them so far. (I had one at first, but I refactored.)
To simplify the PR, my latest force push removed liftStStm -- it's not hard to put back if we end up wanting/needing it.

@mrBliss Marcin approved; you also OK with this diff?

@mrBliss Marcin approved; you also OK with this diff?

bors r+

bors r+


Content only

Add Travis-CI
Add content only models
Improve content + comments model
Add feature inspired by readability
Small speed improvements
Code cleanup

@sistawendy

Thanks for the comments!


Expose create_event_opts_schema

We use LoggerSentry for it's rate limiting functionality. However the latest version of Sentry's Elixir library (this one) is incompatible. Specifically, we see the error:
[info]** (NimbleOptions.ValidationError) unknown options [:erl_level, :crash_reason, :domain, :error_logger, :file, :function, :gl, :line, :mfa, :module, :pid, :registered_name, :report_cb, :time], valid options are: [:exception, :stacktrace, :message, :extra, :user, :tags, :request, :breadcrumbs, :level, :fingerprint, :event_source, :interpolation_parameters, :handled]
[info]    (nimble_options 1.1.0) lib/nimble_options.ex:359: NimbleOptions.validate!/2
[info]    (sentry 10.3.0) lib/sentry/event.ex:303: Sentry.Event.create_event/1
[info]    (sentry 10.3.0) lib/sentry.ex:291: Sentry.capture_message/2
[info]    (logger_sentry 0.7.2) lib/logger_sentry/rate_limiter.ex:57: LoggerSentry.RateLimiter.handle_cast/2

without getting into too many details, the issue here is that LoggerSentry is sending the wrong opts to Sentry and it's being caught by the NimbleOptions validate here.
So, I'd like to try and fix LoggerSentry and it would be nice if I could read the value of @create_event_opts_schema and use that as a source of truth rather than hardcode option names and run the risk of them changing again later.
If there's a better way to RateLimit using Sentry Elixir's default logger...
If there's a way to use Sentry's LoggerHandler or something like that, then we'd be happy to go that route and drop LoggerSentry entirely.
To test in console:
iex -S mix

=> Sentry.Event.create_event_opts_schema()

@nbw we introduced rate-limiting in the handler in #717. I generally don't want to expose options schemas like this because it's a nuisance to have to think of SemVer when updating versions then, if this is exposed. So hopefully the newly-added rate limiting is gonna do the trick for you 😉 Thanks! 💟

Thanks @whatyouhide! We'll try it out.


docs: Add traditional chinese

About
This pull request adds traditional chinese to the docs.
This will stay as a draft until the whole thing is done.
NOTES FOR MYSELF: PROOFREAD AFTER COMPLETETION
Checklist

[ ] The pre-commit code linter has been run over all edited files to ensure the code is linted.
[ ] I've ensured the change(s) work on 3.8.6 and higher.

I've made this pull request: (check all that apply)

[x] For the documentation
[ ] To add a new feature
[ ] As a general enhancement
[ ] As a refactor of the library/the library's code
[ ] To fix an existing bug
[ ] To resolve #ISSUENUMBER

This is:

[ ] A breaking change

謝謝你/妳，超人(?


Documentation - Broken link to more info about send

Bug or feature request?
Bug
Description:
Broken link in documentation

The send(...) and sendParent(...) action creators do not imperatively send events to machines. They are pure functions that return an action object describing what is to be sent, e.g., { type: 'xstate.send', event: ... }. An interpreter will read these objects and then send them.

Read more about send <-- broken

(Bug) Expected result:
Link to take me more info about send
(Bug) Actual result:
404
(Bug) Potential fix:

@davidkpiano Looks like this was fixed but was not deployed in #568


Approver permissions to dev-1.19 branch

As the 1.19 Release Docs lead, I would like to get approve permissions to dev-1.19 branch. TIA!
@jimangel

/close


Temporarily disable WriteBack

To fix: http://b/158491434
Likely also fixes: http://b/158490596

@jasonwyatt fyi
I just did a quick experiment which allows WriteBack only for BackingStore while bypassing WriteBack for container store. It seems working well with jibbl's app.
Please be aware performance bottleneck is mainly from BackingStore.
Perhaps we could meet it in the middle way like this as the next step...

@jasonwyatt @galganif fyi
I just did a quick experiment which allows WriteBack only for BackingStore while bypassing WriteBack for container store. It seems working well with jibbl's app.
Please be aware performance bottleneck is almost from BackingStore.
Re-tested latency w/ write-backing only BackingStore, the latency diff is quite subtle...
Perhaps we could meet it in such a middle way as the next step.
The notion becomes: asynchronously write back data but synchronously write metadata.

It think we can merge this pr first, then try re-introduce WriteBack for the backing store while verifying with the sample app. Ideally we would also find out why it does not play well with container, ie if there is a bug in WriteBack, as it will bite us later.

http://cl/315407296 passed internally after a deflake run - flaky test was unrelated to this PR.


Product routes

Complete routes for:
getting all products and their associated category and tags
getting one product and its associated category and tags
rec body for creating a new product
deleting a product by its id

DONE!
Finished the get, post, put, and delete routes in the file.
adjusted the tag_product and product_tag to tag_to_product and product_to_tag in index.js inside the models folder, reflect these changes in product-routes and tag-routes.

Wait woops. I didn't make the post and put routes, I think it was already done before I got to it.


RasaChat not returning messages

RasaChat should return jsonify(collector.messages) which is always an empty list

Just tested this again and it seems to be fixed. Closing


Couldn't run on Windows 10

This is a error report from my console

So I manage to track down a line at   seem reference with #1643 but the diff is...

Any suggestion ?

Try format C: and see if that helps


Use in-memory Riak backend instead of leveldb

The build time is at the low end of our usual time range, but less disk access might reduce the variance when Travis is busy.

My slight concern is that this makes our Travis builds more different to production.

My slight concern is that this makes our Travis builds more different to production.

The set of features we use is identical between the memory and eleveldb backends. I'm specifically keeping vumi builds on eleveldb to catch any potential issues with our persistence layer there.

:+1:

Happy for this to land and it's easy enough to switch back -- mostly just
wanted to register the concern.


Enhance README and move usage content to USAGE.md

This PR contains the following key changes:

README.md

Content is arranged based on the new template we use for the README.
Provide a Quickstart section with two main cases: read and write an item.
Detailed content regarding the SDK is moved to a new file: USAGE.md.

USAGE.md

Functions related to item and vault operations are presented in a friendlier way.
Code snippets are adjusted to match the latest version of the SDK, therefore they're more accurate.

How to review this PR

Check the new README page by clicking this link.

[ ] The new template is used properly.
[ ] The Get started page contains enough informations to give an overview of common things that users can do with the SDK. Make sure that it doesn't feel like there's too little content.

Check the old README by clicking this link.

[ ] Content was properly migrated to the new files.
[ ] Is there anything that was cut out and should be brought back in?

Check the USAGE.md page by clicking this link.

[ ] Flow of documentation is clean and clear.
[ ] Can easily find the content needed to achieve your goal.
[ ] Code snippets actually work.

I know it's not directly part of this MR but you should update the repo link to take us to the connect overview page rather than the general developer docs


Display reason of download failure in podboat

When the user is highlighting a failed download, the reason will now be
reported in the status line. #1209

Coverage decreased (-0.02%) to 57.0% when pulling dca3939fa17754229630cc683e051c42c84269a9 on nick-cd:feature/dsp-err into 1ff811679ded5c83b57544dcad4d049d963fe8b0 on newsboat:master.

@nick-cd Just to make sure we're on the same page: I'm not reviewing "draft" PRs because I assume their authors published them just to check with CI. When you think this is ready for a review, just convert this into a non-draft PR, and that'll be a signal for me to wade in with my comments ;)

@nick-cd JFYI Cirrus CI is broken at the moment: https://github.com/cirruslabs/cirrus-ci-docs/issues/722 Nothing to do with your changes; seems to be a total service outage.

wow, perfect timing, I was literally just about to ask you about that lol

Sorry @nick-cd, I got confused between two conversations and mentioned the wrong person in the above comment. I'm thankful for what @davbrito has done, but I also thank you for this particular pull request :)
Have you already picked another issue to tackle? :P

Excellent! Thank you for the work, @nick-cd. I'll merge this once the CI checks are done.

Awesome! :1st_place_medal:

Sorry @nick-cd, I got confused between two conversations and mentioned the wrong person in the above comment. I'm thankful for what @davbrito has done, but I also thank you for this particular pull request :)

haha, no worries :)
Your welcome!

Have you already picked another issue to tackle? :P

:thinking: possibly #1139
I was also looking at #545. Though, if the fix is simply reporting the possible error, I feel with my msg data member addition (and modification to set_status()), this should be fairly easy. I think this could be a "good first issue".
what do you think?

#1139 sounds good.
If the rename fails, there's really nothing else we can do than show an error, so I think it's a fine fix for #545.
Actually, both look like "good first issues", so I'll label them as such. Once you picked an issue, please drop a comment there, just in case someone else eyes that one as well.


Can the three built-in default servers be removed?

Can "default~iris", "default~cache", and "default~ensemble" be removed, using Clear Password from Keychain, or any other method? Removing them at the user level doesn't seem to change anything.
If they can't be removed, is it possible to suppress their display?

@isc-acoppola I have pushed a PR that implements a new setting. By adding "/hideEmbeddedEntries": true to your settings JSON you can prevent those three built-in server definitions from showing in the pick lists. For example,
"intersystems.servers": {
		"/hideEmbeddedEntries": true,
		"myserver": {
...

Please try it out by downloading this VSIX file and installing it (drag/drop onto your Extensions view is one way to do that).
Make sure your JSON doesn't explicitly define those servers, else they will still appear.

@isc-acoppola I have pushed a PR that implements a new setting. By adding "/hideEmbeddedEntries": true to your settings JSON you can prevent those three built-in server definitions from showing in the pick lists. For example,
"intersystems.servers": {
		"/hideEmbeddedEntries": true,
		"myserver": {
...

Please try it out by downloading this VSIX file and installing it (drag/drop onto your Extensions view is one way to do that).
Make sure your JSON doesn't explicitly define those servers, else they will still appear.

John,
I loaded your VSIX, and it appears to work as intended.
Thank you!

John,
I loaded your VSIX, and it appears to work as intended.
Thank you!


vm: LinkedHashMap creation is slow

I was experimenting with switching dartanalyzer to use LinkedHashMap in place of HashMap.  The new compact implementation should save space. The switch over did save a little bit of space, but the performance was degraded enough to abandon the idea. A lot of time was spent in _InternalLinkedHashMap._InternalLinkedHashMap (nearly 10% if I recall).
Also, profiling dart2js shows _InternalLinkedHashMap._InternalLinkedHashMap takes about 3% of overall time, even though many small maps are implemented via the list-backed mode of utils/maplet.dart
The following program shows the impact of the slow allocation.
Maps are twice as slow as HashMaps, where Sets are not very different from HashSets.
The new compact LinkedHashSets would be very nice if the allocation performance could be improved. I'm not sure why there is no Dart implementation of the constructor. If it is necessary that hash maps need to be generated in C code, perhaps an instrinsifier can be written.
for m in HashMap Map HashSet Set ; do sdk/bin/dart hashmap2.dart $m ; done
HashMap 2.634
Map 5.944
HashSet 2.355
Set 2.565

hashmap2.dart
import 'dart:collection';

var a, b, c;

class M {
  from(other);
  fromIterables(keys, values);
}

class M1 extends M {
  from(Map other) => new Map.from(other);
  fromIterables(keys, values) => new Map.fromIterables(keys, values);
}

class M2 extends M {
  from(Map other) => new HashMap.from(other);
  fromIterables(keys, values) => new HashMap.fromIterables(keys, values);
}

class M3 extends M {
  from(Map other) => new LinkedHashMap.from(other);
  fromIterables(keys, values) => new LinkedHashMap.fromIterables(keys, values);
}

class S1 extends M {
  from(other) => new Set.from(other);
  fromIterables(keys, values) => new Set.from(keys);
}

class S2 extends M {
  from(other) => new HashSet.from(other);
  fromIterables(keys, values) => new HashSet.from(keys);
}

work(M m) {
  for (int i = 0; i < 10000000; i++) {
    c = m.from(a);
    c.addAll(b);
  }
}

main(List<String> argv) {
  var methods = {
    'Map': new M1(),
    'HashMap': new M2(),
    'LinkedHashMap': new M3(),
    'Set': new S1(),
    'HashSet': new S2()
  };

  var m = methods[argv.single];
  a = m.fromIterables(['abc', 'bcd', 'cde'], ['bcd', 'cde', 'def']);
  b = m.fromIterables(['xxx', 'yyy', 'zzz'], ['bcd', 'cde', 'def']);

  var sw = new Stopwatch()..start();
  work(m);
  print('${argv.single} ${sw.elapsedMilliseconds / 1000}');
}

These are the number with my CL:
HashMap 2.512
Map 3.631
HashSet 2.348
Set 1.991

The remaining difference is not due to allocation, but rather the  different implementations of forEach.

The 3% speedup on dart2js compile times seems in line with your observation of time spent in _InternalLinkedHashMap._InternalLinkedHashMap


Updating WCAG 2.0 References to WCAG 2.1

The title pretty much sums it up.
All new WCAG 2.1 SCs are added
All WCAG 2.0 refs are updated.

Thanks for your contribution, @lloydi!


LLVM backend: linking errors

I am having problems with LLVM backend.
I am using LLVM 15.0.5 on Linux and I get the following runtime error:
Failed to load dynamic module '/tmp/LuisaCompute/build/bin/libluisa-compute-backend-llvm.so', reason: /tmp/LuisaCompute/build/bin/libluisa-compute-backend-llvm.so: undefined symbol: _ZN4absl12lts_2022062318container_internal11kEmptyGroupE. [/tmp/LuisaCompute/src/core/platform.cpp:165]
Any ideas where the missing abseil symbol went?

Hi, @ib00.
We are currently transiting from abseil to robin-map. Would you please

Hi, @ib00.
I've got no idea about the error, but, anyway, we are currently transiting from abseil to robin-map, and hopefully the problem should be gone with the header-only library.
Would you please try
git pull && git submodule update --recursive --init

and re-compile the project to see if the issue persists?

Yes, this fixed the problem. Thank you!

Yeah!


BadgeApp intro text needs rewriting

The current intro page of BadgeApp needs to be rewritten.  E.G., it says:
"The Best Practices Badge is a secure open source development maturity model. Projects having a CII badge will showcase the project's commitment to security...."  But it's not at all clear that this is a maturity model, and 'showcase' is an odd phrasing.
How about this instead:
The CII Best Practices badge is a way for open source software (OSS) projects to show that they follow best practices.  Projects can voluntarily self-certify, at no cost, by using this web application to explain how they follow each best practice.  The CII Best Practices Badge is inspired by the many badges available to projects on Github.  Consumers of the badge will be able to quickly assess which OSS projects are following best practices and as a result are more likely to produce higher-quality secure software.

It now implements a simple solution: it points to this website for details.

My mistake; "background" is okay, but the front page needs fixing.

Resolved in commit<PHONE_NUMBER>109906cd66b685a1daa273cda597a4


Swapping two emojis on Getting Started

Swapping these emojis:

Some feedback I received was that having the female emoji being used for "easy setup" unfortunately made it seem like we "made it easy for girls".
This change is @sophiebits approved!
Reviewed in the browser:

Codecov Report

Merging #6030 into master will not change coverage.
The diff coverage is n/a.

@@          Coverage Diff           @@
##           master   #6030   +/-   ##
======================================
  Coverage    64.3%   64.3%
======================================
  Files         217     217
  Lines        8317    8317
  Branches        3       3
======================================
  Hits         5348    5348
  Misses       2968    2968
  Partials        1       1

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 440e9c6...2f4cee4. Read the comment docs.

Thanks! Can we,
instead of swapping the emoji, turn the genders around so that the computer scientist is male and the runner female? The idea of the runner for “instant feedback” is that it’s fast.
I’m not 100% sure where I got these from. Either I drew them in Photoshop, or I drew them in Keynote on the same background as the website or I just pulled them from emojipedia but one of these approaches should work.

"fast" applies equally to an easy/quick setup. :) Having the woman at the computer seemed like a nice gesture to me so I'd love to see it stay (as long as it can't be mistaken to imply that women are less competent).

Love this
What if we change "easy" altogether? Is this more empowering?

Rick: that’s a great suggestion. I’m on board with it.

Maybe "Batteries Included"?

The person who originally told me about this says they like the new Developer Ready content. Ship it!

Thanks for doing this and making sure Jest is as inclusive as possible.


Osher/mgmt 984

MGMT-984 workaround for the first ISO download timeout, assisted-installer should create a dummy ISO

@ronniel1 @oshercc how about instead of doing something like this we can create a dummy job as part of the deployment?


Fix memory leak in NetworkedMultiplayerENet.

Dynamically allocated ids of peers where not correctly freed when calling close_connection and disconnect_peer (with now=true).
Tested with this script:
extends SceneTree

func _init():
	var a = NetworkedMultiplayerENet.new()
	a.connect("peer_disconnected", self, "peer_disconnected")
	a.create_server(4343, 8)

	var cl = []
	for i in range(0,10):
		var p = NetworkedMultiplayerENet.new()
		p.connect("peer_disconnected", self, "peer_disconnected")
		p.connect("peer_connected", self, "peer_connected")
		p.connect("server_disconnected", self, "server_disconnected")
		p.create_client("<IP_ADDRESS>", 4343)
		cl.append(p)

	for i in range(0,10):
		_poll(cl + [a])

	# Forcibly disconnect peer 1
	a.disconnect_peer(cl[0].get_unique_id(), true)
	# Voluntarily close connection on peer 2
	cl[1].close_connection()
	# Gracefully disconnect peer 3
	a.disconnect_peer(cl[2].get_unique_id(), true)
	for i in range(0,10):
		_poll(cl + [a])
	a.close_connection()
	for i in range(0,10):
		_poll(cl + [a])
	quit()

func server_disconnected():
	print("Server Disconnected")

func peer_disconnected(id):
	print("Peer Disconnected %d" % id)

func peer_connected(id):
	print("Peer Connected %d" % id)

func _poll(peers):
	for p in peers:
		if p.get_connection_status() == NetworkedMultiplayerPeer.CONNECTION_DISCONNECTED:
			return
		p.poll()

Valgrind (without this patch)
==5269==
==5269== HEAP SUMMARY:
==5269==     in use at exit: 93,705 bytes in 944 blocks
==5269==   total heap usage: 277,122 allocs, 276,178 frees, 862,595,341 bytes allocated
==5269==
==5269== LEAK SUMMARY:
==5269==    definitely lost: 320 bytes in 16 blocks
==5269==    indirectly lost: 0 bytes in 0 blocks
==5269==      possibly lost: 104 bytes in 2 blocks
==5269==    still reachable: 93,281 bytes in 926 blocks
==5269==         suppressed: 0 bytes in 0 blocks
==5269== Rerun with --leak-check=full to see details of leaked memory
==5269==
==5269== For counts of detected and suppressed errors, rerun with: -v
==5269== ERROR SUMMARY: 0 errors from 0 contexts (suppressed: 0 from 0)

Valgrind (with this patch)
==2625==
==2625== HEAP SUMMARY:
==2625==     in use at exit: 93,201 bytes in 926 blocks
==2625==   total heap usage: 272,847 allocs, 271,921 frees, 862,203,805 bytes allocated
==2625==
==2625== LEAK SUMMARY:
==2625==    definitely lost: 0 bytes in 0 blocks
==2625==    indirectly lost: 0 bytes in 0 blocks
==2625==      possibly lost: 104 bytes in 2 blocks
==2625==    still reachable: 93,097 bytes in 924 blocks
==2625==         suppressed: 0 bytes in 0 blocks
==2625== Rerun with --leak-check=full to see details of leaked memory
==2625==
==2625== For counts of detected and suppressed errors, rerun with: -v
==2625== ERROR SUMMARY: 0 errors from 0 contexts (suppressed: 0 from 0)

Thanks!


Add Fibonacci2.php

Print Fibonacci numbers using PHP generator
Also updated DIRECTORY.md

Added a different implementation of bubble sort.


runtime: Python: correct wrong indent after elif-oneliner

Implementing the 7 year old known fix for this 7 year old known bug:
https://stackoverflow.com/questions/20427649/autoindenting-with-vim-for-python-else-statement
Before, Python code like this
def a():
    if a: pass
    elif b: pass
    else: pass

got indented as
def a():
    if a: pass
    elif b: pass
else: pass

Please let me know if you rather want patches for runtime files in another format.

I'll include it, thanks.


export g_client_thread for win wallet

export g_client_thread for win wallet and fix log.c error on windows

Thank you for your great effort!


make: *** [sg2vgproto.o] Error 1

I am trying to compile with g++ (GCC) 5.4.0 and get the following error:
sg2vgproto.cpp:85:79: error: ‘ceil’ was not declared in this scope    int seqChunks = (int)ceil((double)_sg->getNumSequences() / sequencesPerChunk);

I can't reproduce with my compiler.  Does adding
#include  to the top of sg2vgproto.cpp fix it?
thanks
On Mon, Dec 5, 2016 at 5:02 AM, Felix Bemm<EMAIL_ADDRESS>wrote:

I am trying to compile with g++ (GCC) 5.4.0 and get the following error:
sg2vgproto.cpp:85:79: error: ‘ceil’ was not declared in this scope int
seqChunks = (int)ceil((double)_sg->getNumSequences() / sequencesPerChunk);
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/ComparativeGenomicsToolkit/hal2vg/issues/2, or mute
the thread
https://github.com/notifications/unsubscribe-auth/AA2_7hSnHg-pt3MThtZm1EcOHQEwSxqrks5rE-FLgaJpZM4LECub
.

I had the same issue and I solved the error by adding #include  to sg2vgproto.cpp.
But, I'm getting a new error when I execute "make":
ld: symbol(s) not found for architecture x86_64
clang: error: linker command failed with exit code 1 (use -v to see invocation)
make: *** [hal2vg] Error 1
I'm using macOS Sierra version 10.12.1.


Update MD file on new branch 2017-21-21_11-11-32

:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

split/updateTestCon.md
:white_check_mark:Succeeded

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.


Is there a way to Copy Events etc?

Basically I'm looking for a way to repeat events with slight variations, and would like to copy them and make small edits v. retyping them from scratch every time.  Am I missing something very easy and obvious?

No yet. I'm closing it, because it is a dublicate of https://github.com/NPBruce/valkyrie/issues/522

Not a big deal. If you are unsure, just open an issue.


Add string view overload for basic_winnt_string::insert

You seem to have forgotten the index too: see https://github.com/DymOK93/KTL/issues/245

I just followed the issue description :)


System freeze after refreshing after style.css update

I've noticed that everytime I adjust style.css and then refresh sway, the entire system freezes - no journalctl errors listed. I have to hard reset each time this happens. If I log out of sway and log back in this doesn't happen. I can otherwise refresh sway repeatedly and it won't crash unless I've edited style.css.
I don't get a kernel panic but the trackpad and keyboard stop responding and all on screen activity is frozen.

Surely not waybar fault.


[Material] Update slider gallery demo, including range slider

Description
Update the flutter_gallery Slider demo by aligning the text field in the first slider, adding range slider examples (including custom range thumbs), and separating single slider and range slider examples with tabs.

Related Issues
closes https://github.com/flutter/flutter/issues/34596
Checklist
Before you create this PR confirm that it meets all requirements listed below by checking the relevant checkboxes ([x]). This will ensure a smooth and quick review process.

[x] I read the Contributor Guide and followed the process outlined there for submitting PRs.
[x] I signed the CLA.
[x] I read and followed the Flutter Style Guide, including Features we expect every widget to implement.
[x] I updated/added relevant documentation (doc comments with ///).
[x] All existing and new tests are passing.
[x] The analyzer (flutter analyze --flutter-repo) does not report any problems on my PR.
[x] I am willing to follow-up on review comments in a timely manner.

Breaking Change
Does your PR require Flutter developers to manually update their apps to accommodate your change?

[ ] Yes, this is a breaking change (Please read Handling breaking changes). Replace this with a link to the e-mail where you asked for input on this proposed change.
[x] No, this is not a breaking change.

Everything looks good in RTL, different textScales, and dark theme, except for this existing bug: https://github.com/flutter/flutter/issues/34734


JSDoc missing syntax for new Map<string, string>()

TypeScript Version:  3.7.x-dev.201xxxxx
Search Terms: JSDoc Map generics assignment any unsafe
Code
class MyServer {
  constructor () {
    // new Map is Map<any, any>; cannot call Map constructor with new Map<string, string[]>
    /** @type {Map<string, string[]>} */
    this.functions = new Map()
  }
}

const myServer = new MyServer()
myServer.functions.get('foo')

Expected behavior:
Expected to be able to say what the Map contains when creating a new map. In typescript you can do new Map<string, string[]>() but theres no explicit generic parameter function invocation syntax for JSDoc
Actual behavior:
The type Map<any, any> exists. This fails the eslint rule of no-unsafe-assignment and this fails the no-any rule of tslint etc.
Note that doing something similar for arrays works because there's a special case inference for [] and it also works for Set because the constructor is defined differently and it has generic inference in the initialization statement.
Playground Link: https://www.typescriptlang.org/play?useJavaScript=true#code/MYGwhgzhAECyCeBlApgJwG5ugbwFDWmAHsA7CAF1QFdhyjVoAKASh3wOgHoAqb6AAXLwADshywwwgDwVUASxIBzADTRZCxQG0AugD4AvtG6d2BcgAs5EAHQAzKiVpzSMALzQSyAO5xJLdvq4gbjEZOTQALZIaJgM7p4+CCgYaP5RybF2Dk4u1orI5IwA5LZEREXMuCHgUHDRKQx4BKGyNHQMLGwcXLwCQqI4AIKoqGDwMpQaBkYm3RZWWY7kzmTQ7joBQVUt4ekxWPHedRmplXsNizlkeQXFpeXMQA
Related Issues: Yes, in eslint https://github.com/typescript-eslint/typescript-eslint/issues/2109

I think the thing you're encountering has more to do with the fact that we don't look at the contextual return types for any invocation expression except for ordinary calls. For example, this works:
class MyServer {
  constructor () {
    // new Map is Map<any, any>; cannot call Map constructor with new Map<string, string[]>
    /** @type {Map<string, string[]>} */
    this.functions = foo()
  }
}

const myServer = new MyServer()
myServer.functions.get('foo')

/**
 * @template T
 * @return {Map<T, T[]>}
 */
function foo() {
  throw ""
}

Though it really depends on the problem we're trying to solve. In this case, I think this would be fixed by broadening our inference process, but it's definitely the case that you can't explicitly pass type arguments in JS files.

I think this would be fixed by broadening our inference process

I think that would be a good solution for new Map() and also new Array() ( Although for new Array() you can use [] and the inference does work ).
I understand that inference is not perfect in TypeScript and that being explicit is always an option when inference does not work.

you can't explicitly pass type arguments in JS files.

Unfortunately the explicit syntax does not exist for JS files when it comes to type arguments.
I can't think of anything other then
class MyServer {
  constructor () {
    /** @type {Map<string, string[]>} */
    this.functions = new Map/** @generic {<string, string[]>} */()
  }
}

This a little strange, but I would prefer strange and possible over impossible.


Feature request: Please make NO_MASQ_LOCAL=1 the default setting

Please make NO_MASQ_LOCAL=1 the default setting.
People expect that "ExternalTrafficPolicy: Local" behaves as described by the Kubernetes documentation. This currently not the case with Weave, which causes confusion. I lost hours troubleshooting why ExternalTrafficPolicy was not working as expected, and it was only due to pure luck and some creative googling that I discovered the problem was caused by Weave.
While some might argue that NO_MASQ_LOCAL is mentioned in the release notes of 2.4.0, It feels wrong that you need extra config parameters to make Weave work in a way that is compliant with the standard.

@jeroenjacobs1205 Thanks for the issue. We will discuss, and maybe make it the default.
Noting that the setting is documented at https://www.weave.works/docs/net/latest/kubernetes/kube-addon/ which I always recommend to read before installing Weave Net on Kubernetes.

@jeroenjacobs1205 had anything else to do to make it work?
I can't get this to work with both NO_MASQ_LOCAL and ExternalTrafficPolicy: Local...

@RRAlex please open a separate issue.

Lost 2 days on this stuff. Indeed, please make this the default.

I agree.  Needs to be default.  It follows the service intended state.  Without it's like ordering fries(DNAT only)  with your burger, but the chef gives you a salad(SNAT).    Why didnt you say so?! :)


Incorporate custom shot noise model with the reconstruction of probability distributions

We are trying to incorporate custom shot noise models with circuit knitting. Particularly we are trying to see the effects of shot noise when we reconstruct probability distributions.
With the legacy CutQC implementation we could do that with the cloud based QASM simulator. But now that the cloud based QASM simulator has been deprecated, is there any other way to incorporate custom shot noise models with the legacy CutQC implementation?
Alternatively we can use the support circuit_knitting.cutting module for this purpose. But is there an implementation of reconstruct_full_distribution in circuit_knitting.cutting or any guidelines for how to implement that? Any help is appreciated.

But is there an implementation of reconstruct_full_distribution in circuit_knitting.cutting or any guidelines for how to implement that?

There is a draft of such support in #428, but it has a bit different behavior: it allows generating independent samples from the full distribution rather than constructing the full distribution in memory and therefore avoids the Kronecker product and the associated exponential classical reconstruction cost.

We are trying to incorporate custom shot noise models with circuit knitting. Particularly we are trying to see the effects of shot noise when we reconstruct probability distributions.

Is using Qiskit Aer an option?

Closing all CutQC issues now that it has been removed.


Spelling mistake

Hi @NathanJPhillips, I'm your friendly neighborhood .NET Foundation Pull Request Bot (You can call me DNFBOT). Thanks for your contribution!

This seems like a small (but important) contribution, so no Contribution License Agreement is required at this point. Real humans will now evaluate your PR.

TTYL, DNFBOT;

Thank you Nathan for your correction! 8d0339ba8380cceb504fbd9b7ab01c9496791c81


Update to test lab, with changes to prerequisites. images, and HoloLe…

…ns considerations.

:warning: Validation status: warnings

File
Status
Preview URL
Details

mixed-reality-docs/azure-labs-lab-1-test.md
:warning:Warning
View
Details

mixed-reality-docs/images/AzureLabs-Lab1-31.png
:white_check_mark:Succeeded
View

mixed-reality-docs/images/AzureLabs-Lab1-33.png
:white_check_mark:Succeeded
View

mixed-reality-docs/azure-labs-lab-1-test.md

[Warning] Text in the first line of Note/Section/Video is not valid. Will be rendererd to

[Warning] Text in the first line of Note/Section/Video is not valid. Will be rendererd to

[Warning] Text in the first line of Note/Section/Video is not valid. Will be rendererd to

[Warning] Author elliotmoule, StefanoDeflorio cannot be recognized in GitHub.

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.

:warning: Validation status: warnings

File
Status
Preview URL
Details

mixed-reality-docs/azure-labs-lab-1-test.md
:warning:Warning
View
Details

mixed-reality-docs/images/AzureLabs-Lab1-31.png
:white_check_mark:Succeeded
View

mixed-reality-docs/images/AzureLabs-Lab1-33.png
:white_check_mark:Succeeded
View

mixed-reality-docs/azure-labs-lab-1-test.md

[Warning] Text in the first line of Note/Section/Video is not valid. Will be rendererd to

[Warning] Author elliotmoule, StefanoDeflorio cannot be recognized in GitHub.

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.


Wrong version of binary at guthub?

pREST version (or commit ref): 0.3.0 = expected, however.. read below
pREST endpoint:
PostgreSQL version: 9.5.10
Operating system: CentOS 6, 32bit
Go version: None.
Log gist:

Description
Hello.
I have downloaded the binary from a section titled '0.3.0' of github, from this exact link: https://github.com/prest/prest/releases/download/v0.3.0/prest-linux-386
Then I run it with parameter 'version' and it says:
2018/03/22 18:46:47 [warning] You are running pREST in public mode.
2018/03/22 18:46:47 [warning] config.go:156 You are running pREST in debug mode.
Serve a RESTful API from any PostgreSQL database 0.1.7
So.. is it really a v0.3.0 build, just mis-labeled, or is it a v0.1.7 build mistakenly placed in 0.3.0 download section?
I am asking because I have a feeling, that it completely ignores the '[cors]' section of config file.
I am watching the communtication between Firefox, pREST and PG using ngrep:
ngrep -d lo port 3000
and this suspicious executable does not sends back the 'Access-Control-Allow-Origin' header along with data from pg, no matter what I do store in '[cors]' section of config file.

cc @avelino

@ralski  just the binary prints the wrong version. Could you try with master to verify if the cors bug still occurs?

@Felipe
Sorry for late response, but I was without internet connection from April beginning until now.
Thank you for checking the version issue.
Regarding your recommendation: I have cloned the project using command git clone https://github.com/prest/prest, but I am not familiar with Go compiler. Standing in the project directory, I tried some quickly found recommendations from web, but it complained about missing importfile.
root@rig:/proj/prest # go tool compile main.go
main.go:4:2: can't find import: "github.com/prest/adapters/postgres"

Then I located the "github.com/prest/adapters/postgres" directory in subdir "vendor", so I have tried:
root@rig:/proj/prest # cd vendor/
root@rig:/proj/prest/vendor # go tool compile ../main.go
../main.go:4:2: can't find import: "github.com/prest/adapters/postgres"

Well, am I doing some trivial mistake? I am not asking for an extensive tutorial on compiling a Go project. But if I really just miss some trivial step(s) to make it possible, I would be happy to get the help to be able to compile it myself.

@ralski Sorry for the late response
go get github.com/prest/prest

fixed on last image release


LD2450 Sensor stops detecting occupancy on "static" (non-moving) objects

Hi,
Thank you for the really good work.
I have noticed something while using my sensors across my home.
In rooms where moovement occurs frequently I have almost no issue.
However, in room where I might have really few moovement (for exemple while watching tv) the Esp Home stops returning my occupancy. I have checked with the HKtool app the sensor can see my position.
It looks like than when position is not changing, the sensor stop publishing information and esphome clears occupancy.
Thank you for the help or the explication

While the LD2450 sensor can detect "static" targets, the detection can be a bit flaky at times. This depends on the sensor, its hardware (and firmware) and not on this custom component. Like most mm-Wave sensors, the LD2450 can detect "static" targets due to very small movements. While watching TV and sitting/laying very,  still the sensor can loose track. Thus reporting a false "unoccupied" state.

I have checked with the HKtool app the sensor can see my position.

The moment you use your phone, the sensor picks up that motion and therefore tracks you.
To achieve more consistent tracking and to compensate for this downside of the LD2450 sensor zones can have a target_timeout property.

The time after which a target within the zone is considered absent. This helps with continuous detection of non-moving targets. Targets which leave the zone via polygon boundaries are still detected as absent form the zone immediately. Defaults to 5s.

(quote from readme)
Increasing this value will result in more consistent tracking, with the downside of potentially reporting "occupied" while a target has genuinely disappeared.


[BUG] OpenThread and number of multicast addresses (OPENTHREAD_CONFIG_IP6_MAX_EXT_MCAST_ADDRS)

Reproduction steps
What is the minimal/expected number of multicast addresses for Thread devices? We are testing group communication with an EFR32 board, and we cannot use more then 2 groups, which I guess results from this definition:
https://github.com/openthread/openthread/blob/6736ef267673d1e15d528067c3433377597a02b2/src/core/config/ip6.h#L57
When the device is started with more then 2 groups set up, we can see the following output:
[00:00:00.738][info  ][SVR] Joining Multicast groups
[00:00:00.740][info  ][IN] Joining Multicast Group with address UDP:[ff35:40:fd00:0:0:0:100:7d0]:5540
[00:00:00.742][info  ][IN] Joining Multicast Group with address UDP:[ff35:40:fd00:0:0:0:100:7d1]:5540
[00:00:00.745][info  ][IN] Joining Multicast Group with address UDP:[ff35:40:fd00:0:0:0:100:bb8]:5540
[00:00:00.745][error ][SVR] Error when trying to join Group 3000 of fabric index 1 : 4000003

Bug prevalence
Always reproducible
GitHub hash of the SDK that was being used
e278aa42166d29ad49156d549376a96d0a3c82a0
Platform
efr32
Platform Version(s)
No response
Anything else?
No response

@dtodor The MaxGroupsPerFabric attribute in the Group Key Management Cluster will have the number that maximum number of groups that the node supports per fabric

The EFR32 device reports the following values:
OperationalCredentials::SupportedFabrics = 5
GroupKeyManagement::MaxGroupsPerFabric = 4

So the value of OPENTHREAD_CONFIG_IP6_MAX_EXT_MCAST_ADDRS should be 20, right? Currently there is a discrepancy - we can add and configure more than 2 groups, but joining more than 2 multicast groups fails.

BTW, what about changing the name of the MaxGroupKeysPerFabric attribute to MaxGroupKeySetsPerFabric:
<IP_ADDRESS>. MaxGroupKeysPerFabric Attribute
This attribute SHALL indicate the maximum number of group key sets this node supports per fab ric. The value of this attribute SHALL be set according to the minimum number of group key sets to support as specified in Group Limits.

BTW, what about changing the name of the MaxGroupKeysPerFabric attribute to MaxGroupKeysetsPerFabric:

This would have been a reasonable suggestion a year ago, but at this point there's a bunch of shipping API with the existing name.
Past that, the spec says:

A node SHALL support one IPv6 multicast group membership for every operational group it supports.

so if something has 5 supported fabrics and 4 groups per fabric, but only allows 2 multicast addresses, then it's very much non-conformant.
@Damian-Nordic should we be setting OPENTHREAD_CONFIG_IP6_MAX_EXT_MCAST_ADDRS as needed when we compile openthread?

@bzbarsky-apple Yes, that seems right that OPENTHREAD_CONFIG_IP6_MAX_EXT_MCAST_ADDRS should be increased.

I guess my question was whether we can have it automatically set based on the other two constants.

Oh, then the problem might be that most device manufacturers don't build OpenThread from sources but use OpenThread libraries built and certified by platform vendors (to take advantage of certification by inheritance). So I guess platform vendors must simply ensure that they configure a sane value for OPENTHREAD_CONFIG_IP6_MAX_EXT_MCAST_ADDRS in the libraries they provide.

I think it would be important to have the Matter SDK examples correctly configured and running according to the specification. It might very well be the case that the device manufacturers are not aware of this restriction. I will perform some tests with certified devices and report back.

I just did some tests with a Matter certified device. The device reports:
GroupKeyManagement::MaxGroupsPerFabric: 3
GroupKeyManagement::MaxGroupKeysPerFabric: 3
AccessControl::AccessControlEntriesPerFabric: 3
AccessControl::SubjectsPerAccessControlEntry: 4

I am able to add more than 3 groups without any errors. The device is controllable only with the first group. I think this is a Nordic device, not sure though:
BasicInformation::DataModelRevision: 1
BasicInformation::VendorName: Eve Systems
BasicInformation::ProductName: Eve Energy 20EBO8301
BasicInformation::HardwareVersion: 1
BasicInformation::SoftwareVersion: 6200
BasicInformation::SoftwareVersionString: 3.1.0

I just saw that there is a newer software version (3.2.1) for this device, will update it and redo the tests.

@dtodor
We encountered a similar issue with our OpenThread device, where it could only respond to the first group.
Based on the discussion in this thread, we increased the values for OPENTHREAD_CONFIG_IP6_MAX_EXT_MCAST_ADDRS and CONFIG_NET_IF_MCAST_IPV6_ADDR_COUNT.
After making these changes, it was able to be controlled by multiple groups.
I hope our experience can help you resolve this issue as well.

@damien0x0023 - Which device platform are you using? ESP32, Nordic, Linux?

Oh, then the problem might be that most device manufacturers don't build OpenThread from sources but use OpenThread libraries built and certified by platform vendors (to take advantage of certification by inheritance). So I guess platform vendors must simply ensure that they configure a sane value for OPENTHREAD_CONFIG_IP6_MAX_EXT_MCAST_ADDRS in the libraries they provide.

On this note, those that are using Nordic devices, make sure you set CONFIG_OPENTHREAD_SOURCES=y in order for any of your OpenThread related KCONFIG values to actually take effect. See ticket here.

@damien0x0023 - Which device platform are you using? ESP32, Nordic, Linux?

Telink B9x, W91 and TLx platforms.
Here is our PR #36290.


Stop using disk cache for SpreadSplit

Can you explain the rational, why caching is not needed? Why was it originally added?

@yoavkatz the cache on the disk is not needed because it already used cache on the memory self.local_cache.


Block extensions from chording Control + R on Linux when terminal is focused

Control + R in a terminal shell is generally a historical recursive search. Recently (meaning for the past couple of versions maybe since ~1.40) Control + R in VSCode on Linux has, instead of showing recursive search in my terminal, been using Control + R as a chorded keyboard shortcut even when the terminal is in focus. This was not the case in the past.
I would like to propose that the terminal have higher precedence in the keyboard shortcut hierarchy when Control + R is pressed and terminal is focused. This issue doesn't affect my mac because all the Control + R keyboard shortcuts bind to Command + R instead.
I am unsure of whether to take this request to individual extensions like the C# and NPM extensions from Microsoft, but it feels like a toplevel VSCode issue.

And since I am a lazy dev, I have had to keep an external shell open so I could use Control + R.

I am unsure of whether to take this request to individual extensions like the C# and NPM extensions from Microsoft, but it feels like a toplevel VSCode issue.

I don't see any keybindings on the C# or npm extensions, are you sure they're the ones to blame? Ca
I'm reluctant to add specific rules like this because why stop at R, when there are plenty of other ctrl+ keybindings used in the terminal, why stop at ctrl when alt is also used, etc.

I'm reluctant to add specific rules like this because why stop at R, when there are plenty of other ctrl+ keybindings used in the terminal, why stop at ctrl when alt is also used, etc.

That makes sense. I looked at the C3 extension again and it has good when conditions, and is not a part of the problem. I just tried disabling the NPM extension and suddenly Control + R could be used in the terminal again. I think your reasoning is good, and I will take this issue to the NPM extension directly.
The commands I am seeing that conflict with Control + R being provided by the NPM extension are
Rerun last script (ctrl+r, r)
Run script (ctrl+r, R)
Run test (ctrl+r, t)
Show output (ctrl+r, l)
Terminate script (ctrl+r, X)

Source: https://github.com/microsoft/vscode-npm-scripts/blob/ebe4f49e155cc5d71de10d1bd85d6306729dc4c7/package.json#L126

Yeah I think adding !terminalFocus would be the best fix 👍

Thanks for your help @Tyriar. I will go ahead and close this then.


Mutation support

The demand for mutation support is obvious (#6, #25). I was trying to stick to immutability, but if people need to patch a JSON value, the foo["bar"] = baz syntax is very hard to beat – it’s intuitive, discoverable and terse. And if people want to stick to immutable values, they can always just declare their JSON values using let and that’s it. So I decided we should give in and offer both a mutable API (writable subscripts, merge(with:)) and an immutable update API (merging(with:), something like updating(key:to:)), allowing the callers to pick whatever is best for them.

Thanks for putting this together, and apologies for the delay.

And if people want to stick to immutable values, they can always just declare their JSON values using let and that’s it.

Yes, that makes sense. The choice of immutability is shifted to the consumer – which I think is fine.
Incompatible JSON Types

And a reasonable default behaviour could be to simply change self to the expected JSON value type

This is a tough one.  It would follow the dynamically typed origins of JSON, Javascript. That said, it does make for a tricky API. To the caller,  the variable type, JSON, does not change but the internal 'type' (i.e. enum case) changes.
I can see how this would make complete sense to the caller:
var foo: JSON = 1 // foo is .number
foo = JSON("hello") // foo is now .string

the case has changed from .number to .string – which is reasonable.
However, here:
var foo: JSON = 1 // foo is .number
foo.a = "b" // foo is now .object {"a": "b"}

the type is being "upgraded" from .number to .object as a result of a subscript assignment.
My view that we should not allow the "upgrading" of type as a result of a subscript assignment if the underlying case does not logically support it.
Out-Of-Bound Array Access

Since it’s syntactically valid to do JSON([])[10] = 1, what does it mean? Should it be a hard out-of-bounds error like with ordinary Swift array accesss, a no-op, or should we grow the array automatically? I’m against a hard error, since the value often comes from an external source and it would be harsh to crash an app just because an external API source forgot to include an expected value in a response.

Growing the array automatically would be a bit closer to how arrays behave in JavaScript. But I think that’s a false analogy anyway, so I would tend to pick the remaining option and not do anything – except for converting the value to array if needed, see remark below about removing keys from a dictionary.

With help from my Android colleague, we inspected what similar libraries do.
JSON-java

Adds more storage (grows the array with json nulls)

fun jsonArrayTest() {
    val temp = JSONObject()
    temp.put("array", JSONArray().put(5, "test"))
    val array = temp.getJSONArray("array")
    (0 until array.length()).forEach {
      Log.e("json", "index $it - ${array.opt(it)}")
    }
  }

JSON
2019-06-24 13:31:31.780 11671-11671/com.ydangleapps.jsontest E/json: index 0 - null
2019-06-24 13:31:31.780 11671-11671/com.ydangleapps.jsontest E/json: index 1 - null
2019-06-24 13:31:31.780 11671-11671/com.ydangleapps.jsontest E/json: index 2 - null
2019-06-24 13:31:31.780 11671-11671/com.ydangleapps.jsontest E/json: index 3 - null
2019-06-24 13:31:31.780 11671-11671/com.ydangleapps.jsontest E/json: index 4 - null
2019-06-24 13:31:31.780 11671-11671/com.ydangleapps.jsontest E/json: index 5 - test

GSON

Runtime crash

fun gsonArrayTest() {
    val temp = JsonObject()
    val jarray = JsonArray(6)
    jarray.set(5, JsonPrimitive("test"))
    temp.add("array", jarray)
    val array = temp.get("array").asJsonArray
    (0 until array.size()).forEach {
      Log.e("gson", "index $it - ${array.get(it).asString}")
    }
  }

GSON - java.lang.IndexOutOfBoundsException: Index: 5, Size: 0

I am not sure what the best approach is here, however as you mentioned, I also think the runtime exception is not a good choice.
Removing Keys From Dictionaries
In this context, and from what I can tell (again no expert), it comes down to how the language's nil/null concept translates to JSON's null.
Setting an object's value to language's nil/null will either:

remove the key pair, or
replace the value with JSON's null.

JSON-java

Assigning language's null to a dictionary value will remove the key pair.
In order to assign null to a value, the JSON type's null value must be used.

  fun jsonArrayTest() {
    val temp = JSONObject()
    temp.put("array", JSONArray().put(5, "test"))
    val array = temp.getJSONArray("array")
    (0 until array.length()).forEach {
      Log.e("json", "index $it - ${array.opt(it)}")
    }
  }

2019-06-24 13:38:12.843 13524-13524/com.ydangleapps.jsontest E/json: {"array":["test"]}
2019-06-24 13:38:12.843 13524-13524/com.ydangleapps.jsontest E/json: {}

GSON

Assigning language's null to a dictionary value will replace the value with null.
Removing the key-pair entirely must be done using remove().

fun gsonTypeNullTest() {

    val temp = JsonObject()
    val jarray = JsonArray(6)
    jarray.add(JsonPrimitive("test"))
    temp.add("array", jarray)
    Log.e("gson", temp.toString())
    temp.add("array", null)
    Log.e("gson", temp.toString())
    temp.remove("array")
    Log.e("gson", temp.toString())
  }

2019-06-24 13:38:12.860 13524-13524/com.ydangleapps.jsontest E/gson: {"array":["test"]}
2019-06-24 13:38:12.860 13524-13524/com.ydangleapps.jsontest E/gson: {"array":null}
2019-06-24 13:38:12.861 13524-13524/com.ydangleapps.jsontest E/gson: {}

In the proposed method, we are using the Swift language's nill to remove key-pairs:

The syntax is obvious again:
json["foo"] = nil
json.foo = nil

I see one inconsistency here, currently initialisation using Swift's nil produces JSON.null:
let foo = JSON(nil) // .null

and the proposal for 'Removing Items From Arrays' treats a nil assignment as JSON.null assignment.
Given this, would it make more sense to add an explicit remove() function (similar to GSON) which removes key-pairs?  So given var foo: JSON = ["bar" : true] these two assignments would be equivalent:
foo.bar = .null
foo.bar = nil

Do these comments help narrow the solution space?


Get UTF-8 right in slides

Spanish accents at least (á é ...) were not working correctly after uploading.

¡ Gracias !


TextField with inputFormatters & keyboardType onChange causes infinite loop

Steps to Reproduce

code sample
import 'package:flutter/material.dart';
import 'package:flutter/cupertino.dart';
import 'package:flutter/services.dart';
final Color darkBlue = Color.fromARGB(255, 18, 32, 47);

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

class MyApp extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      theme: ThemeData.dark().copyWith(scaffoldBackgroundColor: darkBlue),
      debugShowCheckedModeBanner: false,
      home: Scaffold(
        body: Center(
          child: MyWidget(),
        ),
      ),
    );
  }
}

class MyWidget extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return TextField(
      autocorrect: false,
      enableSuggestions: false,
      keyboardType: TextInputType.emailAddress,
      inputFormatters: [
        FilteringTextInputFormatter.allow(
            RegExp(r"""[a-zA-Z0-9\_\.\,\-\(\)\/\=\+\?\>\<\!\*\'\"\;\&\@\#\:\%\[\]\‘\\\$\{\}\^\|\~\`]+""")),
      ],
    );
  }
}

TextField with inputFormatters (for example, WhitelistingTextInputFormatter.digitsOnly) and some of keyboardTypes (phone, datetime, visiblePassword and number) work not as it expected. If i type not a digit (remember, we are using WhitelistingTextInputFormatter.digitsOnly inputFormatters), onChange fires twice and the last one will be with forbidden symbol in onChange text. With another keyboardType onChange fires only once and without "forbidden" symbol in the text (not sure if it even should fire).
Expected results:  Forbidden symbols shouldn't be in the onChange text.
Actual results:  onChange fires twice with forbidden symbol in the last change.

flutter doctor -v
╰ flutter doctor -v
[✓] Flutter (Channel beta, 2.1.0-12.2.pre, on Mac OS X 10.15.5 19F101 darwin-x64, locale zh-Hans-CN)
    • Flutter version 2.1.0-12.2.pre at /Users/liuyanfeng/Library/flutter
    • Framework revision 5bedb7b1d5 (3 weeks ago), 2021-03-17 17:06:30 -0700
    • Engine revision 711ab3fda0
    • Dart version 2.13.0 (build 2.13.0-116.0.dev)
    • Pub download mirror https://pub.flutter-io.cn
    • Flutter download mirror https://storage.flutter-io.cn

[✓] Android toolchain - develop for Android devices (Android SDK version 29.0.2)
    • Android SDK at /Users/liuyanfeng/Library/Android/sdk
    • Platform android-30, build-tools 29.0.2
    • ANDROID_HOME = /Users/liuyanfeng/Library/Android/sdk
    • Java binary at: /Library/Java/JavaVirtualMachines/jdk1.8.0_191.jdk/Contents/Home/bin/java
    • Java version Java(TM) SE Runtime Environment (build 1.8.0_191-b12)
    • All Android licenses accepted.

[✓] Xcode - develop for iOS and macOS
    • Xcode at /Applications/Xcode.app/Contents/Developer
    • Xcode 12.4, Build version 12D4e
    • CocoaPods version 1.10.1

[✓] Chrome - develop for the web
    • Chrome at /Applications/Google Chrome.app/Contents/MacOS/Google Chrome

[!] Android Studio (not installed)
    • Android Studio not found; download from https://developer.android.com/studio/index.html
      (or visit https://flutter.dev/docs/get-started/install/macos#android-setup for detailed instructions).

[✓] IntelliJ IDEA Ultimate Edition (version 2019.2.3)
    • IntelliJ at /Applications/IntelliJ IDEA.app
    • Flutter plugin version 43.0.2
    • Dart plugin version 192.8052

[✓] Proxy Configuration
    • HTTP_PROXY is set
    • NO_PROXY is localhost,<IP_ADDRESS>
    • NO_PROXY contains <IP_ADDRESS>
    • NO_PROXY contains localhost

[✓] Connected device (4 available)
    • JKM AL00a (mobile) • HYJNW18A15002346                         • android-arm64  • Android 9 (API 28)
    • Ha0 (mobile)       • 60748a91d3d416ed437eb16315e99de062468d7a • ios            • iOS 14.2
    • macOS (desktop)    • macos                                    • darwin-x64     • Mac OS X 10.15.5 19F101 darwin-x64
    • Chrome (web)       • chrome                                   • web-javascript • Google Chrome 89.0.4389.114

! Doctor found issues in 1 category.

Hi @lyf571321556
The code you provided crashes due to your regular expression.
======== Exception caught by widgets library =======================================================
The following FormatException was thrown building MyApp(dirty):
Range out of order in character class[a-zA-Z0-9_.,-()/=+?><!*'";&@#:%[]‘\${}^|~]+

The relevant error-causing widget was:
  MyApp file:///Users/pedromassango/dev/Projects/flutter_example/lib/main.dart:6:10
When the exception was thrown, this was the stack:
#0      new _RegExp (dart:core-patch/regexp_patch.dart:217:51)
#1      new RegExp (dart:core-patch/regexp_patch.dart:27:15)
#2      MyApp.build (package:flutter_example/main.dart:24:49)
#3      StatelessElement.build (package:flutter/src/widgets/framework.dart:4569:28)
#4      ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:4495:15)

code sample
import 'package:flutter/material.dart';
import 'package:flutter/services.dart';

void main() => runApp(MyApp());

class MyApp extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      title: 'Flutter Demo',
      home: Scaffold(
        body: Center(
          child: TextField(
            autocorrect: false,
            enableSuggestions: false,
            keyboardType: TextInputType.emailAddress,
            inputFormatters: [
              FilteringTextInputFormatter.allow(RegExp(r"""[a-zA-Z0-9_.,-()/=+?><!*'";&@#:%[]‘\${}^|~]+""")),
            ],
          ),
        ),
      ),
    );
  }
}

@pedromassangocode

This problem can also be reproduced on the Web side, and there is a certain chance that the problem will be triggered by fast input under the input method that can be entered in Chinese

code sample:
`import 'package:flutter/material.dart';
import 'package:flutter/cupertino.dart';
import 'package:flutter/services.dart';
final Color darkBlue = Color.fromARGB(255, 18, 32, 47);
void main() {
runApp(MyApp());
}
class MyApp extends StatelessWidget {
@override
Widget build(BuildContext context) {
return MaterialApp(
theme: ThemeData.dark().copyWith(scaffoldBackgroundColor: darkBlue),
debugShowCheckedModeBanner: false,
home: Scaffold(
body: Center(
child: MyWidget(),
),
),
);
}
}
class MyWidget extends StatelessWidget {
@override
Widget build(BuildContext context) {
return TextField(
autocorrect: false,
enableSuggestions: false,
keyboardType: TextInputType.emailAddress,
inputFormatters: [
FilteringTextInputFormatter.allow(
RegExp(r"""[a-zA-Z0-9_.,-()/=+?><!*'";&@#:%[]\‘\${}^|~`]+""")),
],
);
}
}`
step that must be reproduced:

RegExp(r"""[a-zA-Z0-9_.,-()/=+?><!*'";&@#:%[]‘${}^|~]+""") ==> RegExp(r"""[a-zA-Z0-9\_\.\,\-\(\)\/\=\+\?\>\<\!\*\'\"\;\&\@\#\:\%\[\]\‘\\\$\{\}\^\|\~\]+""")`

CC @justinmc

flutter doctor -v
[✓] Flutter (Channel stable, 2.0.4, on macOS 11.2.3 20D91 darwin-x64, locale en-AO)
    • Flutter version 2.0.4 at /Users/pedromassango/Code/flutter_stable
    • Framework revision b1395592de (5 days ago), 2021-04-01 14:25:01 -0700
    • Engine revision 2dce47073a
    • Dart version 2.12.2

[✓] Android toolchain - develop for Android devices (Android SDK version 30.0.2)
    • Android SDK at /Users/pedromassango/Library/Android/sdk
    • Platform android-30, build-tools 30.0.2
    • ANDROID_HOME = /Users/pedromassango/Library/Android/sdk
    • Java binary at: /Applications/Android Studio.app/Contents/jre/jdk/Contents/Home/bin/java
    • Java version OpenJDK Runtime Environment (build 1.8.0_242-release-1644-b3-6915495)
    • All Android licenses accepted.

[!] Xcode - develop for iOS and macOS
    • Xcode at /Applications/Xcode.app/Contents/Developer
    • Xcode 12.4, Build version 12D4e
    ! CocoaPods 1.9.3 out of date (1.10.0 is recommended).
        CocoaPods is used to retrieve the iOS and macOS platform side's plugin code that responds to your plugin usage on the Dart side.
        Without CocoaPods, plugins will not work on iOS or macOS.
        For more info, see https://flutter.dev/platform-plugins
      To upgrade see https://guides.cocoapods.org/using/getting-started.html#installation for instructions.

[✓] Chrome - develop for the web
    • Chrome at /Applications/Google Chrome.app/Contents/MacOS/Google Chrome

[✓] Android Studio (version 4.1)
    • Android Studio at /Applications/Android Studio.app/Contents
    • Flutter plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/9212-flutter
    • Dart plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/6351-dart
    • Java version OpenJDK Runtime Environment (build 1.8.0_242-release-1644-b3-6915495)

[✓] IntelliJ IDEA Community Edition (version 2020.3.3)
    • IntelliJ at /Applications/IntelliJ IDEA CE.app
    • Flutter plugin version 54.1.4
    • Dart plugin version 203.7759

[✓] VS Code (version 1.54.3)
    • VS Code at /Applications/Visual Studio Code.app/Contents
    • Flutter extension version 3.16.0

[✓] Connected device (3 available)
    • iPhone 12 Pro Max (mobile) • AE2F4F51-880E-44FB-BB29-171B766D9B54 • ios            • com.apple.CoreSimulator.SimRuntime.iOS-14-4 (simulator)
    • macOS (desktop)            • macos                                • darwin-x64     • macOS 11.2.3 20D91 darwin-x64
    • Chrome (web)               • chrome                               • web-javascript • Google Chrome 89.0.4389.114

! Doctor found issues in 1 category.

[✓] Flutter (Channel dev, 2.1.0-12.1.pre, on macOS 11.2.3 20D91 darwin-x64, locale en-AO)
    • Flutter version 2.1.0-12.1.pre at /Users/pedromassango/Code/flutter_dev
    • Framework revision 8264cb3e8a (4 weeks ago), 2021-03-10 12:37:57 -0800
    • Engine revision 711ab3fda0
    • Dart version 2.13.0 (build 2.13.0-116.0.dev)

[✓] Android toolchain - develop for Android devices (Android SDK version 30.0.2)
    • Android SDK at /Users/pedromassango/Library/Android/sdk
    • Platform android-30, build-tools 30.0.2
    • ANDROID_HOME = /Users/pedromassango/Library/Android/sdk
    • Java binary at: /Applications/Android Studio.app/Contents/jre/jdk/Contents/Home/bin/java
    • Java version OpenJDK Runtime Environment (build 1.8.0_242-release-1644-b3-6915495)
    • All Android licenses accepted.

[!] Xcode - develop for iOS and macOS
    • Xcode at /Applications/Xcode.app/Contents/Developer
    • Xcode 12.4, Build version 12D4e
    ! CocoaPods 1.9.3 out of date (1.10.0 is recommended).
        CocoaPods is used to retrieve the iOS and macOS platform side's plugin code that responds to your plugin usage on the Dart side.
        Without CocoaPods, plugins will not work on iOS or macOS.
        For more info, see https://flutter.dev/platform-plugins
      To upgrade see https://guides.cocoapods.org/using/getting-started.html#installation for instructions.

[✓] Chrome - develop for the web
    • Chrome at /Applications/Google Chrome.app/Contents/MacOS/Google Chrome

[✓] Android Studio (version 4.1)
    • Android Studio at /Applications/Android Studio.app/Contents
    • Flutter plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/9212-flutter
    • Dart plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/6351-dart
    • Java version OpenJDK Runtime Environment (build 1.8.0_242-release-1644-b3-6915495)

[✓] IntelliJ IDEA Community Edition (version 2020.3.3)
    • IntelliJ at /Applications/IntelliJ IDEA CE.app
    • Flutter plugin version 54.1.4
    • Dart plugin version 203.7759

[✓] VS Code (version 1.54.3)
    • VS Code at /Applications/Visual Studio Code.app/Contents
    • Flutter extension version 3.16.0

[✓] Connected device (3 available)
    • iPhone 12 Pro Max (mobile) • AE2F4F51-880E-44FB-BB29-171B766D9B54 • ios            • com.apple.CoreSimulator.SimRuntime.iOS-14-4 (simulator)
    • macOS (desktop)            • macos                                • darwin-x64     • macOS 11.2.3 20D91 darwin-x64
    • Chrome (web)               • chrome                               • web-javascript • Google Chrome 89.0.4389.114

! Doctor found issues in 1 category.

What are the exact reproduction steps here?  One time I was able to get it to insert extra characters by hammering away at a Chinese keyboard, but I couldn't reproduce it again.  I never saw an infinite loop.
One thing I did consistently notice was that the composing region was being completed prematurely.

Type "ni" using a pinyin keyboard.  The entire thing is a composing region, as expected.
Type "h".  The composing region closes and reopens on only the "h".  I would expect the whole "nih" to be composing.

CC @LongCatIsLooong as this may have to do with recent composing changes, though I'm not sure why this is also reproducible on web (above).

Code
import 'package:flutter/material.dart';
import 'package:flutter/cupertino.dart';
import 'package:flutter/services.dart';
final Color darkBlue = Color.fromARGB(255, 18, 32, 47);

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

class MyApp extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      theme: ThemeData.dark().copyWith(scaffoldBackgroundColor: darkBlue),
      debugShowCheckedModeBanner: false,
      home: Scaffold(
        body: Center(
          child: MyWidget(),
        ),
      ),
    );
  }
}

class MyWidget extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return TextField(
      autocorrect: false,
      enableSuggestions: false,
      keyboardType: TextInputType.emailAddress,
      onChanged: (String value) {
        print('onChanged $value');
      },
      inputFormatters: [
        FilteringTextInputFormatter.allow(
          RegExp(r"""[a-zA-Z0-9\_\.\,\-\(\)\/\=\+\?\>\<\!\*\'\"\;\&\@\#\:\%\[\]\‘\\\$\{\}\^\|\~\`]+"""),
        ),
      ],
    );
  }
}

I should have provide more details. I think the title is not related to the actual issue. In the image bellow, I tap the m letter ten times and then tried to delete some letters, as you can see the text is being duplicated each time a key is pressed.

The direct cause of this issue is that a FilteringTextInputFormatter removes the composing region if it changes the text.
It seems the iOS Chinese IME implementation is not expecting composing region changes from the text field itself (so only the user can change the composing region by interacting with the software keyboard). This is essentially the iOS version of https://github.com/flutter/flutter/issues/61097 (but unfortunately we don't have an API to restart the IME in this case).

The iOS chinese keyboard puts additional white spaces between characters when composing text, and if the developer removes the composing region or removes the additional white spaces the software keyboard does something strange. To my knowledge there's no known workaround. I'll add that to FilteringTextInputFormatter's documentation.

Hi @lyf571321556 Thanks for filing this issue. I am currently unable to reproduce this issue on the latest stable and master channels. Kindly confirm the issue no longer persists.
Code Sample Used
Video

https://github.com/flutter/flutter/assets/53122008/0ea88830-1164-4785-832f-91ca14286724

  flutter doctor -v
[✓] Flutter (Channel master, 3.11.0-2.0.pre.55, on macOS 13.3 22E252 darwin-arm64, locale en-NG)
    • Flutter version 3.11.0-2.0.pre.55 on channel master at /Users/dammya/fvm/versions/master
    • Upstream repository https://github.com/flutter/flutter.git
    • Framework revision 835b892d7f (9 days ago), 2023-05-07 01:30:22 +0530
    • Engine revision 23f730efbf
    • Dart version 3.1.0 (build 3.1.0-83.0.dev)
    • DevTools version 2.23.1

[✓] Android toolchain - develop for Android devices (Android SDK version 32.1.0-rc1)
    • Android SDK at /Users/dammya/Library/Android/sdk
    • Platform android-33, build-tools 32.1.0-rc1
    • ANDROID_HOME = /Users/dammya/Library/Android/sdk
    • Java binary at: /Applications/Android Studio.app/Contents/jre/Contents/Home/bin/java
    • Java version OpenJDK Runtime Environment (build 11.0.12+0-b1504.28-7817840)
    • All Android licenses accepted.

[✓] Xcode - develop for iOS and macOS (Xcode 14.3)
    • Xcode at /Applications/Xcode.app/Contents/Developer
    • Build 14E222b
    • CocoaPods version 1.11.3

[✓] Chrome - develop for the web
    • Chrome at /Applications/Google Chrome.app/Contents/MacOS/Google Chrome

[✓] Android Studio (version 2021.2)
    • Android Studio at /Applications/Android Studio.app/Contents
    • Flutter plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/9212-flutter
    • Dart plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/6351-dart
    • Java version OpenJDK Runtime Environment (build 11.0.12+0-b1504.28-7817840)

[✓] IntelliJ IDEA Community Edition (version 2022.3.2)
    • IntelliJ at /Applications/IntelliJ IDEA CE.app
    • Flutter plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/9212-flutter
    • Dart plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/6351-dart

[✓] VS Code (version 1.78.1)
    • VS Code at /Applications/Visual Studio Code.app/Contents
    • Flutter extension version 3.50.0

[✓] VS Code (version 1.78.0)
    • VS Code at /Users/dammya/.Trash/Visual Studio Code 20.07.05.app/Contents
    • Flutter extension version 3.50.0

[✓] Connected device (3 available)
    • Damilola’s iPhone (mobile) • 71c843fa5f3dec767999f36224653c0faa78660e • ios            • iOS 16.4 20E247
    • macOS (desktop)            • macos                                    • darwin-arm64   • macOS 13.3 22E252 darwin-arm64
    • Chrome (web)               • chrome                                   • web-javascript • Google Chrome 113.0.5672.92

[✓] Network resources
    • All expected network resources are available.

• No issues found!

[✓] Flutter (Channel stable, 3.10.0, on macOS 13.3 22E252 darwin-arm64, locale
    en-NG)
    • Flutter version 3.10.0 on channel stable at /Users/dammya/sdks/flutter
    • Upstream repository https://github.com/flutter/flutter.git
    • Framework revision 84a1e904f4 (6 days ago), 2023-05-09 07:41:44 -0700
    • Engine revision d44b5a94c9
    • Dart version 3.0.0
    • DevTools version 2.23.1

[✓] Android toolchain - develop for Android devices (Android SDK version
    32.1.0-rc1)
    • Android SDK at /Users/dammya/Library/Android/sdk
    • Platform android-33, build-tools 32.1.0-rc1
    • ANDROID_HOME = /Users/dammya/Library/Android/sdk
    • Java binary at: /Applications/Android
      Studio.app/Contents/jre/Contents/Home/bin/java
    • Java version OpenJDK Runtime Environment (build
      11.0.12+0-b1504.28-7817840)
    • All Android licenses accepted.

[✓] Xcode - develop for iOS and macOS (Xcode 14.3)
    • Xcode at /Applications/Xcode.app/Contents/Developer
    • Build 14E222b
    • CocoaPods version 1.11.3

[✓] Chrome - develop for the web
    • Chrome at /Applications/Google Chrome.app/Contents/MacOS/Google Chrome

[✓] Android Studio (version 2021.2)
    • Android Studio at /Applications/Android Studio.app/Contents
    • Flutter plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/9212-flutter
    • Dart plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/6351-dart
    • Java version OpenJDK Runtime Environment (build
      11.0.12+0-b1504.28-7817840)

[✓] IntelliJ IDEA Community Edition (version 2022.3.2)
    • IntelliJ at /Applications/IntelliJ IDEA CE.app
    • Flutter plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/9212-flutter
    • Dart plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/6351-dart

[✓] VS Code (version 1.78.1)
    • VS Code at /Applications/Visual Studio Code.app/Contents
    • Flutter extension version 3.50.0

[✓] VS Code (version 1.78.0)
    • VS Code at /Users/dammya/.Trash/Visual Studio Code 20.07.05.app/Contents
    • Flutter extension version 3.50.0

[✓] Connected device (3 available)
    • Damilola’s iPhone (mobile) • 71c843fa5f3dec767999f36224653c0faa78660e •
      ios            • iOS 16.4 20E247
    • macOS (desktop)            • macos                                    •
      darwin-arm64   • macOS 13.3 22E252 darwin-arm64
    • Chrome (web)               • chrome                                   •
      web-javascript • Google Chrome 113.0.5672.92

[✓] Network resources
    • All expected network resources are available.

• No issues found!


kafka 1.0 has support for time based offsets.

#75
This is a pull request that implements a possible solution to the kafka timebased offset.

Thanks @borissmidt - do you think it could be tested?

Yes it could be tested, But most of it is kafka's public api. So i think the test should mainly check the time calculation part and not the actual api call.

Sorry @borissmidt I think I didn't get a notification for commit
Let me know if you're still interested about this feature

Oh, no its not a problem, we don't really use this library currently at work and i didn't find the time to make a working unit test during several months so it is better to close the PR then leaving it unfinished.