401 Unauthorized.: Consuming minimal api with JWT authentication in .NET 7 MAUI?

I have a minimal API .NET 7 installed on an external web server and use JWT for authentication. Everything works as expected. I can log in via Postman, then I get JWT and if I enter JWT in Postman, then I can also access protected endpoint and get the data from the Web API.
Now I have created a desktop application in MAUI .NET 7 and I want to use this web API. Also here the access to unprotected endpoint works as well as logging in with receiving the JWT. Only the last part of the whole thing does not work anymore and that is access to a protected endpoint with the delivery of JWT for which I constantly get the message 401 Unauthorized. If I then put the same JWT into Postman, then the request goes through Posstman and I get the data from Web API!
I Use some code examples from net:
        var requestMessage = new HttpRequestMessage
        {
            Method = HttpMethod.Get,
            RequestUri = new Uri("http://api.mywebsite.com:64591/secret")
        };
        requestMessage.Headers.Authorization = new AuthenticationHeaderValue("Bearer", Token.token);
        var response = await _httpClient.SendAsync(requestMessage);

I also installed Wireshark software and analyzed Network Transfer between my MAUI App and my Web Api (ninimal Api NET 7) on Server. Here is what I found:

the token I receive from Web Api after authentication, I also send in the same form when requesting to an Authorized Endpoint (so received and sent token from client are identical). And if I use the same token in Postman, everything works! My conclusion here is that the token is correct.
When the request with the JWT is sent from the client to the server (Web Api), I then get the error message 401. In the log I see below information with the reason Bearer error="invalid_token":

Hypertext Transfer Protocol
    HTTP/1.1 401 Unauthorized\r\n
        [Expert Info (Chat/Sequence): HTTP/1.1 401 Unauthorized\r\n]
            [HTTP/1.1 401 Unauthorized\r\n]
            [Severity level: Chat]
            [Group: Sequence]
        Response Version: HTTP/1.1
        Status Code: 401
        [Status Code Description: Unauthorized]
        Response Phrase: Unauthorized
    Transfer Encoding: chunked\r\n
    Server: Microsoft-IIS/10.0\r\n
    WWW-Authenticate: Bearer error="invalid_token"\r\n
    X-Powered-By: ASP.NET\r\n
    Date: Sun, 18 Dec 2022 09:07:00 GMT\r\n
    \r\n
    [HTTP response 1/1]
    [Time since request: 0.047969000 seconds]
    [Request in frame: 790]
    [Request URI: http://api.myserver.com:64591/secret2]
    HTTP chunked response
        End of chunked encoding
            Chunk size: 0 octets
        \r\n
    File Data: 0 bytes

There are only two error reasons I could think of:

I still have a bug in my minimal API (Web Api) and that is regarding the JWT I get from the client and somehow still need to convert/crimp the JWT maybe (where I then could not explain why the whole thing works in Postman)!? By the fact that I may use JWT in exactly the form that is sent to client, then it may be that it is wrong and that is why this error message "invalid_token" comes.
the second cause could be NET 7 / MAUI / Minimal API, so an error that occurs not because my code is wrong but because it is implemented incorrectly in NET 7 / MAUI / Minimal API (is of course not probable but not impossible).

Software versions
Microsoft Visual Studio Community 2022 (64-Bit) - Current
Version 17.4.2
.NET 7
Minimal API for Web Application in NET 7
MAUI for Windows Desktop
Thanks
tpc

Hello @true-perfect-code ... Please open this for the .NET MAUI product unit at ...
https://github.com/dotnet/maui/issues


Gurobi interface variable declaration throws error with optlang 1.4.1

Hi dear optlang team,
I was trying out Gurobi 8.0 with COBRApy, using the optlang interface, and I think something changed in the API that made the gurobi_interface crash at variable initialization.
You can reproduce the error this way:
from optlang.gurobi_interface import Model, Variable, Constraint, Objective

x1 = Variable('x1', lb=0)

/usr/local/lib/python3.6/site-packages/optlang/gurobi_interface.py in name(self, value)
    169     @interface.Variable.name.setter
    170     def name(self, value):
--> 171         internal_var = self._internal_variable
    172         super(Variable, Variable).name.fset(self, value)
    173         if getattr(self, 'problem', None) is not None:

/usr/local/lib/python3.6/site-packages/optlang/gurobi_interface.py in _internal_variable(self)
     96     @property
     97     def _internal_variable(self):
---> 98         if self.problem:
     99
    100             internal_variable = self.problem.problem.getVarByName(self._original_name)

AttributeError: 'Variable' object has no attribute 'problem'

my config is the following:
optlang==1.4.1
sympy==1.1.1
gurobi==8.0.0
python==3.6.5

I am not familiar with the inner workings of optlang, so i admit I am a bit lost as to what might cause this ...
Cheers,
Pierre
EDIT: Added python version
EDIT2: It would seem that I could reproduce the error with Gurobi 7.5 and 7.0. However, reverting to optlang 1.4.0 fixed  the issue

This is indeed a bug in optlang 1.4.1. Thanks for reporting!

This is fixed in 1.4.2


Alias after Separator no longer traversed

It appears that, with the 0.1.4 release, aliases after separators no longer are traversed in matching.
Example:
use word_filter::{Options, WordFilter};

let filter = WordFilter::new(
    &["bar"],
    &[],
    &[" "],
    &[("a", "A")],
    Options::default(),
);

assert_eq!(filter.find("b Ar"), vec!["bar"].into_boxed_slice());

This is a regression, as it was working in 0.1.3. Some work was done to refactor finding pointers, specifically with finding aliases, so that may be a place to look.
For now, I will yank 0.1.4.

The issue is with this line. It defines a HashSet inline, which unfortunately doesn't define a new set every time, but instead defines one set that is repeatedly used. Therefore, since the set is filled with addresses of already-visited nodes, trying to find alias nodes after passing through a separator means every single alias will have already been visited on the previous iteration.
The solution is to define a new HashSet on every iteration.

Fixed with this commit.


Fixed querying cores by serial number

Querying a core with a query like:
oddity.CoresEndpoint.Query().WithFieldEqual(a => a.Serial, "B1051")

Would always fail. Fixed that.
The model for cores did not have a JsonProperty attribute on the Serial property, this is fine for deserialization because it's not caps sensitive. However this meant that the query sent out would be {"Serial":"B1051"} which is not valid because queries are caps sensitive.
I've only fixed this in the one model I had an issue with, but I suspect this is a problem for quite a few other models!

Hi, thanx for the report. There is a bug indeed with fields without JsonProperty attribute:
if (jsonPropertyAttribute != null && jsonPropertyAttribute.ConstructorArguments.Count > 0)
{
    members.Insert(0, (string) jsonPropertyAttribute.ConstructorArguments[0].Value);
}
else
{
    members.Insert(0, memberExpression.Member.Name);
}

Oddity has a special method that translates field names (because sometimes they aren't the same as in API). By accident, I forgot to add .ToLower() in the second insert, which led to sending API field names like "Serial" instead of "serial" in the query. I will fix it this way, so the models will stay the same.

Fixed, I've just pushed v2.0.2 into the Nuget. Sorry that I won't merge your pull request, but I think that this solution will be better. Feel free to report any issues if you spot some!

Your fix does look better than mine. Thanks for merging and publishing it so quickly 👍


How to modify URL link ?

How to modify URL link ? look like only can modify the Name ? Description ? but not the URL link.

Yes it is. The logic of the application is that you cannot change the URL, because if you edit the URL, it means that it is a completely different link. All you can do is remove the old link and add a new one.

Actually I'd like to propose a revamp on the link creation/edition for later. I tried some dashboard apps lately and saw they proposed the following features:

Picking site icon if possible (we already have that but there are instances where the site is inaccessible from the server and i think this should be performed by client and the icon uploaded to the server. Also, i think we should not propose that feature to be launched automatically cause it makes one go crazy to lose a title or description they written themself. )
propose sets of icon, there are lots of projects for that and some of these solutions may be really easy to implement:
Favicon - Automatically fetch an apps icon from its Favicon or logo image
Icon Packs - Use any icon from font-awesome, simple-icons or material icons
Emoji - Any valid emoji can be used as an icon
URL - Pass the URL of any valid image in to have it fetched and rendered
Local - Store custom images locally and reference by filename


Fix ordering of grouping textboxes. The first grouping of textboxes should be skipped if there are intermediate textboxes.

Description
#315 introduces a bug by replacing 0 by True and 1 by False in the ordening of textbox distances. Consequently, all the text boxes that are checked once (for intermediate textboxes) have priority over those that are never checked. Therefore it merges the same text box over and over again.
@mikkkee, can you have a look at this?
Fixes #334
How Has This Been Tested?

[x] I've use the pdf in #334 to check the output
[x] I've added a debug log statement to see the order in which text boxes are grouped.
[x] The doctests in the documentation improved
[ ] Check speedup improvement from #315

Checklist

[ ] I have added tests that prove my fix is effective or that my feature works
[x] I have updated the README.md and other documentation, or I am sure that this is not necessary
[ ] I have added a consice human-readable description of the change to CHANGELOG.md
[x] I have added docstrings to newly created methods and classes
[x] I have optimized the code at least one time after creating the initial version

After figuring out what has happened, I think this PR is fine. I can confirm the speed up is still there.
The current develop branch failed using my test script in #315 with RecursionError: maximum recursion depth exceeded. Shall we add my 01.pdf test as an unit test?


HTTPS

Hi,
I really like this tunneling method since its free and one f the best you could get but I noticed that I cant connect to https services even if the port is  running on my pc and its also the remote server is also working?
is it a problem for my side or https only support specific servers or webpages??

Https should be supported for everyone, but there is a few caveats at the moment, most importantly, the service exposed to remotemoe most also provide ssl/tls, even though this double layer of encryption does not provide anything really
Have a look at #3  , it goes into more detail

HTTP works fine.
Is HTTPS down at the moment?
ssh-keygen -q -t rsa -N "" -f id_rsa
ssh -i id_rsa -R443:0:8443 -o StrictHostKeyChecking=accept-new<EMAIL_ADDRESS>
curl -vfL https://ikeq2ad2kitwitm6c7wjekjzbu7g5viidr4syw44vl73o45gr35q.remote.moe/
*   Trying <IP_ADDRESS>:443...
* Connected to ikeq2ad2kitwitm6c7wjekjzbu7g5viidr4syw44vl73o45gr35q.remote.moe (<IP_ADDRESS>) port 443 (#0)
* ALPN, offering h2
* ALPN, offering http/1.1
*  CAfile: /etc/ssl/certs/ca-certificates.crt
*  CApath: /etc/ssl/certs
* TLSv1.0 (OUT), TLS header, Certificate Status (22):
* TLSv1.3 (OUT), TLS handshake, Client hello (1):
TIMEOUT


Misleading _getConnectingEdges documentation

I just spent quite some time trying to figure out why graph._getConnectingEdges doesn't work. Initially I was even having headaches with an "is not a function" error, because in the documentation the function is called "_connectingEdges". But the real problem is this:
  _getConnectingEdges (vertexExample1, vertexExample2, options) {
    options = options || {};
    // TODO
    return [];
  }

Please update the documentation to reflect the fact that the function is not yet implemented.

Managed to waste another 15 minutes due to this issue (had already forgotten about it). Would still appreciate a short note "not yet implemented" in the docs. :)

Ugh, same here. Now the method contains a big chunk of commented-out code 👎

@graetzer Doesn't seem to be related to the multithreaded import commit, but you added the code there: https://github.com/arangodb/arangodb/commit/2f2d07ab9ac83953b12ffa136b4976e51f808428#diff-9de27fae767eff5586ca4de20eaa8722
Is it working?
One thing: I think ${optionsVertex1.maxDepth || 1} should be changed to ${optionsVertex1.maxDepth || optionsVertex1.minDepth || 1} because that is the AQL behavior AFAIK.

See https://github.com/arangodb/arangodb/issues/7395#issuecomment-443838448


Fix histogram removing last spurious bin

This is a use case to detect the issue:
       const features = [
            { field: 1 },
            { field: 2 }, { field: 2 },
            { field: 3 }, { field: 3 }, { field: 3 },
            { field: 4 }, { field: 4 },
            { field: 5 }
        ];

        const ticks = [2, 4, 6];

        const h = histogram(features, 'field', ticks, AggregationTypes.COUNT);
        console.log(h); // [1, 5, 3, 0, 0]

Results
Histogram results should be interpreted as:
>=MIN to <2     --> 1 item
>=2 to <4       --> 5 items
>=4 to <6       --> 3 items
>=6 to MAX      --> 0 items
BUT there is an extra bin, with value 0, that shouldn't be there (unless I'm missing something non obvious)

We still have to fix tests on viewportFeatures. that I missed

Pull Request Test Coverage Report for Build 661481070

2 of 2 (100.0%)  changed or added relevant lines in 1 file are covered.
No unchanged relevant lines lost coverage.
Overall coverage increased (+0.04%) to 79.292%

Totals

Change from base Build 658953656:
0.04%

Covered Lines:
583

Relevant Lines:
698

💛  - Coveralls


Add M3 to internal datasets

🚀 Feature Request
We want to add M3 dataset to internal datasets.
Proposal

Add M3 with different seasonalities to datasets_dict :

datasets_dict = {
    "m3_monthly": {
        "get_dataset_function": partial(get_m3_dataset, dataset_freq="monthly"),
        "freq": "M",
        "parts": ("train", "test", "full")
    },
    "m3_quarterly": {
        "get_dataset_function": partial(get_m3_dataset, dataset_freq="quarterly"),
        "freq": "Q",
        "parts": ("train", "test", "full")
    },
    "m3_yearly": {
        "get_dataset_function": partial(get_m3_dataset, dataset_freq="yearly"),
        "freq": "Y",
        "parts": ("train", "test", "full")
    },
    "m3_other": {
        "get_dataset_function": partial(get_m3_dataset, dataset_freq="other"),
        "freq": "Q",
        "parts": ("train", "test", "full")
    },
}

Add get_m3_dataset function for loading M3 dataset. We have to add dataset description and reference links to docstring: initial source link, source that we use).

