New Config Changes - issue with only_gov preset

Version
Used cardano-db-sync version from master
According to the description only_gov - is equivalent to setting:
"tx_out": {
  "value": "disable"
},
"ledger": "disable",
"shelley": {
  "enable": false
},
"multi_asset": {
  "enable": false
},
"plutus": {
  "enable": false
},
"governance": "enable",
"offchain_pool_data": "disable"

and disabling ledger should result in:
redeemer.fee is left null
reward table is left empty
epoch_stake table is left empty
ada_pots table is left empty
epoch_param table is left empty
tx.deposit is left null (too expensive to calculate without the ledger)
drep_distr is left empty
governance_action.x_epoch is left null
governance_action.expiration is left null

and setting shelley to false should result in:

... disables data related to shelley: all certificates, withdrawals, and param proposals.

however when using:
  "insert_options": {
     "preset": "only_gov"
  },

I have following tables & columns filled with data:

sancho_test_config_only_gov=# select count(*) from reward;
 count
-------
  1587
(1 row)

sancho_test_config_only_gov=# select count(*) from epoch_stake;
 count
-------
  2362
(1 row)

sancho_test_config_only_gov=# select count(*) from ada_pots;
 count
-------
   264
(1 row)

sancho_test_config_only_gov=# select count(*) from epoch_param;
 count
-------
   264
(1 row)

sancho_test_config_only_gov=# select count(*) from tx where deposit IS NOT NULL;
 count
-------
 41550
(1 row)

sancho_test_config_only_gov=# select count(*) from drep_distr;
 count
-------
   311
(1 row)

Assuming that x in description:

governance_action.x_epoch is left null

is related to any epoch prefix then ratified_epoch and enacted_epoch are not always null:
sancho_test_config_only_gov=# select count(*) from gov_action_proposal where ratified_epoch IS NOT NULL;
 count
-------
     2
(1 row)

sancho_test_config_only_gov=# select count(*) from gov_action_proposal where enacted_epoch IS NOT NULL;
 count
-------
     2
(1 row)

sancho_test_config_only_gov=# select count(*) from gov_action_proposal where dropped_epoch IS NOT NULL;
 count
-------
     0
(1 row)

sancho_test_config_only_gov=# select count(*) from gov_action_proposal where expired_epoch IS NOT NULL;
 count
-------
     0
(1 row)

and related to shelley:
sancho_test_config_only_gov=# select count(*) from param_proposal;
 count
-------
     5
(1 row)

I think this is probably a documentation bug. It is explicitly set to LedgerEnable.


Retry frontend test

Flakey UsePagination test causing failures
This PR ...
If you are suggesting a fix for a currently exploitable issue, please disclose the issue to the prime-reportstream team directly outside of GitHub instead of filing a PR, so we may immediately patch the affected systems before a disclosure. See SECURITY.md/Reporting a Vulnerability for more information.
Test Steps:

Include steps to test these changes

Changes

Include a comprehensive list of changes in this PR
(For web UI changes) Include screenshots/video of changes

Checklist
Testing

[ ] Tested locally?
[ ] Ran ./prime test or ./gradlew testSmoke against local Docker ReportStream container?
[ ] (For Changes to /frontend-react/...) Ran npm run lint:write?
[ ] Added tests?

Process

[ ] Are there licensing issues with any new dependencies introduced?
[ ] Includes a summary of what a code reviewer should test/verify?
[ ] Updated the release notes?
[ ] Database changes are submitted as a separate PR?
[ ] DevOps team has been notified if PR requires ops support?

Linked Issues

Fixes #issue

To Be Done
Create GitHub issues to track the work remaining, if any

#issue

Specific Security-related subjects a reviewer should pay specific attention to

Does this PR introduce new endpoints?

new endpoint A
new endpoint B

Does this PR include changes in authentication and/or authorization of existing endpoints?
Does this change introduce new dependencies that need vetting?
Does this change require changes to our infrastructure?
Does logging contain sensitive data?
Does this PR include or remove any sensitive information itself?

If you answered 'yes' to any of the questions above, conduct a detailed Review that addresses at least:

What are the potential security threats and mitigations? Please list the STRIDE threats and how they are mitigated

Spoofing (faking authenticity)

Threat T, which could be achieved by A, is mitigated by M

Tampering (influence or sabotage the integrity of information, data, or system)
Repudiation (the ability to dispute the origin or originator of an action)
Information disclosure (data made available to entities who should not have it)
Denial of service (make a resource unavailable)
Elevation of Privilege (reduce restrictions that apply or gain privileges one should not have)

Have you ensured logging does not contain sensitive data?
Have you received any additional approvals needed for this change?

@snesm what is the runtime when that check fails? 30 minute timeout can probably be reduced if it's never expected to run that long

@JosiahSiegel the frontend tests normally take well under 30 min. and even when it fails, it's not going to hit that.  Since this is not a required test and always runs faster than the required backend build/test, I'm comfortable with 30.


Roll Flutter Engine from ea1d0d28e26f to 2004b6b9ceb6 (1 revision)

