Add Slack output plugin

This is my first attempt at contributing to this project. I wanted a way to notify my private Slack channel when a new download started. I based most of the code off of the Pushbullet plugin (thanks to whoever wrote that!).
Please let me know if I need to fix anything up -- and thanks!

Merged. You wanna add a wiki page?

Sure! I'll start working on one now.


Pass sync endpoint parameters according to spec

Before, it would silently ignore them for defaults,
so long-polling was not possible because no timeout
was passed

Thanks very much for these fixes!


meson: Fix my mistakes

Motivation for this change
Fixes #86229 and something that @matthewbauer noticed.
Things done

[ ] Tested using sandboxing (nix.useSandbox on NixOS, or option sandbox in nix.conf on non-NixOS linux)
Built on platform(s)

[ ] NixOS
[ ] macOS
[ ] other Linux distributions

[ ] Tested via one or more NixOS test(s) if existing and applicable for the change (look inside nixos/tests)
[ ] Tested compilation of all pkgs that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review wip"
[ ] Tested execution of all binary files (usually in ./result/bin/)
[ ] Determined the impact on package closure size (by running nix path-info -S before and after)
[ ] Ensured that relevant documentation is up to date
[ ] Fits CONTRIBUTING.md.

I have bisected an issue with systemd's cross-compilation to this PR.
Since https://github.com/NixOS/nixpkgs/commit/05d26adb0ad90ec17ad38a0ed638e9be33cbc7c7, nix-build -A pkgsCross.aarch64-multiplatform.systemd fails with the following:
...
Option prefix is: /nix/store/0rjxdagi2y3crgf8a5n809zhwy5gwxrz-systemd-245.3-aarch64-unknown-linux-gnu [default: /usr]
Found ninja-1.10.0 at /nix/store/2cjrhrq96f4bb20yywnd4zgbqv87g21m-ninja-1.10.0/bin/ninja
Using 'STRIP' from environment with value: 'aarch64-unknown-linux-gnu-strip'
Using 'STRIP' from environment with value: 'aarch64-unknown-linux-gnu-strip'
building
build flags: -j12 -l12
[602/1257] Generating stub.so with a custom commandstemd_userdb-glue.c.o'.o'K[Kn-gperf.c.o'[KKo'o'
FAILED: src/boot/efi/stub.so
/nix/store/41vfz2mi98j2wkgqx6ggj71bl314f604-gcc-wrapper-9.3.0/bin/ld -o src/boot/efi/stub.so -T /nix/store/zp7a35566pc4vvq3rfnzm8f3xzadd2vk-gnu-efi-3.0.11-aarch64-unknown-linux-gnu/lib/elf_aarch64_efi.lds -shared -Bsymbolic -nostdlib -znocombreloc -L /nix/store/zp7a35566pc4vvq3rfnzm8f3xzadd2vk-gnu-efi-3.0.11-aarch64-unknown-linux-gnu/lib /nix/store/zp7a35566pc4vvq3rfnzm8f3xzadd2vk-gnu-efi-3.0.11-aarch64-unknown-linux-gnu/lib/crt0-efi-aarch64.o --defsym=EFI_SUBSYSTEM=0xa src/boot/efi/disk.c.o src/boot/efi/graphics.c.o src/boot/efi/measure.c.o src/boot/efi/pe.c.o src/boot/efi/util.c.o src/boot/efi/linux.c.o src/boot/efi/splash.c.o src/boot/efi/stub.c.o -lefi -lgnuefi /nix/store/jj72ah48qnr2qx8bawd62wj3s9fcfndm-aarch64-unknown-linux-gnu-stage-final-gcc-debug-9.3.0/lib/gcc/aarch64-unknown-linux-gnu/9.3.0/libgcc.a
/nix/store/bfi8cjnhmqs8nd79ryr9n23myvlwhc4l-binutils-2.34/bin/ld: cannot represent machine `aarch64'
[613/1257] Generating boot.c.o with a custom<EMAIL_ADDRESS>ninja: build stopped: subcommand failed.
builder for '/nix/store/fwzs1q8qvfjz43lmiaxs3addxls6rxx3-systemd-245.3-aarch64-unknown-linux-gnu.drv' failed with exit code 1

https://gist.github.com/da2b61d3f18656acf5a94a7f3193ceeb
With the important bit being cannot represent machine `aarch64'

With that said, this may not be the PR that introduced the actual regression, but only the PR that made it fail in this particular exact way. The cause may be deeper, and introduced whenever the issue that caused #86229 was introduced (introduced in 9073a0cb8b2f419785a60969e11e96733f29b200). Bisecting this does not look trivial.
Any idea?

I've since fixed the issue. I wouldn't be surprised if it was still user the wrong ld, but somehow successfully, before---I can't imagine how before this fix the build was passing "for the right reasons".


suse support?

Hi, tried several times with "openSUSE-Leap-42.1-DVD-x86_64.iso"
Here is the VM properties:
Getting suse iohyve properties...
bargs                  -A_-H_-P
boot                   0
con                    nmdm1
cpu                    8
description            Wed Jun  7 00:12:27 +03 2017
install                yes
loader                 grub-bhyve
name                   suse
os                     suse
persist                1
ram                    8G
size                   100G
tap                    tap1
template               NO
vnc                    NO
vnc_h                  600
vnc_ip                 <IP_ADDRESS>
vnc_tablet             NO
vnc_w                  800
vnc_wait               NO

Is it not supported yet?

Sorry, suse is not a valid os property at the moment. If you would like this added, we can turn this into a feature request, and we will take a look at adding this Linux distribution to the list of supported OS's.
You may want to look at using the os=custom setting explained here if you need it now.
You may also want to see the inner workings of other Linux grub.cfg files that iohyve creates as a reference. (If you get it working, send in a PR, and we'll take a look at getting it merged!)

I'm going to close out this issue. If you still have issue with this matter, feel free to comment and I can re-open. If you have a question on another matter, please open a new issue.
Thanks!


[DOCS] Dark mode screenshot for README and website

Description

[ ] README darkmode screenshot
[ ] Website home

Screenshots
No response
Additional information
No response


TernError: File doesn't contain a line.

But if i delete the line 246 and use :w to save the file then press u to restore the line 246, the :TernDef run well.

I'd need instructions for how to reproduce this to be able to look into it.

It's so weird because when i copy the file to another folder like Desktop, everything is fine.
I couldn't reproduce this problem right now :(


java.net.ConnectException: Failed to connect to api.openai.com/<IP_ADDRESS>:443

When I run this unit test : should_provide_booking_details_and_explain_why_cancellation_is_not_possible ,
I found this error
java.lang.RuntimeException: java.net.ConnectException: Failed to connect to api.openai.com/<IP_ADDRESS>:443
But I test this url: api.openai.com on my postman, And it connect successed.

I think may be the VPN is the cause . so  I add this code in my test
       System.setProperty("https.proxyHost", "<IP_ADDRESS>");            System.setProperty("https.proxyPort", "1080");
It doesn't work.
And I checked the source code and found it use OkHttpClient , It may not use these proxy properties.
So I want to know how to proxy?

Add more:
I create a OkHttpClient Bean , but it did not work too.
    @Bean
    public OkHttpClient okHttpClient() {
        return new OkHttpClient.Builder()
                // Configure the proxy
                .proxy(new Proxy(Proxy.Type.HTTP, new InetSocketAddress("localhost", 1080)))
                .build();
    }

@jingsewu which OpenAI API key are you using? "demo"? or your own?

@jingsewu we've added an option to specify a proxy for all OpenAi*Model classes in 0.20.0:
OpenAiEmbeddingModel.builder()
            .apiKey(System.getenv("OPENAI_API_KEY"))
            .proxy(new Proxy(...))
            .build();


Add Rubocop style checks

Ideally all of the gem's code should appear as though it were written by the same person, which makes it easier to understand what's going on by knowing the established conventions.
This PR does not perform style checks on the specs directory, which will take additional work.

I don't know if that is a good idea. I didn't apply styling changes to the code so that patches could be applied more easily between the original source (from rails/rails/activesupport).

I think that there's already enough of a (necessary) departure from the rails/activesupport project that simply copy/pasting code into this one won't work perfectly and people will have to customize it anyway. I'd argue that the linting make it easier to know what's expected for project contributions moving forward (https://github.com/rubymotion/motion-support/pull/29#discussion_r44864814).


Lane arrows when ban private cars on bus lanes is enabled

When having "Ban private cars and trucks on bus lanes" enabled, the lane arrows of the roads don't change, and so cars on the normal lane won't be able to turn right, unless you manually change the arrows on the road.
Maybe make an setting that takes it in account when creating a road when having this enabled?

@kianzarrin what do you think about this suggestion?

we need to import ILC2 mod into TMPE with support for TMPE features.
if memory serves I think the dedicated turning lane policy takes "Ban private cars and trucks on bus lanes"  into consideration.

I just don't like the fact that we have to update all lane arrows when such options are enabled. it slows down loading time. maybe if TMPE was loaded earlier when simulation data is ready could solve this problem?

I think that's the way how it should be done - on load apply settings without requesting an update, so other mods will see our changes already and if they change something they can trigger update and our code will run if necessary.
With regards to the OP issue we don't update arrows which can cause pathfinding problems like mentioned and I don't think we could avoid mass update in that case (although should be limited only to segments with bus lane)

Still an issue. The first image shows how the arrows are allocated w/o dedicated turning lanes. The second is after I enabled them. Note that it still fails to correctly arrange them all, namely the bus lane can't turn left as is. Interestingly the opposite direction doesn't have this problem.

Still an issue. The first image shows how the arrows are allocated w/o dedicated turning lanes. The second is after I enabled them. Note that it still fails to correctly arrange them all, namely the bus lane can't turn left as is. Interestingly the opposite direction doesn't have this problem.

Have you tested it in-game (new game or loaded savegame)? Things in the Editor are not behaving the same as in normal game :/

I have done some tests with vanilla roads and custom roads (build with road builder and from the workshop). Problem is, that road builder creates roads with banned cars on bus lanes by default. Also some workshop roads do this. So even if the option to ban cars is disabled in TM:PE the dedicated turning lane option will break traffic with those custom roads. Interestingly the vanilla game is allowing dedicated bus lanes on custom roads to take all directions - while the car lanes may or may not get a turning lane depending on the number of lanes of the destination road.
Vanilla roads and custom road with dedicated turning lanes OFF:

(Note that I turned off the all direction arrow prop on the bus lane but the lane gets all directions, I double checked.)
And dedicated turning lanes ON:

One solution would be the check if a lane actually is allowing cars. This could be because of a custom road, the ban cars option or manually banned cars on that lane. So this would solve all possible cases and not only the case of enabled ban cars option.
In my tests ILC2 is working as intended in all scenarios.


Iterate over visible followings.

What happened:
Bot won't unfollow
What you expected to happen:
Bot should unfollow
How to reproduce it (as minimally and precisely as possible):
Run bot with unfollow parameters
Anything else we need to know?:
I have a config only for unfollow. It used to work very well. I didn't do anything to change the config or on my phone.
Now it just scrolls the follow page without doing nothing
Environment:

GramAddict version: v.3.2.7
Device Model/Emulator Type: Xiaomi Mi9T
Android Version: Miui 12
Instagram Version: latest (which was perfectly working for routine jobs and unfollow jobs)

Relevant Logs:
[01/15 10:31:20]     INFO | Iterate over visible followings.
[01/15 10:31:29]     INFO | Need to scroll now.
[01/15 10:31:31]     INFO | Iterate over visible followings.
[01/15 10:31:41]     INFO | Need to scroll now.
[01/15 10:31:43]     INFO | Iterate over visible followings.
[01/15 10:31:51]     INFO | Need to scroll now.
[01/15 10:31:53]     INFO | Iterate over visible followings.
[01/15 10:32:03]     INFO | Need to scroll now.
[01/15 10:32:04]     INFO | Iterate over visible followings.
[01/15 10:32:16]     INFO | Need to scroll now.
[01/15 10:32:18]     INFO | Iterate over visible followings.
[01/15 10:32:28]     INFO | Need to scroll now.
[01/15 10:32:30]     INFO | Iterate over visible followings.
[01/15 10:32:40]     INFO | Need to scroll now.
[01/15 10:32:41]     INFO | Iterate over visible followings.
[01/15 10:32:50]     INFO | Need to scroll now.
[01/15 10:32:51]     INFO | Iterate over visible followings.
[01/15 10:33:02]     INFO | Need to scroll now.
[01/15 10:33:03]     INFO | Iterate over visible followings.
[01/15 10:33:15]     INFO | Need to scroll now.
[01/15 10:33:16]     INFO | Iterate over visible followings.
[01/15 10:33:26]     INFO | Need to scroll now.
[01/15 10:33:28]     INFO | Iterate over visible followings.
[01/15 10:33:39]     INFO | Need to scroll now.
[01/15 10:33:41]     INFO | Iterate over visible followings.
[01/15 10:33:51]     INFO | Need to scroll now.
[01/15 10:33:53]     INFO | Iterate over visible followings.
[01/15 10:34:04]     INFO | Need to scroll now.
[01/15 10:34:05]     INFO | Iterate over visible followings.
[01/15 10:34:17]     INFO | Need to scroll now.
[01/15 10:34:19]     INFO | Iterate over visible followings.
[01/15 10:34:28]     INFO | Need to scroll now.
[01/15 10:34:29]     INFO | Iterate over visible followings.
[01/15 10:34:40]     INFO | Need to scroll now.
[01/15 10:34:42]     INFO | Iterate over visible followings.
[01/15 10:34:53]     INFO | Need to scroll now.
[01/15 10:34:54]     INFO | Iterate over visible followings.
[01/15 10:35:05]     INFO | Need to scroll now.
[01/15 10:35:06]     INFO | Iterate over visible followings.
[01/15 10:35:18]     INFO | Need to scroll now.
[01/15 10:35:19]     INFO | Iterate over visible followings.
[01/15 10:35:31]     INFO | Need to scroll now.
[01/15 10:35:33]     INFO | Iterate over visible followings.
[01/15 10:35:42]     INFO | Need to scroll now.
[01/15 10:35:43]     INFO | Iterate over visible followings.
[01/15 10:35:55]     INFO | Need to scroll now.
[01/15 10:35:56]     INFO | Iterate over visible followings.
[01/15 10:36:06]     INFO | Need to scroll now.
[01/15 10:36:07]     INFO | Iterate over visible followings.
[01/15 10:36:18]     INFO | Need to scroll now.
[01/15 10:36:19]     INFO | Iterate over visible followings.
[01/15 10:36:29]     INFO | Need to scroll now.
[01/15 10:36:31]     INFO | Iterate over visible followings.
[01/15 10:36:42]     INFO | Need to scroll now.
[01/15 10:36:49]     INFO | Iterate over visible followings.
[01/15 10:37:00]     INFO | Need to scroll now.
[01/15 10:37:02]     INFO | Iterate over visible followings.

Looks random and not version dependent.

I'm having same issue. How did you solve it ?


#22 After the changes on how state is handled in …

…other TyRAS libraries, the 'metadata' library becomes TS-only.

Codecov Report

Merging #23 (34816b7) into main (a94b1fa) will not change coverage.
The diff coverage is n/a.

@@            Coverage Diff            @@
##              main       #23   +/-   ##
=========================================
  Coverage   100.00%   100.00%
=========================================
  Files            2         1    -1
  Lines          293       203   -90
  Branches        46        41    -5
=========================================
- Hits           293       203   -90

Flag
Coverage Δ

metadata
?

metadata-jsonschema
100.00% <ø> (ø)

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


Change response type.

resolved #115

i trust you on this one go ahead and merge it
@muttaqin1

i trust you on this one go ahead and merge it @muttaqin1

Thanks.
@bellaabdelouahab


Mimic Dash error if running app on port already in use

closes #73.
In Dash if you try to do this you get an output like:
Address already in use
Port 8080 is in use by another program. Either identify and stop that program, or start the server with a different port.

So we mimic that here.

Hi @jayceslesar!
Thanks for contributing, looks promising! 👏🏼
I did not immediately find the dash implementation; could you provide a link to which snippet you based this implementation on?

Codecov Report

Merging #79 (1522f7e) into main (f25cc4e) will decrease coverage by 0.39%.
The diff coverage is 57.14%.

@@            Coverage Diff             @@
##             main      #79      +/-   ##
==========================================
- Coverage   98.11%   97.71%   -0.40%
==========================================
  Files          10       10
  Lines         743      745       +2
==========================================
- Hits          729      728       -1
- Misses         14       17       +3

Impacted Files
Coverage Δ

...tly_resampler/figure_resampler/figure_resampler.py
86.56% <57.14%> (-3.44%)
:arrow_down:

...ler/figure_resampler/figure_resampler_interface.py
99.69% <0.00%> (-0.01%)
:arrow_down:

plotly_resampler/registering.py
100.00% <0.00%> (ø)

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update f25cc4e...1522f7e. Read the comment docs.

also looks like this is the second time the failing test has failed on different python versions while the other two passed haha. Not a stranger to those kinds of tests

Hi @jayceslesar
I did some further digging today and found out why it takes (quite) some time before jupyter-dash throws an OSError when the address is already in use. In the run method multiple times they check if an alive message from the address can be recieved (see code below)
https://github.com/plotly/jupyter-dash/blob/b6dad2689af96b70b796ae3d766a9c56d306c47d/jupyter_dash/jupyter_app.py#L323-L342
As this appearantly intended behavior of jupyter-dash, I'm not really keen on overwriting this in this library (as it is not at all our responsability).
What do you think of this? Or were you targetting another bug / issue with this PR (that I am missing at the moment)?
Cheers, Jeroen

I think taking no action is a fine way to deal with this -- I completely agree that it is not this libraries job to better handle how things are treated upstream. Feel free to close

Good to close this and #73 ?


Subsumption Checking

We weren't quite sure about the following subsumtion checking
Tbox={D\subseteq C, C\subseteq D} and Abox=\emptyset and K=(Tbox, Abox)
In the closed word assumption, is the following axiom K \entails D \equiv C?

get_equivalent_classes(input=D)={C}
get_equivalent_classes(input=D)=\emptyset

@ngonga stated that K \entails D \equiv C holds.

@alkidbaci can you confirm whether this issue has been solved?

Yes I'll try to merge everything today, also issue #263 . I will close these issues as soon as I do that.


icon.ico file placement

Question is why would the icon.ico be expected in build/icons/icon.ico ? It doesn't exist until you run a build. Perhaps change the package.json to point to static or at least somewhere under the source root in a project.
Describe the issue / bug.
During the build process, the file icon.ico is expected as per the package.json config. That file is currently configured as build/icons/icon.ico.
How can I reproduce this problem?
Run a build and an error will be seen. The workaround is as per issue #628
Tell me about your development environment.

Node version: 8.11.3 LTS
Operating System: WIndows 10

This probably stems from electron-builders request that icons be placed in the build folder:
https://github.com/electron-userland/electron-builder/blob/master/docs/icons.md

We connect digital currency with the real world by offering ICO launch, ICO advisory, token creation, white paper and smart contract deployment solutions. If you or your team wants to understand how to setup an initial coin offering then we can counsel you with the complete process of ICO creation until its final launch with the digital marketing plan. We provide competent and thorough legal advice in the ICO space and create the high-performance ecosystem so that the launch brings massive revenue to your business. Why wait? Share with us your business idea and we will create an ideal roadmap for your product along with the optimum revenue model. If sounds good, join us!
Website :https://antiersolutions.com/ICO-development.html
Skype<EMAIL_ADDRESS>Email us<EMAIL_ADDRESS>Contact us :<PHONE_NUMBER>


Adding game german_whist_foregame

German Whist is a 2 player imperfect information trick-taking card game. The rules are outlined here https://en.wikipedia.org/wiki/German_whist#:~:text=German whist is a variant,is probably of British origin.
Modified from previous pull request, no longer requires x86intrin.h or bmi2 support.

I hadn't added the game name to the pyspiel tests expected games.

@lanctot Should I remove ismcts_gwhist from the PR?

No it's ok, you can leave it. Good to have an example and it's in the right place.

I don't know what is going on but the tests keep failing repeatedly after your last commit. Can you pull changes from master and push the merge commit? (maybe make an inconsequential change to one of your files if necessary to trigger the tests)
Apologies on the lateness in looking at this, I will take a look as soon as the tests pass.

My apologies for the delay in getting back to you, I have issues getting the python tests to run on my device due to some issues with absl.
api_test.py and the playthrough_test.py are failing. With regard to api_test.py I have added an assert in the informationstatestring implementation.
I can add some more extensive comments and linting by monday.

Sorry for taking so long to address some of the issues.
On my device the playthrough test is failing throwing this error:
**Traceback (most recent call last):
File "/Users/thomasmcgowan/Documents/Github/open_spiel/open_spiel/python/../integration_tests/playthrough_test.py", line 90, in test_all_games_tested
missing_games = set(_AVAILABLE_GAMES) - set(_MISSING_GAMES) - set(
File "/Users/thomasmcgowan/Documents/Github/open_spiel/open_spiel/python/../integration_tests/playthrough_test.py", line 91, in
_playthrough_match(os.path.join(path, basename), _SHORTNAME)[1]
File "/Users/thomasmcgowan/Documents/Github/open_spiel/open_spiel/python/../integration_tests/playthrough_test.py", line 57, in _playthrough_match
data = f.read()
File "/Library/Developer/CommandLineTools/Library/Frameworks/Python3.framework/Versions/3.9/lib/python3.9/codecs.py", line 322, in decode
(result, consumed) = self._buffer_decode(data, self.errors, final)
UnicodeDecodeError: 'utf-8' codec can't decode byte 0x80 in position 3131: invalid start byte
======================================================================
ERROR: test_playthrough_.DS_Store (main.PlaythroughTest)
PlaythroughTest.test_playthrough_.DS_Store
Traceback (most recent call last):
File "/Users/thomasmcgowan/Documents/Github/open_spiel/open_spiel/python/../integration_tests/playthrough_test.py", line 108, in
test_func = lambda self, basename=basename: self.run_test(path, basename)
File "/Users/thomasmcgowan/Documents/Github/open_spiel/open_spiel/python/../integration_tests/playthrough_test.py", line 76, in run_test
expected, actual = generate_playthrough.replay(file_path)
File "/Users/thomasmcgowan/Documents/Github/open_spiel/open_spiel/python/algorithms/generate_playthrough.py", line 526, in replay
original, kwargs = _read_playthrough(filename)
File "/Users/thomasmcgowan/Documents/Github/open_spiel/open_spiel/python/algorithms/generate_playthrough.py", line 519, in _read_playthrough
original = f.read()
File "/Library/Developer/CommandLineTools/Library/Frameworks/Python3.framework/Versions/3.9/lib/python3.9/codecs.py", line 322, in decode
(result, consumed) = self._buffer_decode(data, self.errors, final)
UnicodeDecodeError: 'utf-8' codec can't decode byte 0x80 in position 3131: invalid start byte
Investigating with hexdump:
xxd -l 16 -s 3131 ./open_spiel/integration_tests/playthroughs/german_whist_foregame.txt
00000c3b: 3139 3630 3738 292c 2028 3134 2c30 2e30  196078), (14,0.0
This is the segment (where the chance outcomes are being printed).
I thought perhaps because my infostate string/observation state string made use of "/n" that might be causing the issue.

Apologies for the delays.. the summer ended up a bit busier than I expected!
Should finally be merged some time soon (today or next few days).

Merged into master in https://github.com/google-deepmind/open_spiel/commit/08543bd9b773bdb7a9246066a3f3bd10d2a25199

Hi @willmcgowan, we had to remove the game because it was crashing in the playthrough test.
I tried a few things but ultimately could not fix it. I believe it might be due to the game construction trying to read the transposition table from disk or maybe taking up too much memory constructing the initial TTable.
Here's the commit: https://github.com/google-deepmind/open_spiel/commit/a66063d2d4b83f26ed9a361d14bbad95f7d2b8d7
We should have a version of the game that will work without a transposition table, i.e. make it optional by default.
If you want to take a look please start from the fixed version in this commit above. I had to make a number of changes for it to fit our internal style and the version above includes all of them. If you find and fix it, then please resubmit as a new PR.


x/tools/gopls: release version v0.7.4

This issue tracks progress on releasing<EMAIL_ADDRESS>
[x] merge master into gopls-release-branch.0.7

https://golang.org/cl/370314

[x] update hard-coded version

https://golang.org/cl/370657

[x] update go.mod/go.sum (remove x/tools replace, update x/tools version)

https://golang.org/cl/370658

[x] tag prerelease gopls/v0.7.4-pre.1
[x] update Github milestone
[x] write release notes
[x] smoke test features
[x] tag gopls/v0.7.4

CC @hyangah @pjweinbgo

This is done: https://github.com/golang/tools/releases/tag/gopls%2Fv0.7.4


Object Browser for AL language extension

VSCode Version:1.11.1
OS Version: Windows Server on Azure

Steps to Reproduce:
1.Most of the Microsoft NAV documentation addresses C/Side.  C/Side doesn't exist in the new development environment.  The "New AL Development Environment for NAV and Dynamics 365 for Financials" is nearly devoid of documentation.  I think we desperately need an object browser when working in the AL extension.  I don't know if this is the right place to make this suggestion.  If not, please let me know of a better place.
2.

How is this related to VSCode?

Closing after no additional info was provided.


In Explorer, the alphabetical order messed up

VSCode Version: 1.48.2 zip 64 bit
OS Version: Windows 10 Enterprise

Steps to Reproduce:

In VSCode the Explorer Sort Order setting is default, so files & folders should be sorted by their names in alphabetical order.

But in one of my workplaces, it shows a messed order as below. Digital.Sales & Digital.Shared are placed above Digital.BusinessType.Api, the rest are in the right order.

Does this issue occur when all extensions are disabled?: Yes

Duplicate of #99955
Please update to a newer version.


[4328] Add degree uuids to Register API

Context
We need to add degree_type_uuid, degree_institution_uuid, degree_grade_uuid and degree_subject_uuid to the Apply Register API.
This is so we can be consistent across services and pull data using the same uuids from the same source of truth i.e. the DfE Reference Data gem.
Trello: https://trello.com/c/MASA5CjG/4328-m-add-uuids-to-apply-register-api
Changes proposed in this pull request

Add above 4 types of uuid into qualification_to_hash method

Guidance to review

I haven't touched the API before - please check I haven't missed updating anything
I noticed a method include_degree_uuids? but I don't think I need to touch that - but could be wrong. Could you check this too?
Do I need to update any API docs?

Link to Trello card
https://trello.com/c/MASA5CjG/4328-m-add-uuids-to-apply-register-api
Things to check

[x] If the code removes any existing feature flags, a data migration has also been added to delete the entry from the database
[x] This code does not rely on migrations in the same Pull Request
[x] If this code includes a migration adding or changing columns, it also backfills existing records for consistency
[x] If this code adds a column to the DB, decide whether it needs to be in analytics yml file or analytics blocklist
[ ] API release notes have been updated if necessary
[x] Required environment variables have been updated added to the Azure KeyVault

Closing this PR as after some investigation with @tomas-stefano , we can see that Apply is already sending the degree uuids to Register


scaling the stdev

1.  What's the function of stdev ?
Does anyone know  this which is not found in original py-faster rcnn project ?
in config.py   line 37
# scaling the stdev
self.std_scaling = 4.0
self.classifier_regr_std = [8.0, 8.0, 4.0, 4.0]
and in roi_helpers.py  line 230
def rpn_to_roi(rpn_layer, regr_layer, C, dim_ordering, use_regr=True, max_boxes=300, overlap_thresh=0.9):
regr_layer = regr_layer / C.std_scaling
2.  The function of num_rois
# number of ROIs at once
self.num_rois = 4       I think is the number of sample from each image if I'm correct
and in train_frcnn.py
roi_input = Input(shape=(None, 4))
what's the input data?   I think is the coordinate information

I had the same question, I cannot find the reason for it

    # number of ROIs at once
    self.num_rois = 4

I'm pretty confused too.. as far as i understood it you reshape your output vector from being inside [-0.5;0.5] to [-4;4] .. Is this really intended?

@yhenon  Could you give us a hint?

@Tbarowski,
I suppose that making the scale range bigger as you say [-4;4] would increase the differences between pixels, making image features more prevalent, but I'm just assuming stuff.

Yeah the original paper says that they should have zero mean & unit standard deviation. I wasn't 100% sure how to achieve that (in fact it is dataset specific). This was a way to get quite close to that on pascal voc. I suspect it shouldn't make that much difference in practice, but it does alter how much the regression layer is contributing to the loss.


allowed_mime_types defined for each collection

In most situations will be useful to define a different allowed_mime_types array for each collection.
Example: I want a collection only with pdfs

@trippo Would you like to open a PR for this?
We've not really had a situation where it would be required as usually the CMS side of a website is managed by a content-manager or the owner, who decides to use the media hub as they please.
I would like to see you rather define it as a rule for a specific collection, not the allowed_mime_types that checks globally everything that is uploaded.
I'll wait for your reply for 2 weeks and then I'll close the issue 🕦


[DO NOT MERGE] Docs clean up

This PR:

Links to examples.pyviz.org instead of local topics
Switches from sphinx_ioam_theme to sphinx_pyviz_theme
Closes #732
Fixes some broken links.
Adds travis docs building
Adds dev doc building to pyviz-dev.github.io/examples

It does not:

Regenerate api.rst which is in a sad state of disrepair.

Ok so there are the image bounds errors and then there is the fact that geography takes more than 10 min to run. I am finding this locally as well. Is there any way it could be meaningfully split up or the data size reduced? @brendancol @jbednar

I'm not sure what image bounds errors you're referring to, but the images could definitely be reduced in size, which should speed things up proportionally.  Maybe reduce by 30% in width, which should cut the time in half?

I should have separated out those comments. There are two separate thing going on. The image bounds errors I'm getting look like:
~/miniconda/envs/3.6/lib/python3.6/site-packages/holoviews/element/raster.py in __init__(self, data, kdims, vdims, bounds, extents, xdensity, ydensity, rtol, **params)
    323                              'density.')
    324         SheetCoordinateSystem.__init__(self, bounds, xdensity, ydensity)
--> 325         self._validate(data_bounds, supplied_bounds)
    326
    327
~/miniconda/envs/3.6/lib/python3.6/site-packages/holoviews/element/raster.py in _validate(self, data_bounds, supplied_bounds)
    391                 not_close = True
    392         if not_close:
--> 393             raise ValueError('Supplied Image bounds do not match the coordinates defined '
    394                              'in the data. Bounds only have to be declared if no coordinates '
    395                              'are supplied, otherwise they must match the data. To change '
ValueError: Supplied Image bounds do not match the coordinates defined in the data. Bounds only have to be declared if no coordinates are supplied, otherwise they must match the data. To change the displayed extents set the range on the x- and y-dimensions.

See https://travis-ci.org/pyviz/datashader/jobs/593702566#L1830-L2106 for full output

Right, I'm only answering the "10 min" issue, not the image bounds issue, which I don't know anything about.  To speed it up, you should be able to reduce the image size, because many of the calculations (e.g. distance) are done once per pixel.

https://github.com/pyviz/holoviews/pull/4035 should fix the image bounds error.

I tried trimming down the size of the image for the geography notebook, but the viewshed part still takes a really long time (minutes). Could something have changed to make this very very slow?

@brendancol ?

Scratch that. I hadn't realized terrain gets set several times over the course of the notebook.

Sorry for the pings Brendan.

I think this can be merged. https://pyviz-dev.github.io/datashader/user_guide/Trimesh.html is still broken until the next holoviews tag, but that is minor.


Update release script to update spec/dummy/package.json and fix Ruby 2.1 issues

Fixing #870

This change is

Coverage remained the same at 76.893% when pulling 1639ddfbe9ec7222fb2f45ebee210959f122c8bc on fix-ci into 88608bd10eec8ddc7b3aba8a612e3d315801727c on master.

Coverage increased (+0.02%) to 76.916% when pulling d9f0447441207763556df7cf2b4db82d6b4298eb on fix-ci into 88608bd10eec8ddc7b3aba8a612e3d315801727c on master.

Coverage remained the same at 76.893% when pulling 290ce57f275bdc08494595a56f14431e7e313349 on fix-ci into 88608bd10eec8ddc7b3aba8a612e3d315801727c on master.

@robwise can you review my comments and changes, since I'm changing some code you wrote.

Review status: 0 of 7 files reviewed at latest revision, 4 unresolved discussions.

lib/react_on_rails/prerender_error.rb, line 12 at r3 (raw file):

      if err
        # rubocop:disable Layout/IndentHeredoc
        message << <<-MSG.strip_heredoc

ruby 2.1 fix

rakelib/release.rake, line 73 at r3 (raw file):

  # Update master with new npm version
  sh_in_dir(Path.join(gem_root, "spec", "dummy", "client"), "yarn add react-on-rails@#{npm_version}")
  sh_in_dir(gem_root, "git commit -am 'Updated spec/dummy/client/package.json latest version'") unless is_dry_run

Update master to set new version in spec/dummy

rakelib/run_rspec.rake, line 52 at r3 (raw file):

  desc "(HACK) Run RSpec on spec/empty_spec in order to have SimpleCov generate a coverage report from cache"
  task :empty do
    sh %(#{ENV['USE_COVERALLS'] ? 'COVERAGE=true' : ''} rspec spec/empty_spec.rb)

this is the key fix that was needed for codeship since we're not running coveralls on codeship.
An error occurred while loading ./spec/features/hello_world_spec.rb.
Failure/Error: require "simplecov"

LoadError:
  cannot load such file -- simplecov
# /home/rof/cache/bundler/ruby/2.4.0/gems/activesupport-5.1.1/lib/active_support/dependencies.rb:292:in `require'
# /home/rof/cache/bundler/ruby/2.4.0/gems/activesupport-5.1.1/lib/active_support/dependencies.rb:292:in `block in require'
# /home/rof/cache/bundler/ruby/2.4.0/gems/activesupport-5.1.1/lib/active_support/dependencies.rb:258:in `load_dependency'
# /home/rof/cache/bundler/ruby/2.4.0/gems/activesupport-5.1.1/lib/active_support/dependencies.rb:292:in `require'
# ./spec/simplecov_helper.rb:6:in `<top (required)>'
# ./spec/rails_helper.rb:6:in `require_relative'
# ./spec/rails_helper.rb:6:in `<top (required)>'
# ./spec/features/hello_world_spec.rb:3:in `require_relative'
# ./spec/features/hello_world_spec.rb:3:in `<top (required)>'
No examples found.

Finished in 0.00029 seconds (files took 1.76 seconds to load)
0 examples, 0 failures, 1 error occurred outside of examples

rake aborted!
Command failed with status (1): [cd /home/rof/src/github.com/shakacode/reac...]
/home/rof/src/github.com/shakacode/react_on_rails/rakelib/task_helpers.rb:22:in `block in sh_in_dir'
/home/rof/src/github.com/shakacode/react_on_rails/rakelib/task_helpers.rb:22:in `each'
/home/rof/src/github.com/shakacode/react_on_rails/rakelib/task_helpers.rb:22:in `sh_in_dir'
/home/rof/src/github.com/shakacode/react_on_rails/rakelib/run_rspec.rake:105:in `run_tests_in'
/home/rof/src/github.com/shakacode/react_on_rails/rakelib/run_rspec.rake:41:in `block (3 levels) in <top (required)>'
/home/rof/src/github.com/shakacode/react_on_rails/rakelib/run_rspec.rake:47:in `block (3 levels) in <top (required)>'
/home/rof/src/github.com/shakacode/react_on_rails/rakelib/run_rspec.rake:47:in `each'
/home/rof/src/github.com/shakacode/react_on_rails/rakelib/run_rspec.rake:47:in `block (2 levels) in <top (required)>'
/home/rof/.rvm/gems/ruby-2.4.1/gems/bundler-1.15.1/lib/bundler/cli/exec.rb:74:in `load'
/home/rof/.rvm/gems/ruby-2.4.1/gems/bundler-1.15.1/lib/bundler/cli/exec.rb:74:in `kernel_load'
/home/rof/.rvm/gems/ruby-2.4.1/gems/bundler-1.15.1/lib/bundler/cli/exec.rb:27:in `run'
/home/rof/.rvm/gems/ruby-2.4.1/gems/bundler-1.15.1/lib/bundler/cli.rb:360:in `exec'
/home/rof/.rvm/gems/ruby-2.4.1/gems/bundler-1.15.1/lib/bundler/vendor/thor/lib/thor/command.rb:27:in `run'
/home/rof/.rvm/gems/ruby-2.4.1/gems/bundler-1.15.1/lib/bundler/vendor/thor/lib/thor/invocation.rb:126:in `invoke_command'
/home/rof/.rvm/gems/ruby-2.4.1/gems/bundler-1.15.1/lib/bundler/vendor/thor/lib/thor.rb:369:in `dispatch'
/home/rof/.rvm/gems/ruby-2.4.1/gems/bundler-1.15.1/lib/bundler/cli.rb:20:in `dispatch'
/home/rof/.rvm/gems/ruby-2.4.1/gems/bundler-1.15.1/lib/bundler/vendor/thor/lib/thor/base.rb:444:in `start'
/home/rof/.rvm/gems/ruby-2.4.1/gems/bundler-1.15.1/lib/bundler/cli.rb:10:in `start'
/home/rof/.rvm/gems/ruby-2.4.1/gems/bundler-1.15.1/exe/bundle:35:in `block in <top (required)>'
/home/rof/.rvm/gems/ruby-2.4.1/gems/bundler-1.15.1/lib/bundler/friendly_errors.rb:121:in `with_friendly_errors'
/home/rof/.rvm/gems/ruby-2.4.1/gems/bundler-1.15.1/exe/bundle:27:in `<top (required)>'
/home/rof/.rvm/gems/ruby-2.4.1/bin/bundle:23:in `load'
/home/rof/.rvm/gems/ruby-2.4.1/bin/bundle:23:in `<main>'
/home/rof/.rvm/gems/ruby-2.4.1/bin/ruby_executable_hooks:15:in `eval'
/home/rof/.rvm/gems/ruby-2.4.1/bin/ruby_executable_hooks:15:in `<main>'
Tasks: TOP => run_rspec:example_basic
(See full trace by running task with --trace)

spec/dummy/spec/simplecov_helper.rb, line 5 at r3 (raw file):

# Starts SimpleCov for code coverage.

if ENV["COVERAGE"] == "true"

the check for == "true" can be removed
seems OK, however to leave it

Comments from Reviewable

Reviewed 1 of 3 files at r1, 2 of 4 files at r2.
Review status: 3 of 7 files reviewed at latest revision, 6 unresolved discussions.

lib/react_on_rails/prerender_error.rb, line 12 at r3 (raw file):
Previously, justin808 (Justin Gordon) wrote…
ruby 2.1 fix

rubocop is getting mad because you're using strip_heredoc yet you're left-aligning everything. Either don't use strip_heredoc, or indent your message. The end result will be the same either way

lib/react_on_rails/prerender_error.rb, line 21 at r3 (raw file):

      end
      # rubocop:disable Layout/IndentHeredoc
      message << <<-MSG.strip_heredoc

same comment as above

lib/react_on_rails/prerender_error.rb, line 29 at r3 (raw file):

      if console_messages
        # rubocop:disable Layout/IndentHeredoc

same comment as above

Comments from Reviewable

FYI -- on why strip_heredoc doesn't work for interpolated: https://github.com/bbatsov/rubocop/issues/4465

Review status: 3 of 7 files reviewed at latest revision, 6 unresolved discussions.

Comments from Reviewable


Message Synchronization Protocol

Problem
Group security requires Message Synchronization Protocol to be implemented.
Proposed Solution
Implement low levels of Message Security as defined in:

CHIP-Specifications/connectedhomeip-spec#230
CHIP-Specifications/connectedhomeip-spec#256

@kghost can this task be broken up at this point?

@kghost can this task be broken up at this point?

It seems #4626 is dup of this ticket, just synced with Mingjie, I will post my PR with this ticket instead

Reopen https://github.com/project-chip/connectedhomeip/issues/4626 which handle the protocol implementation, the Initiating Message Counter Synchronization part is left in this ticket after all dependencies are closed


"mmt evaluate" gets stuck if issued just after "mmt start"

After "mmt start", if "mmt evaluate" is issued immediately then it gets stuck during the translation step and never completes.
In order to have "mmt evaluate" complete its task successfully, it is sufficient to issue the example command
curl "http://localhost:8045/translate?q=world&context=computer" | python -mjson.tooll

just after "mmt start".
Is it possible that the first translation query to the master is in some way special (e.g. for timing issue) and it is not correctly managed by "mmt evaluate"?

Solved with the new Distributed Infrastructure available in the develop branch.
Tested both with small and big models, hot and cold start.


Revised Install Page

I've just reworked the content on the install page, hopefully making it a bit clearer and smoother.

Thanks @albi3ro, looks great from a quick browse! Will review in detail during the weekend.

Merged, thanks @albi3ro.
This reorganizes the existing content mostly, for easier navigation. Some parts are a bit outdated and can probably be removed (e.g. the binaries section; also the --user needs a warning that it's not the right thing to do with virtualenvs or conda envs). Let's leave that for a follow-up.


Make files under data directory accessible from Jupyter Notebook

@yoheikikuta  can you please check if the jupytert notebook in a Docker container work as expected when you have a time?

@takahi-i I checked it worked as we expected. Thanks for handling the matter!

Thank you very much for the checking @yoheikikuta 😹


microsoft365.com/setup

Set up Microsoft 365 through microsoft365.com/setup  and use Microsoft apps such as Word, PowerPoint, and Excel, online storage, cloud-connected features, and more. If you have a Microsoft account associated with Outlook, OneDrive, Xbox Live, or Skype, you can proceed with www.microsoft365.com/setup login.

@JohanFreelancer9 - kindly do the copy editor review for this PR. Thanks

@denisebmsft this was a phishing insertion of documentation into docs.microsoft.com Have done a PR for removal.

@lantrix Thank you for your awareness, the link was removed and the live page reflects that.


Accuracy, acrossElements, separateWordSearch and minified source code

I'm creating a chrome extension, that highlights text on webpages using mark.js. I noticed a problem with minified source code.
In the sample markup, the exact phrase "Hugo Pratt" is highlighted inside paragraphs, but not inside list.
My guess is that mark.js strips the text of html elements. And because the source code for the list lacks line feeds or whitespace, the last h3 gets concatenated to the list item and becomes "Hugo PrattR" and therefore does not match.
Is there a way around this?

P

Carlo Panaro

Giuseppe Perego

Hugo Pratt

R

Hugo Pratt

Hugo Pratt

Steps to reproduce
mark.js settings:
var body         = document.body,
    markInstance = new Mark(body),
    matches      = ["Hugo Pratt"];

markInstance.mark(matches, {
  diacritics         : false,
  separateWordSearch : false,
  ignoreJoiners      : true,
  acrossElements     : true,
  accuracy           : {
    value    : "exactly",
    limiters : [",", ".", ":", ";", "!", "?", "(", ")", "[", "]"]
  }
});

Jsfiddle: https://jsfiddle.net/suxbagp5/2/
Environment

Chrome version 60.0.3112.101
mark.js version 8.9.1

Hi @miasa,
Thanks for submitting.
This problem is known and was already reported in #127. However, it's good to have another example, as in this ticket a different approach was used. The reason is like you've assumed, mark.js parses text nodes. The option accuracy: "exactly" requires that mark.js parses the actual HTML and detects whitespace itself.
As this isn't something trivial and requires a deep core change, a quick solution won't be available. But I'll promise to look at this issue and give it a high priority in comparison to other tickets. In the meantime, you can use other accuracy option values.
Further comments will be made in #127.


Add visitRepeated* methods to the BinaryEncodingSizeVisitory.

What the default impls in Visitor "work", by providing them things should be
more optimized in that it doesn't have to loop for fixed width things and the
tag overhead can be computed and multiplied instead of being added in the loop.

We could also do this in the actual encoding, but I'm not sure how much of a win it would end up being, the FieldTag is just hopefully something that collapses down to just about constants, and the repeated writing is still needed.

Any measurable perf wins?

I'd also be curious whether @inlineable helps any -- it probably doesn't, since there's an unavoidable layer of indirection between the generated code and the visitor, but it might create some additional opportunities for the optimizer, and the implementations here seem sufficiently correct that inlining would be safe.

Any measurable perf wins?

I never have luck with the perf_runner.  Performance/perf_runner.sh -c 3671b6afcbe981d0ebfcfc610a904867d09db399 100 "repeated fixed32" gives me some data, but it always leaves me in a state where I have staged and unstated changes, so I'm never sure if I can trust what it comes up with between runs.

I've not had much luck using that mode, either.  I generally just run each branch against the C++ version, pencil down the numbers and compare them.


fix overlaping bug

Main changes:

Changes to the buttonDisabled function in script.js

Replaced the toggle method with the add method to maintain the disabled state of the button more effectively
Updated the AiQuotes button to also become disabled

Changes to the setTimeout() function in script.js

Multiplied the length of the quote by 50 to set an appropriate disable time

Changes to the .btnDisabled class in style.css

Set opacity to 0.5 to visually indicate disabled buttons

Thanks for contributing and don't forget to star the repo!


Supervisor receives blank screen in approval process, another cannot attach document or edit comments field

Background: On Nov 28th, employee Paul S. submitted his telework agreement to his supervisor Amanda Z. Amanda would get a blank screen after selecting the link in the confirmation email sent from the employee. I sent the emails to Iman.
On Thursday Dec 8th, Sonya M, a director is unable to attach documents or comment in the Manager comments field. She is the direct supervisor to her employee Allan O. I will send this email to Iman this afternoon as well.
Steps to Reproduce: 1)Investigate why a supervisor cannot access her employee's telework agreement to approve.
2) Investigate why another supervisor cannot upload a document or add comments before submitting the form for approval
Actual Behavior:  see comments above.
Expected Behaviour:1) Supervisor can get into the forms review portal 2) Supervisor can upload a document such as an ADM approval email and make comments in the Manager Comments field.
Environment: prod env for telework form

I am making a ticket for this since my last day  before holidays is on Monday Dec 12th.

@iman-jamali-fw  I forgot to mention this one at scrum today - I have pulled it into the backlog and would love an estimate whenever you can - thanks

Chris wil be here on Monday and then off on hols, so let's grab him for any more info. Cheers

@MeghanStothers I'll look into these issues and will update this ticket. Thanks for the headsup.

For the issue of employee Paul S. submitted his telework agreement to his supervisor Amanda Z. Amanda, the issue lies in the supervisor's Keycloak account that lacks IDIR and GUID. Looking for a fix.

For Sonya M, a director is unable to attach documents or comment in the Manager comments field, She is most likely trying to upload a document through the PDF she received in the email and NOT the TOOL. I learned that from the emails Chris forwarded and the screenshot of where she tries to upload.

@MeghanStothers to action this

I have written a note to Sonja in the Digital Journeys mailbox with the instruction provided by Iman.

This has been completed. Chris.


axiom/web-vitals 403 error on localhost

I setup next-axiom as outlined but I'm seeing the following browser console error on localhost:
POST http://localhost:3000/_axiom/web-vitals 403 (Forbidden) - webVitals.js

Is this a bug or should I just conditionally export reportWebVitals in _app.ts on production only?
I'm only interested in the production logs on Vercel which work fine.

@jinsley8 on localhost web-vitals shouldn't try to send anything. Do you have any axiom related env variable set on localhost? like AXIOM_TOKEN for example, or NEXT_PUBLIC_AXIOM_INGEST_ENDPOINT? If there are env vars set webVitals will try to send. Can you double check and let me know.

Yes NEXT_PUBLIC_AXIOM_INGEST_ENDPOINT was set. I will disable and works good now.
Thanks

awesome! glad I could help.
I will close this for now since everything is fine, feel free to open again or create a new issue if something comes up.


[Python] NamedTuple SolutionOutputs is not actually a NamedTuple

System information (Please provide as much relevant information as possible)

Have I written custom code (as opposed to using a stock example script provided in MediaPipe): No
OS Platform and Distribution (e.g., Linux Ubuntu 16.04, Android 11, iOS 14.4): NA
Mobile device (e.g. iPhone 8, Pixel 2, Samsung Galaxy) if the issue happens on mobile device: NA
Browser and version (e.g. Google Chrome, Safari) if the issue happens on browser: NA
Programming Language and version ( e.g. C++, Python, Java): Python
MediaPipe version: <IP_ADDRESS>
Bazel version (if compiling from source): NA
Solution ( e.g. FaceMesh, Pose, Holistic ): Pose
Android Studio, NDK, SDK versions (if issue is related to building in Android environment): NA
Xcode & Tulsi version (if issue is related to building for iOS): NA

Describe the current behavior:
When calling _asdict() on SolutionOutputs (given it is a NamedTuple), it says TypeError: _asdict() missing 1 required positional argument: 'self'. SolutionOutputs obtained by running pose.process(image).
Describe the expected behavior:
Calling _asdict() should successfully convert the results object into a dictionary.
Standalone code to reproduce the issue:
Provide a reproducible test case that is the bare minimum necessary to replicate the problem. If possible, please share a link to Colab/repo link /any notebook:
import cv2
import mediapipe as mp
mp_pose = mp.solutions.pose

with mp_pose.Pose(
    static_image_mode=True,
    model_complexity=2,
    enable_segmentation=True,
    min_detection_confidence=0.5) as pose:
    image = cv2.imread('test.png')
    image_height, image_width, _ = image.shape
    # Convert the BGR image to RGB before processing.
    results = pose.process(cv2.cvtColor(image, cv2.COLOR_BGR2RGB))

    if not results.pose_landmarks:
      continue
    print(results._asdict())

Other info / Complete Logs :
Looking into the source code (mediapipe/python/solution_base.py), I noticed that a new NamedTuple factory is being created each time during process(), and then the results are added to the newly created classs via setattr(). This isn't the correct way to use a NamedTuple. The correct way is:
solution_outputs = collection.namedtuple('SolutionOutputs', keys)

results = solution_outputs(pose_landmarks=..., ...)

Hi @Interpause ,
Could you please elaborate w.r.t above issue to investigate further.

I created a possible fix in this pull request #4024

Hello @Interpause,
We are upgrading the MediaPipe Legacy Solutions to new MediaPipe solutions However, the libraries, documentation, and source code for all the MediapPipe Legacy Solutions will continue to be available in our GitHub repository and through library distribution services, such as Maven and NPM.
You can continue to use those legacy solutions in your applications if you choose. Though, we would request you to check new MediaPipe solutions which can help you more easily build and customize ML solutions for your applications. These new solutions will provide a superset of capabilities available in the legacy solutions. Thank you


[style]: Change font size and style of header links

What's the style idea?
We can change the font size and font style of header links to make the logo stand out more in the header section.
Add screenshots
Add screenshots

Code of Conduct

[X] I agree to follow this project's Code of Conduct

Do you want to work on this @prasanta10

@JasonDsouza212 Sure

Are you working under GSSOC23 @prasanta10

Yes @JasonDsouza212


fix: rm cli_evalute

related to #541
we do not use cli to evaluate now
Summary by Sourcery
Bug Fixes:

Remove unused cli_evaluate method from the codebase.

@n0w0f this could be useful I think. why do you suggest its removal?


Octernships submission

Octernship Submission

Start by setting up your development environment on Ubuntu 22.04.2 LTS for the RustDesk project.

Install the necessary packages by running the following commands:

cargo build --release --features=flutter-rs-bridge-codegen
flutter pub run flutter_rust_bridge
flutter pub get

Added dependency process_run:  that allows to run script from Mac/Windows/Linux in a portable way.

Conduct research on polkit and pkexec, which are used for executing commands with elevated privileges in Rust.

Created polkit_handler.dart file to execute polkit Action

Modified MainActivity.kt file from android/app/src/main/kotlin/com/example/flutter_rust_bridge_template/MainActivity.kt to configure Flutter Engine and executePolkitAction

Created a new function called executeCommand() that checks if polkit is installed and prints the output of the bash command ls -la /root/ and other commands & queries of Linux .

Created a new function called executePrivilegedCommand() that executes the privileged commands of linux and get the ProcessResult from the list.

Also created a Dynamic input command Textfield to change the command & query

Finally, consume the executeCommand() function from the main.dart file in Flutter.

Here is a Demo of the project in action.

Thanks, but you ignored.

you need to detect if polkit works well, and elevate priviledge with alternative way


is nutstash deprecated?

Never seen an update after march 2023

This isn't nutstash. I don't think it's deprecated.

But the dev here is also active so i have placed my question here


fix: Ledger data returns an empty list (instead of null) when all entries are filtered out

High Level Overview of Change
This PR resolves issue 4392. When the type field to the ledger_data method is specified, it is possible that no objects of the specified type are found. When this happens, the state field of the response has the value null instead of an empty array ([]).
Context of Change
The PR initializes the state field of the response to an empty list so that the field is not a null. This can break client code that explicitly checks for null. However, this behavior is consistent with the documentation.
Type of Change

[x] Bug fix (non-breaking change which fixes an issue)
[ ] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to not work as expected)
[ ] Refactor (non-breaking change that only restructures code)
[x] Tests (You added tests for code that already exists, or your new feature included in this PR)
[ ] Documentation Updates
[ ] Release

@drlongle if you agree that this is ready to merge, please comment with a suggested commit message for this PR

Suggested commit message
When no entries are found, make ledger_data return an empty array instead of null: (#4392)
When the type field for the ledger_data method is specified, it is possible that no objects of the specified type are found. When this happens, the state field of the response has the value null instead of an empty array. According to the documentation, the state field should be an array.


fix: ensure subscribe to topics

Fixes #1464 Fixes #1322

Pull Request Test Coverage Report for Build<PHONE_NUMBER>

0 of 16 (0.0%)  changed or added relevant lines in 1 file are covered.
1 unchanged line in 1 file lost coverage.
Overall coverage decreased (-10.9%) to 19.478%

Changes Missing Coverage
Covered Lines
Changed/Added Lines
%

lib/Gateway.ts
0
16
0.0%

Files with Coverage Reduction
New Missed Lines
%

lib/Gateway.ts
1
17.43%

Totals

Change from base Build<PHONE_NUMBER>:
-10.9%

Covered Lines:
3610

Relevant Lines:
19662

💛  - Coveralls


Clarify user access when using auth endpoint for specific tenant

Clarifies that when using the OAuth2 authorization endpoint for a specific tenant, not only (directory) member users with work and school accounts can successfully authenticate, (directory) guest users with personal Microsoft accounts can too. I just spent a couple of hours testing different scenarios here and found this to be possible.

@alexvy86 : Thanks for your contribution! The author(s) have been notified to review your proposed change.

merging per Angela Robertson<EMAIL_ADDRESS>email request


Add option to disable plugin for .js files

I added g:vim_jsx_pretty_disable_js to allow disabling the plugin for normal .js files. Personally I'd just have used the first commit, but I added the option so it acts the same as before.
Did it in 2 commits so the history is preserved.
(edit: I recommend reviewing each commit individually)

Thanks for your contribution, the code changes look reasonable.

Np, I noticed you squashed the commits when merging the PR. Not sure how github works but it'd better if you could keep the 2 commits separated in the history or you'll lose the ability to git blame.

Never mind. The git blame could lead us to this PR, then the context is clear.


⚠ Bofrost.be has degraded performance

In b34600e, Bofrost.be (https://www.bofrost.be) experienced degraded performance:

HTTP code: 200
Response time: 1385 ms

Resolved: Bofrost.be performance has improved in 8ee351a after 6 minutes.


Does it support multiple s3 buckets?

I have multiple s3 buckets,
When I run cdk bootstrap, a cdk s3 bucket is generated. After that, I can cdk deploy -c bucket_name .., but it is only configured for a single bucket at this time. If I want to configure multiple buckets, can I run it multiple times? npx deploy -c

Hello, it depends what do you want to achieve. Why do you need multiple S3 buckets?

If every site has a different ownership/ content / domain name, then it makes sense to deploy the solution separately for each website. Note that I haven't tested multiple deployments in the same AWS Account, it might require some code change to make it work.

@alecsvaldez What all would we need to change?
I am trying to deploy the solution for two different buckets for a similar use case. I changed the name of urlRewrite function, responseHeadersPolicyName, OAC and the stack.
Both buckets have public access blocked so I added permissions allowing the cloudfront distribution to access the s3 bucket objects and the optimisation works fine for the first bucket.
But after deploying the new stack it's not able to access the images from 2nd the s3 bucket, on checking cloudwatch logs it throwing access denied error.
Error for reference -
2024-07-09T11:25:48.031Z	" "	INFO	AccessDenied: Access Denied
    at throwDefaultError (/var/runtime/node_modules/@aws-sdk/node_modules/@smithy/smithy-client/dist-cjs/index.js:838:20)
    at /var/runtime/node_modules/@aws-sdk/node_modules/@smithy/smithy-client/dist-cjs/index.js:847:5
    at de_CommandError (/var/runtime/node_modules/@aws-sdk/client-s3/dist-cjs/index.js:4756:14)
    at process.processTicksAndRejections (node:internal/process/task_queues:95:5)
    at async /var/runtime/node_modules/@aws-sdk/node_modules/@smithy/middleware-serde/dist-cjs/index.js:35:20
    at async /var/runtime/node_modules/@aws-sdk/middleware-signing/dist-cjs/index.js:225:18
    at async /var/runtime/node_modules/@aws-sdk/node_modules/@smithy/middleware-retry/dist-cjs/index.js:320:38
    at async /var/runtime/node_modules/@aws-sdk/middleware-flexible-checksums/dist-cjs/index.js:173:18
    at async /var/runtime/node_modules/@aws-sdk/middleware-sdk-s3/dist-cjs/index.js:97:20
    at async /var/runtime/node_modules/@aws-sdk/middleware-sdk-s3/dist-cjs/index.js:120:14 {
  '$fault': 'client',
  '$metadata': {
    httpStatusCode: 403,
    requestId: '',
    extendedRequestId: '',
    cfId: undefined,
    attempts: 1,
    totalRetryDelay: 0
  },
  Code: 'AccessDenied',
  RequestId: '',
  HostId: ''
}

You can go to /bin/image-optimization.ts file and add new stack
#!/usr/bin/env node
import "source-map-support/register";
import * as cdk from "aws-cdk-lib";
import { ImageOptimizationStack } from "../lib/image-optimization-stack";

const app = new cdk.App();

// Production stack
new ImageOptimizationStack(app, "ImgTransformationStackProd", {});

// Dev stack
new ImageOptimizationStack(app, "ImgTransformationStackDev", {});

now you can deploy the stack you want
cdk deploy ImgTransformationStackProd


Add support for proto3

https://developers.google.com/protocol-buffers/docs/proto3
https://cloud.google.com/pubsub/docs/schemas#protocol-buffer

Duplicate of #21


DH Code Review

The ticket for this code review is: https://github.com/DHCodeReview/DHCodeReview/issues/1
This repository is ready for review. Please start with reviewing src/semanticlayertools/linkage/cocitation.py. If time allows, you welcome to review src/semanticlayertools/pipelines/cocitetimeclusters.py and the other files in the pull request.

@zmbq this is great, thanks so much! What do you think the author should definitely address to get a code review completed badge?

I wasn't aware there was a badge involved! I think @maltevogl  deserves it.


Add karan kumar to Contributors list

This is my First Open source project

I'm quite elated about your pull request. I wanna evolve this project to addresses various problems faced by first-time contributors. I'd love to learn about your journey in open source community, the problems, pain points you had etc.
Could you explain how you felt when you went through the tutorial, made a pull request and learned that I merged it?
We’ve recently added Facebook share and tweet feature to our web app. Could you please go to https://roshanjossey.github.io/first-contributions/#social-share and share your first contribution to open source?
Also, check out projects with easy issues while you’re there.


datapath: Override a stale nodeport ct entry for DSR

Please see the commit message.
Fixes: #18632
Please ensure your pull request adheres to the following guidelines:

[x] For first time contributors, read Submitting a pull request
[x] All code is covered by unit and/or runtime tests where feasible.
[x] All commits contain a well written commit description including a title,
description and a Fixes: #XXX line if the commit addresses a particular
GitHub issue.
[x] All commits are signed off. See the section Developer’s Certificate of Origin
[x] Provide a title or release-note blurb suitable for the release notes.
[x] Thanks for contributing!

I still don't have enough insight around DSR code, so let me mention @brb for the second eye.

The ct lookup implementation is modified by https://github.com/cilium/cilium/pull/19818. I'm taking look at the PR

@brb Hi, I wrote the details in the commit message. Could you check it?

From the commit message:

This problem is likely to occur the right after users upgrade Cilium v1.11 to v1.12.

Setting the release blocker label accordingly.
(Still need to review though)

This problem is likely to occur right after users upgrade Cilium v1.11 to v1.12.

Users of v1.11 and earlier can hit the problem and https://github.com/cilium/cilium/pull/18454 fixed(mitigated) it, but the problem still can occur after users upgrade Cilium v1.11 to v1.12.
# The ct leftovers still remain after upgrading cilium from v1.11 to v1.12
$ kubectl -n kube-system exec cilium-gjb7p -- cilium bpf ct list global
Defaulted container "cilium-agent" out of: cilium-agent, mount-cgroup (init), mount-bpf-fs (init), clean-cilium-state (init)
TCP IN <IP_ADDRESS>:58820 -> <IP_ADDRESS>:8000 expires=16907078 RxPackets=7 RxBytes=552 RxFlagsSeen=0x1b LastRxReport=16822703 TxPackets=4 TxBytes=393 TxFlagsSeen=0x1b LastTxReport=16822703 Flags=0x0030 [ SeenNonSyn NodePort ] RevNAT=0 SourceSecurityID=1 IfIndex=3
TCP IN <IP_ADDRESS>:58806 -> <IP_ADDRESS>:8000 expires=16906956 RxPackets=7 RxBytes=552 RxFlagsSeen=0x1b LastRxReport=16822581 TxPackets=4 TxBytes=393 TxFlagsSeen=0x1b LastTxReport=16822581 Flags=0x0030 [ SeenNonSyn NodePort ] RevNAT=0 SourceSecurityID=1 IfIndex=3
TCP IN <IP_ADDRESS>:58812 -> <IP_ADDRESS>:8000 expires=16906961 RxPackets=7 RxBytes=552 RxFlagsSeen=0x1b LastRxReport=16822586 TxPackets=4 TxBytes=393 TxFlagsSeen=0x1b LastTxReport=16822586 Flags=0x0030 [ SeenNonSyn NodePort ] RevNAT=0 SourceSecurityID=1 IfIndex=3
TCP IN <IP_ADDRESS>:58808 -> <IP_ADDRESS>:8000 expires=16906959 RxPackets=7 RxBytes=552 RxFlagsSeen=0x1b LastRxReport=16822584 TxPackets=4 TxBytes=393 TxFlagsSeen=0x1b LastTxReport=16822584 Flags=0x0030 [ SeenNonSyn NodePort ] RevNAT=0 SourceSecurityID=1 IfIndex=3
TCP IN <IP_ADDRESS>:58816 -> <IP_ADDRESS>:8000 expires=16907068 RxPackets=7 RxBytes=552 RxFlagsSeen=0x1b LastRxReport=16822693 TxPackets=4 TxBytes=393 TxFlagsSeen=0x1b LastTxReport=16822693 Flags=0x0030 [ SeenNonSyn NodePort ] RevNAT=0 SourceSecurityID=1 IfIndex=3
TCP IN <IP_ADDRESS>:58814 -> <IP_ADDRESS>:8000 expires=16907065 RxPackets=7 RxBytes=552 RxFlagsSeen=0x1b LastRxReport=16822690 TxPackets=4 TxBytes=393 TxFlagsSeen=0x1b LastTxReport=16822690 Flags=0x0030 [ SeenNonSyn NodePort ] RevNAT=0 SourceSecurityID=1 IfIndex=3
TCP IN <IP_ADDRESS>:58818 -> <IP_ADDRESS>:8000 expires=16907072 RxPackets=7 RxBytes=552 RxFlagsSeen=0x1b LastRxReport=16822697 TxPackets=4 TxBytes=393 TxFlagsSeen=0x1b LastTxReport=16822697 Flags=0x0030 [ SeenNonSyn NodePort ] RevNAT=0 SourceSecurityID=1 IfIndex=3
TCP IN <IP_ADDRESS>:58802 -> <IP_ADDRESS>:8000 expires=16906951 RxPackets=7 RxBytes=552 RxFlagsSeen=0x1b LastRxReport=16822576 TxPackets=4 TxBytes=393 TxFlagsSeen=0x1b LastTxReport=16822576 Flags=0x0030 [ SeenNonSyn NodePort ] RevNAT=0 SourceSecurityID=1 IfIndex=3
TCP IN <IP_ADDRESS>:58804 -> <IP_ADDRESS>:8000 expires=16906953 RxPackets=7 RxBytes=552 RxFlagsSeen=0x1b LastRxReport=16822578 TxPackets=4 TxBytes=393 TxFlagsSeen=0x1b LastTxReport=16822578 Flags=0x0030 [ SeenNonSyn NodePort ] RevNAT=0 SourceSecurityID=1 IfIndex=3
TCP IN <IP_ADDRESS>:58800 -> <IP_ADDRESS>:8000 expires=16906947 RxPackets=7 RxBytes=552 RxFlagsSeen=0x1b LastRxReport=16822572 TxPackets=4 TxBytes=393 TxFlagsSeen=0x1b LastTxReport=16822572 Flags=0x0030 [ SeenNonSyn NodePort ] RevNAT=0 SourceSecurityID=1 IfIndex=3

$ The client can't communicate with the LB service if it hits the same port as the ct leftover.
$ curl -v --local-port 58820 <IP_ADDRESS>
*   Trying <IP_ADDRESS>:80...
* TCP_NODELAY set
* Local port: 58820

@ysksuzuki Thanks. I still have a question:

In v1.11 and earlier before https://github.com/cilium/cilium/pull/18454, ENTRY_INGRESS remains with the opening state
for a long time, while ENTRY_EGRESS is removed eventually

Could you explain why the ENTRY_EGRESS entry gets removed quicker than the ENTRY_INGRESS? AFAIK, both entries should be GC-ed by the agent, and both should have approximately the same lifetime? Is it because of the ENTRY_INGRESS being reused as per:

Finds ENTRY_INGRESS and returns CT_ESTABLISHED

Because the ENTRY_EGRESS becomes the closing state, while the ENTRY_INGRESS remains open

Under what circumstances? When the FIN is lost (https://github.com/cilium/cilium/issues/18632)?

Under what circumstances? When the FIN is lost (https://github.com/cilium/cilium/issues/18632)?

Under the normal circumstances. The ENTRY_INGRESS always remains open in our environment with v1.11. I think that the last ACK (FIN -> FIN/ACK -> ACK) reopen the ENTRY_INGRESS.
$ kubectl -n kube-system exec cilium-6m6xj -- cilium monitor --related-to 695
-> endpoint 695 flow 0x0 , identity 16777230->9699 state new ifindex 0 orig-ip <IP_ADDRESS>: <IP_ADDRESS>:45564 -> <IP_ADDRESS>:8000 tcp SYN
-> network flow 0x65ed1223 , identity 9699->16777230 state reply ifindex 0 orig-ip <IP_ADDRESS>: <IP_ADDRESS>:8000 -> <IP_ADDRESS>:45564 tcp SYN, ACK
-> endpoint 695 flow 0x0 , identity 16777230->9699 state established ifindex 0 orig-ip <IP_ADDRESS>: <IP_ADDRESS>:45564 -> <IP_ADDRESS>:8000 tcp ACK
-> endpoint 695 flow 0x0 , identity 16777230->9699 state established ifindex 0 orig-ip <IP_ADDRESS>: <IP_ADDRESS>:45564 -> <IP_ADDRESS>:8000 tcp ACK
-> network flow 0x65ed1223 , identity 9699->16777230 state reply ifindex 0 orig-ip <IP_ADDRESS>: <IP_ADDRESS>:8000 -> <IP_ADDRESS>:45564 tcp ACK
-> endpoint 695 flow 0x0 , identity 16777230->9699 state established ifindex 0 orig-ip <IP_ADDRESS>: <IP_ADDRESS>:45564 -> <IP_ADDRESS>:8000 tcp ACK, FIN
-> network flow 0x65ed1223 , identity 9699->16777230 state reply ifindex 0 orig-ip <IP_ADDRESS>: <IP_ADDRESS>:8000 -> <IP_ADDRESS>:45564 tcp ACK, FIN
-> endpoint 695 flow 0x0 , identity 16777230->9699 state established ifindex 0 orig-ip <IP_ADDRESS>: <IP_ADDRESS>:45564 -> <IP_ADDRESS>:8000 tcp ACK

$ kubectl -n kube-system exec cilium-6m6xj -- cilium bpf ct list global
TCP IN <IP_ADDRESS>:45564 -> <IP_ADDRESS>:8000 expires=17405927 RxPackets=7 RxBytes=552 RxFlagsSeen=0x1b LastRxReport=17321552 TxPackets=4 TxBytes=393 TxFlagsSeen=0x1b LastTxReport=17321552 Flags=0x0030 [ SeenNonSyn NodePort ] RevNAT=0 SourceSecurityID=1 IfIndex=2
TCP OUT <IP_ADDRESS>:45564 -> <IP_ADDRESS>:8000 expires=17321591 RxPackets=4 RxBytes=393 RxFlagsSeen=0x1b LastRxReport=17321552 TxPackets=6 TxBytes=478 TxFlagsSeen=0x1b LastTxReport=17321552 Flags=0x0033 [ RxClosing TxClosing SeenNonSyn NodePort ] RevNAT=5 SourceSecurityID=1 IfIndex=2
TCP OUT <IP_ADDRESS>:80 -> <IP_ADDRESS>:45564 service expires=17405927 RxPackets=0 RxBytes=21 RxFlagsSeen=0x00 LastRxReport=0 TxPackets=0 TxBytes=0 TxFlagsSeen=0x1b LastTxReport=17321552 Flags=0x0012 [ TxClosing SeenNonSyn ] RevNAT=5 SourceSecurityID=0 IfIndex=0

@brb  This issue doesn't occur with the master branch, because the ENTRY_INGRESS entry becomes the closing state. If a client hit the same port with the DSR flow, Cilium can handle it properly since ct_lookup returns CT_REOPEN and it creates the SNAT mapping. The problem is that the ENTRY_INGRESS leftovers from v1.11 still remain in the opening state after I upgrade v1.11 to master. If a client hit the same source port as the leftover, it gets stuck. Those leftovers don't get removed even after rebooting the cilium agent.
# With master branch
$ kubectl -n kube-system exec cilium-ntjpn -- cilium bpf ct list global
TCP OUT <IP_ADDRESS>:58834 -> <IP_ADDRESS>:8000 expires=16779351 RxPackets=4 RxBytes=393 RxFlagsSeen=0x1b LastRxReport=16779312 TxPackets=6 TxBytes=478 TxFlagsSeen=0x1b LastTxReport=16779312 Flags=0x0033 [ RxClosing TxClosing SeenNonSyn NodePort ] RevNAT=27 SourceSecurityID=1 IfIndex=3
TCP IN <IP_ADDRESS>:58834 -> <IP_ADDRESS>:8000 expires=16779351 RxPackets=6 RxBytes=478 RxFlagsSeen=0x1b LastRxReport=16779312 TxPackets=4 TxBytes=393 TxFlagsSeen=0x1b LastTxReport=16779312 Flags=0x0033 [ RxClosing TxClosing SeenNonSyn NodePort ] RevNAT=0 SourceSecurityID=2 IfIndex=0
TCP OUT <IP_ADDRESS>:80 -> <IP_ADDRESS>:58834 service expires=16863687 RxPackets=0 RxBytes=21 RxFlagsSeen=0x00 LastRxReport=0 TxPackets=0 TxBytes=0 TxFlagsSeen=0x1b LastTxReport=16779312 Flags=0x0012 [ TxClosing SeenNonSyn ] RevNAT=27 SourceSecurityID=0 IfIndex=0

$ curl --local-port 58834 <IP_ADDRESS>
// Success

# ENTRY_INGRESS is now DSR
$ kubectl -n kube-system exec cilium-ntjpn -- cilium bpf ct list global
TCP OUT <IP_ADDRESS>:58834 -> <IP_ADDRESS>:8000 expires=16779749 RxPackets=5 RxBytes=459 RxFlagsSeen=0x1b LastRxReport=16779710 TxPackets=6 TxBytes=478 TxFlagsSeen=0x1b LastTxReport=16779710 Flags=0x0033 [ RxClosing TxClosing SeenNonSyn NodePort ] RevNAT=27 SourceSecurityID=1 IfIndex=3
TCP IN <IP_ADDRESS>:58834 -> <IP_ADDRESS>:8000 expires=16779992 RxPackets=12 RxBytes=964 RxFlagsSeen=0x1b LastRxReport=16779953 TxPackets=9 TxBytes=852 TxFlagsSeen=0x1b LastTxReport=16779953 Flags=0x0093 [ RxClosing TxClosing SeenNonSyn DSR ] RevNAT=0 SourceSecurityID=2 IfIndex=0
TCP OUT <IP_ADDRESS>:80 -> <IP_ADDRESS>:58834 service expires=16864085 RxPackets=0 RxBytes=21 RxFlagsSeen=0x00 LastRxReport=0 TxPackets=0 TxBytes=0 TxFlagsSeen=0x1b LastTxReport=16779710 Flags=0x0012 [ TxClosing SeenNonSyn ] RevNAT=27 SourceSecurityID=0 IfIndex=0

With the master branch, there isn't a significant diff between ENTRY_INGRESS and ENTRY_EGRESS in the expires, and both entries are GCed at the same time.
# master

$ kubectl -n kube-system exec cilium-qmff2 -- cilium bpf ct list global
TCP IN <IP_ADDRESS>:58842 -> <IP_ADDRESS>:8000 expires=16899626 RxPackets=6 RxBytes=478 RxFlagsSeen=0x1b LastRxReport=16899587 TxPackets=4 TxBytes=393 TxFlagsSeen=0x1b LastTxReport=16899587 Flags=0x0033 [ RxClosing TxClosing SeenNonSyn NodePort ] RevNAT=0 SourceSecurityID=2 IfIndex=0
TCP OUT <IP_ADDRESS>:80 -> <IP_ADDRESS>:58842 service expires=16983962 RxPackets=0 RxBytes=21 RxFlagsSeen=0x00 LastRxReport=0 TxPackets=0 TxBytes=0 TxFlagsSeen=0x1b LastTxReport=16899587 Flags=0x0012 [ TxClosing SeenNonSyn ] RevNAT=27 SourceSecurityID=0 IfIndex=0
TCP OUT <IP_ADDRESS>:58842 -> <IP_ADDRESS>:8000 expires=16899626 RxPackets=4 RxBytes=393 RxFlagsSeen=0x1b LastRxReport=16899587 TxPackets=6 TxBytes=478 TxFlagsSeen=0x1b LastTxReport=16899587 Flags=0x0033 [ RxClosing TxClosing SeenNonSyn NodePort ] RevNAT=27 SourceSecurityID=1 IfIndex=3

# Both ENTRY_INGRESS and ENTRY_EGRESS are GCed
$ kubectl -n kube-system exec cilium-qmff2 -- cilium bpf ct list global
TCP OUT <IP_ADDRESS>:80 -> <IP_ADDRESS>:58842 service expires=16983962 RxPackets=0 RxBytes=21 RxFlagsSeen=0x00 LastRxReport=0 TxPackets=0 TxBytes=0 TxFlagsSeen=0x1b LastTxReport=16899587 Flags=0x0012 [ TxClosing SeenNonSyn ] RevNAT=27 SourceSecurityID=0 IfIndex=0

# v1.11.5

$ kubectl -n kube-system exec cilium-bw6kw -- cilium bpf ct list global
TCP OUT <IP_ADDRESS>:80 -> <IP_ADDRESS>:58848 service expires=16988609 RxPackets=0 RxBytes=21 RxFlagsSeen=0x00 LastRxReport=0 TxPackets=0 TxBytes=0 TxFlagsSeen=0x1b LastTxReport=16904234 Flags=0x0012 [ TxClosing SeenNonSyn ] RevNAT=27 SourceSecurityID=0 IfIndex=0
TCP IN <IP_ADDRESS>:58848 -> <IP_ADDRESS>:8000 expires=16988609 RxPackets=7 RxBytes=552 RxFlagsSeen=0x1b LastRxReport=16904234 TxPackets=5 TxBytes=459 TxFlagsSeen=0x1b LastTxReport=16904234 Flags=0x0030 [ SeenNonSyn NodePort ] RevNAT=0 SourceSecurityID=1 IfIndex=3
TCP OUT <IP_ADDRESS>:58848 -> <IP_ADDRESS>:8000 expires=16904273 RxPackets=5 RxBytes=459 RxFlagsSeen=0x1b LastRxReport=16904234 TxPackets=6 TxBytes=478 TxFlagsSeen=0x1b LastTxReport=16904234 Flags=0x0033 [ RxClosing TxClosing SeenNonSyn NodePort ] RevNAT=27 SourceSecurityID=1 IfIndex=3

# ENTRY_EGRESS is GCed
$ kubectl -n kube-system exec cilium-bw6kw -- cilium bpf ct list global
TCP OUT <IP_ADDRESS>:80 -> <IP_ADDRESS>:58848 service expires=16988609 RxPackets=0 RxBytes=21 RxFlagsSeen=0x00 LastRxReport=0 TxPackets=0 TxBytes=0 TxFlagsSeen=0x1b LastTxReport=16904234 Flags=0x0012 [ TxClosing SeenNonSyn ] RevNAT=27 SourceSecurityID=0 IfIndex=0
TCP IN <IP_ADDRESS>:58848 -> <IP_ADDRESS>:8000 expires=16988609 RxPackets=7 RxBytes=552 RxFlagsSeen=0x1b LastRxReport=16904234 TxPackets=5 TxBytes=459 TxFlagsSeen=0x1b LastTxReport=16904234 Flags=0x0030 [ SeenNonSyn NodePort ] RevNAT=0 SourceSecurityID=1 IfIndex=3

The flow in v1.11 below illustrates why there's a significant diff between ENTRY_INGRESS and ENTRY_EGRESS in the lifetime. ct_entry_keep_alive resets the closing status and extends the lifetime. This doesn't occur on the current master because ct_entry_keep_alive has been already removed.
Even though the issue doesn't persist on the current master, there are still possibilities that we hit the issue after upgrading cilium from v1.11 to v1.12 because those stale ENTRY_INGRESS  will still remain for a while. This patch will be able to handle this situation. In our environment, there are approximately 5000 stale ENTRY_INGRESS  entries, and our monitoring system which sends requests to our LB service periodically hits the stale entry once or twice a minute.
v1.11

-> SYN
nodeport_lb4()@bpf_host
    ct_lookup4(CT_EGRESS):
        1. tuple=(saddr=client,daddr=pod,flags=TUPLE_F_IN,
                  dport=client_port,sport=pod_port)
           nothing found
        2. tuple=(saddr=pod,daddr=client,flags=TUPLE_F_OUT,
                  dport=pod_port,sport=client_port)
           nothing found
    ct_create4(CT_EGRESS):
        key = tuple=(saddr=pod,daddr=client,flags=TUPLE_F_OUT,
                     dport=pod_port,sport=client_port)         <-- ENTRY_EGRESS
        val = entry=(rev_nat_id=svc_id,node_port=1)
        Set the lifetime now + CT_SYN_TIMEOUT(60)
    ct_create4(CT_INGRESS):
        key = tuple=(saddr=pod,daddr=client,flags=TUPLE_F_IN,
                     dport=pod_port,sport=client_port)         <-- ENTRY_INGRESS
        val = entry=(rev_nat_id=0,node_port=1)
        Set the lifetime now + CT_SYN_TIMEOUT(60)

ipv4_policy()@bpf_lxc
    ct_lookup4(CT_INGRESS):
        1. tuple=(saddr=client,daddr=pod,flags=TUPLE_F_OUT,
                  dport=client_port,sport=pod_port)
           nothing found
        2. tuple=(saddr=pod,daddr=client,flags=TUPLE_F_IN,
                  dport=pod_port,sport=client_port)
           finds ENTRY_INGRESS and set the lifetime now + CT_SYN_TIMEOUT(60)

<- SYN/ACK
handle_ipv4_from_lxc()@bpf_lxc
    ct_lookup4(CT_EGRESS):
        1. tuple=(saddr=pod,daddr=client,flags=TUPLE_F_IN,
                  dport=pod_port,sport=client_port)
           finds ENTRY_INGRESS and set the lifetime now + CT_SYN_TIMEOUT(60)
           tail calls due to node_port=1 to do rev NodePort translation

rev_nodeport_lb4()@bpf_lxc (via the tail call)
    ct_lookup4(CT_INGRESS):
        1. tuple=(saddr=pod,daddr=client,flags=TUPLE_F_OUT,
                  dport=pod_port,sport=client_port)
           finds ENTRY_EGRESS and set the lifetime now + CT_SYN_TIMEOUT(60)
           does the rev NodePort xlation

-> ACK
nodeport_lb4()@bpf_host
    ct_lookup4(CT_EGRESS):
        1. tuple=(saddr=client,daddr=pod,flags=TUPLE_F_IN,
                  dport=client_port,sport=pod_port)
           nothing found
        2. tuple=(saddr=pod,daddr=client,flags=TUPLE_F_OUT,
                  dport=pod_port,sport=client_port)
           finds ENTRY_EGRESS and set the lifetime now + CT_SERVICE_LIFETIME_TCP(21600)
    ct_entry_keep_alive:
           tuple=(saddr=pod,daddr=clien,flags=TUPLE_F_IN,
                  dport=pod_port,sport=client_port)
           finds ENTRY_INGRESS and set the lifetime now + CT_SERVICE_LIFETIME_NONTCP(60)

ipv4_policy()@bpf_lxc
    ct_lookup4(CT_INGRESS):
        1. tuple=(saddr=client,daddr=pod,flags=TUPLE_F_OUT,
                  dport=client_port,sport=pod_port)
           nothing found
        2. tuple=(saddr=pod,daddr=client,flags=TUPLE_F_IN,
                  dport=pod_port,sport=client_port)
           finds ENTRY_INGRESS and set the lifetime now + CT_SERVICE_LIFETIME_TCP(21600)

-> HTTP GET request
<- ACK
<- HTTP Response
-> ACK

-> FIN
nodeport_lb4()@bpf_host
    ct_lookup4(CT_EGRESS):
        1. tuple=(saddr=client,daddr=pod,flags=TUPLE_F_IN,
                  dport=client_port,sport=pod_port)
           nothing found
        2. tuple=(saddr=pod,daddr=client,flags=TUPLE_F_OUT,
                  dport=pod_port,sport=client_port)
           finds ENTRY_EGRESS and set the lifetime now + CT_SERVICE_LIFETIME_TCP(21600)
    ct_entry_keep_alive:
           tuple=(saddr=pod,daddr=clien,flags=TUPLE_F_IN,
                  dport=pod_port,sport=client_port)
           finds ENTRY_INGRESS and set the lifetime now + CT_SERVICE_LIFETIME_TCP(21600)
ipv4_policy()@bpf_lxc
    ct_lookup4(CT_INGRESS):
        1. tuple=(saddr=client,daddr=pod,flags=TUPLE_F_OUT,
                  dport=client_port,sport=pod_port)
           nothing found
        2. tuple=(saddr=pod,daddr=client,flags=TUPLE_F_IN,
                  dport=pod_port,sport=client_port)
           finds ENTRY_INGRESS and set the lifetime now + CT_SERVICE_LIFETIME_TCP(21600)

<- FIN
handle_ipv4_from_lxc()@bpf_lxc
    ct_lookup4(CT_EGRESS):
        1. tuple=(saddr=pod,daddr=client,flags=TUPLE_F_IN,
                  dport=pod_port,sport=client_port)
           finds ENTRY_INGRESS and set the closing status and the lifetime now + CT_CLOSE_TIMEOUT(10)
           tail calls due to node_port=1 to do rev NodePort translation
rev_nodeport_lb4()@bpf_lxc (via the tail call)
    ct_lookup4(CT_INGRESS):
        1. tuple=(saddr=pod,daddr=client,flags=TUPLE_F_OUT,
                  dport=pod_port,sport=client_port)
           finds ENTRY_EGRESS, set the closging status and the lifetime now + CT_CLOSE_TIMEOUT(10)
           does the rev NodePort xlation

-> ACK
nodeport_lb4()@bpf_host
    ct_lookup4(CT_EGRESS):
        1. tuple=(saddr=client,daddr=pod,flags=TUPLE_F_IN,
                  dport=client_port,sport=pod_port)
           nothing found
        2. tuple=(saddr=pod,daddr=client,flags=TUPLE_F_OUT,
                  dport=pod_port,sport=client_port)
           finds ENTRY_EGRESS
    ct_entry_keep_alive:
           tuple=(saddr=pod,daddr=clien,flags=TUPLE_F_IN,
                  dport=pod_port,sport=client_port)
           **finds ENTRY_INGRESS, reset the closing status and set the lifetime now + CT_SERVICE_LIFETIME_TCP(21600)**
ipv4_policy()@bpf_lxc
    ct_lookup4(CT_INGRESS):
        1. tuple=(saddr=client,daddr=pod,flags=TUPLE_F_OUT,
                  dport=client_port,sport=pod_port)
           nothing found
        2. tuple=(saddr=pod,daddr=client,flags=TUPLE_F_IN,
                  dport=pod_port,sport=client_port)
           finds ENTRY_INGRESS and set the lifetime now + CT_SERVICE_LIFETIME_TCP(21600)

Thanks. There are some mistakes in the comment above (e.g., instead of CT_SERVICE_LIFETIME_TCP, CT_CONNECTION_LIFETIME_TCP is used or the lifetime is not updated upon the first FIN).
Anyway, the most interesting is the final ACK (after FIN both dirs). Indeed, __ct_entry_keep_alive() called from nodeport_lb4() reopens the closed in both directions entry.

Travis CI failed due to the pull rate limit.
https://app.travis-ci.com/github/cilium/cilium/jobs/574221627
Error response from daemon: toomanyrequests: You have reached your pull rate limit. You may increase the limit by authenticating and upgrading: https://www.docker.com/increase-rate-limit
make[1]: *** [Makefile:20: builder-image] Error 123
make: *** [Makefile:592: postcheck] Error 2
make: *** Waiting for unfinished jobs....
  CHECK   contrib/scripts/rand-check.sh
The command "./.travis/build.sh" exited with 2.

@ysksuzuki We recently added the eBPF unit testing framework - https://docs.cilium.io/en/latest/contributing/testing/bpf/. Mind adding a test case for your change? Basically to test whether the stale CT entry gets updated when sending SYN.

@brb Sure, I will do that.

Converting to draft until the test case has been added and the branch has been rebased.

I've been occupied with my work lately, but I think I'll be able to work on this soon


Change fontsize by ctrl scroll

Description
Font size will increase or decrease based when we do ctrl + scroll.
I have added event binders for scroll and ctrl button. I have a local variable for control key pressed status. And based on scroll direction I changed the font size.
Fixes  #16
Have you read the Contributing Guidelines on Pull Requests?

[x] Yes
[ ] No

Type of change
Please delete options that are not relevant.

[ ] Bug fix (non-breaking change which fixes an issue)
[x] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to not work as expected)
[x] This change requires a documentation update
[ ] Documentation Update

Checklist:

[x] My works and is relatively clean.
[x] I have performed a self-review of my own code
[x] I have commented my code, particularly in hard-to-understand areas

@all-contributors please add Thanarathanam for content

@all-contributors please add Thanarathanam for code


azure-docs

[Enter feedback here]

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

ID: 53dd65b1-6f9d-9431-5850-9cee636aeabd
Version Independent ID: 0012e819-bb2b-2955-d87b-d6f145fb6af7
Content: Overview - Azure App Service
Content Source: articles/app-service/overview.md
Service: app-service
GitHub Login: @cephalin
Microsoft Alias: cephalin

@suusha1340  Thank you for your feedback . We will investigate and update the thread further.

@suusha1340 Could you please provide your feedback here, so that we can look into it?


aursync (repofind -u): avoid multiple prompts

If you have multiple local repositories, the README example prompts twice:
aursync $(repofind -u | awk '{print $1}')

Maybe implement this in aursync, or find some other way to pass on the repo name.

via 56a1042b906b84982cecc630ed69c80113619204 and 5c1940945bb493915511b9386c577318bbdd8887


Add schema validation for specific subsystems

Create validation for existing schemas
Validate only for subsystems with existing schemas
Also add schemas for nodejs and rust

Co-authored-by: a-kenji<EMAIL_ADDRESS>

On the main branch, the flake.nix corresponding to https://github.com/nix-community/dream2nix/blob/e928819208cd72acaa7331a5e28de3f1e436ff09/examples/nodejs_eslint/flake.nix#L1 and the one corresponding to https://github.com/nix-community/dream2nix/blob/e928819208cd72acaa7331a5e28de3f1e436ff09/examples/nodejs_workspace/flake.nix#L1 have differently shaped dream-locks; the former has nodejsVersion as an integer, while the latter has it as a string. So I did some type-massaging accordingly. There may be a mistake though. I'm not completely certain where some assignments occur.

This is really useful. Thanks a lot!