def get_m3_dataset(dataset_path: Path, dataset_freq: str) -> None:

Important notion
We have to create custom timestamps, because TSDataset can't work with series that have different last dates. We should also save real timestamps as exogenous data.
Test cases

Check M3 datasets (number of segments, min/max dates).
Add tests that check for the existence of exogenous data.

Additional context
See https://github.com/etna-team/etna/pull/83 as an example.

Closed by #91

Closed by #91


Add automatic creation of visualizationSpecification.tsv for standard plots

Would be nice to have the following:
If nothing else is specified, then every experimentId gets an independent plot (as time course, for example) and plots the different observables in different colors

We basically have that now: A pandas dataframe is created now, according to some simple lists, specified by the used or even completely automated. It's just not saved as a tsv. I would also now argue against saving it, as it's only of temporary use...


Automated commits overwriting the script section of .gitlab-ci.yaml[bug]

Describe the bug
This may not be a bug but just user error. I am deploying using gitlab ci. If I want to change the qhub version for the deployment I modify the script section of .gitlab-ci.yml and set pip install ... to the version I want to deploy.  Should I just simply be putting such commands in the before_script section of the qhub-config.yaml?

I tried switching the qhub install to the before_script section. It stays there... but the qhub install in the script is still written to .gitlab-ci.yml without fail... which installs over whatever version I have specified.
So currently I have to revert that part of the autocommit following every deployment.

I'll put in another shameless plug for idea proposed here.

Thanks @brl0, that solves my conundrum. I'm happy to close this in favor of that. And typically moving commands to the before_script section is an adequate solution for autocommits batting ones changes in the script section.

I'm happy to close this in favor of that

IMO, I think this is worth keeping open.
My suggestion is basically to support an arbitrary qhub install command which would make it easy to use a custom branch or fork.
That said, I think this request is also reasonable, since a custom install should probably be a fallback or an option of last resort for more advanced or sophisticated scenarios.
But I really think it would help scenarios like this, where a temporary solution is needed before a feature is fully integrated into qhub and a new release is made with that change, which reasonably can sometimes take weeks.

This is SO FRUSTRATING. Just wanted to throw my two cents in there LOL :)

There is a mechanism in place for the GitHub Actions versions of the workflow allowing you to use a specific branch of qhub for the qhub install.
This is designed for development (e.g. main branch), but you could just as easily use the 'release-x.x.x' branch.
To use it, set a QHUB_GH_BRANCH env var as described here.
This perpetuates the correct pip install version even through redeployment due to this block of code in the GitHub workflow.
Something similar is missing from GitLab, although the pip install command is correct.

Excellent. Thank you. I’ll take a look.


CAD-3098: integrate generator into the workbench

This implements the initial transaction generation integration into the workbench.
The transaction generator is started once the local cluster comes online (there is no sophisticated run sense/control as in cardano-ops yet).
In addition, this also optionally provides the R Studio inside nix-shell (only when withR is true).

bors r+

bors r+


refactor: enhance request_handler

Summary:
Enhanced request_handler and cleaned duplicated code in request_handler.rs
By making these changes, it reduce code duplication and improve code readability and maintainability without altering the core functionality of the request_handler.
Issue Reference(s):
Fixes: #1431
/claim 1431

What you have done in this PR is not even correct Rust syntax. Closing it for those reasons.