https://github.com/flutter/engine/compare/ea1d0d28e26f...2004b6b9ceb6
2023-09-08<EMAIL_ADDRESS>Roll Skia from fb4faa8646f8 to ce3ec572ae77 (1 revision) (flutter/engine#45567)
If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/flutter-engine-flutter-autoroll
Please CC rmistry<EMAIL_ADDRESS>on the revert to ensure that a human
is aware of the problem.
To file a bug in Flutter: https://github.com/flutter/flutter/issues/new/choose
To report a problem with the AutoRoller itself, please file a bug:
https://bugs.chromium.org/p/skia/issues/entry?template=Autoroller+Bug
Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md

Commit queue failed; closing this roll.


Change the default texture sampling to repeat

Changes the texture samplers' repeat properties to repeat by default to make them function the same way they did in previous versions. This fixes the seams that appear when using most processing nodes:

1.3
1.4a
1.4 PR

Hi! Can you please provide the test case? there's still a diffrerence between the 1.3 and 1.4 screenshots and I'd also like to understand this (plus see if there are more required changes for this problem).

A very simple test case: repeat_test.zip
The file consists of a checkerboard node connected to HBAO. The output looks like this on different versions (most noticeable with a plane preview mesh):
1.4 alpha:

1.3:

This can also be seen on many existing materials, such as https://www.materialmaker.org/material?id=998
A noticeable line appears in 1.4 alpha:
1.3:

1.4:

This may also fix #722


Draft: Fix tests

Summary by CodeRabbit

Refactor

Refined type constraints for the Overwrite constructor to improve reliability and performance.

Tests

Updated and refined test cases for better accuracy and coverage.

Codecov Report
All modified and coverable lines are covered by tests :white_check_mark:

Project coverage is 96.72%. Comparing base (818d7bb) to head (1a73a43).

:exclamation: Your organization needs to install the Codecov GitHub app to enable full functionality.
Additional details and impacted files
@@            Coverage Diff             @@
##           master      #23      +/-   ##
==========================================
- Coverage   96.90%   96.72%   -0.18%
==========================================
  Files          23       23
  Lines         678      642      -36
==========================================
- Hits          657      621      -36
  Misses         21       21

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


fixed test with drop user on nightly ydb

Pull request type

Please check the type of change your PR introduces:

[x] Bugfix
[ ] Feature
[ ] Code style update (formatting, renaming)
[ ] Refactoring (no functional changes, no api changes)
[x] Build related changes
[ ] Documentation content changes
[ ] Other (please describe):

What is the current behavior?

Issue Number: N/A
What is the new behavior?

Other information

Codecov Report
All modified and coverable lines are covered by tests :white_check_mark:

Project coverage is 40.86%. Comparing base (44135d1) to head (25b7f8a).

Additional details and impacted files
@@            Coverage Diff             @@
##           master    #1597      +/-   ##
==========================================
- Coverage   40.89%   40.86%   -0.03%
==========================================
  Files         371      369       -2
  Lines       38131    38029     -102
==========================================
- Hits        15592    15540      -52
+ Misses      22016    21968      -48
+ Partials      523      521       -2

Flag
Coverage Δ

go-1.22.x
40.86% <ø> (+<0.01%)
:arrow_up:

go-1.23.x
?

macOS
40.86% <ø> (-0.03%)
:arrow_down:

unit
40.86% <ø> (-0.03%)
:arrow_down:

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

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


fix(skip-error): propagate result of check_json if not exiting on error

Me too, I just used the same name as below in the code.


Lab 9, provisioning setup script throws error

Module: 04
Lab/Demo: 09
Task: Provision an Azure Synapse Analytics workspace
Step: 05
 cd dp-203/Allfiles/labs/09 ./setup.ps1
Description of issue
Suspend-AzSynapseSQLPool not loaded from module

Might be worth investigating - does not impact lab but can cause confusion for those running script independently.

I have seen similar issue today:

Its related to the Azure Cloud Shell. The az modules are updated. Better to reset your Azure Cloud Shell .
[cid:2265b424-7d34-4614-b857-b19c4a56c5b4]
Then go to advanced and select your existing resource group, storage account and create a new (!) file share.
[cid:4a2c428d-68b8-4ce7-8475-35cbab325845]
Then copy al your files from the old file share to the new file share.
Very, very anoying that the az module is updated and you can't update the module az module in the cloud shell because of dependencies.
Good luck
Marcel

Van: Wesley De Bolster @.>
Verzonden: woensdag 26 april 2023 10:28
Aan: MicrosoftLearning/dp-203-azure-data-engineer @.>
CC: Subscribed @.***>
Onderwerp: Re: [MicrosoftLearning/dp-203-azure-data-engineer] Lab 9, provisioning setup script throws error (Issue #26)
I have seen similar issue today:
[image]https://user-images.githubusercontent.com/53346841/234516764-2d3a8a2a-02b9-47ff-84cd-13dcc64cfd91.png
—
Reply to this email directly, view it on GitHubhttps://github.com/MicrosoftLearning/dp-203-azure-data-engineer/issues/26#issuecomment-1522997340, or unsubscribehttps://github.com/notifications/unsubscribe-auth/ACNSCWL4WGCJ7MGW2VMQ7JDXDDMERANCNFSM6AAAAAAXK27YYM.
You are receiving this because you are subscribed to this thread.Message ID: @.***>

Hello @molenaar
Can you please provide some more details on how to reset the Azure Cloud shell? I have the same problem but can not replicate your steps above.
Thank you very much.
Best,
Hendrik

Mmmm, images weren't uploaded correctly...
Open the CloudShell

And first check the name of your storage account connected to your clouddrive

Then search for your storage account and look for the name of the existing file share

Your can see in the screenshot my original file share name and the new file share name (I already resetted my cloud shell so continue with the next steps!)
Then, open the gear of the Cloud Shell and select Reset User Settings

Select PowerShell (or Bash, what you prefer)

Select Show Advanced Settings

Then select your subscription, resourcegroup and storage account and create a new (!) File Share. I choose cloudshell as the new of my new file share

Now the Cloud Shell will start and everything should be working fine again!

Good luck
Marcel

Thanks @molenaar


make GallerySearchTest pass in new UI

To test this flakey test more efficiently, temporarily  comment out other tests.

Basically looks fine, but before you proceed I'm wondering why you've kind of duplicated the code of the method you made public. Seems to make more sense to use isResultType.
If that is correct, please change, but otherwise GTG.

Ah sorry I was a bit distracted. Fix!


Create docker-image.yml

Added workflow for deploying docker image

I hope we can shortly build packages via docker.


Firestore - DocumentSnapshot.ConvertTo fails with ArgumentException

I have found an interesting issue when using Firestore (currently 1.0.0-beta08) in my C# project. Calling ConvertTo<T>() from a document snapshot fails when T does not contain properties to accommodate all document's fields. An ArgumentException is thrown in this case.
This is how the issue can be reproduced:
Given the following POCO class:
[FirestoreData()]
private class MyDocument
{
    [FirestoreProperty()]
    public string Name { get; set; }
}

And the following Firestore document:
{
   "Name": "Some Name",
   "LastName": "Some Last Name"
}

An ArgumentException is thrown when calling:
var myDocument = documentSnapshot.ConvertTo<MyDocument>();
If this behavior has been intentionally implemented, it should be at least configurable (either by passing an argument to ConvertTo() or by providing parameters to FirestoreDataAttribute). It completely breaks the flexibility of a document database, since adding new fields to the documents forcibly requires changing the code base. Backwards compatibility becomes then a hard task if not impossible.

Any progress on this issue? It puts major restrictions on firestore access from C#.

@cjcurrie: Yes, it was fixed in 2018, and you shouldn't be seeing an exception now. You can optionally see a warning if you've specified a warning logger via FirestoreDb.WithWarningLogger, and haven't specified a different UnknownPropertyHandling value for FirestoreDataAttribute. If you are getting an exception, it's probably a different issue - please file a new issue with details of how we can reproduce it.

Hi @jskeet , I have an issue with ConvertTo.
It worked fine when editor mode, but in the real device, It's throw exception
`
10-02 11:03:10.029: E/Unity(32125): InvalidOperationException: Type XXX has no parameterless constructor
10-02 11:03:10.029: E/Unity(32125):   at Firebase.Firestore.Internal.Preconditions.CheckState[T] (System.Boolean condition, System.String format, T arg0) [0x00000] in <00000000000000000000000000000000>:0
10-02 11:03:10.029: E/Unity(32125):   at Firebase.Firestore.Converters.AttributedTypeConverter.CreateObjectCreator (System.Type type) [0x00000] in <00000000000000000000000000000000>:0
10-02 11:03:10.029: E/Unity(32125):   at Firebase.Firestore.Converters.AttributedTypeConverter..ctor (System.Type targetType, Firebase.Firestore.FirestoreDataAttribute attribute) [0x00000] in <00000000000000000000000000000000>:0
10-02 11:03:10.029: E/Unity(32125):   at Firebase.Firestore.Converters.AttributedTypeConverter.ForType (System.Type targetType) [0x00000] in <00000000000000000000000000000000>:0
10-02 11:03:10.029: E/Unity(32125):   at Firebase.Firestore.Converters.ConverterCache.CreateConverter (System.Type targetType) [0x00000] in <00000000000000000000000000000000>:0
10-02 11:03:10.029: E/Unity(32125):   at Firebase.Firestore.Converters.ConverterCache.GetConverter (System.Type targetType) [0x00000] in <00000000000000000000000000000000>:0
10-02 11:03:10.029: E/Unity(32125):   at Fire
`
My XXX class has no parameter in the constructor.
Any idea?

@mikenlanggio: It looks like that isn't using the Google.Cloud.Firestore library which is in this repo, but Firebase.Firestore, which is a separate codebase, supported by the Firebase team. I suggest you follow the steps in the Firebase support page - I'm afraid there are too many possibility for a Unity-specific or Firebase.Firestore-specific problem for me to help here.

@mikenlanggio: It looks like that isn't using the Google.Cloud.Firestore library which is in this repo, but Firebase.Firestore, which is a separate codebase, supported by the Firebase team. I suggest you follow the steps in the Firebase support page - I'm afraid there are too many possibility for a Unity-specific or Firebase.Firestore-specific problem for me to help here.

Thank you for your quick reply. Have a nice day ^^


test(IAM Access Groups): Fixed a bug in a temporary test fix

PR summary
Follow up bug fix to temporary changes made in this pr: https://github.com/IBM/platform-services-python-sdk/pull/12
Fixes: https://github.com/IBM/platform-services-python-sdk/pull/12
PR Checklist
Please make sure that your PR fulfills the following requirements:

[x] The commit message follows the Angular Commit Message Guidelines.
[x] Tests for the changes have been added (for bug fixes / features)
[x] Docs have been added / updated (for bug fixes / features)

PR Type

[x] Bugfix
[ ] Feature
[ ] Code style update (formatting, local variables)
[ ] Refactoring (no functional changes, no api changes)
[ ] New tests
[ ] Build/CI related changes
[ ] Documentation content changes
[ ] Other (please describe)

What is the current behavior?

What is the new behavior?

Does this PR introduce a breaking change?

[ ] Yes
[x] No

Other information

:tada: This PR is included in version 0.3.2 :tada:
The release is available on GitHub release
Your semantic-release bot :package::rocket:


Use correct header_size for Version 3

Version 3 has two extra floats at 36 and 40. Not sure what they mean.

I merged but please be aware, I'm not really maintaining this project anymore. I trust these changes make sense and work. I guess it would be good to have an example scene in the new format added to the repo to demonstrate that it works. Would like to heave write access to this project? Thanks for the patch anyways. And I'm sorry it took me so long to merge this.


Stuff got even worse now that videos could not even load properly 😭

Type
Player
Page URL
https://www.youtube.com/watch
Branch
main
Version
0.7.1
A brief description
I just wanted to watch a video and it does not loads for some reason 😭
Screenshots or videos
https://streamable.com/or9s9p
Console output
userscript.html?name=Cosmic-Cat.user.js&id=1a04f932-77ee-48c9-9e4e-60ab546788b5:6507 Storage.init storage has init.
 If an opaque response serves your needs, set the request's mode to 'no-cors' to fetch the resource with CORS disabled.
 If an opaque response serves your needs, set the request's mode to 'no-cors' to fetch the resource with CORS disabled.
       Please make sure it has an appropriate as value and it is preloaded intentionally.

RIP Cosmic Cat, use Customtube, look for a 2012 frontend (there isn't one at the time of me typing this), or give up and use V3 or Redux

i do not rlly like customtube bc it overheats my laptop and stuff is not accurate :/

There is another project that it's in development right now just called V3. It aims for 2013 YT instead of 2012 though and so far you can only get them from their Discord. I've tested it and it's the next best thing.
RIP Cosmic Cat =,n,=7

There is another project that it's in development right now just called V3. It aims for 2013 YT instead of 2012 though and so far you can only get them from their Discord. I've tested it and it's the next best thing. RIP Cosmic Cat =,n,=7

Couldn't really find anything about V3, mainly because of the name itself being so vague. How do we go around finding their Discord server?

Couldn't really find anything about V3, mainly because of the name itself being so vague. How do we go around finding their Discord server?

Sorry for the late reply, there is an invite in the Rehike github page. They're not by the same dev, but both aim for a similar thing by different approaches.

Also, for anyone else having this issue still, here's a band-aid solution till it's fixed:
First of all, to feed the data to videoCon, change line 3116 from:
${document.cosmicCat.Template.Watch.Content.videoCon()}

To:
${document.cosmicCat.Template.Watch.Content.videoCon(data)}

Afterwards, we add an iFrame and the data into the empty player area by changing this section at line 3203 from:
                videoCon: () => {
                    return `

`;

To:
                videoCon: (data) => {
                    return `

`;

And then lastly, in order to change the look of the embedded YouTube player we just added to make it look more like the default player, we add this piece of code to line 7135:
function delay() {
    setTimeout(function() {
        console.log("woah");
        var titleHTML = window.frames[0].document.getElementsByClassName("ytp-title-link")[0];
        var shareHTML = window.frames[0].document.getElementsByClassName("ytp-button ytp-share-button")[0];
        var buttonHTML = window.frames[0].document.getElementsByClassName("ytp-youtube-button ytp-button")[0];
        var topHTML = window.frames[0].document.getElementsByClassName("ytp-chrome-top ytp-show-cards-title")[0];
        titleHTML.remove();
        shareHTML.remove();
        buttonHTML.remove();
        topHTML.remove();
    }, 1000);
}

if (document.readyState == 'complete') {
    delay();
} else {
    document.onreadystatechange = function () {
        if (document.readyState === "complete") {
            delay();
        }
    }
}

After all that, you should have a proper player within the page again! It's quite a janky band-aid solution but it's better than nothing I believe.
Don't forget to use PlayerTube as well!


[BEAM-7503] Created CoGBK Python Load Test Jenkins job

Based on the following proposal: https://s.apache.org/load-test-basic-operations

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).
[x] 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.

Thanks Kamil! This LGTM!


molly-guard: Reduce closure size by stripping unneeded dependeicies

Description of changes
Currently, the molly-guard package has a closure size of over 500M (making it even bigger than e.g. grafana at ~300M). This appears to be due to the env-vars file, containing references to gcc and everything, being copied into $out and thus pulling references on stdenv-linux (300M+) and so on. This PR achieves a reduction in closure size by over 60% (and reducing the system closure size for one of my servers from 2G to 1.7G (-~17%)):
➜  nixpkgs git:(molly-guard-less-deps) nix path-info github:NixOS/nixpkgs/5f4e07deb7c44f27d498f8df9c5f34750acf52d2#molly-guard .#molly-guard -Sh
/nix/store/6qfswfhybgjpxkpijmrcqk2cdybkniq5-molly-guard-0.7.2	 506.6M # <-- Prior
/nix/store/gm3c03bk81701l98hcnii1b8pn2ayyqn-molly-guard-0.7.2	 173.8M # <-- With changes

nix store diff-closures
➜  nixpkgs git:(molly-guard-less-deps) nix store diff-closures github:NixOS/nixpkgs/5f4e07deb7c44f27d498f8df9c5f34750acf52d2#molly-guard .#molly-guard
evaluating derivation 'git+file:///home/e1mo/Documents/dev/nixpkgs#molly-guard'
audit-tmpdir.sh: ε → ∅
binutils: 2.40 → ∅, -31644.3 KiB
binutils-wrapper: 2.40 → ∅, -48.5 KiB
compress-man-pages.sh: ε → ∅
diffutils: 3.8 → ∅, -1450.4 KiB
dpkg: 1.21.1ubuntu2.1 → ∅, -7481.4 KiB
ed: 1.19 → ∅, -135.5 KiB
expand-response: ε → ∅, -17.0 KiB
file: 5.44 → ∅, -8303.1 KiB
findutils: 4.9.0 → ∅, -1361.0 KiB
gawk: 5.2.1 → ∅, -2632.1 KiB
gcc: -221484.5 KiB
gcc-wrapper: 12.2.0 → ∅, -55.2 KiB
glibc: -2243.5 KiB
gnumake: 4.4 → ∅, -1506.1 KiB
gnused: 4.9 → ∅, -710.5 KiB
linux-headers: 6.1 → ∅, -6182.9 KiB
make-symlinks-relative.sh: ε → ∅
molly-guard_0.7.2_all.deb: ε → ∅, -12.1 KiB
move-docs.sh: ε → ∅
move-lib64.sh: ε → ∅
move-sbin.sh: ε → ∅
move-systemd-user-units.sh: ε → ∅
multiple-outputs.sh: ε → ∅, -8.2 KiB
patch: 2.7.6 → ∅, -222.3 KiB
patch-shebangs.sh: ε → ∅
patchelf: 0.15.0 → ∅, -212.8 KiB
perl: 5.36.0 → ∅, -54987.5 KiB
prune-libtool-files.sh: ε → ∅
reproducible-builds.sh: ε → ∅
set-source-date-epoch-to-latest.sh: ε → ∅
stdenv: ε → ∅, -49.6 KiB
strip.sh: ε → ∅

In my testing, functionality didn't seem to be impaired.

Things done

Built on platform(s)

[x] x86_64-linux
[ ] aarch64-linux
[ ] x86_64-darwin
[ ] aarch64-darwin

[ ] For non-Linux: Is sandbox = true set in nix.conf? (See Nix manual)
[x] Tested, as applicable:

NixOS test(s) (look inside nixos/tests)
and/or package tests
or, for functions and "core" functionality, tests in lib/tests or pkgs/test
made sure NixOS tests are linked to the relevant packages

[ ] Tested compilation of all packages that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review rev HEAD". Note: all changes have to be committed, also see nixpkgs-review usage
[x] Tested basic functionality of all binary files (usually in ./result/bin/)
23.05 Release Notes (or backporting 22.11 Release notes)

[ ] (Package updates) Added a release notes entry if the change is major or breaking
[ ] (Module updates) Added a release notes entry if the change is significant
[ ] (Module addition) Added a release notes entry if adding a new NixOS module

[x] Fits CONTRIBUTING.md.

What about changing dpkg-deb -x "$src" . to dpkg-deb -x "$src" "$out", that way env-vars won't be there in the first place.

Good point @NickCao ! I've reworked the PR to extract everything into source and go on from there, with that we also don't need to delete the env-vars.

Could this change qualify for backporting?  I don't see this potentially causing any dependency regression so IMO the criteria outlined in CONTRIBUTING.md should be fulfilled.

Of course


[draft] setting up event grid namespaces infrastructure and access

this PR introduces a bicep template to create an Azure Event Grid Namespaces instance in the same RG as the AKS cluster for development purposes.
this template implements certificate based authn and topic template based authz as proposed in SD-DDR-0024. entra based authn/z is under investigation and first results can be found here - https://issues.redhat.com/browse/ARO-7244
this PR incomplete and lacks deployment scripts for a Maestro Server and Agent interacting with Event Grid. this will be added soon.

What this PR does
introduce bicep config for event grid namespaces required by maestro
Jira: https://issues.redhat.com/browse/ARO-7244
Special notes for your reviewer

Checklist
This checklist is not enforcing, but it's a reminder of items that could be relevant to every PR.
Approvers are expected to review this list.

[ ] PR: The PR description is expressive enough and will help future contributors
[ ] Code: Write code that humans can understand and Keep it simple
[ ] Refactor: You have left the code cleaner than you found it (Boy Scout Rule)
[ ] Upgrade: Impact of this change on upgrade flows was considered and addressed if required
[ ] Deployment: The deployment process was considered and addressed if required
[ ] Testing: New code requires new unit tests.
[ ] Documentation: Is the documentation updated? Either in the doc located in focus area, in the README or in the code itself.
[ ] Customers: Is this change affecting customers? Is the release plan considered?

@microsoft-github-policy-service agree company="Red Hat"


UIViewController not deinit if was binded to ExceptionHandler

Here the branch with reproducer.
UIViewController not deinited after deleting from navigation stack, if it was binded by viewModel.exceptionHandler.bind(viewController: self)

i see that now UIViewController stored in weak reference
https://github.com/icerockdev/moko-errors/blob/f1d29f93f6f67049c19a574c330a0e9877346e74/errors/src/iosMain/kotlin/dev/icerock/moko/errors/handler/ExceptionHandlerBinder.kt#L36
can be bug outdated?


Appium - iOS - Building using debug-mode is not supported

Hello everyone. 1st of all, thx for your great work on this project! :)
Trying to use iOS and Appium
Following a research of using iOS, Appium and specific APIs like getRenderObjectDiagnostics I faced some issues that blocked me.
Appium cannot use debug-mode iOS builds
On this ticket: https://github.com/flutter/flutter/issues/73935
We see that Appium cannot start an iOS application that was build using debug mode.
Do we have a way to launch a debug-mode iOS build via flutter cli or something of those sorts?

A possible solution is to use profile-mode
While researching on Appium Flutter Driver, I found: https://github.com/appium-userland/appium-flutter-driver/issues/115
Which describes that the solution right now is to build the iOS app in profile mode in order to use Appium.
By using profile-mode iOS builds, some APIs are unavailable
But by doing that, we lose the possibility to use the API I mentioned: https://github.com/flutter/flutter/issues/70772

I opened this issue following @Hixie comment here: https://github.com/flutter/flutter/issues/70772#issuecomment-797820367
PS: Please, if a solution is 100% achievable from userland, let me know and feel free to close off this issue!

@marceloadsj
Please check this link and see if it helps in your case.

Hello @darshankawar thanks for your reply.
Well, I did good info on those links related to "other options" of integration testing on Flutter apps.
But regarding the core issue, I couldn't find anything.
Just to be in sync, the root problem is **an iOS Flutter app built in debug-mode cannot run externally, without being from Flutter cli".
From there I had 2 options

check exactly why the app can't run, and see if, on Appium, I can make the debug-mode app to run via flutter cli.

or, forget about debug-mode and use profile-mode. But this creates a new problem: some APIs are not available in this mode. So, here the question is: is there a way to keep them in place? (APIs like getRenderObjectDiagnostics)

Thanks for the feedback.

2. forget about debug-mode and use profile-mode. But this creates a new problem: some APIs are not available in this mode. So, here the question is: is there a way to keep them in place? (APIs like getRenderObjectDiagnostics)

https://github.com/flutter/flutter/issues/70772 would be the right link to follow-up on for this scenario.

check exactly why the app can't run, and see if, on Appium, I can make the debug-mode app to run via flutter cli. This would became an Appium concern, thus this issue could be closed

I am not sure how Flutter would fix anything for this scenario, since it seems to be requirement from iOS level itself as it can't be open in debug mode for iOS 14+, so I think the change should probably made at Appium level to support it.
Based on above, I will go ahead and close it as I don't think this would be actionable from Flutter side. If you disagree, write in comments and I'll reopen it.

@darshankawar regarding:
since it seems to be requirement from iOS level itself as it can't be open in debug mode for iOS 14+
Do you have, please, any document from iOS, from Flutter or any "code", that explains what exactly is that requirement?

Any input from @Hixie side here, please?
I'm tagging you as you asked for us to open an issue to discuss this behaviour.
https://github.com/flutter/flutter/issues/70772
Thanks!

Yeah this might actually be a bug that has to be filed with Appium rather than Flutter, but let's reopen this while we figure out exactly where the fix would have to happen.

The limitation is that on iOS 14+ any JIT app (Flutter iOS debug mode) needs to be launched by a debugger either from lldb or Xcode. See:
https://github.com/flutter/flutter/issues/60657
https://github.com/flutter/flutter/issues/62518
https://github.com/flutter/engine/pull/20980
When you flutter run or run from a Flutter IDE plugin, the app is built under the covers with xcodebuild, then the .app bundle is being installed and launched via an lldb debugserver session by a tool called ios-deploy which is shipped in the flutter SDK at bin/cache/artifacts/ios-deploy/ios-deploy.  Appium, or any tooling, could do the same and use ios-deploy to launch the app with the debugger.  See https://github.com/ios-control/ios-deploy#examples or run bin/cache/artifacts/ios-deploy/ios-deploy -h to see the available commands and flags (--justlaunch, etc).
https://github.com/flutter/flutter/blob/888b7b9b19642e18e001e3edfa9438c2624d8773/packages/flutter_tools/lib/src/ios/ios_deploy.dart#L167-L198
https://github.com/flutter/flutter/blob/888b7b9b19642e18e001e3edfa9438c2624d8773/packages/flutter_tools/lib/src/ios/ios_deploy.dart#L121-L165
This is the workaround Flutter tooling uses for the iOS 14+ limitation of running a JIT app on iOS, so Appium should be able to do the same.
Does that answer your question?

Thanks a lot everyone for your detailed explanation, I really appreciate it! <3
I believe Appium (and any other userland tooling) can use the info provided by @jmagman to be able to launch Flutter apps in debug mode.
I will close this issue and continue the discussion on Appium side. Thanks again! :)


Passing files across a bst shell sandbox boundry

See original issue on GitLab
In GitLab by [Gitlab user @samthursfield] on Feb 26, 2018, 16:22
In #gnome-hackers there was a question on how to put a file from the host into a bst shell sandbox.
This seems like a reasonable wish when using the shell environment to debug something. The "correct" approach of adding an 'import' element with a local source and rebuilding the sandbox would be rather time consuming compared to just copying the file in.
There's no way to get BuildStream to say where a sandbox root filesystem lives. It can be found by grubbing around in ~/.cache/buildstream/builds but I don't want to recommend that.
One option would be to have bst shell print out the path to the sandbox it has created... but that still seems ugly.
Another possibility I thought of is allowing something like bst checkout element.bst ./my-checkout; bst shell element.bst --sysroot ./my-checkout. Here the user has explicitly created a sandbox directory and opened a shell on top, and seems reasonable that they can add and remove files to it on the host as they please, and deal with whatever breakages may result. However this fails because bst shell --sysroot expects the sysroot directory to be shaped like a BuildStream build sandbox, having all the files in a ./root subdirectory.
Any thoughts on how we should best do this?

In GitLab by [Gitlab user @tristanvb] on Feb 26, 2018, 16:41

Any thoughts on how we should best do this?

I have started work on supporting optional bind mounts in the new shell: section of project.conf
This is mostly targeted at things like /etc/passwd and /etc/resolv.conf, where we would first check if the desired file exists on the host and then bind mount it into the sandbox (only if --isolate is not specified).
Would this mostly cover the use case ?

In GitLab by [Gitlab user @tristanvb] on Feb 26, 2018, 16:43
Perhaps better if we supported directories in the bind mount mapping, and expanded env vars on the host side paths, so something like the following could be expressed:
shell:

   # Specify host directories to be bound into the sandbox
   bind-directories:
   - '${HOME}': '/home'

In GitLab by [Gitlab user @tristanvb] on Feb 26, 2018, 16:46
Note: I think this is somewhat related to the flagship issue #223

In GitLab by [Gitlab user @juergbi] on Feb 26, 2018, 17:07
I probably wouldn't want a fixed $HOME mapping in the shell sandbox in a typical project config. That would be too risky, in my opinion. The user could temporarily add it, of course, but that's again somewhat inconvenient. Not sure what the best approach is.
A possibility may be to add a --working-directory option to bst shell that would bind-mount the specified directory. Or maybe just generic --bind options like bwrap has. I.e., the same feature as in the config file also as CLI option.

In GitLab by [Gitlab user @tristanvb] on Feb 27, 2018, 16:56
Note: The features described in my previous comment are landed in !299
Will look into extending this with some CLI options next.

In GitLab by [Gitlab user @tristanvb] on Mar 1, 2018, 12:56
mentioned in commit 80399ddbcaef835961816a2e9775c8434b4ee2b7

In GitLab by [Gitlab user @tristanvb] on Mar 2, 2018, 12:09
mentioned in commit 4c13ed238f2b8746f698d1da1ac5bb073dfd9409

In GitLab by [Gitlab user @tristanvb] on Mar 4, 2018, 12:15
mentioned in commit 12ca960710dac773618524a9b7d35c12cf686824

In GitLab by [Gitlab user @tristanvb] on Mar 4, 2018, 12:36
closed via merge request !302

In GitLab by [Gitlab user @abderrahimk] on Mar 8, 2018, 13:36
Wouldn't the use case in the OP be better served by offering to open a workspace as one of the options when compilation fails? (and switching to it so that one can still use retry)

In GitLab by [Gitlab user @tristanvb] on Mar 8, 2018, 14:15
[Gitlab user @abderrahimk] I can see your suggestion as useful, but rather unrelated to "Wanting access to host files while debugging something"
A workspace is where sources under development come from when you build something, I see this report as debugging an application that was already built, not debugging of a build failure.
The OP says:

This seems like a reasonable wish when using the shell environment to debug something.

That said, workspacing a failed element as an option in mid-build would be really cool, and also really hard, because you essentially need to recompute the whole pipeline, while parallel tasks are suspended in mid-build.
Rather than that level of complexity; it seems reasonable that if the user wants to debug a build failure more intensively, by modifying sources in a workspace; they can abort, open a workspace and relaunch; dependencies will have already been built at that point so it's not a time sink.
Feel free to open a separate issue for this, though.

In GitLab by [Gitlab user @phako] on Mar 8, 2018, 14:30
So let me chime in with my original question on #gnome-hackers (which Sam kindly turned into this ticket):
I wanted to test a fix in the vala compiler, so I needed to get the source code file for reproducing the issue into the environment somehow to check whether the bug was fixed or not.

In GitLab by [Gitlab user @tristanvb] on Mar 8, 2018, 15:25
[Gitlab user @phako] Hi Jens !
In this case, I think the fix we implemented works well for you.
At this stage, you can basically do the following:
bst build core-deps/vala.bst

... get a build of vala to check ...

bst shell --mount /home/phako /home/phako core-deps/vala.bst

From there, you now have your home dir mounted into the sandbox at the same location, with the selected build of vala that you want to test, and should be able to run it against any vala source in your home dir.
Does this fix the issue for you ?


Revectorized the crown graphic

I wanted to incorporate the crown into some of our Django Girls swag but couldn't get hold of a vector copy.
So I recreated it from a Keep Calm crown, the Python logo and a little bit of duct tape.
I thought this may be useful to somebody else in future. :)
:crown::snake:

/cc @hawkz

Nice work :+1:

Thinking further, should I dump all of my originals somewhere in the repo? where would make sense?

Sounds like a good idea. Make a new folder if there isn't anywhere
relevant. There is also the PyCon UK society github as well which may be
better for somethings, I don't know.
On 11 September 2015 at 09:16, Stephen Hawkes<EMAIL_ADDRESS>wrote:

Thinking further, should I dump all of my originals somewhere in the repo?
where would make sense?
—
Reply to this email directly or view it on GitHub
https://github.com/PyconUK/pyconuk.org/pull/157#issuecomment-139480653.

I'd say keep the assets in this repo, where they will be used -- saves people from cloning two separate repos just to work on the site. The Society repo is mainly for the legal stuff.


Duplicating actors leads to issues with resulting duplicated items

Duplicating actors is a common usage case in order to quickly create similar actors.  Duplicated actors are provided a new unique actorId but all items retain the same itemId.
If you attempt to delete or modify an item from a duplicated actor it will delete the first item found which matches the itemId instead of the item intended.
This seems to be caused by several functions in shared.js which assume the itemId will be unique when this is not the case.

deleteOwnedItem
findItemFromId
findActorFromItemId

These should target the specific actor instead
for example deleteOwnedItem could be replaced with:
this.actor.deleteEmbeddedDocuments("Item", [element.dataset.id]);
Which only deletes the item of the actor which is the current target.

Yeah, I know about this one. To be honest it could be argued that the issue here is with Foundry in that they are only doing a shallow copy. I'd also add that generally this primarily applies to creatures (the documentation points out that you should link characters back to their original actor data or you'll experience issues anyway). I'll have a think about this one as I'm not sure it's urgent (unless you can make a case to the contrary?).