AttributeError: 'ConstantinopleState' object has no attribute 'account_db' `

Version: 0.1.0b39
Python: 3.7.3
OS: macos

What was wrong?
python3 -m venv venv
source venv/bin/activate
pip3 install py-evm
pip3 install eth-tester
pip3 install eth-hash[pysha3]
python3
>>> from eth_tester import EthereumTester
>>> t = EthereumTester()
>>> t.get_balance(t.get_accounts()[0])
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/Users/xuanji/gits/cf/py-evm-tester/venv/lib/python3.7/site-packages/eth_tester/main.py", line 225, in get_balance
    raw_balance = self.backend.get_balance(raw_account, raw_block_number)
  File "/Users/xuanji/gits/cf/py-evm-tester/venv/lib/python3.7/site-packages/eth_tester/backends/pyevm/main.py", line 394, in get_balance
    return vm.state.account_db.get_balance(account)
AttributeError: 'ConstantinopleState' object has no attribute 'account_db'

How can it be fixed?
¯\_(ツ)_/¯

eth-tester beta 3?  Can you upgrade to beta 39?

I copied and pasted wrongly... the version should be 0.1.0b39. updated.

This already fixed on master.
https://github.com/ethereum/eth-tester/blob/4e199f6586a3c8d629316d945b502a44f0e15c8a/eth_tester/backends/pyevm/main.py#L394
You probably need to do something like pip install eth-tester[py-evm] to get the right versions.

ok, can the changes be pushed on pypi?

@pipermerriam OK, after reading the setup.py more carefully I see why I triggered this bug. setup.py says it pins py-evm version, but actually this only means that installing eth-tester[py-evm] installs the specified version of py-evm. You can install incompatible versions of eth-tester and py-evm separately.

Can the readme be updated to reflect this?
Can a version check be added at runtime so that installing incompatible versions is not possible?


[11.2.0-rc1] OpenFolderPickerAsync returns a directory path with an extra "/".

Describe the bug
OpenFolderPickerAsync returns a directory path with an extra "/".
To Reproduce
var result = await topLevel.StorageProvider.OpenFolderPickerAsync(new()
{
    AllowMultiple = false
}).ConfigureAwait(true);

var localPath = result[0].Path.LocalPath;
// localPath = "/User/oneo/"
// localPath should not end with “/”

Expected behavior
No response
Avalonia version
11.2.0-rc1
OS
No response
Additional context
No response

Can you explain in what conditions directory path trailing slash is a bug for you?
It was changed for consistency with macOS APIs, where assumes that path is a directory if it ends with a slash in various APIs, like https://developer.apple.com/documentation/foundation/nsurl/1410828-fileurlwithpath?language=objc.

I understand this change, Our program is designed in the WPF API style without a "/" suffix, and may require some adjustments to accommodate the changes, thank you.


Lightning

About the PR

Added Lightning Bolt spell for wizard.
Why / Balance

More offensive spell options for wizard. Should be roughly equivalent in power to fireball. Numbers may need to be tweaked for proper balance but functionality is there.
Technical details

Added LightningSpellEvent, listened to in Server MagicSystem cause ShootLightning and its random version are only available to the Server MagicSystem, had to change the Speak and PassesSpellPrerequisites in the Shared MagicSystem from private to protected to use in the Server's MagicSystem.
Media

https://github.com/user-attachments/assets/f898a35c-f3ec-4d8f-8a10-f009d2e98a89
Requirements

[X] I have read and am following the Pull Request and Changelog Guidelines.
[X] I have added media to this PR or it does not require an ingame showcase.

This should not have a changelog. Wizards aren't in the game yet.

Holy moly, why tesloose when you can wizloose?

In case anyone worries about the PR freeze/restriction for magic/spells/spellbook/wizard, I worked on this with KeronSHB, they're in charge of the freeze.
This is my first PR so apologies for my mistakes. Should I get rid of the changelog..? Since Wizard is 'technically' in the game but just not playable (by default) yet.

This is my first PR so apologies for my mistakes. Should I get rid of the changelog..? Since Wizard is 'technically' in the game but just not playable (by default) yet.

Yes. The changelog is for players, and they won't see this ingame until wizard is fully implemented.

Can you remove it exploding tech? Kinda goes out of scope for wiz

Can you remove it exploding tech? Kinda goes out of scope for wiz

Not without significant rewriting. Random lightning looks for all entities within range that have the 'LightningTarget' component, which is basically anything but the floor. I'd have to either edit the random lightning function to be configurable to only target 'living' entities, hopefully using a pre-existing component on them, or I'd need to create a separate function solely for wizard, or some other third option I can't think of right now.
Also: I'm pretty sure fireball explodes tech. And everything else nearby it. Exploding stuff doesn't feel 'out of scope' to me for wizard.

when i said out of scope i mainly was referring to exploding technology and power sources. you can probably do some kind of blacklist to APCs and consoles i think but im not a coder

when i said out of scope i mainly was referring to exploding technology and power sources. you can probably do some kind of blacklist to APCs and consoles i think but im not a coder

Not without a new tag

KeronSHB brought up a good point to me that fireball is dangerous to both caster and everyone else. Currently the lightning bolt won't arc back towards the caster due to the way the lightning is coded, which makes sense for lightning but means that this is safe to use while fireball isn't. So I'm thinking already I need to nerf or change this.
Currently the biggest amplifier of damage is the random bolt count. I'm gonna decrease it from 4 to 3. Then, I'm considering creating new lightning types specifically for the spell, which effectively mimic their counterparts but with decreased damage. This'll make sure it's balanced with fireball, since it's safer (for them) but deals significantly less damage.
The alternative of course is to reconfigure the random lightning for this spell to arc back to its origin point, which means you'll get hit by a bolt if you're too close, making it as dangerous as fireball for both yourself and your target(s). Not sure which way to go here...

I agree with you making a new lighting so then you can add the functionality of not decimating bridge the second you cast it after teleporting there.

I agree with you making a new lighting so then you can add the functionality of not decimating bridge the second you cast it after teleporting there.

https://github.com/user-attachments/assets/60dea537-e5f3-45c5-b318-33c3ffdd8357

isn't wizard supposed to be a force to be reckon with? also i'm pretty sure spells innately deals less damage to the caster to prevent instantly dying to the one assistant filled with stimulant rushing you.

I want to redo this PR.


Add icon images to Icon-view

Add more assets for common file types (doc/docx, pdf, png/jpg/bmp)
Also have query be sent after an amount of time of hovering over an image file asking for image preview/thumbnail.

50a05ae0bccec6e29ea20a373311a13dde49f9ee added assets & selectors for text files, word docs, and some image formats.
Special thanks to this tutsplus link for selector information.

To add assets for:

books (epub, mobi)
pdf
songs (mp3, wav, tta, flac)
videos (mp4, mkv, avi)
executables?
more

If more assets need to be added or some issue appears, reopen this issue.


Req: Option to disable "grammar module name prefixing"

Suggestion
Requesting a constructor option to disable the "double underscore" prefixing of targets based on grammar module names.
Consider grammar file main.lark:
%import foo.target_in_foo
...
start: sometarget

sometarget: othertarget
    | target_in_foo

and grammar file foo.lark
target_in_foo: t1 t2 t3 -> target_in_foo

when target_in_foo is fulfilled, the transformer call doesn't seek the method target_in_foo(). Instead, it seeks foo__target_in_foo(). This means that transformer alias methods need to carry the module name of the matched target.
For refactoring of grammar files ie moving targets between files, this adds the burden of also renaming the transformer target methods.
Describe alternatives you've considered
In my transformer class, I have patched around this by adding a __getattr__() shim, which detects the modulename__ prefixes and strips them, returning references for target alias methods that are named without the prefixes.

Have you tried merge_transformers() for resolving this use-case?
Read through this: https://github.com/lark-parser/lark/tree/master/examples/composition


Unable to build for android

Hello,
I am trying to use this "Cordova-admob-pro" plugin in my project by installing it through "cordova-cli-5.1.1" but when I execute "cordova build android" I am getting this error
uses-sdk:minSdkVersion 7 cannot be smaller than version 9 declared in library /home/dinesh/Development/Mywork/SoCo/platforms/android/build/intermediates/exploded-aar/com.google.android.gms/play-services-ads/7.5.0/AndroidManifest.xml
Suggestion: use tools:overrideLibrary="com.google.android.gms.ads" to force usage
:processDebugManifest FAILED
kindly help me to fix this issue.

I think the error message is quite clear.
Check your AndroidManifest.xml, if there is a number 7, then change it to a bigger number, like 9 or something.

yes I tried doing that but soon after executing "cordova build android" the changes which I made to AndroidManifest.xml getting changed to 7
I think its because of Gradle but I couldn't find&change the setting in build.gradle

I am so sorry, it was a issue raised because of the config.xml which I have used and now i have updated that  minsdkversion to 10 so now its building.
Thanks for the support.


Change from brackets to parens for file load suggestion

Thank you for your contribution! We will review the pull request and get back to you soon.

I don't understand the comment in the code well enough to guess at what it means or how to change it.


Read text data from details JSON if present

This change is necassary due to changes on the openQA side. The text file might not be available anymore. Its content is instead directly incorporated into the details JSON document.
See https://progress.opensuse.org/issues/69058#note-1

Let's see whether the CI checks still pass. I had troubles running the tests locally. At least python3 openqa_review/openqa_review.py -vvvv -n -r -T --no-empty-sections --include-softfails -J https://openqa.suse.de/group_overview/290 shows no 404 errors anymore.

The CI checks seem to work after all. tox works also locally as well; only py.test tests/test_openqa_review.py -vv fails here as if only the test data change was applied but not my code change.

s/necassary/necessary/ in git commit message

thanks. Tagged the version with git tag -f 1.20.1 && git push -f origin 1.20.1 && git push -f origin HEAD:master for a nice package version in https://build.opensuse.org/package/show/home:okurz/python-openqa_review and called https://build.opensuse.org/package/view_file/devel:languages:python/python-openqa_review/_update.sh?expand=1 which created https://build.opensuse.org/request/show/822609


[Feature]: Expose hasMore and add estimatedTotal to Collection

Tell us about your feature request
Expose hasMore and add estimatedTotal to Collection to align with pagination (https://developer.paddle.com/api-reference/about/pagination).
https://github.com/PaddleHQ/paddle-node-sdk/blob/2fb1bb5b09cfcee2c902081cb444d5acd166b45d/src/internal/base/collection.ts#L5-L8
What problem are you looking to solve?
Facilitate pagination in application.
Additional context
No response
How important is this suggestion to you?
Nice to have

Hi @mw10013,
Thank you for your feedback.
We made a conscious design decision to abstract the internal workings of pagination and not to expose them for general usage.
With that said, I agree that there could be some benefits of exposing these properties. We will come up with a scalable solution that follows our design philosophy and makes it easy to use.


enable using the analysis options file to configure the severity of lints

Users should be able to configure the severity of lints using the analysis options file, the same as they can do for other analysis issues:
https://www.dartlang.org/guides/language/analysis-options#configuring-specific-rules-for-analysis
analyzer:
  errors:
    annotate_overrides: warning
linter:
  rules:
    - annotate_overrides

We should investigate why this isn't working.
/cc @pq @bwilkerson

(looking at this now - this may be a quick fix)

https://codereview.chromium.org/2863013002/


Add a note for image automation to upgrade guide

Add example on how to upgrade when the Flux image automation feature has been enabled at bootstrap.
Closes: https://github.com/fluxcd/flux2/issues/4259

thanks :+1:


The number of Footnotes added

After I used the move-footnotes-to-the-bottom and re-index-footnotes, the number of the footnotes was added.
See the discussion on discord: https://discord.com/channels/686053708261228577/722584061087842365/889892608522997780

Found the issue, have committed a fix in PR #65.
Should be fixed in the next release, until then you can simply deactivate move-footnotes-to-the-bottom since that rule causes the issue.

Great, thanks, Chris!


file-loader paths are not ok when homepage is set to "./"

Describe the bug
Given a project where homepage is set to "./" and an mp3 asset in src/sounds/foobar.mp3, when we use import with the mp3 we found this:
In local mode (yarn start) the generated url will be "/static/media/foobar.hash.mp3", which is only right when localhost is serving from the root, but not when it is being served from another path (e.g. a proxy). It should be "static/media/foobar.hash.mp3".
In build mode (yarn build) the generated url is "../static/media/foobar.hash.mp3", which just plainly doesn't work.
Did you try recovering your dependencies?

Yes, 1.19.1 (yarn)
Environment

System:
    OS: macOS 10.14.6
    CPU: (12) x64 Intel(R) Core(TM) i7-8850H CPU @ 2.60GHz
  Binaries:
    Node: 8.16.0 - ~/.nvm/versions/node/v8.16.0/bin/node
    Yarn: 1.19.1 - /usr/local/bin/yarn
    npm: 6.4.1 - ~/.nvm/versions/node/v8.16.0/bin/npm
  Browsers:
    Chrome: 77.0.3865.120
    Firefox: 67.0.4
    Safari: 13.0.1
  npmPackages:
    react: ^16.3.2 => 16.10.2
    react-dom: ^16.3.2 => 16.10.2
    react-scripts: ^3.0.1 => 3.2.0
  npmGlobalPackages:
    create-react-app: Not Found

Steps to reproduce

(Write your steps here:)

create a new project
create an mp3 inside src
set homepage in package.json to "./"
import the mp3
console log the url in watch mode and in build mode

Expected behavior
I'd expect the console log to print in both cases "static/media/foobar.hash.mp3"
Actual behavior
In "start" mode it prints "/static/foobar.hash.mp3", in "build" mode it prints "../static/foobar.hash.mp3"

I think we don't currently support PUBLIC_URL in development, so localhost is will always serve from root. There's a PR open but it needs a lot of work.
For the other case I'm unable to reproduce: it prints out ./static/media/example<hash>.mp3 which should be correct. Could you make a repository that reproduces? Here's my attempt if you want to work off it.


Improve bash completion of containers

Before this PR, completion of containers was done by getting a list of all container IDs with docker ps -aq and then docker inspecting all containers, applying filtering and formatting at this stage.
Now, the "new" filtering and formatting capabilities of docker ps are used to do this in just one step, only looking at the required containers. This should yield a significant performance boost.
Other changes that improve consistency with existing completions:

a new env var DOCKER_COMPLETION_SHOW_CONTAINER_IDS lets the user decide whether IDs should be included in completions or not. This feature already exists for images, networks, nodes and services.
introduce a helper function that just lists the containers. This is helpful for developing and debugging.
move the logic of whether names or IDs should be returned into this helper function with --id|--name  options.
a new --cur option avoids modifying the global $cur variable.

ping @tianon for review / merge

Can you please also take a look at my other pending PRs (#27316, #27239, #27235)?
bash completion for #23614 depends on them.
In addition, completion for #26025 will require massive restructuring, so I'm not going to start work on it before my other PRs are incorporated.
Can you tell me what features will leave experimental in 1.13.0?

Just tested this in the DIND container (bash version 4.3.30)
The following 2 cases failed to produce completions for me:

docker ps --filter --before=
docker run --network container:

Not sure what's causing them to fail though.

Thanks very much for looking into this, @mlaventure.
You're right with your findings, these were indeed regressions introduced in this PR.
I just pushed fixes.

Everything seems to work now.
LGTM!
ping @tianon

LGTM :heart_eyes_cat:


NUnit TestCaseSource Attribute

Is there any interest in supporting NUnit's TestCaseSource attribute?
https://docs.nunit.org/articles/nunit/writing-tests/attributes/testcasesource.html

Hi @SuborbitalSentinel. Yeah, for sure. There are a bunch of attributes that need adding to the adapter, so I'll be working my way through them, as time allows.


"What's New" formatting wrong/missing

Hi there!
I just installed the extension, and not sure if this is related to #3 but formatting seems to be wrong/missing (including broken header image) in my VS Code:

Output from VS Code -> About Visual Studio Code -> Copy:
Version: 1.45.1
Commit: 5763d909d5f12fe19f215cbfdd29a91c0fa9208a
Date: 2020-05-14T08:33:47.663Z
Electron: 7.2.4
Chrome: 78.0.3904.130
Node.js: 12.8.1
V8: 7.8.279.23-electron.0
OS: Darwin x64 19.4.0

Let me know if there's anything else helpful I can provide!
Cheers

Hi @runofthemill ,
Yes, exactly. But in fact, it’s an error caused by VS Code. The error started to happen with the latest VS Code release, with a lot of other extensions too.
It appears something has changed in VS Code internals (probably because the recent changes for remote development), creating breaking changes for extension developers. Then, they updated the API and extensions need to update as well. You can find more details on issues like this (https://github.com/microsoft/vscode/issues/89038) and related issues.
The VS Code team created another issue to track extensions that have adopted the new API (https://github.com/microsoft/vscode/issues/97962), and I asked if they will release the new API as stable in the next monthly release, but I didn’t have an answer yet :sad:.
Thanks for reporting.


Support time dependent parameters for all node types

Currently only Basin and TabulatedRatingCurve support it.
What is needed:

[ ] create the schemas in validation.jl
[ ] add the schemas to the usage docs
[ ] run gen_schema.jl
[ ] add the schemas to python and QGIS
[ ] write an update_x callback in bmi.jl and use it
[ ] update the table list in https://deltares.github.io/Ribasim/core/usage.html#node

If #178 would be merged first these steps might change a little.
For Basin the time-dependent table is called Basin / forcing, but I'd propose " / time" for all these tables.
The TabulatedRatingCurve is unique in that a table has to be updated rather than scalars. For the other node types it will probably look more similar to the basin_update. I guess perhaps it is possible to automate parts of this, but that could also be done after implementing it manually first. Right now it's a limitation that only some things can get updated.

I guess perhaps it is possible to automate parts of this, but that could also be done after implementing it manually first.

Refinement: let's check the duplication and automate/generalize after the first manual implementation(s).

Sub issues:
https://github.com/Deltares/Ribasim/issues/397
https://github.com/Deltares/Ribasim/issues/439

What about time dependent control levels for the DiscreteControl?


The SQLite driver doesn't work on mac on the lastest version

System information:

Operating system: macOS Mojave 10.14.2
DBeaver version <IP_ADDRESS>206051253
Java version ?

Describe the problem you're observing:
Have to use an SQLite database for a class in uni and it works on everyone's mac but mine. After installing it for the first time I got an error and it couldn't open any databases. Then cause it wasn't downloading the SQLite driver on its own in the menu. We just deleted SQLite and wanted to add it back manually.
It says I have to install the driver and when you want to download it there aren’t any you can select and download.
But now I’ve tried installing DBeaver at least 4 times and it just won’t work. Like I can’t do anything. Downloaded sqlite jdbc <IP_ADDRESS>.jar and the latest dbeaver version.
Redownloading DBeaver and sqlite jar data, also didn't change anything. Cause SQLite still wasn't back and the test database I made in the beginning, was still in the app for some reason. Have to specifically use SQLite, others would've maybe worked. But now I don't know how to add it back or get the driver to work.
Include any warning/errors/backtraces from the logs
Error Log - db.log

hi @amorfxda , sorry for the late response.
Could you try to Reset to the default settings in Edit Driver Dialog and then Update the driver?


Remove unused trait imports

r? @alexcrichton
(rust_highfive has picked a reviewer for you, use r? to override)

@bors: r+ 3ee54eca24e945a3cd34e1493e039a98d2cbdd17

:hourglass: Testing commit 3ee54ec with merge b205d39...

:broken_heart: Test failed - cargo-cross-linux

@bors: retry
On Tue, May 3, 2016 at 8:43 AM, bors<EMAIL_ADDRESS>wrote:

[image: :broken_heart:] Test failed - cargo-cross-linux
http://buildbot.rust-lang.org/builders/cargo-cross-linux/builds/42
—
You are receiving this because you were mentioned.
Reply to this email directly or view it on GitHub
https://github.com/rust-lang/cargo/pull/2636#issuecomment-216571110

:zap: Previous build results for cargo-linux-32, cargo-linux-64 are reusable. Rebuilding only cargo-cross-linux, cargo-mac-32, cargo-mac-64, cargo-win-gnu-32, cargo-win-gnu-64, cargo-win-msvc-32, cargo-win-msvc-64...

:broken_heart: Test failed - cargo-cross-linux

@bors: r+ ad369c9882a092cba541f8756053ebb076c83a4d

:hourglass: Testing commit ad369c9 with merge 26288f7...

:broken_heart: Test failed - cargo-win-gnu-32

@bors: retry
On Tue, May 3, 2016 at 10:18 AM, bors<EMAIL_ADDRESS>wrote:

[image: :broken_heart:] Test failed - cargo-win-gnu-32
http://buildbot.rust-lang.org/builders/cargo-win-gnu-32/builds/471
—
You are receiving this because you were mentioned.
Reply to this email directly or view it on GitHub
https://github.com/rust-lang/cargo/pull/2636#issuecomment-216601261

:zap: Previous build results for cargo-linux-32, cargo-linux-64, cargo-mac-32, cargo-mac-64, cargo-win-gnu-64, cargo-win-msvc-32, cargo-win-msvc-64 are reusable. Rebuilding only cargo-cross-linux, cargo-win-gnu-32...

:sunny: Test successful - cargo-cross-linux, cargo-linux-32, cargo-linux-64, cargo-mac-32, cargo-mac-64, cargo-win-gnu-32, cargo-win-gnu-64, cargo-win-msvc-32, cargo-win-msvc-64


[CIRCT] Add changes for symbolic instance names.

Blocked on https://github.com/llvm/circt/pull/1924.

LGTM


What's the least privileged permissions need to grant permissions to the newly created principal on sites operation

[Enter feedback here]
We need operate with SharePoint site and we use app-only ACS authentication to do. Refer to your doc and want to confirm:
To grant permissions to the newly created principal via [https://contoso-admin.sharepoint.com/_layouts/15/appinv.aspx], what's the least privileged permissions? We can do it work by site owner before, but currently just site admin can work.

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

ID: 35a3017a-6d6c-237f-fc57-94247a8f7bf6
Version Independent ID: 93413445-18fa-9245-ea64-1c1d789dce1e
Content: Granting access using SharePoint App-Only
Content Source: docs/solution-guidance/security-apponly-azureacs.md
Product: sharepoint
GitHub Login: @VesaJuvonen
Microsoft Alias: vesaj

@Jingshu923 you can find this information in the Add-in permissions in SharePoint documentation.

Seems this doc can't help me. I want to know what the least privileged permission can grant add-in permission, not about granting which permission.
To grant permissions to the newly created principal via https://contoso-admin.sharepoint.com/_layouts/15/appinv.aspx, what's the least privileged permissions can do this grant?

You need full control permissions to add an app from the SharePoint store, so it's likely that the same applies in your situation:
"You must have Full Control permissions to add apps from the SharePoint Store.

My "app" means using service principal to have permission on SharePoint, not "an app".
Do you know the least privileged permissions to do this as the picture show?

The user would need to be a SharePoint administrator, since the page above is part of the SharePoint admin center (https://contoso-admin.sharepoint.com/_layouts/15/appinv.aspx).

Thanks. Could you help confirm this with developer since we can make it work before by using Owner permission. But can't work now. Are there any changes recently?

The page you're referring to app only creation page in admin center https://contoso-admin.sharepoint.com/_layouts/15/appinv.aspx have always been inaccessible to those who are not SharePoint administrators. You cannot access the SharePoint admin center without being a SharePoint administrator.
You might be referring to a site level app registration page e.g. https://mytenant.sharepoint.com/sites/mysite/_layouts/15/appinv.aspx


Request: allow deleting entry from playlist and exporting of edited playlist

Is your feature request related to a problem? Please describe.
No.
Describe the solution you'd like
After clicking on an entry in the playlist, the stream starts as usual.
If the user sees a login error or some other error, user can right-click on player or playlist and delete channel from playlist.
Describe alternatives you've considered
Manually deleting entry in text editor

If the playlist is imported from a file or text (not from a URL), the playlist editing feature would be useful, such as adding or removing channels, modifying channel logos, etc.


Add bigchaindb master in travis

Add a matrix row to travis that will run the client tests against BigchainDB server master branch.
Since this may fail, the following docs can be followed to tolerate failures: https://docs.travis-ci.com/user/customizing-the-build#Rows-that-are-Allowed-to-Fail

Travis runs master right now so this should be closed?

Travis runs master right now so this should be closed?

I just refined the description to clarify. The current tests are running against the latest release of BigchainDB (server), not the master branch.
See https://github.com/bigchaindb/bigchaindb-driver/blob/master/.ci/travis-install.sh#L10
So in addition to installing the server with pip install bigchaindb, a new row in travis would have bigchaindb installed via:
pip install git+https://github.com/bigchaindb/bigchaindb-driver.git


Fix grammar

Why:
There was a grammar mistake in the strategy/matrix docs.

What's being changed (if available, include any code snippets, screenshots, or gifs):
Chaging that are based the combinations of the variables to that are based ON the combinations of the variables.

Check off the following:

[x] I have reviewed my changes in staging (look for the "Automatically generated comment" and click the links in the "Preview" column to view your latest changes).
[ ] For content changes, I have completed the self-review checklist.

Writer impact (This section is for GitHub staff members only):

[ ] This pull request impacts the contribution experience

[ ] I have added the 'writer impact' label
[ ] I have added a description and/or a video demo of the changes below (e.g. a "before and after video")

@asztalosdani Thanks so much for opening a PR! I'll get this triaged for review :zap:


chore: add cur stat to heartbeat handler's accumulator

I hereby agree to the terms of the GreptimeDB CLA
What's changed and what's your intention?
This pr mainly

add a stat field to HeartbeatAccumulator so that later handler can make use of current heartbeat stat instead of re-make one from req
change to Arc<Stat> in StatValue to prevent cloning the whole struct

Please be aware, this pr introduce serde's rc feature in root workspace. If it's not preferred we can make rc feature restrict to meta-srv crate.
Checklist

[ ]  I have written the necessary rustdoc comments.
[ ]  I have added the necessary unit tests and integration tests.

Refer to a related PR or issue link (optional)

I've made the same changes in #1214

Ok, let's focus on that pr


What is the role of facenet.prewhiten

I saw the code of compare.py and found the function prewhiten.
What is the role of facenet.prewhiten?

It subtracts the average and normalizes the range of the pixel values of input images. It makes training a lot easier.


docs: Add gcc-multilib dependency to development setup

This is required to build the Cipher paratime.

Oops, an external contributor has already made this change here: https://github.com/oasisprotocol/oasis-core/pull/4475
I'll close this PR in favor of that one.


integer overflow on a particular regex

What version of regex are you using?
1.8.1 (latest)
Describe the bug at a high level.
The following code causes an integer-overflow panic in debug mode:
fn main() {
    regex::Regex::new("  {2147483516}{2147483416}{5}").unwrap();
}

What are the steps to reproduce the behavior?
https://play.rust-lang.org/?version=stable&mode=debug&edition=2021&gist=0f0b53f5c300a71ce6098e767d13cbc2
What is the actual behavior?

integer overflow

panic in debug mode
seemingly returns the right answer (Err(CompiledTooBig(10485760))) anyway in release mode

What is the expected behavior?
Return the right answer (Err(CompiledTooBig(10485760))) without integer overflow.
Acknowledgement
The fuzzing infrastructure that found this bug was provided to and integrated into surrealdb by Google OSS Fuzz and @silvergasp, respectively.
The consensus from reporting this as a security issue was that it shouldn't be treated as one as users can avoid panics using catch_unwind. The security policy and/or documentation may be updated to reflect this.

Hmm it might be worth adding --debug-assertions to the regex fuzzer in OS's fuzz here https://github.com/google/oss-fuzz/blob/master/projects/rust-regex/build.sh#L18
I would guess that's why it shows up in the surrealdb fuzzer but not the regex fuzzer.

This is fixed in regex 1.8.2 (and regex-syntax 0.7.2) on crates.io.
@silvergasp For some reason I thought the fuzzer infrastructure enabled debug assertions automatically somehow. I'll investigate that.

Yeah the -O flag is equivalent to compiling in release mode (which is what you want for fuzzing, faster is better). To add debug assertions you'll need cargo fuzz build -O --debug-assertions. There is a note about it in the oss-fuzz documentation

Yeah, sorry, what I meant is that in the course of fuzzing I had thought I saw panics that were only produced by debug_assertions being enabled. But my memory is fallible.
Would it be better to add debug-assertions = true to the Cargo.toml instead of changing the OSS-fuzz invocation? The former is under my control. The latter isn't.

Up to you really, another alternative would be to open a PR with oss-fuzz. For projects that need to be able to easily edit the build.sh file on a regular basis I've actually moved that file from oss-fuzz->upstream_project. You just need to copy it in from the git repo in the Dockerfile. Happy to open a couple of PR's (1 here and 1 on oss-fuzz) to do that if you like?

^^ this would also make it pretty trivial to add new fuzzers to oss-fuzz on a regular basis.

Yeah I need to add new fuzzers to OSS-fuzz for the regex 1.9 release. PRs would be great, thank you!


Should anyhow::Error::chain return dyn Error + Send + Sync

anyhow::Error only supports wrapping Send + Sync errors, but the API for chainreturns non-send and non-sync errors.
I suspect this is to mimic the source stdlib API, if so, would it be advisable to introduce a chain_send_sync method?

https://docs.rs/anyhow/latest/anyhow/struct.Error.html#method.chain
https://docs.rs/anyhow/latest/anyhow/struct.Chain.html

The same goes for the root_cause API, which with the lack of Send + Sync makes an anyhow conversion non-bijective

What would be the expected behavior if the causes or root cause are not Send + Sync?
// [dependencies]
// anyhow = "1"
// threadbound = "0.1"

use std::fmt::{self, Display};
use threadbound::ThreadBound;

#[derive(Debug)]
struct OuterError {
    inner: ThreadBound<InnerError>,
}

impl std::error::Error for OuterError {
    fn source(&self) -> Option<&(dyn std::error::Error + 'static)> {
        let inner = self.inner.get_ref()?;
        Some(inner)
    }
}

impl Display for OuterError {
    fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
        formatter.write_str("...")
    }
}

#[derive(Copy, Clone, Debug)]
struct InnerError {
    p: *const (), // not sync
}

impl std::error::Error for InnerError {}

impl Display for InnerError {
    fn fmt(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
        formatter.write_str("...")
    }
}

fn main() {
    let err = f().unwrap_err();
    for e in err.chain() {
        println!("{}", e);
    }
}

fn f() -> anyhow::Result<()> {
    g()?;
    Ok(())
}

fn g() -> Result<(), OuterError> {
    Err(OuterError {
        inner: ThreadBound::new(InnerError { p: 0 as _ }),
    })
}


Tiger Mosquito Suitability Index

The definition is not correct:
Definition: The climatic suitability index for the presence of the tiger mosquito is determined by January temperature and annual rainfall statistics. If the January temperature is below 0C and the annual rainfall below 500 mm, then the location is not suitable for the mosquito to survive the winter.
First according to section 1.2 of the c3S documentation, the index also considers summer temperature. Second the definition suggests a binary index (yes/no) but the calculation involves three sigmoidal functions: please replace the definition by the following text:
Definition: this index describes the climatic suitability for the presence of the tiger mosquito based on January temperature (ideally above 30C) , summer temperature (ideally between 20 and 25 C) and annual precipitation  (ideally above 850 nm) Suitability decreases gradually for values outside the ideal range.

Check numbers in H-M's suggested text and then update.

For annual rainfall, the suitability is zero when rainfall is lower than 450 mm, maximum suitability is reached when the annual rainfall is higher than 800 mm. For summer temperatures, the suitability is zero when temperatures are lower than 15 °C and higher than 30 °C, and maximum between 20 °C and 25 °C. For January temperatures, the suitability is zero when temperatures are lower than - 1°C and maximum when temperatures are higher than 3 °C.

Updated text for the tiger mosquito suitability index in the json https://github.com/cedadev/c3s_434_ecde_page_text/commit/be5df742d151a915d753e15e59f1f1849fee6e01


current raid/mdadm support does not allow enough time for slow devices to come fully online

I'm using booster 0.6-1 from the archlinux repositories. My root is a 2-disk RAID1 on relatively slow HDDs. I am not able to use booster to boot because I believe that booster is not waiting for the RAID1 to fully finish assembly before attempting to mount. My system does alternatively work with mkinitcpio and the systemd + mdadm_udev hooks.
When attempting to boot, I get an "unable to read superblock" error. If I wait for the mount_timeout to elapse I can manually mount the RAID device, which is already present, without error.
An abbreviated dmesg log is here (I can attach full log if requested). Notice that the "unable to read superblock" error occurs moments before the raid device comes fully online:
[    0.000000] Command line: initrd=\amd-ucode.img initrd=\booster-linux-lts.img root=/dev/md/root rootfstype=ext4 rw
[    0.000000] Kernel command line: initrd=\amd-ucode.img initrd=\booster-linux-lts.img root=/dev/md/root rootfstype=ext4 rw
[    0.130695] smpboot: CPU0: AMD Ryzen 3 2200G with Radeon Vega Graphics (family: 0x17, model: 0x11, stepping: 0x0)
[    6.369652] md_mod: module verification failed: signature and/or required key missing - tainting kernel
[    6.462668] EXT4-fs (md127): unable to read superblock
[    6.462755] booster: mount(/dev/md/root): input/output error
[    6.505324] md/raid1:md127: active with 2 out of 2 mirrors
[    6.543912] md127: detected capacity change from 0 to<PHONE_NUMBER>76
[  128.412919] EXT4-fs (md127): mounted filesystem with ordered data mode. Opts: (null)

(I'm also very surprised by the tainting kernel line but that seems unrelated)
My /etc/booster.yaml is
universal: false
compression: zstd
mount_timeout: 1m
strip: true
# I removed fsck and fsck.ext4 in the course of debugging
extra_files: busybox
enable_mdraid: true

I'm using systemd-boot and my boot entry is:
title Arch Linux
linux /vmlinuz-linux-lts
initrd /amd-ucode.img
initrd /booster-linux-lts.img
options root=/dev/md/root rootfstype=ext4 rw

My  /etc/mdadm.conf is just
DEVICE partitions
ARRAY /dev/md/root metadata=1.2 name=<hostname>:root UUID=<UUID>

Thank you for the feedback.
[    6.462668] EXT4-fs (md127): unable to read superblock
[    6.462755] booster: mount(/dev/md/root): input/output error
[    6.505324] md/raid1:md127: active with 2 out of 2 mirrors
[    6.543912] md127: detected capacity change from 0 to<PHONE_NUMBER>76

It is an interesting behavior. I would expect that mdadm --incremental leaves raid in a working condition. i.e. once mdadm completes and udev event is fired then one can use the block device. But as you pointed out it might not be the case.
Could you please enable booster debugging with booster.debug kernel param and then post your output? It will help to understand the mdadm behavior better.
BTW here are the udev rules from Arch for the same even:
ACTION=="add|change", IMPORT{program}="/usr/bin/mdadm --incremental --export $devnode --offroot $env{DEVLINKS}"
ACTION=="add|change", ENV{MD_STARTED}=="*unsafe*", ENV{MD_FOREIGN}=="no"<EMAIL_ADDRESS>
It uses --incremental as well (the same as booster). It also uses --offroot flag that is not part of manpage, interesting.... And then it can call mdadm-last-resort which is labeled as "Timer to wait for more drives before activating degraded array %I.". I will need to read more about it to understand how mdadm handles it.
But other than that I do not see any delays or extra sync functionality. I wonder if booster is just "too fast" and starts mounting the block device right away, while udev has a lot of delays internally and hence we do not see this problem there.
[    6.369652] md_mod: module verification failed: signature and/or required key missing - tainting kernel

As of this warning - could you please file a ticket and we proceed its discussion separately.

Also could you please share configuration for your mdraid array so I'll try to reproduce the issue it at my side.

[    6.462668] EXT4-fs (md127): unable to read superblock
[    6.462755] booster: mount(/dev/md/root): input/output error
[    6.505324] md/raid1:md127: active with 2 out of 2 mirrors
[    6.543912] md127: detected capacity change from 0 to<PHONE_NUMBER>76

Returning back to this log. It looks like booster gets a udev event for /dev/md/root and assumes the device is ready. While it is not. Only 38 ms later kernel reports the array is assembled. We need to figure out under what conditions such "early" udev events are reported. Having booster.debug logs might help to shed light on it.
Also locally I added a RAID1 integration test with 5 partitions and it works fine. The array is fully assembled first and then kernel sends a udev event that is handled by booster correctly.

Was you able to boot successfully without* debug enabled as well?

No! I confirmed a few times that I could not boot unless the booster.debug flag was present.
There is no visible error that shows up now, just the timeout waiting for root. The dmesg log shows that /dev/md127 does eventually get assembled but no actions are taken after it is.

No! I confirmed a few times that I could not boot unless the booster.debug flag was present.

It is interesting... It also gives an opportunity to understand what is going on there.
I just pushed a commit to wip branch to print mdadm output to stdout. If you have a chance could you please compile booster from wip branch and run it without booster.debug. There should be extra information at the console. Please capture it and post it here.

I rebuilt booster init from the wip branch and the following additional lines are printed during boot (debug.booster is not set). Boot is not successful, it hangs after these messages. These are transcribed by hand from screen, sorry if there are minor typos.
&{Header:add@/devices/virtual/block/md127 Action:add Devpath:/devices/virtual/block/md127 Subsystem:block Seqnum:1399 Vars:map[ACTION:add DEVNAME:md127 DEVPATH:/devices/virtual/block/md127 DEVTYPE:disk MAJOR:9 MINOR:127 SEQNUM:1299 SUBSYSTEM:block]}

mdadm : /dev/sda2 attached to /dev/md/root, not enough to start safely.
&{Header:change@/devices/virtual/block/md127 Action:change Devpath:/devices/virtual/block/md127 Subsystem:block Seqnum:1399 Vars:map[ACTION:change DEVNAME:md127 DEVPATH:/devices/virtual/block/md127 DEVTYPE:disk MAJOR:9 MINOR:127 SEQNUM:1299 SUBSYSTEM:block]}

mdadm:  /dev/sdb1 attached to /dev/md/root, which has been started.

Thank you for the logs. It looks like there is a short period of time when the raid1 array exists but not fully assembled yet. Instead of relying on udev "add" event booster should use mdadm --export and check whether mdadm was able to start the array.
Here is a proposed fix for the problem that has been pushed to wip branch. @richard-cms please give it a try and let me know it fixes your problem (both with debug enabled and disabled).

I have rebuilt based on 3fd94442695196fdd873eb205644dad28598804d (HEAD of wip as of 2021-08-29 EST afternoon) and I now successfully boot both with and without booster.debug set. I rebooted a few times, including 'cold boots', to see if there were any common race conditions and did not run in to any.
Attached is the dmesg log for a successful boot with booster.debug set. Thanks very much @anatol !
2021-08-29-booster_debug_dmesg.txt

It is great to hear that it fixed this issue! Thank you very much for discovering and debugging this problem @richard-cms!
I am going to test the code at my machines and if everything is ok i'll push it to master branch soon.


Multi contract support

Right now, if there are multiple contracts involved or contracts that are dependencies, that's really not working. We should change that.
Once AST package is completed will rewrite ABI and sort this issue out.

This is finally resolved in #54


feat(models): add duplicate trace

Description
Aside from the conventional delay, bandwidth and loss devices in the network, a device that duplicates packets by a set of rules is often required when simulating a network. This pull request adds config for such DuplicateDevice.
How Has This Been Tested
Screenshots(optional)
Types of changes

New feature (non-breaking change which adds functionality)

Checklist

[x] Code follows the code style of this project.
[x] Changes follow the CONTRIBUTING guidelines.
[x] Update necessary documentation accordingly.
[x] Lint and tests pass locally with the changes.
[x] Check issues and pull requests first. You don't want to duplicate effort.

Other information

I have made some modifications to these commits and force-pushed the branch. I will merge it then. But do remember:

avoid punctuations at the end of the commit subject
make sure the commit scope is the same as what we are using (i.e., should be model, not models)


Support iterable params to columns

Support iterable params(list, tuple) to columns
Add type checking in QueryBuilder colum methods

Fixed : #372

Coverage increased (+0.004%) to 97.674% when pulling 7abcfb76faf8aa37d1b4f665220d45f2d0ae1529 on lntuition:column_allow_iterable_arg into 1e4833a22c210cbfffbcffe9aabce48b43075fe0 on kayak:master.


frontend: Fix ReleaseNotes so it works again

Fixes #2143 and a CVE with Octokit.
Removes Octokit because we just use it to fetch one URL.
How to test

[ ] run the app (see the snackbar appears, and you can click dismiss, can click to see notes)
[ ] run the app with internet off, and the snackbar disappears

I noticed there's an air-gap issue related to ReleaseNotes in:

https://github.com/headlamp-k8s/headlamp/issues/1652

So I'll fix that in this PR too.


Machines Deposit Into Remote Containers MOD don't work with Ore Crusher

The Mod "Machines Deposit Into Remote Containers" don't work with Ore Crusher. It looks like the machine isn't recognized at all, I can't see any information in the debug log.

It is not supported yet. Don't know yet when it will be supported.

Thanks for the response and for your work !

Implemented in v<IP_ADDRESS>


Terminal Canary crashes when i merge a tab to another window

Windows Terminal version
1.22.1301.0
Windows build number
10.0.26212.5000
Other Software
No response
Steps to reproduce

Open two Windows Terminal windows
Drag a tab from the first window and drop to the second window

https://github.com/microsoft/terminal/assets/89489853/40391e51-7897-46b9-9ec9-a778c09bb151
Expected Behavior
I was expecting the dropped tabs to successfully merge with the first window without hangs or crash.
Actual Behavior
Two strange scenarios happen: Either the first window hangs but I successfully dropped the tab to the second window, or the entire Terminal hangs then crashes.
This doesn't always happen so I keep reproducing the bug. And according to Windows' Reliability History, the faulty module names were Windows.UI.Xaml.dll and Microsoft.Terminal.Control.dll

I wanted to use Windows Debugger, but I couldn't get anything useful. Maybe I don't have enough experience with it. I'm sorry about that.

For some reason closing or tearing off a tab leads to a call to OnCreateAutomationPeer on the TermControl of the next tab (the one receiving the focus after this tab is closed).
OnCreateAutomationPeer seems to originate from XAML:

In the case of a single tab terminal window, there isn't any next tab, so the same tab (being replaced) receives the call. Note that the tab being torn off gets into the "detached" mode and has no _interactivity associated with it. This results into the crash due to null pointer deref:

That makes sense after i ran Windows Debugger on Terminal Canary:
(e670.164b4): Windows Runtime Transform Error - code 40080202 (first chance)
(e670.164b4): C++ EH exception - code e06d7363 (first chance)
onecoreuap\windows\frameworkudk\warppal.cpp(783)\Microsoft.Internal.WarpPal.dll!00007FFA99D0EE4C: (caller: 00007FFA9A1798EA) ReturnHr(4) tid(164b4) 80004002 No such interface supported
onecoreuap\windows\frameworkudk\warppal.cpp(783)\Microsoft.Internal.WarpPal.dll!00007FFA99D0EE4C: (caller: 00007FFA9A1798EA) ReturnHr(5) tid(164b4) 80004002 No such interface supported
onecoreuap\windows\frameworkudk\warppal.cpp(783)\Microsoft.Internal.WarpPal.dll!00007FFA99D0EE4C: (caller: 00007FFA9A1798EA) ReturnHr(6) tid(164b4) 80004002 No such interface supported
onecoreuap\windows\advcore\winrt\onecoreiwindow\corewindow\common\desktopwindowcontentbridge.cpp(540)\Windows.UI.dll!00007FFA89C2C507: (caller: 00007FFA89C2C681) ReturnHr(1) tid(164b4) 8007139F The group or resource is not in the correct state to perform the requested operation.
(e670.164b4): Access violation - code c0000005 (first chance)
First chance exceptions are reported before any exception handling.
This exception may be expected and handled.
Windows_UI_Xaml!DirectUI::DXamlCore::EnsureDragDrop [inlined in Windows_UI_Xaml!<lambda_389d8a62991e0fa55478e04c88286937>::operator()+0xc8]:
00007ffa`895b2444 488b8058010000  mov     rax,qword ptr [rax+158h] ds:00000000`00000158=????????????????

Huh, this looks like it fails here:

Windows_UI_Xaml!DirectUI::DXamlCore::EnsureDragDrop [inlined in Windows_UI_Xaml!<lambda_389d8a62991e0fa55478e04c88286937>::operator()+0xc8]

And I can repro this one even on #17251 branch. Maybe they are unrelated 🤔
After re-reading this from the first comment:

Two strange scenarios happen: Either the first window hangs but I successfully dropped the tab to the second window, or the entire Terminal hangs then crashes.

I believe there are two crash scenarios:

Drag the only tab in the single-tab terminal window and drop it such that it creates a new window.
Drag the only tab in the single-tab terminal window and drop it into any other terminal window to merge it with that window.

(1) is fatal, crashes the entire process taking down all the running terminal windows, and should be fixed by #17251. But (2) doesn't seem to crash the process or any running windows. You would only see the no-tab window to take a while before it disappears.
I'm going to unlink this issue from #17251 because it doesn't fix all the issues.

Is this issue older than Canary?
I just had Terminal Preview (1.21.1272.0) crash when merging in a tab, though the reported versions don't seem to line up at all:
Faulting application name: WindowsTerminal.exe, version: 1.21.2405.6002, time stamp: 0x66396ac3
Faulting module name: Microsoft.Terminal.Control.dll, version: 1.21.2405.6002, time stamp: 0x66396908
Exception code: 0xc0000005
Fault offset: 0x00000000000f60c9
Faulting process ID: 0x0x18B8
Faulting application start time: 0x0x1DAA601207F96C8
Faulting application path: C:\Program Files\WindowsApps\Microsoft.WindowsTerminalPreview_1.21.1272.0_x64__8wekyb3d8bbwe\WindowsTerminal.exe
Faulting module path: C:\Program Files\WindowsApps\Microsoft.WindowsTerminalPreview_1.21.1272.0_x64__8wekyb3d8bbwe\Microsoft.Terminal.Control.dll
Report ID: 2046127b-c89a-446d-9f22-77734d5137be
Faulting package full name: Microsoft.WindowsTerminalPreview_1.21.1272.0_x64__8wekyb3d8bbwe
Faulting package-relative application ID: App

Description
Faulting Application Path:	C:\Program Files\WindowsApps\Microsoft.WindowsTerminalPreview_1.21.1272.0_x64__8wekyb3d8bbwe\WindowsTerminal.exe

Problem signature
Problem Event Name:	MoAppCrash
Package Full Name:	Microsoft.WindowsTerminalPreview_1.21.1272.0_x64__8wekyb3d8bbwe
Application Name:	praid:App
Application Version:	1.21.2405.6002
Application Timestamp:	66396ac3
Fault Module Name:	Windows.UI.Xaml.dll
Fault Module Version:	10.0.22621.3527
Fault Module Timestamp:	ac70373e
Exception Code:	c0000005
Exception Offset:<PHONE_NUMBER>41dc17
OS Version:	10.0.226<IP_ADDRESS>.768.101
Locale ID:	1033
Additional Information 1:	bee9
Additional Information 2:	bee97536ba640759fac0d38a6ed36481
Additional Information 3:	d7a5
Additional Information 4:	d7a5acd4c1813a34b6cf99e57e6ac9ba

Extra information about the problem
Bucket ID:	2b5e3f6ac22530ac49d0202c4830bf22<PHONE_NUMBER>665818914)

I tried to reproduce the issue again with Windows Debugger and that's what I got. However, this time, Terminal Canary just hangs, and it becomes unresponsive.
(540c.d828): Windows Runtime Transform Error - code 40080202 (first chance)
(540c.d828): C++ EH exception - code e06d7363 (first chance)
onecoreuap\windows\frameworkudk\warppal.cpp(783)\Microsoft.Internal.WarpPal.dll!00007FFF8881EE4C: (caller: 00007FFF89A598EA) ReturnHr(4) tid(d828) 80004002 No such interface supported
onecoreuap\windows\frameworkudk\warppal.cpp(783)\Microsoft.Internal.WarpPal.dll!00007FFF8881EE4C: (caller: 00007FFF89A598EA) ReturnHr(5) tid(d828) 80004002 No such interface supported
onecoreuap\windows\frameworkudk\warppal.cpp(783)\Microsoft.Internal.WarpPal.dll!00007FFF8881EE4C: (caller: 00007FFF89A598EA) ReturnHr(6) tid(d828) 80004002 No such interface supported
(540c.4ea8): Windows Runtime Transform Error - code 40080202 (first chance)
onecoreuap\windows\advcore\winrt\onecoreiwindow\corewindow\common\desktopwindowcontentbridge.cpp(540)\Windows.UI.dll!00007FFF7707C507: (caller: 00007FFF7707C681) ReturnHr(1) tid(d828) 8007139F The group or resource is not in the correct state to perform the requested operation.
(540c.d828): Access violation - code c0000005 (first chance)
First chance exceptions are reported before any exception handling.
This exception may be expected and handled.
Microsoft_Terminal_Control!DllCanUnloadNow+0x37509:
00007ffe`897d6419 488b01          mov     rax,qword ptr [rcx] ds:00000000`00000000=????????????????```

Hey does this still repro on a newer canary / main build? I just tried this again and I can't repro this anymore. I'm branched off 735ef2823, more or less

What's the latest version of the Terminal?

1.22.2321.0 is the latest version at the moment.

@zadjii-msft I updated Terminal to 1.22.2321.0 and when I tried to tear the tabs again and it still crashes.
Description
Faulting Application Path:	C:\Program Files\WindowsApps\Microsoft.WindowsTerminalCanary_1.22.2321.0_x64__8wekyb3d8bbwe\WindowsTerminal.exe

Problem signature
Problem Event Name:	MoAppCrash
Package Full Name:	Microsoft.WindowsTerminalCanary_1.22.2321.0_x64__8wekyb3d8bbwe
Application Name:	praid:App
Application Version:	1.22.2408.19001
Application Timestamp:	66c40404
Fault Module Name:	Windows.UI.Xaml.dll
Fault Module Version:	10.0.27686.1000
Fault Module Timestamp:	b1e2596d
Exception Code:	c0000005
Exception Offset:<PHONE_NUMBER>c009e8
OS Version:	10.0.276<IP_ADDRESS>.256.48
Locale ID:	3072
Additional Information 1:	2020
Additional Information 2:	202023b4d4a61deb672c84a5c55b5fa8
Additional Information 3:	1530
Additional Information 4:	15300c27252d34da19218ed615f4363a