Clean up clif-util: use anyhow and structopt

Thanks for doing this! I always thought the previous approach of passing around a bunch of parameters was not the most pleasant.

I didn't check exact correspondence of the options structs to the old clap-based code, but it appears that all the same application logic is there so I assume that means the options values are coming from somewhere (hence nothing is missing).

Yep, all the flags and options should be the same, unless I messed something up. I also double checked that the help text is showing up properly for everything.

And FWIW: structopt is generating clap code under the covers, so there shouldn't be any big surprises here.


Cannot Generate Custom Web Engine Build on Windows

I want to create a custom build of specifically Web Engine specifically on Windows.
Expected results
Generated wasm_release folder.
Actual results
Exception in vs_toolchain.py while using the felt tool as recommended.

Steps to Reproduce:
Engine Development Environment Setup:
I have set up my Engine development environment as per this readme:

[✔] git
[✔] python3
[✔] flutter and dart
[✔] depot-tools
[✔] Visual Studio (although 2022, not 2017 as was written)
[✔] Windows 10 SDK
[✔] GYP_MSVS_VERSION enviroment variable is set to 2022
[✔] GYP_MSVS_OVERRIDE_PATH environment variable is set to MY:\path\to\msvs_2022
[✔] DEPOT_TOOLS_WIN_TOOLCHAIN environment variable is set to 0
[✔] src/flutter/lib/web_ui/dev has beed added to my path