Extra information about the problem
Bucket ID:	b44a43dd00789a6f24a1b79a0cb7fdaf<PHONE_NUMBER>275205551)

I'll try to run the Windows Debugger on Terminal Canary and see what's wrong.

Still impacting 1.21.2361.0 as well, and can dupllicate in Terminal preview 1.22.2702.0 as well.  Have been slowly trying to transition from using WindowTabs with Cygwin mintty to hosting Cygwin bash in Windows Terminal directly, and twice now in the last 3 weeks I've accidentally dragged a single tab out of a group of tabs, and then after dragging the single tab back into the group, a second or two later everything freezes and crashes and takes all my work with it.  The latest error and dump summaries from 1.21.2361.0 on my laptop:
Faulting module name: Microsoft.Terminal.Control.dll, version: 1.21.2408.23001, time stamp: 0x66c8f288
Exception code: 0xc0000005
Fault offset: 0x00000000000727b1
Faulting process id: 0x5cbc
Faulting application start time: 0x01db10562a75b9bb
Faulting application path: C:\Program Files\WindowsApps\Microsoft.WindowsTerminal_1.21.2361.0_x64__8wekyb3d8bbwe\WindowsTerminal.exe
Faulting module path: C:\Program Files\WindowsApps\Microsoft.WindowsTerminal_1.21.2361.0_x64__8wekyb3d8bbwe\Microsoft.Terminal.Control.dll
Report Id: 7e584ae8-f2fa-4464-9ddf-4cabbb23ec67
Faulting package full name: Microsoft.WindowsTerminal_1.21.2361.0_x64__8wekyb3d8bbwe
Faulting package-relative application ID: App