My folder setup looks kinda like this:
engine_directory
├─ engine
│         ├─ .gclient
│         └─ ...
└─ flutter <-- a separate instance of flutter specifially to pair it with the custom engine build

My .gclient file content:
solutions = [
  {
    "custom_deps": {},
    "deps_file": "DEPS",
    "managed": False,
    "name": "src/flutter",
    "safesync_url": "",
    "url": "git@github.com:antosha-surf/Flutter-Engine.git",
    "custom_vars": {
      "download_emsdk": True,
    },
  },
]

My actions:
I did fetch flutter, set upstream and did gclient sync
Then, following these instructions:
I did python .\flutter\tools\gn --unoptimized --full-dart-sdk
It created out\host_debug_unopt
I did ninja -C .\out\host_debug_unopt, which filled this host_debug_unopt with many built files.

Using felt tool:
When using felt build from cmd (both regualrly and as Administrator - the results are identical):
A:\flutterCustomEngine\engine\src>felt build
Resolving dependencies... (1.4s)
Downloading packages...
  archive 3.4.2 (3.4.10 available)
  collection 1.17.0 (1.18.0 available)
  crypto 3.0.1 (3.0.3 available)
! engine_repo_tools 0.0.0 from path ..\..\tools\pkg\engine_repo_tools (overridden)
  file 6.1.4 (7.0.0 available)
  frontend_server_client 3.2.0 (4.0.0 available)
  http 1.1.0 (1.2.1 available)
  image 3.0.1 (4.1.7 available)
  js 0.6.4 (0.7.1 available)
  matcher 0.12.16 (0.12.16+1 available)
  path 1.8.0 (1.9.0 available)
  petitparser 5.4.0 (6.0.2 available)
  process 4.2.3 (5.0.2 available)
  stack_trace 1.10.0 (1.11.1 available)
  stream_channel 2.1.1 (2.1.2 available)
  test 1.24.8 (1.25.2 available)
  test_api 0.6.1 (0.7.0 available)
  test_core 0.5.8 (0.6.0 available)
  typed_data 1.3.0 (1.3.2 available)
  uuid 4.1.0 (4.3.3 available)
  vm_service 12.0.0 (14.2.0 available)
  webkit_inspection_protocol 1.0.0 (1.2.1 available)
  xml 5.4.1 (6.5.0 available)
  yaml 3.0.0 (3.1.2 available)
Got dependencies!
23 packages have newer versions incompatible with dependency constraints.
Try `dart pub outdated` for more information.
Running gn...
Generating GN files in: out\wasm_release
Traceback (most recent call last):
  File "A:/flutterCustomEngine/engine/src/build/vs_toolchain.py", line 561, in <module>
    sys.exit(main())
  File "A:/flutterCustomEngine/engine/src/build/vs_toolchain.py", line 557, in main
    return commands[sys.argv[1]](*sys.argv[2:])
  File "A:/flutterCustomEngine/engine/src/build/vs_toolchain.py", line 379, in CopyDlls
    raise Exception('Unknown target_cpu: ' + target_cpu)