WindowsTerminal.exe.5716.dmp-summary.txt
WindowsTerminal.exe.23740.dmp-summary.txt
Installed Terminal Preview 1.22.2702.0 on my desktop and was able to duplicate immediately by just opening a Powershell tab, a couple cmd tabs, and a handful of Cygwin bash tabs then dragging a middle tab out of the group, dragged it back into the group and started typing in the newly re-grouped tab which froze mid-typing after a couple seconds, followed by it crashing all tabs and the container window a couple seconds after that.  That error from my desktop and crash dump summary:
Faulting module name: Microsoft.Terminal.Control.dll, version: 1.22.2409.26002, time stamp: 0x66f5c790
Exception code: 0xc0000005
Fault offset: 0x0000000000069741
Faulting process id: 0x9ff4
Faulting application start time: 0x01db20db7fdcbb86
Faulting application path: C:\Program Files\WindowsApps\Microsoft.WindowsTerminalPreview_1.22.2702.0_x64__8wekyb3d8bbwe\WindowsTerminal.exe
Faulting module path: C:\Program Files\WindowsApps\Microsoft.WindowsTerminalPreview_1.22.2702.0_x64__8wekyb3d8bbwe\Microsoft.Terminal.Control.dll
Report Id: e221728d-13bc-436a-83d1-800eab748263
Faulting package full name: Microsoft.WindowsTerminalPreview_1.22.2702.0_x64__8wekyb3d8bbwe
Faulting package-relative application ID: App

WindowsTerminal.exe.40948.dmp-summary.txt


Providing default store config

I'm submitting a...

[ ] Regression (a behavior that used to work and stopped working in a new release)
[ ] Bug report
[ ] Performance issue
[x] Feature request
[ ] Documentation issue or request
[ ] Support request
[ ] Other... Please describe:

Current behavior
Currently there is no way to provide a default config which will be used by all stores.
My use case is to set a global ttl and resettable values for all stores without explicitly settings it for each store's config.
If you find it useful too, I can create a PR for that.

You can set the resettable option via the global config object. You can create a PR that exposes the ttl option too.


PR: Implement replace in selection in the Editor

Supports replacing all instances of the search text with the replace text in a selection of text. Changes find/replace dialog to add buttons for "replace in selection" and "replace all" and removes the "replace all" checkbox. Tweaks behavior of automatically filling the searchbox depending on whether multiple lines were selected.
A refinement would be to either add shortcuts for the three buttons or combine the three buttons into one and use radio/combo to control scope.

Please follow our contributing guidelines to see how to change this PR from master to 3.x, so we can merge it for 3.2.
@rlaverde, please review this one, given that you've been working on this.

Did I do this correctly? I had to do:
git rebase --onto origin/3.x origin/master spillz-replace-selection-patch
The instructions didn't mention the "origin" part. (Or the git push)

Nop, sorry, your rebase didn't work as expected. @rlaverde, please help @spillz to do this rebase.

Why don't I just delete and resubmit?

Sure, if you prefer that. Just make sure to create your branch after you checkout our 3.x branch.
Thanks for your patience!

Closing in favor of #4638.


The inference speed using the old version is 5-8 times faster than the latest version

1

What version do you mean by old version?
I tested with 0.10.4 (latest) and 0.10.3 and didn't notice difference in the inference speed.

I also noticed the inference increasing significantly making live detection with more than super primitive model very ugly. Do you remember which version started the inference to increase ?

I looked into it and it seems that issues in Flutter. Forked one older repo and tested it:
Environment
This was tested on the following environment:

Built on Windows 10 with Java 11.0.12
Run  on Pixel 5 (Android 14)

Just detected same blank(ish) camera image. Not too scientific (e.g. phone might heat up and give lower results), so few ms difference should not be taken too seriously, but the 7x or 16x difference is significant.
Results
Average time until settles (times in ms).

Test
Inference
Pre-processing
Total predict
Total elapsed

tflite_flutter: 0.9.5Flutter: 3.13.9
22
17
39
51

tflite_flutter: 0.9.5Flutter: 3.16.9
359
18
378
387

tflite_flutter: 0.10.4Flutter: 3.13.9
22
15
38
50

tflite_flutter: 0.10.4Flutter: 3.16.9
351
16
368
376

Conclusion

No difference between tflite_flutter 0.9.5 and 0.10.4
Big difference between Flutter 3.13.9 and Flutter 3.16.9 - 16x slower inference time and 7.5x slower total time.

Flutter 3.19.3 seemed to be as slow as 3.16.9. So it seems that the problem is not yet fixed.
My repo: https://github.com/timukasr/object_detection_flutter
Something similar results can be reproduced with tflite_flutter sample app live_object_detection_ssd_mobilenet. This app seems a bit broken - does not display results on screen. But it reports inference time. With Flutter 3.13.9, it was 170-200ms, with Flutter 3.19.3, it was 500-550ms. For some reason it is slow even with older Flutter, but even slower with newer flutter.

@timukasr Thanks a lot for you insights! I didnt even try out different flutter versions. I noticed a inference increase by just changing the tflite_flutter version when I upgraded to 0.10.4 (from 0.10.1) I think. I will continue to investigate this when I find time.

I take it all back. I was not able to reproduce significant inference differences in 0.10.x versions. The massive spikes due to distinct flutter versions should be addressed at some point.

It has nothing to do with the version of tflite_flutter, but to the version of Flutter. Currently, I use tflite_flutter: version 0.10.4, and Flutter version is 3.7.12. The inference time is consistent with the native speed of Android. If you upgrade flutter to the latest version, the inference speed will be slow. terrible.

@yingeo Did you compare 3.7.12 with the other version(such as 3.13.9). Having a hard time after downgrade to 3.7.12 (several config should be change lol)

tried tflite_flutter 0.10.4 + flutter 3.13.9 + video classification + isolateInterpreter.runForMultipleInputs.
can't figure out any difference between the 3.13.9 and the latest version of flutter.

@PaulTR do you have any insights or suggestions on addressing this?

Did some bisecting, issues seems to be introduced with this commit on Flutter Engine: https://github.com/flutter/engine/commit/8ccc8a62fcd81da773cc0f61311896cebe8170a2
Seems that this CPU affinity stuff messes with tflite_flutter InterpreterOptions().threads option:

Test
1 thread
2 threads
4 threads

Flutter: 3.13.9
37
24
25

Flutter: 3.16.9
40
185
349

Not sure, if this can be fixed on tflite_flutter side (e.g. telling Flutter to use correct CPU affinity).


Initial PoC of libnetwork in docker.

Work in progress.

This is no longer WIP; good to merge?

good to merge?

Yes, though next we ought to remove the conditionals and just implement using libnetwork; we can keep our own implementation in another branch.

Okay I'll have a go at that; will merge this in the mean time.


[BEAM-6853] Make sdkWorkerParallelism option consistent

sdkWorkerParallelism behavior was not consistent in the previous implementation and was not easy to describe.
The new behavior of sdkWorkerParallelism is as follows.
A) User input sdkWorkerParallelism = null ->  Default value of 1 is set by PortablePipelineOptions -> Jobserver Overwrite (2) not used -> 1 is used as the final value.
B) User input sdkWorkerParallelism = 5 ->  No default overwrite by PortablePipelineOptions and 5 is passed along -> Jobserver Overwrite not used -> 5 is used as the final value.
C) User input sdkWorkerParallelism = 0 ->  No default overwrite by PortablePipelineOptions and 0 is passed along -> Jobserver Overwrite(default value 0) to 0 -> 0 is used as the final value and sdkWorkerParallelism is dynamically decided.
D) User input sdkWorkerParallelism = 0 ->  No default overwrite by PortablePipelineOptions and 0 is passed along -> Jobserver Overwrite(default value 9) to 9 -> 9 is used as the final value.

Thank you for your contribution! Follow this checklist to help us incorporate your contribution quickly and easily:

[ ] Choose reviewer(s) and mention them in a comment (R: @username).
[ ] Format the pull request title like [BEAM-XXX] Fixes bug in ApproximateQuantiles, where you replace BEAM-XXX with the appropriate JIRA issue, if applicable. This will automatically link the pull request to the issue.
[ ] If this contribution is large, please file an Apache Individual Contributor License Agreement.

R: @tvalentyn

Run Java PreCommit

Run Java PreCommit

Run Java PreCommit

Run Java PreCommit

Run Java_Examples_Dataflow PreCommit

Ping @tvalentyn

Thanks @tvalentyn
Updated the description and Merging the PR.


[CI] add test result collection

Description

Fixes # (issue number or description)

Type of change

Bug fix (non-breaking change which fixes an issue)
New feature (non-breaking change which adds functionality)
Breaking change (fix or feature that would cause existing functionality to not work as expected)

How has this been tested?

Tests not required
Unit/Integration Tests (which?)
Manual Tests (please write what did you do?)

Docs

No updates needed
Have already been updated
Will be updated ASAP

we forgot to check and merge this


Use Connection.connect instead of Sqlite3.open for storage_up

By using the Connection.connect function with all properties, we make sure that the database is created as encrypted DB if the key option is present.
I was unsure about using the Exqlite.Connection.disconnect or the Exqlite.Sqlite3.close function.
Closes https://github.com/elixir-sqlite/exqlite/issues/207

@philipgiuliani released under v0.9.1


[docs] Add section to User Guide with ./destroy.sh instructions

In order for users to complete their use of Stackdriver Sandbox without incurring additional billing, it is important for the users to run the ./destroy.sh script at the end of their use.
However, the User Guide does not currently have a section instructing users to do so. A section near the end of the User Guide (before the OpenTelemetry section) could be added instructing users to do so.

@eaberman, when submitting PR that fixes a bug, add fixes #XXX in the PR description. This will make sure the bug will be closed automatically as soon as your PR is committed.

Okay, I will be sure to do that in the future.


[Sample Update]Authentication samples for Azure Key Vault using the Azure Python SDK

https://github.com/Azure-Samples/key-vault-python-authentication
Update SDK Version to T2