Exception: Unknown target_cpu: wasm
ERROR at //build/toolchain/win/BUILD.gn:58:3: Script returned non-zero exit code.
  exec_script("//build/vs_toolchain.py",
  ^----------
Current dir: A:/flutterCustomEngine/engine/src/out/wasm_release/
Command: A:/.vpython-root/store/python_venv-feu4nmtoont0shce467kvt509k/contents/Scripts/python3.exe A:/flutterCustomEngine/engine/src/build/vs_toolchain.py copy_dlls A:/flutterCustomEngine/engine/src/out/wasm_release Release wasm
Returned 1.
See //BUILD.gn:5:1: which caused the file to be included.
group("default") {
^------------------
Running autoninja...
ninja: error: loading 'build.ninja':
ninja: Entering directory `A:\flutterCustomEngine\engine\src\out\wasm_release'
Pipeline experienced the following failures:
  "gn": Sub-process failed.
Command: A:\flutterCustomEngine\engine\src\flutter\tools\gn --web --runtime-mode=release
Working directory: A:\flutterCustomEngine\engine\src\flutter\lib\web_ui
Exit code: 1

  "ninja": Sub-process failed.
Command: autoninja -C A:\flutterCustomEngine\engine\src\out\wasm_release
Working directory: A:\flutterCustomEngine\engine\src\flutter\lib\web_ui
Exit code: 1

Test pipeline failed.

A:\flutterCustomEngine\engine\src>

So it tries to generate a wasm_release output (as expected) but fails.

Flutter Doctor Output:
FLUTTER DOCTOR OUTPUT
Doctor summary (to see all details, run flutter doctor -v):
[√] Flutter (Channel main, 3.21.0-7.0.pre.1, on Microsoft Windows [Version 10.0.19042.985], locale en-US)
[√] Windows Version (Installed version of Windows is version 10 or higher)
[!] Android toolchain - develop for Android devices (Android SDK version 34.0.0)
    ! Some Android licenses not accepted. To resolve this, run: flutter doctor --android-licenses
[√] Chrome - develop for the web
[√] Visual Studio - develop Windows apps (Visual Studio Community 2022 17.8.5)
[√] Android Studio (version 2023.1)
[√] IntelliJ IDEA Community Edition (version 2023.3)
[√] VS Code (version 1.74.0)
[√] Connected device (3 available)
[√] Network resources

Am I doing something horribly wrong?
Any help is appreciated.
Thanks in advance!

It seems the error is thrown from:
  x64_runtime, x86_runtime, arm64_runtime = vs_runtime_dll_dirs
  if target_cpu == 'x64':
    runtime_dir = x64_runtime
  elif target_cpu == 'x86':
    runtime_dir = x86_runtime
  elif target_cpu == 'arm64':
    runtime_dir = arm64_runtime
  else:
    raise Exception('Unknown target_cpu: ' + target_cpu)

It's telling an unknown target_cpu in the defined CPU list there. Could you check if your machine has CPU architecture matching one of these?
Also, could you retry this on the latest Flutter master channel?

My current Windows setup is Running an Intel Core i5 x86-64 processor.
I still get the same result when running with the latest Flutter master channel:
Flutter Doctor Output
Flutter 3.22.0-6.0.pre.17 • channel master •
https://github.com/flutter/flutter
Framework • revision f45741bc51 (71 minutes ago) •
2024-04-08 22:47:13 +0200
Engine • revision ceb5fa2c86
Tools • Dart 3.5.0 (build 3.5.0-31.0.dev) • DevTools 2.34.1

But I believe my processor type and Flutter version are irrelevant here in this case. The problem is, it seems like vs_toolchain.py only supports building engines on Android, iOS, Linux and Windows (did not try desktops tho, but seems likely the cpu choice for those will fall into one of the currently present target_cpu choices and it will build okay) targets.
The script fails because felt passes target_cpu = wasm, which is not in the list.
By the way, not using felt and using the gn directly does NOT solve the issue - and it is logical that this will happen because, if you read the source code you'll notice felt just calls gn for us under the hood with the list of pre-defined web-specific configs (for instance, it just asks gn to build --web variant).
What is noteworthy too is the fact that felt on my Mac device builds the web engine without any problem, correctly generating wasm_release folder after felt build so the issue seems to be an outdated Windows-oriented .py script that does not take into account the existence of Flutter for Web.

I tried making this work, but it turned into a yak shave I couldn't win, so I gave up. If someone wants to tackle this, go ahead! However, I was successful using WSL to build the web engine on Windows.


rfc: Promote low-level server API as the main API

Context
Currently, the hyper server module has two major components. A high-level server API and a low level connection based API. The most common usages of hyper for its server come from the high-level abstraction, as it is mostly plug and play. That said, there is a major flaw with the high-level API.
Problem
The high-level API takes some MakeService<T, R> and will call MakeService::make_service with a &IO where IO is some AsyncRead + AsyncWrite. This then allows the user to basically await on a single future for the entire server. Accepting new connections and passing them to the MakeService is all done on the root server future. This means that the Server can continue to use a &mut MakeService reference, calling poll_ready to apply back-pressure without the need for synchronization. Once a connection has been accepted and MakeService returns the per-connection M::Service, hyper will then spawn a connection task that will then handle the connection from that point on. This processing happens off of the root accept task.
This works great when you just want a one liner server and it can support the occasional user that may want to inspect the IO type before processing the connection. For example, it is possible to pull the remote address from the &IO type and give each connection this context in the returned service. When just using a bare TcpStream/TcpListener this works great. This is due to the fact that all processing of the connection happens during the accept phase and not after. When introducing TLS we must continue to an additional per connection processing (handshake). This processing can take some time and thus if done during the accept phase, it may potentially lead to other connections stalling during their accept/connect phase. To solve this, one would need to process the TLS handshake on the connection task, see #2175 for more information on this specifically.
The problem comes up when you want to use the MakeService with each IO type without any synchronization. Ideally, we'd like to accept the tcp connection, then process the handshake in an async manner, then somehow call MakeService::make_service with the TlsStream<TcpStream>. This would allow users to extract the remote address and peer certs. By unfortunately this style is not really compatible with how MakeService::poll_ready is stateless.
Solutions
The solution I would like to propose is to continue to treat hyper as a low level http implementation. This would mean remove the need for the MakeService abstraction but instead promote the low level conn module as the main way to work with servers in hyper. This provides a few advantages, the API is simpler and easier to discover, people can work with async/await instead of poll fn and 'static futures.
Examples
Simple one liners:
serve_fn("<IP_ADDRESS>:0", |req| async move { response(req).await }).await;

// Or with a `tower::Service`
serve("<IP_ADDRESS>:0", svc).await;

More complex with fetching the local addr from the bind:
let http = Http::new()
	.bind(addr)
	.await
	.unwrap();

let local_addr = http.local_addr();

http.serve_fn(|req| //...).await;

// Or with a `tower::Service`
http.serve(svc).await;

This style, then would allow us in hyper-tls to expand and provide nice and easy abstractions to implement similar on-top of the selected TLS implementation.
A more complex example would be a manual implementation with the Http::service_connection API.
let listener = TcpListener::bind(addr).await?;

let http = Http::new();

let svc = MyHandlerService::new();

loop {
	let (conn, addr) = listener.accept().await?;

	let http = http.clone();
	tokio::spawn(async move {
		// Now we can accept TLS/do other fun things here!

		http.serve_connection(conn, svc.clone()).await.unwrap();
	});
}

This change would allow us to remove the need for MakeService and its confusing abstraction while still leveraging the more powerful aspects of tower.
Rename Http to Server
Now that we are nixing the Server type I'd like for us to rename Http into Server. This would allow us to treat Server as a configuration that is easily clonable. It can then produce a Serve type via Server::bind. The Serve type would handle the default implementation of the server and expose methods to serve a serve or a fn via serve_fn.
Other solutions
We could continue to keep our current implementation and use something like a FuturesUnordered + tokio::spawn but this to me feels like continuing down a hacky path instead of backing out and looking at the bigger picture.
cc @seanmonstar @hawkw @davidbarsky

I don't use hyper directly (only through warp) so it's hard to give a feedback that I'm confident in. But reading the proposal seems sensible to me :)

At a high level, I support making hyper simpler, lower-level. I think there's a lot of confusion with MakeService, and isn't required at hyper's level, but instead can be provided by some hyper-tower crate (or users can make similar abstractions with their own accept loops). So, I agree, let's make things simple!
I think it'd be really helpful in this issue to define more exactly the plan. Some disjointed thoughts about the plan:

The type hyper::Server and hyper::server::conn::Http would merge? What would the stubs of the methods that remain be? (Besides the config methods, of course).
Graceful shutdown is important. Maybe we provide a utility in hyper to slot in Connections? Or maybe that stuff can be moved to some imaginary hyper-util crate. But whatever the end result, it'd be good to know the plan.
I believe we should keep the hyper::upgrade API, which is a much nicer way to deal with CONNECT and websockets and what-not.

Judging from this post, this isn't entirely what I hoped it would be. What I'd like is to make the requirements on implementations a much clearer interface. This seems to still depend on closures. Can you explain the desired interface in terms of traits (or trait bounds)?

@seanmonstar yeah, I think a hyper-tower or we could re-introduce tower-hyper. This will make the path to 1.0 easier as well.
As for the changes, I can stub out the API a bit more but basically expose a lot of the components but in a more composable manner than the monolithic Server type we have now.
@djc Right, you can still use Service we just provide an easy way to use a closure. What were you expecting? Would be nice to hear some other thoughts :)

It would be nice to have a full example of setting up a server using only the requisite Service impls (and making sure there are no private trait definitions involved) in the documentation itself.

I was thinking about how to separate the graceful shutdown type into a separate tool, and I think the API could look like this:
let listener = TcpListener::bind("<IP_ADDRESS>:0").await?;

let server = Server::new();

let graceful = GracefulShutdown::new();
let ctrl_c = tokio::signal::ctrl_c();

loop {
	tokio::select! {
		conn = listener.accept() => {
			let server = server.clone();
			let graceful.clone();
			task::spawn(async move {
				// maybe TLS accept here...

				let conn = server.serve_connection(conn);
				let conn = graceful.watch(conn);

				if let Err(e) = conn.await {
					eprintln!("http server conn error: {}", e);
				}
			});
		},

		_ = ctrl_c => {
			eprintln!("Ctrl-C received, starting shutdown");
			break;
		}
	}
}

tokio::select! {
	_ = graceful.shutdown() => {
		eprintln!("Gracefully shutdown!");
	},
	_ = tokio::time::sleep(10.seconds()) => {
		eprintln!("Waited 10 seconds for graceful shutdown, aborting...");
	}
}

@seanmonstar yeah I think that could totally work.

Punting this to next milestone, since it's not ready yet. An API outline would still be appreciated before the actual code/PR is done.

This has mostly been done in #2849.
If interested in the graceful shutdown follow-up, see #2862.


Windows Phone support

Hi!
I've prepared a version of your plugin supporting new windows phone react-native plugin. I'll do a pull request if you want to merge it (and maybe test it)

Very cool - thank you. I've made a request for updating the docs on the PR, just so it's clear to new users what works and what doesn't.
I don't have any method of testing on windows at the moment, so I'll have to go with your word that it works as intended.

Hi @TheGhoul21, could you please let me know how I can link the library on Windows? I think it would be useful if the README was updated with some instructions.


Why "return done(err)"?

Hi,
Just a quick question about something I can't fully grasp.
Could you help me understand why in the docs  the async example rejects with return done(err) instead of simply done(err)?
This is the code I'm referring to:
describe('Connection', function(){
  var db = new Connection
    , tobi = new User('tobi')
    , loki = new User('loki')
    , jane = new User('jane');

  beforeEach(function(done){
    db.clear(function(err){
      if (err) return done(err);
      db.save([tobi, loki, jane], done);
    });
  })

  describe('#find()', function(){
    it('respond with matching records', function(done){
      db.find({ type: 'User' }, function(err, res){
        if (err) return done(err);
        res.should.have.length(3);
        done();
      })
    })
  })
})

What would be the difference it was written like this?
describe('Connection', function(){
  var db = new Connection
    , tobi = new User('tobi')
    , loki = new User('loki')
    , jane = new User('jane');

  beforeEach(function(done){
    db.clear(function(err){
      if (err) done(err);
      db.save([tobi, loki, jane], done);
    });
  })

  describe('#find()', function(){
    it('respond with matching records', function(done){
      db.find({ type: 'User' }, function(err, res){
        if (err) done(err);
        res.should.have.length(3);
        done();
      })
    })
  })
})

In fact, it seems unconsistent to me that when there is an error the promise is rejected with return done(err), but if all is fine is fulfilled insted with done(). Shouldn't we simply call done([err]) in both cases, without the need to return it?
Btw, this seems to be the same approach used in the docs of chai-as-promised.
Thanks!

This code:
if (err) return done(err)
res.should.have.length(3)
done()

Is a short equivalent to this:
if (err) {
  done(err)
} else {
  res.should.have.length(3)
  done()
}

And return statement is necessary to prevent calling done twice. That's basic javascript syntax.

Thanks for explaining it @rlidwka. I'm closing this, leave a comment if there is any doubt left.

Hi @rlidwka, I see, thanks for the clarification  :)  I should have seen it myself, but when one codes too much things tend to get a bit blurry... ahaha! Cheers


Rename ecom/ui/vault/forage -> ecom/ui/vault/rosetta

What

Why

Test Plan

✅ | ❌ I've added unit tests for this change.
✅ | ❌ The reviewer should manually test the changes in this PR.

Demo

How

#285
#284
#283
#282
#281  👈
main

This stack of pull requests is managed by Graphite. Learn more about stacking.

Join @devinmorgan and the rest of your teammates on  Graphite

Merge activity

Jun 24, 2:08 PM EDT: @devinmorgan merged this pull request with Graphite.


electrum-ltc: unbreak

Motivation for this change
Things done

Built on platform(s)

[x] x86_64-linux
[ ] aarch64-linux
[ ] x86_64-darwin
[ ] aarch64-darwin

[ ] For non-Linux: Is sandbox = true set in nix.conf? (See Nix manual)
[ ] Tested, as applicable:

NixOS test(s) (look inside nixos/tests)
and/or package tests
or, for functions and "core" functionality, tests in lib/tests or pkgs/test
made sure NixOS tests are linked to the relevant packages

[ ] Tested compilation of all packages that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review rev HEAD". Note: all changes have to be committed, also see nixpkgs-review usage
[ ] Tested basic functionality of all binary files (usually in ./result/bin/)
22.05 Release Notes (or backporting 21.11 Release notes)

[ ] (Package updates) Added a release notes entry if the change is major or breaking
[ ] (Module updates) Added a release notes entry if the change is significant
[ ] (Module addition) Added a release notes entry if adding a new NixOS module
[ ] (Release notes changes) Ran nixos/doc/manual/md-to-db.sh to update generated release notes

[ ] Fits CONTRIBUTING.md.

python-unstable was just merged. do you mind rebasing this to staging?
# finding the common merge base will avoid pinging all CODEOWNERs
common=$(git merge-base HEAD origin/staging)
git rebase --onto=$common HEAD~1 # or however many commits you want to pull
git push .. ... --force

then change the base branch in the github PR from python-unstable -> staging


Q: does kue support distributed mode?

I'd like to set up a kue server and was wondering, if I stand up an identical server, different vm/ip but same code base/redis connection, can they co-exist peacefully with the same redis queue and not step on each other's toes when popping jobs off?
Still learning about the library but it seems super cool.
Thanks in advance,
Paul

Kue is actually a distributed job queue, where multiple workers can be easily started on different machines for scale out


x/pkgsite: Add opensearch / Tab To Search

Having opensearch set up would be great. It allows users to type pkg.go.dev<tab>package name<enter> and go to their package, rather than first waiting for pkg.go.dev to load and then type into the search bar there.
godoc.org had this functionality. I've ported it to pkg.go.dev, I'll send a CL/PR shortly.
/assign Jille

@SnoozeThis https://go-review.googlesource.com/c/pkgsite/+/463986

(https://snoozeth.is/IRue6A9hYdw) I will wait until https://go-review.googlesource.com/c/463986 is merged and then add a comment.

I manually set up the search to tab (for example, chrome://settings/searchEngine) but this may be convenient.
cc @golang/tools-team


APT whitelist request for libblas-dev in trusty

fixed in https://github.com/travis-ci/apt-package-whitelist/commit/5761eccc2b452ca0bd3941bbf2ef52a09a55ceba


M06-Unit 9 Secure your virtual hub using Azure Firewall Manager - Resource Group already exists

Module: 06
Lab/Demo: 09
Task: 01
Step: 03
Description of issue
Resource Group fw-manager-rglod21210188 already exists.
Repro steps:
3. In Resource group, select Create new, and enter fw-manager-rglod21210188 as the name and click OK.

It looks like from the Resource Group name mentioned that this is a resource group that is pre-created by an ALH at the start of a lab.  Different hosters may approach this problem in different ways but often what you will find is a 'Note' at the beginning of such a lab with some clarifications to the student that RGs have already been created, and that they can select 'a pre-existing resource group that has a similar name to the one you are asked to create'.
So in this case - where the generic name in the repo is  'fw-manager-rg' you would be able to select the existing 'fw-manager-rglod21210188' RG that gets created at lab start.

I am not sure what the problem is here. If you delete all prior labs, you should not have an issue with a name conflict. Also, the Resource Group should just be named: fw-manager-rg.  I had no problems with this part of the lab.
Jeff Smalley MCT

The resource in question is at the very start of the first lab unit. No previous Resource Groups were created. I do the labs with all the students at the same time. We all ran into the same issue.
Arnold Villeneuve<PHONE_NUMBER>
On Sunday, January 23, 2022, 05:14:12 p.m. EST, JeffSmalley<EMAIL_ADDRESS>wrote:

I am not sure what the problem is here. If you delete all prior labs, you should not have an issue with a name conflict. Also, the Resource Group should just be named: fw-manager-rg. I had no problems with this part of the lab.
Jeff Smalley MCT
—
Reply to this email directly, view it on GitHub, or unsubscribe.
Triage notifications on the go with GitHub Mobile for iOS or Android.
You are receiving this because you authored the thread.Message ID: @.***>

It looks like there is an issue, at least with me, in deleting the Resource Group fw-manager-rg.   The PowerShell script at the end of this lab does NOT delete the Virtual WAN, Firewall Manager nor the policy.   I had to go to the policy and open Hub-01 and go to Security Configurations. I then had to switch the Internet Traffic to None and the Private Traffic to Bypass Azure Firewall and Save.  That took over 10 minutes to complete.  Finally, I deleted the Resource Group fw-manager-rg and after over 10 minutes it worked.

Jeff Smalley MCT
Village of Chicago

Great find Jeff. We'll done.
Get Outlook for Androidhttps://aka.ms/AAb9ysg

From: JeffSmalley @.>
Sent: Sunday, January 23, 2022 11:06:03 PM
To: MicrosoftLearning/AZ-700-Designing-and-Implementing-Microsoft-Azure-Networking-Solutions @.>
Cc: Arnold Villeneuve @.>; Author @.>
Subject: Re: [MicrosoftLearning/AZ-700-Designing-and-Implementing-Microsoft-Azure-Networking-Solutions] M06-Unit 9 Secure your virtual hub using Azure Firewall Manager - Resource Group already exists (Issue #78)
It looks like there is an issue, at least with me, in deleting the Resource Group fw-manager-rg. The PowerShell script at the end of this lab does NOT delete the Virtual WAN, Firewall Manager nor the policy. I had to go to the policy and open Hub-01 and go to Security Configurations. I then had to switch the Internet Traffic to None and the Private Traffic to Bypass Azure Firewall and Save. That took over 10 minutes to complete. Finally, I deleted the Resource Group fw-manager-rg and after over 10 minutes it worked.
[delete3]https://user-images.githubusercontent.com/16696370/150720364-d0d31c60-1ffc-4a70-a797-3cae8ac4ebd4.png
Jeff Smalley MCT
Village of Chicago
—
Reply to this email directly, view it on GitHubhttps://github.com/MicrosoftLearning/AZ-700-Designing-and-Implementing-Microsoft-Azure-Networking-Solutions/issues/78#issuecomment-1019694937, or unsubscribehttps://github.com/notifications/unsubscribe-auth/AAIIKANN3YRMRWVAVKFTX2TUXTF2XANCNFSM5MP6BG3Q.
Triage notifications on the go with GitHub Mobile for iOShttps://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675 or Androidhttps://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign%3Dnotification-email%26utm_medium%3Demail%26utm_source%3Dgithub.
You are receiving this because you authored the thread.Message ID: @.***>

I had thoughts on some of you folks getting duplicate name issues. My class this week is using the Azure Pass so each student will have their own subscription as well as tenant. It will be all clean.  If you are using a lab provider like Learn On Demand, Skillable, etc. that use a communal account such as cloudslice, the problem with duplicate names is with their system providing random names for your resource groups, etc. not the lab itself.  The lab provider organization needs to be contacted I would think.
Jeff

Ahhh, mine was using Cloud Slice where you do not have enough Admin power to change policies. The deployment of Azure Policies with Cloud Slice subscriptions causing labs to fail has become a major issue across many Azure courses unfortunately.
Arnold Villeneuve<PHONE_NUMBER>
On Monday, January 24, 2022, 08:47:41 a.m. EST, JeffSmalley<EMAIL_ADDRESS>wrote:

I had thoughts on some of you folks getting duplicate name issues. My class this week is using the Azure Pass so each student will have their own subscription as well as tenant. It will be all clean. If you are using a lab provider like Learn On Demand, Skillable, etc. that use a communal account such as cloudslice, the problem with duplicate names is with their system providing random names for your resource groups, etc. not the lab itself. The lab provider organization needs to be contacted I would think.
Jeff
—
Reply to this email directly, view it on GitHub, or unsubscribe.
Triage notifications on the go with GitHub Mobile for iOS or Android.
You are receiving this because you authored the thread.Message ID: @.***>

MOC Labs Review did not experience this issue.


Cannot catch events

On my front end application, I try to observe what is happening regarding authentication. So I use the following code in a root component that is the direct child of AuthProvider
    const auth = useAuth();
    React.useEffect(() => auth.events.addUserSignedIn(() => console.log("-->addUserSignedIn")), [auth.events]);
    React.useEffect(() => auth.events.addAccessTokenExpiring(() => console.log("-->addAccessTokenExpiring")), [auth.events]);
    React.useEffect(() => auth.events.addAccessTokenExpired(() => console.log("-->addAccessTokenExpired")), [auth.events]);
    React.useEffect(() => auth.events.addUserLoaded(() => console.log("-->addUserLoaded")), [auth.events]);
    React.useEffect(() => auth.events.addUserUnloaded(() => console.log("-->addUserUnloaded")), [auth.events]);
    React.useEffect(() => auth.events.addSilentRenewError(() => console.log("-->addSilentRenewError")), [auth.events]);
    React.useEffect(() => auth.events.addUserSignedOut(() => console.log("-->addUserSignedOut")), [auth.events]);
    React.useEffect(() => auth.events.addUserSessionChanged(() => console.log("-->addUserSessionChanged")), [auth.events]);

The only event that is raised is addUserLoaded. No other event is raised, whereas auth content is complete and accurate.
When looking into https://github.com/authts/oidc-client-ts/blob/main/src/SessionMonitor.ts, it looks like it is intentional.
Is there a way for me to catch these events?

addUserSignedIn, addUserSignedOut and addUserSessionChanged only work in combination with SessionMonitor
addAccessTokenExpiring and addAccessTokenExpired are fired when the access token has nearly expired, that may take serveral hours until it happen
addSilentRenewError needs renew feature enabled and it needs to fail, there is a retry until timeout loop
addUserUnloaded is triggered when you explicitly unload the user e.g. with mgr.removeUser()

If you have doubts you can enable logging to the console of this library. See https://authts.github.io/oidc-client-ts/#logging

Actually, I wanted to rely on these events to dispatch redux actions in my application. So I want to listen everything to change my state accordingly.
What do you mean with "only work in combination with SessionMonitor"? When can I find an example?

Is this what you want to achieve? https://github.com/authts/react-oidc-context/blob/main/src/AuthProvider.tsx#L169

Is this what you want to achieve? https://github.com/authts/react-oidc-context/blob/main/src/AuthProvider.tsx#L169

As a matter of a fact, I am already using react-oidc-context. What I see inside is actually the same subscription to events than what I'm doing (I switched settings.monitorSession to true, made this Log.setLevel(Log.DEBUG); and this Log.setLogger(console);).
I still can't find out a clear way to reach these events. Moreover I would say, if we can subscribe to these events, it looks like they should be raised anyway.

Are you using ReactStrict mode with react-oidc-context?

Are you affected by https://github.com/authts/react-oidc-context/issues/390. I assume we need to add something for this mode to work properly. Does it work without that mode?


CLOUD-51200 remove nagios and ganglia operations

@biharitomi

Jenkins build finished, all tests passed.
Refer to this link for build results: http://ci.sequenceiq.com/job/cloudbreak-pull-request/1967/

LGTM


QE-251: Handle step failure better for test reporting submit

I couldn't find a nicer way to do this. If I just use (failure() || success()) it will double submit since github will still run this step cause the last "unskipped" step succeeded or failed. This binds the submission step directory to the outcome of the associated test step.
https://desire2learn.atlassian.net/browse/QE-251

Any takers on this one. Just fixes a weird issue that occurs when npm run test:axe fails and it tries to report stuff twice.


Proccesing Model data

This PR is raised to implement the following tasks:
Create models
Create model classes for all entities as shown in the [ERD diagram](https://github.com/microverseinc/curriculum-rails/blob/main/blog-app/images/blog_app_erd_v1_1.png).
Set up associations between models.
    Remember that author_id column in posts table should be the foreign_key for the users table.

Use models to insert data
Familiarize yourself with ['rails c' command](https://guides.rubyonrails.org/command_line.html#bin-rails-console).
Open rails console for your project.
Create at least one user by running the following code:

first_user = User.create(name: 'Tom', photo: 'https://unsplash.com/photos/F_-0BxGuVvo', bio: 'Teacher from Mexico.')
second_user = User.create(name: 'Lilly', photo: 'https://unsplash.com/photos/F_-0BxGuVvo', bio: 'Teacher from Poland.')
Create at least 4 posts written by one of the users you created by running the following code:

first_post = Post.create(author: first_user, title: 'Hello', text: 'This is my first post')
Create at least 6 posts comments for one of the posts you created by running the following code:

Comment.create(post: first_post, author: second_user, text: 'Hi Tom!' )
Use other [CRUD methods](https://github.com/microverseinc/curriculum-rails/blob/main/blog-app/lessons/active_record_crud.md) to find, update and delete entities.

Create custom methods
Your models should include some additional methods.
Users
    A method that returns the 3 most recent posts for a given user.
Posts
    A method that updates the posts counter for a user.
    A method which returns the 5 most recent comments for a given post.
Comments
    A method that updates the comments counter for a post.
Likes
    A method that updates the likes counter for a post.
Go to rails c and check if your methods are working.

Hi @waelelsafty07
Rubocop linter is failing! Kindly resolve it asap!


[FEATURE] Authentication by Google

Description
Hii @IAmTamal
I am willing to add authentication method by google account for users to Login/Register using Google OAuth.
Benefits :

This is one of the most authentic way to authenticate user
It is reliable and secure
Most of the users trust on google
It fast and responsive

Approach:
To add this feature, I propose the following steps:
To implement this feature we will use Passport which is authentication middleware for Node.js
We will setup passport google oauth2 strategy
We will generate a OAuth client id
then verify the user using Google Account
Save the user data into database
Additional Information:
As a proud participant of GSSOC3, armed with my extensive experience in similar projects, I possess the unwavering confidence to skillfully incorporate this feature .
Thank you for considering my involvement in resolving this issue. I am eager to collaborate with the team to ensure the successful implementation of the necessary improvements.
Screenshots

🥦 Browser
Google Chrome
Checklist ✅

[X] I checked and didn't find similar issue
[X] I have read the Contributing Guidelines
[X] I am willing to work on this issue (blank for no)

Hi @ Santosh7017, this sounds really cool - however, I want to ask that since this is of such a vast size we can break this into 2 parts. Firstly you set up the backend needed, along with adding essential stuff to the .env.example file - so that I know what are the things that I need to add up next.
Then maybe we can develop the button which does the next steps thus a total authentication workflow.
So are you willing to start working on it now ?

Certainly! I am fully prepared to commence work on the project immediately. I will begin by setting up the backend components, followed by the implementation of the frontend elements. This sequential approach will ensure a smooth and easily comprehensible workflow.

Hi @ Santosh7017, this sounds really cool - however, I want to ask that since this is of such a vast size we can break this into 2 parts. Firstly you set up the backend needed, along with adding essential stuff to the .env.example file - so that I know what are the things that I need to add up next.
Then maybe we can develop the button which does the next steps thus a total authentication workflow. So are you willing to start working on it now ?

Certainly! I am fully prepared to commence work on the project immediately. I will begin by setting up the backend components, followed by the implementation of the frontend elements. This sequential approach will ensure a smooth and easily comprehensible workflow.

Sounds great, you can start working @Santosh7017 ⚡
Please make sure that you have read our documentation on Commiting guidelines and Pull request guidelines, without proper format the PR might be closed.

Hi there, it has been a while. I would love to know what changes you are making and/or are working on this.

Hey I had sent you a message last Saturday on LinkedIn regarding progress and  I have been eagerly awaiting your response.

Hey I had sent you a message last Saturday on LinkedIn regarding progress and I have been eagerly awaiting your response.

Hi can you paste the same here ? it would be better.

I am writing to you today to update you on my progress with implementing the Google authentication feature. I have made some good progress, but I am currently facing an issue with creating users that I tried to get user's address and pincode from google account but unable to get address and pincode, and also many users don't save their address in their google account, I wanted to seek your guidance on the necessity or mandatory requirement of storing the address during the user registration process. If it is deemed necessary, I am prepared to explore alternative methods to gather this information. Otherwise, the backend part of the feature is ready.

So this is what can be done, we can put the address and pincode part to be optional by removing the required: true, or making it false. In that way, the user can simply signup. And can later choose their address and pin code.
We will be also refactoring the address part so don't worry about that.
But we also need to make sure the user can log in via Google. There are 2 things that are returned in if the user would log in via email. I want to make sure they are logged in properly for the same.

Ya sure I will take care of that

Do make a PR once done ⚡ - we can review and work on it together then.

Hey there, I am going to start working on frontend part so should I start working or open pull request of backend any suggestion?

Well since this is a huge feature I would recommend doing slowly and step by step - if the backend is done, let's make a PR, and we can close this issue - then you can raise another issue for Frontend , where we will be integrating the FE with the already coded server-side codes.
Does that sounds good ?


Convert to Python3

using : find . -name '*.py' | xargs 2to3 -w

Thanks @ralic - let's try building in a compatibility layer using python-future and six instead of running 2to3 and maintaining two release codebases.


Getting 0 channels out of a simple M3U file

I can't seem to get telly to read channels out of my M3U file. I've got it down to the simple one below and still fails to find channels. No error messages and nothing in debug logging. Before I start debugging I thought I would ask in case I'm missing something obvious.

#EXTM3U
#EXTINF:-1, Sports 2
http://domain.com:8080/live/id/id/1287.ts

You most likely need to add the --filter.regex-inclusive flag.  The default regex behavior now is to exclude everything.
Some examples:
I'm starting with an Iris M3U.  It contains around 8000 channels:
| => curl "http://REDACTED" | egrep -i -e "tvg-id" | wc -l
    8010

I've downloaded the m3u to iptv.m3u.
Let's start telly with no parameters:
| => ./telly
INFO[0000] Starting telly (version=1.0.3, branch=master, revision=e543e7080a57eb6d7b6dd4b0ad27b789d3aa6c08)
INFO[0000] Build context (go=go1.10.3, user=root@21d9dfe90d82, date=20180811-23:23:07)
WARN[0000] using default m3u option, 'iptv.m3u'. launch telly with the --iptv.playlist=yourfile.m3u option to change this!
INFO[0000] found 0 channels

no channels found, because the default behavior is "exclude everything"
Flip the default:
| => ./telly --filter.regex-inclusive
INFO[0000] Starting telly (version=1.0.3, branch=master, revision=e543e7080a57eb6d7b6dd4b0ad27b789d3aa6c08)
INFO[0000] Build context (go=go1.10.3, user=root@21d9dfe90d82, date=20180811-23:23:07)
WARN[0000] using default m3u option, 'iptv.m3u'. launch telly with the --iptv.playlist=yourfile.m3u option to change this!
INFO[0000] found 8010 channels

[4:07 PM] chazlarson: There are 61 channels that contain "ESPN" in this m3u.  Let's add that to the filter:
| => ./telly --filter.regex="ESPN"
INFO[0000] Starting telly (version=1.0.3, branch=master, revision=e543e7080a57eb6d7b6dd4b0ad27b789d3aa6c08)
INFO[0000] Build context (go=go1.10.3, user=root@21d9dfe90d82, date=20180811-23:23:07)
WARN[0000] using default m3u option, 'iptv.m3u'. launch telly with the --iptv.playlist=yourfile.m3u option to change this!
INFO[0000] found 7949 channels

Since the default is to blacklist, those 61 channels were removed.
flip the inclusive flag, and we get only those 61:
| => ./telly --filter.regex="ESPN" --filter.regex-inclusive
INFO[0000] Starting telly (version=1.0.3, branch=master, revision=e543e7080a57eb6d7b6dd4b0ad27b789d3aa6c08)
INFO[0000] Build context (go=go1.10.3, user=root@21d9dfe90d82, date=20180811-23:23:07)
WARN[0000] using default m3u option, 'iptv.m3u'. launch telly with the --iptv.playlist=yourfile.m3u option to change this!
INFO[0000] found 61 channels

That was it! Thanks for the help.


Update to version 4.0.0

Checklist

[ ] Used a personal fork of the feedstock to propose changes
[ ] Bumped the build number (if the version is unchanged)
[ ] Reset the build number to 0 (if the version changed)
[ ] Re-rendered with the latest conda-smithy (Use the phrase @conda-forge-admin, please rerender in a comment in this PR for automated rerendering)
[ ] Ensured the license file is being packaged.

Hi! This is the friendly automated conda-forge-linting service.
I just wanted to let you know that I linted all conda-recipes in your PR (recipe) and found it was in an excellent condition.
I do have some suggestions for making it better though...
For recipe:

Old-style Python selectors (py27, py34, py35, py36) are deprecated. Instead, consider using the int py. For example: # [py>=36]. See lines [12]

@conda-forge-admin, please rerender

Hi! This is the friendly automated conda-forge-linting service.
I just wanted to let you know that I linted all conda-recipes in your PR (recipe) and found it was in an excellent condition.


iroh-relay: error is not useful when metrics port is already bound

I had port 9090 already used on the server.
Because of this iroh-relay failed to start with error:
ERROR iroh_net::relay::iroh_relay: Task failed err=Address already in use (os error 98)

This error does not tell which port it fails to use and does not tell anything about metrics server.
Probably some anyhow context should be added here:
https://github.com/n0-computer/iroh/blob/f84c06eb87ed8b93b1bce71c8502732db7faeedb/iroh-metrics/src/metrics.rs#L54
I solved the problem by setting metrics_bind_addr = "<IP_ADDRESS>:9092", but the error was not very helpful, I only figured out it is metrics by trial and error, trying to disable metrics/http/https/stun one by one.

I'll add this to my incoming PR redoing some of the metrics bits.


Fix articles/aks/azure-cni-overlay.md

A recent commit https://github.com/MicrosoftDocs/azure-docs/commit/c2f334ae1b0a520c0bdc74e278630f4ea0c70dc4 forgot to remove the last note about the effect of upgrading a cluster to Azure CNI Overlay.
This PR remove the note so the article remains consistent.
And hopefully we'll be able to perform the upgrade soon enough.

#sign-off


Adding a copy feature without jaggery.tools jar

Purpose
Resolves https://github.com/wso2/product-apim/issues/8915
Remove org.jaggeryjs.jaggery.tools_0.14.12.jar from org.jaggeryjs.server.feature  feature and a add new feature of  org.jaggeryjs.jaggery.tools.server.feature to add the removed jar.

This fix should go to the 0.12.x branch . Hence Closing this PR .
New PR opened in 0.12.x branch (https://github.com/wso2/jaggery/pull/214)


Group Quota SDK

Contributing to the Azure SDK
Please see our CONTRIBUTING.md if you are not familiar with contributing to this repository or have questions.
For specific information about pull request etiquette and best practices, see this section.

API change check
API changes are not detected in this pull request.

/azp run

/azp run

@tejasm-microsoft :
Your account lacks the required public GitHub organizations and permissions required of an internal contributor. Please review the Azure SDK onboarding documentation and use the associated Teams channel for support.

Azure SDK onboarding (Microsoft internal)
Azure SDK onboarding assistance (Microsoft internal)

You can verify the state of your account by running the Validate-AzsdkCodeOwner script from the Azure SDK tools repository.
Please also be sure to add yourself to CODEOWNERS for this library, if you will be maintaining it going forward.

Added myself to the code owners file, not sure if I followed the right format
Also there seems to be a discrepancy between the output of the Validate-AzsdkCodeOwner, since it seems I am apart of the two required orgs on the github portal?

Also there seems to be a discrepancy between the output of the Validate-AzsdkCodeOwner, since it seems I am apart of the two required orgs on the github portal?

@tejasm-microsoft :  Your organizations are not marked as public.   You see them, as to other members of those orgs but they are private on your account.   Please follow the onboarding guidance.

API change check
APIView has identified API level changes in this PR and created following API reviews.
Azure.ResourceManager.Quota

Added myself to CODEOWNERS file and verified sufficient permissions via Powershell commands:

@jsquire

API change check
APIView has identified API level changes in this PR and created following API reviews.
Azure.ResourceManager.Quota

The tests are failing here, please use test-proxy to upload the recordings, details.

Generated code is not up to date.
You may need to rebase on the latest main,
run 'eng\scripts\Update-Snippets.ps1' if you modified sample snippets or other *.md files (https://github.com/Azure/azure-sdk-for-net/blob/main/CONTRIBUTING.md#updating-sample-snippets),
run 'eng\scripts\Export-API.ps1' if you changed public APIs (https://github.com/Azure/azure-sdk-for-net/blob/main/CONTRIBUTING.md#public-api-additions).
run 'dotnet build /t:GenerateCode' to update the generated code and samples.

CI is failing as above, please make sure you merge the latest main and regen SDK and export the API

The tests are failing here, please use test-proxy to upload the recordings, details.

Generated code is not up to date.
You may need to rebase on the latest main,
run 'eng\scripts\Update-Snippets.ps1' if you modified sample snippets or other *.md files (https://github.com/Azure/azure-sdk-for-net/blob/main/CONTRIBUTING.md#updating-sample-snippets),
run 'eng\scripts\Export-API.ps1' if you changed public APIs (https://github.com/Azure/azure-sdk-for-net/blob/main/CONTRIBUTING.md#public-api-additions).
run 'dotnet build /t:GenerateCode' to update the generated code and samples.

CI is failing as above, please make sure you merge the latest main and regen SDK and export the API

Resolved the failing tests  and added the assets.json via test proxy:
https://github.com/Azure/azure-sdk-assets/tree/net/quota/Azure.ResourceManager.Quota_09eadc6fbb/net/sdk/quota/Azure.ResourceManager.Quota/tests/SessionRecords/GroupQuotaTests
Also ran Code Checks script locally and came back with no errors

API change check
APIView has identified API level changes in this PR and created following API reviews.
Azure.ResourceManager.Quota

Generated code is not up to date.
You may need to rebase on the latest main,
run 'eng\scripts\Update-Snippets.ps1' if you modified sample snippets or other *.md files (https://github.com/Azure/azure-sdk-for-net/blob/main/CONTRIBUTING.md#updating-sample-snippets),
run 'eng\scripts\Export-API.ps1' if you changed public APIs (https://github.com/Azure/azure-sdk-for-net/blob/main/CONTRIBUTING.md#public-api-additions).
run 'dotnet build /t:GenerateCode' to update the generated code and samples.

CI is failing as above, please make sure you merge the latest main and regen SDK and export the API

Resolved the failing tests and added the assets.json via test proxy: https://github.com/Azure/azure-sdk-assets/tree/net/quota/Azure.ResourceManager.Quota_09eadc6fbb/net/sdk/quota/Azure.ResourceManager.Quota/tests/SessionRecords/GroupQuotaTests
Also ran Code Checks script locally and came back with no errors

I merged the latest main to your branch and re-generate the SDK for you, the corresponding CI should be fixed now.
The tests are still failing, you can reproduce the failing tests by running the tests locally.

Remove the local recording located in \src\azure-sdk-for-net\.assets
Open a cmd under \src\azure-sdk-for-net\sdk\quota\Azure.ResourceManager.Quota, restore the remote recordings by running "test-proxy restore -a ./assets.json"
run the tests, you should see the test failure

API change check
APIView has identified API level changes in this PR and created following API reviews.
Azure.ResourceManager.Quota


useActor with @xstate/inspect crashing react app

Bug - useActor with @xstate/inspect crashing react app
Description:
TLDR: When passing a react ref into an actor via event, it breaks the inspector and causes a fatal error in the main react app as well. If I turn the inspector off, the react app works without crashing.
There is a machine, Root. It spawns several actors that will control UI elements, and stores them in context. This machine is connected to a react container component via useMachine.
import {rootMachine} from './rootMachine'

export default ContainerComponent = (props) => {
  const [state, send] = useMachine(rootMachine, {
    devTools: true
  });
  React.useEffect(() => {
     send('INIT'); // causes machine to initialize, spawning actors and storing in context
  }, []);
  return {

      {state.context.actors['ui-element-1-id'] &&
        <UIElement1 actor={state.context.actors['ui-element-1-id']} />
      }

  }
}

UIElement1 has several animations, triggered via services. The react ref is injected via an event, and referenced in the services by context.
export const UIElement1 = ({actor}) => {
  const myRef = React.useRef();
  const [state, send] = useActor(actor); // same result with useService, but with TS errors
  // if using machine and useMachine it works, but lose 'sendParent' functionality from actor

  React.useEffect(() => {
    send({type: 'INJECT_REACT_REF', ref: myRef})'
  }), []);

  return

}

If I use useMachine, instead of useActor or useService, there is no error in the inspector. However, this causes the loss of the sendParent functionality.
The error received when using devtools in this situation is:
Uncaught TypeError: Converting circular structure to JSON
    --> starting at object with constructor 'SVGPathElement'
    |     property '__reactInternalInstance$ibota64igp' -> object with constructor 'FiberNode'
    --- property 'stateNode' closes the circle
    at JSON.stringify (<anonymous>)
    at Interpreter.inspectSend [as send] (index.js:162) //  references @xstate/inspect/es/index.js
    at useActor.js:33
    at mech.tsx:35 // references the sending of the `INJECT_REACT_REF` line

If I turn the devtools off, the react application itself seems to work fine
(Bug) Expected result:
inspector and react app should work
(Bug) Actual result:
inspector and react app does not work
(Bug) Potential fix:
No ideas unfortunately... However, its worth pointing out that using useMachine instead of useActor does not cause the breakage
Link to reproduction or proof-of-concept:
https://codesandbox.io/s/serene-fermat-5nnd2?file=/src/mechs/Root.jsx
note - the sandbox example react app does not appear to break down in the same way as it does for me locally, and it does not throw error messages. But it does appear to break down fairly consistently.
The app is simple. Click the green square and it should animate to a selected look. Click again and it reverts. If you comment out the devtools in Root.jsx, it works. If you add it back in, things start breaking.

I believe this has been fixed in<EMAIL_ADDRESS>If not please ping me and I will reopen.

I found a functional workaround. When injecting the reactRef into the actor, dont inject directly. Instead inject a getter function.
export const myComponent = (props) => {
  const myRef = useRef();
  useEffect(() => {
    send({type: "INJECT", payload: { prop: "getRef", value: () => myRef}):
  }, [])
}

I found a functional workaround. When injecting the reactRef into the actor, dont inject directly. Instead inject a getter function.
export const myComponent = (props) => {
  const myRef = useRef();
  useEffect(() => {
    send({type: "INJECT", payload: { prop: "getRef", value: () => myRef}):
  }, [])
}

Then access the getter via context in the animation services
const services = {
  enterAnimation: (context, event) => {
     const ref = context.getRef().current;
    // animation code
  }
}

@dhirjgupta  can you please provide some codepen with workaround? playing a few days on issue, still have no idea how to use inspector and pass ref objects to the machine, every time getting the Uncaught TypeError: Converting circular structure to JSON ...
have some workaround with passing id of element, then getting it with getElementById, but if there is a more suitable solution, whould like to try it out..
Thank You.

found some workaround here, works on html elements, not on refs, but seems like it's a minor issue
https://github.com/statelyai/xstate/issues/2048#issuecomment-836944939