Resolved by https://github.com/Azure-Samples/key-vault-python-authentication/pull/12 -- current guidance is to point to samples and migration guides in this repo, and to archive deprecated sample repos.


Refactor Player Decisions

This branch is a work in progress...
I created the abstract class DecisionMaker for getting decisions from players (I'm not tied to that name if you have a better idea). As a proof-of-concept, I fully implemented get_binary_decision in Human and Bot and updated all the cards to call it. I added a TODO comment in decision_maker.py listing the other functions that need to be added.
@evanofslack
Let me know what your thoughts are, and I will make changes as needed.

Codecov Report
Patch coverage: 100.00% and project coverage change: +0.04 :tada:

Comparison is base (d594a5d) 96.75% compared to head (5516073) 96.80%.

:mega: This organization is not using Codecov’s GitHub App Integration. We recommend you install it so Codecov can continue to function properly for your repositories. Learn more
Additional details and impacted files
@@            Coverage Diff             @@
##           master     #100      +/-   ##
==========================================
+ Coverage   96.75%   96.80%   +0.04%
==========================================
  Files          61       62       +1
  Lines        3579     3572       -7
==========================================
- Hits         3463     3458       -5
+ Misses        116      114       -2

Impacted Files
Coverage Δ

pyminion/bots/bot.py
96.25% <100.00%> (ø)

pyminion/bots/optimized_bot.py
92.89% <100.00%> (ø)

pyminion/decision_maker.py
100.00% <100.00%> (ø)

pyminion/expansions/base.py
98.69% <100.00%> (-0.03%)
:arrow_down:

pyminion/players.py
95.77% <100.00%> (+0.01%)
:arrow_up:

tests/test_players/test_bots/test_base_bot.py
100.00% <100.00%> (ø)

tests/test_players/test_human.py
100.00% <100.00%> (ø)

... and 1 file with indirect coverage changes
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 in Codecov by Sentry.
:loudspeaker: Do you have feedback about the report comment? Let us know in this issue.

@jbw3
Great start, this is an interesting problem that has really got me thinking. You're approach is solid, definitely what I had in mind. As I've been pondering this I had some thoughts and wanted to roughly outline what I might do.
My thoughts
We define a protocol Decider, much like your DecisionMaker abstract class. This interface outlines all potential decisions that a player-like entity is expected to have to make.
from typing import Protocol

class Decider(Protocol):
    def binary_decision() -> bool:
        pass
    def single_card_decision() -> Card:
        pass
...

Then instead of Player inheriting from DecisionMaker, it would take Decider as an argument on initialization.
class Player:
    def __init__(
        decider: Decider
    ):
    self.decider = decider

Then for any given Card, it can call  player.decider.binary_decision(...) when it needs to get input from the player entity. As the card takes a Player as an input argument (where each player has their own implementation of decider) the card doesn't have to know whether its a Human or Bot or whatever else.
For example, workshop might look something like this:
class Workshop(Action):
    ...
    gain_card = player.decider.single_card_decision(
        prompt="Gain a card costing up to 4 money: ",
        valid_cards=game.supply.avaliable_cards(),
    )
    player.gain(gain_card, game.supply)

Implementation
This would require some major refactoring/restructuring to implement. Here's what I would do but feel free to take your own spin on it.
I would move the Human class definition out of players.py into its own file human.py. In this file I would create a HumanDecider class which implements the Decider protocol. I would move all the human decision logic out of decisions.py and into the human.py file, as this would now all be part of the HumanDecider implementation.
class HumanDecider():
    @validate_input(exceptions=InvalidBinaryInput)
    def binary_decision(prompt: str) -> bool:
        return binary_decision(prompt=prompt)
    ...

class Human(Player):
    def __init__():
    self.decider = HumanDecider()

The bot.py file would look similar where we define BotDecider and then have the pass that to the Bot class at initialization.
Future Benefits
What I would eventually like to see happen, is that any and all situations where we need players to make a decision gets rolled into the Decider protocol.
I can foresee the following methods being added to the Decider protocol:
class Decider(Protocol):
    def action_phase_decision() -> Optional[Card]:
        pass
    def treasure_phase_decision() -> Optional[Card]:
        pass
    def buy_phase_decision() -> Optional[Card]:
        pass
...

This would help to cut down on logic that is currently duplicated in both Human and Bot classes. For example, currently start_action_phase method is defined separately for both Human and Bot. If the logic for deciding how to play cards during the action phases was moved to the Decider protocol, then start_action_phase could be moved into the higher level Player class.
class Player:
    def start_action_phase(self, game: "Game") -> None:
        while self.state.actions:
            target = self.decider.action_phase_decision()
            if target is None:
                return
            try:
                self.play(target_card=target, game=game)
            except CardNotFound:
                pass

Please let me know your thoughts on this, I'm very much open to feedback.

@evanofslack I think your approach sounds great. I'll start making changes over the next week or so.

@evanofslack
I started the refactor. Player now has a member of the Decider protocol (Decider still just has the binary_decision member function for now). There was one interesting thing to note about making Decider a member of Player instead of having Player inherit the protocol directly. When I pulled binary_decision into the OptimizedBotDecider, I also had to pull out the member functions sentry, library, etc. Those functions can use members from Player, so I had to pass an instance of Player back to the functions to make things work. Calls then look like this: player.decider.binary_decision(player=player, ...). It seems slightly odd that you call a member of Player and then have to pass in an instance of Player to one of its member functions. Overall, I don't think it's that bad. I just wanted to point it out.
My next steps are to add the remaining member functions to the Decider protocol and start moving the rest of the decision based logic to the Decider implementations. Let me know if you have any feedback.
Also, I appreciate all the unit tests that you have. It made catching issues during refactoring a lot easier 🙂.

@jbw3
Nice, good stuff. Yeah a bit odd to pass player to its own method, pretty much all decisions require knowledge of player and game state though. Like you say, I think its fine.
Glad to hear about the tests, it is something I've been thankful for when refactoring too!

@evanofslack I have completed most of the refactoring. I still need to update the documentation and some of the example bots to use the new Decider protocol, but the main part of the work should be done. Let me know what you think.

@jbw3 Looks great, I really like how you merged multi and single card decisions down into a single function. Overall this is fantastic work and exactly what we needed.
The only thing I noticed is missing min_num_gain and max_num_gain for Artisan (both should be 1) as well as min_num_trash for Mine should be 0 (you may trash a treasure from your hand).
If finish your updates this should be good to go. Thanks!

@evanofslack Good catch on Artisan and Mine! I fixed those and updated the example bots and documentation. Let me know if there are any other things I need to fix. Otherwise, this should be good to go.


Helm upgrade failed: "dex" has no deployed releases

Describe the bug
I am trying to use Dex as OIDC Provider for Weave GitOps Dashboard by following your guide, but I am getting Helm upgrade failed: "dex" has no deployed releases.
Environment

Weave-Gitops Version: 0.24.0
Flux Version: 2.1.0
Kubernetes version: 1.27

To Reproduce
Steps to reproduce the behavior:

Create a HelmRepository and HelmRelease object from you guide.

Expected behavior
HelmRelease status should be Release reconciliation succeeded.
Actual Behavior
Returning an error Helm upgrade failed: "dex" has no deployed releases.
Additional Context (screenshots, logs, etc)

@UGS-DanielSoriano thank you for raising this issue. I have tested the latest version of the Dex chart (v0.15.3) and it works well with Weave GitOps. I have opened a PR to reflect this in our docs.


A problem occurred configuring root project 'agora_rtc_engine'.

Describe the bug
A clear and concise description of what the bug is.
To Reproduce
Steps to reproduce the behavior:

Go to '...'
Click on '....'
Scroll down to '....'
See error

Expected behavior
A clear and concise description of what you expected to happen.
Screenshots
If applicable, add screenshots to help explain your problem.
Desktop (please complete the following information):

OS: [e.g. iOS]
Browser [e.g. chrome, safari]
Version [e.g. 22]

Smartphone (please complete the following information):

Device: [e.g. iPhone6]
OS: [e.g. iOS8.1]
Browser [e.g. stock browser, safari]
Version [e.g. 22]

Additional context
Add any other context about the problem here.
Build failed with an exception.

What went wrong:
A problem occurred configuring root project 'agora_rtc_engine'.

SDK location not found. Define location with sdk.dir in the local.properties file or with an ANDROID_HOME environment variable.

Try:
Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output. Run with --scan to get full insights.

Get more help at https://help.gradle.org

BUILD FAILED in 2s
The plugin agora_rtc_engine could not be built due to the issue above.
Please Help.

pls follow this step.
SDK location not found. Define location with sdk.dir in the local.properties file or with an ANDROID_HOME environment variable.


Auth0 backend

Added auh0 middle-ware to server.
Related to #5 .
This enables the required forwarding route to the login page and also to enforce authentication for the /api/user/ routes which will be added.
I put in there a small authentication check endpoint and in order to run it you need to configure your .env like so
# .env
ISSUER_BASE_URL=https://YOUR_DOMAIN
CLIENT_ID=YOUR_CLIENT_ID
BASE_URL=https://YOUR_APPLICATION_ROOT_URL
APP_SESSION_SECRET=LONG_RANDOM_STRING

@LeshemNoa This PR adds a /login /logout routes which you can direct to, although I do think you should just use the auth0 spa js lib which will give you the user info and token use for API calls more easily.

Just a sanity check, already removed it in the work I'm doing right now.
On Fri, May 15, 2020, 10:41 Noa Leshem<EMAIL_ADDRESS>wrote:

@LeshemNoa commented on this pull request.
In api/server.js
https://github.com/recipeify/Recipes/pull/28#discussion_r425622673:

@@ -81,4 +83,9 @@ app.post('/api/search/ingredients', async (request, resoponse) => {
});
});

+/* test user */
+app.get('/api/user/check', async (request, response) => {

response.send(hello ${request.openid.user.name});

What is this for?
—
You are receiving this because you modified the open/close state.
Reply to this email directly, view it on GitHub
https://github.com/recipeify/Recipes/pull/28#pullrequestreview-412416940,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AG6SIFYVTWBTCWHWCAHEYJ3RRTW3ZANCNFSM4M57ULAA
.


go get is failing

When running go get helm.sh/helm/v3, I am getting the following error,
go<EMAIL_ADDRESS>requires<EMAIL_ADDRESS>requires<EMAIL_ADDRESS>invalid version: unknown revision<PHONE_NUMBER>00
Any ideas?

https://github.com/helm/helm/blob/master/go.mod#L51-L54

The linked replace statements solved it for me.
Before that, go get was filling my 32gigs of memory and got killed :scream_cat:

The replace statements fixed it for me too, but this can't be a final fix right?  Found more information here, for those who stumble here for the first time.
https://github.com/deislabs/oras/issues/211#issuecomment-775904476

I'm hitting this problem too, though interestingly v3.5.1 seems fine. I don't quite understand the problem or whether it's possible to fix this in Helm rather than in everyone downstream of it?

It’s being fixed in https://github.com/helm/helm/pull/9492. It’s due to a downstream repository’s usage of docker/distribution.

@bacongobbler Awesome, thanks so much for the update!


Custom domain and certificate in Azure

How do you add a custom domain in Azure along with the certificate? Is there any documentation on that part?

You should follow Microsoft's documentation on this (https://docs.microsoft.com/en-us/azure/app-service/app-service-web-tutorial-custom-domain). The Azure persistence strategy will locate any apps with matching custom domains and attempt to order and then bind a certificate to them.