Use native code on Darwin

Nice, thank you! I'll review these changes over the weekend.

Thanks, I think I fixed that

Thanks! I'll take another look tomorrow (and hopefully merge it then).

Hey, did you forget to do it?

No, I’ve just been a little busy with other things. Sorry. I’ll be able to review it this weekend.
Sent from mobile. Please excuse my brevity.

On Mar 27, 2019, at 5:43 PM, Daniel<EMAIL_ADDRESS>wrote:
Hey, did you forget to do it?
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub, or mute the thread.

Thanks again! I'll merge this in a bit.


[Algo] Seive OF Eratosthenes

Algorithm

[x] I have gone through the repository and made sure this algorithm has not been implemented

Information about my new algorithm

Algorithm Name: Seive OF Eratosthenes

Programming Language: C++

Time complexity: O(n*log(logn))

Is this your first contribution to this repository?
Yes

I want to work for this issue but i will use Java language .Could you please assign me for the same?

@natashaverma please create another issue for that, a maintainer will assign it to you 😄

@frextrite
I also want to work on this issue but in Python and I have created an issue for that


Design and implement a 404 page based on the current design

We currently dont have a 404 page designed so the default one is shown.
When a user visits the website with a non-existing url we are not giving this information in a simple and beautiful way.
The proposed solution is to design and implement a generic 404 page to inform the user the page requested is not available and to return to the root page (vlctechhub.org)

My Spanish is not the best(although I'll give it a try), would you mind giving me some generic phrases you'd like on the 404 page?

maybe something like
Title: "404 - Página no encontrada"
Main message: "Oh no! No hemos podido encontrar la página que has pedido, pero no te vayas sin descubrir los [eventos](link to /) de la agenda local o las últimas [ofertas de trabajo](link to /job/board/) publicadas."
Like that the user has two direct links to the most visited pages!

Hello :D
@jantznick Do you want to take this issue ? Otherwise I think I can do it ;)
(And I think for the open source it could be cool to translate the .md files into english :D)

(It makes total sense that the .md files are in english, thanks for pointing it out, i'll change them asap)

@adrienluitot go right ahead you can do it!

Nice @hell03610
@jantznick If you know how to do it, you can do it. Because I didn't succeed to install the site on my computer x)
I have some trouble with the api and the db apparently.

@adrienluitot I feel that everybody is using the production build to run the website locally, because setting up the api repo is not very straight forward and having the production website locally is fine as long as you are not testing creating new events or job offers, which are the only "write" actions :D

Hmm yeah, how can I do so ?
Otherwise there is this : https://surge.sh/help/adding-a-custom-404-not-found-page

you mean how to make a production build? I translated the contribution guide, so it's step 4 on https://github.com/VLCTechHub/VLCTechHub-site/blob/master/CONTRIBUTING.md#-building-the-website
Let me know if you have any other question!

So, I arrived to build it but I had to edit build.js, I don't know where I have to put NODE_ENV=production.
But I still have a problem, I can't make a new page in the root of data, I have an error concerning scss:
Error: [metalsmith-sass] Error: File to import not found or unreadable: abstract/functions. -> /home/user/Downloads/VLCTechHub-site/data/404/assets/css/main.scss:3:1

You shouldnt need to change build.js, supposing you already have yarn installed, in order to build the website you need to run the yarn commands:
> yarn install
> yarn run build

That will build a development site and will expect that you have the api installed locally.
To build it for production, in your command line execute:
> yarn install
> NODE_ENV=production yarn run build

And the site will be built with the production api.

As for the error, I would need more info of what you have created/modified in your branch.
But just some guessing on the steps done:
To create a new page in data, let's say we create data/foobar.njk, and then:
1 -  Extend from the default template - https://github.com/VLCTechHub/VLCTechHub-site/blob/master/data/job/new.njk#L2
2 - Add some main content - https://github.com/VLCTechHub/VLCTechHub-site/blob/master/data/job/new.njk#L6
When the site is built, the page will be served at localhost/foobar/ with is actually localhost/foobar/index.html. I know there is a way to say to metalsmith to create the page as localhost/foobar.html but i dont remember now. This is what I suppose we need, as surge needs the page to be named 404.html

I was able to get it running only on a specific version of node(I think 8 something) but it worked for me just fine running
NODE_ENV=production yarn run build

Okay I'm sorry I had to add a bit of code on the top of the page to say that 404.njk is a page ^^

Seems Done ! I'll make a PR. :smile:


Comments

https://github.com/RealTimeChris/Jsonifier/blob/98c453199ef3dc6aebd90d97e13c53b1cb4a724c/CMakeLists.txt#L29
This variable name is for the user building the project. If you want to give it a default, make it a cache variable.
https://github.com/RealTimeChris/Jsonifier/blob/98c453199ef3dc6aebd90d97e13c53b1cb4a724c/CMakeLists.txt#L47
This variable is undefined. If the desired effect cannot be achieved by inspecting standard variables, it probably should be an option.
https://github.com/RealTimeChris/Jsonifier/blob/98c453199ef3dc6aebd90d97e13c53b1cb4a724c/CMakeLists.txt#L55-L57
This is inconsistent: C++20 or C++23?
https://github.com/RealTimeChris/Jsonifier/blob/98c453199ef3dc6aebd90d97e13c53b1cb4a724c/CMakeLists.txt#L115-L117
The CamelCase Include feels strange.
I didn't spot the corresponding install interface. For vcpkg, it would be nice if the lib was designed to install headers to <vcpkg install dir>/include/jsonifier IMO.

Alright thanks for the input!


How to check my storage

Description
Hi, I know that for personal account there is a limitation of 200GB data storage. Then where can I check my used/available memory and memory of each run. Besides, is it possible to delete e.g. media/ or checkpoint under "Files" on dashboard?
Thanks a lot in advance!

Hey @jh-yi we're actively working on this.  We'll update this ticket once it's been released.

Thanks for your quick reply. I also found it would be nice to delete some columns in "Table" instead of hiding them, as sometimes I stored all the args in the beginning but later on some of them turned out to be useless (especially when I log all the args from different implementations, and when I want to recover a column among too many hidden columns). Anyways thanks a lot for this powerful tool. It really helps a lot！

@vanpelt Thanks for your quick reply. I also found it would be nice to delete some columns in "Table" instead of hiding them, as sometimes I stored all the args in the beginning but later on some of them turned out to be useless (especially when I log all the args from different implementations, and when I want to recover a column among too many hidden columns). Anyways thanks a lot for this powerful tool. It really helps a lot！

Hey, just wanted to check if there is a way now to check our storage

Hey, just wanted to check if there is a way now to check our storage

HI, I think you can check it here: https://wandb.ai/subscriptions

Hi. I want to delete some columns in Table, too.

I also found it would be nice to delete some columns in "Table"
Could you share how to delete some columns?

Hey @hyeseung-of-dable you can't currently delete columns, but you can toggle their visiblity.  Click the 3 vertical dots and choose "Hide Column".


Added TransactionBuilder

partially addresses stellar/ruby-stellar-sdk#70
Introduces a TransactionBuilder class mirroring the JavaScript SDK.
The only difference is it allows the timebounds to be set multiple times, in case the user wants different timebounds for different transactions created.

I think it makes more sense to move the examples defined in the project to the sdk repo. The ones used here assume there is a local horizon instance running, it uses a standard client instead of Stellar::Client defined in the sdk repo, and many examples are stale (bad sequence number, nonexistent account, etc.)

@leighmcculloch regarding your questions for the sdk vs. base repo, @abuiles explained to me that the base project should have everything not related to horizon, making the SDK mostly just responsible for the client and SEP helpers.
Personally I think the two projects should be merged. It doesn't seem like this separation is valuable in any way.

@leighmcculloch regarding your questions for the sdk vs. base repo, @abuiles explained to me that the base project should have everything not related to horizon, making the SDK mostly just responsible for the client and SEP helpers.
Personally I think the two projects should be merged. It doesn't seem like this separation is valuable in any way.

I think it could be valuable but the boundary would need to be clearer. I suggest making an issue so that this discussion can happen for future maintainers.

Issue for the above comment ^: https://github.com/stellar/ruby-stellar-base/issues/58

making the SDK mostly just responsible for the client and SEP helpers.

Also, it's worth noting that SEPs don't necessarily have anything to do with Horizon, so bucketing SEPs with Horizon is also a bit confusing. For example: In the Go SDK this boundary is very clearly defined and SEP-10 is implemented in txnbuild (base?) not in horizonclient (sdk?).
I think helpful boundaries are: xdr, transaction building helpers, and horizon client as three different things. But I agree, the value of the separation is negligible and we could just combine. We don't need to worry about that for this PR though.


Feature: Requests limit reached, try increasing throttling or wait before trying again

try:
stock_availability = False
amazon = AmazonApi(key, secret, tag, 'IN',throttling=9)
item = amazon.get_items('B0BYHX2XGP')[0]
time.sleep(10)
if hasattr(item, 'offers') and hasattr(item.offers, 'listings'):
listings = item.offers.listings
if listings:
availability = listings[0].availability
if hasattr(availability, 'message'):
message = availability.message
count +=1
print('count increse',count)
if message and message.lower() == 'in stock':
stock_availability = True
else:
stock_availability = False
else:
stock_availability = False
else:
stock_availability = False
else:
stock_availability = False
except Exception as e:
    time.sleep(10)

While running the above for stock availability, the program gets failed in the try block and in expect block it gets printed for the error as 'Requests limit reached, try increasing throttling or wait before trying again' , even tried to increase the throttling time for several times still the same error occurs everytime.
Previously the above code was working fine, but since last few days code start getting failed.

I can confirm having the same issue...


Expose only the binaries and remove keg-only - closes #8

I'm confirming this.
Please wait a while.

I've merged this PR.
Thanks for the great contribution! 😊


LOG_FORMAT macro fails with -Wformat=2 (IDFGH-3830)

Development Kit: none
Module or chip used: ESP32
IDF version: v4.1-rc
Build System: idf.py
Compiler version: 2020r2
Operating System: Windows, ESP Command Prompt
Using an IDE?: No

The LOG_FORMAT macro uses %d (instead of %u or PRIu32) to print the output of uint32_t esp_log_timestamp(). This triggers a warning with -Wformat=2 (this is with c++).
.../esp-idf-v4.1-rc/components/log/include/esp_log.h:255:27: error: format '%d' expects argument of type 'int', but argument 4 has type 'uint32_t' {aka 'unsigned int'} [-Werror=format=]

Hi @m-bruck!
Thanks for report about that I will fix it on the master and backport it. I will replace '%d' in  LOG_FORMAT to %u.

@m-bruck Fixed with https://github.com/espressif/esp-idf/commit/4567b6e866a9dd7d6b4888814d50f02d6115f79d


Macro h1

Description

Fixes h1: https://www.notion.so/0xmacro/Connext-2-Preliminary-Audit-Report-external-private-a5e5ad6fb49141f29b8283dfbeb50a18#63a65a2c3ba249f1b7d9ca7060905892
Type of change

[ ] Docs change / dependency upgrade
[ ] Configuration / tooling changes
[x] Refactoring
[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 change)
[ ] Requires changes in customer code

High-level change(s) description - from the user's perspective

Related Issue(s)
Fixes
Related pull request(s)

pinged macro for sign off

fixes approved


Add page for PR wranglers

Closes https://github.com/kubernetes/website/issues/22276
Umbrella issue: https://github.com/kubernetes/website/issues/21687
This PR creates a new page for PR wrangler information. It also corrects some links and adds a what's next section to the Roles and Responsibilities page.

Old topic
New topic

Where are we heading with these PRs?
I have just synchronized the English contribution pages to Chinese. (#22241, #22242, #22243, #22245, #22246).
It took me 26 hours to retranslate all the contents. They have to be retranslated because git is not smart enough to tell me which line has been changed, moved (from where to where) ...
Any compelling reasons we keep reorganizing these guides?

Responding to https://github.com/kubernetes/website/pull/22284#issuecomment-653285453
I'd keen to see the right content land @tengqm. Although revisions trigger work for localization teams, I'm not at all keen to keep pages that are outdated for the reason that they are also outdated in several other languages.

@sftim I am all for content improvement for the docs or website. What I'm unhappy about this is that we are splitting pages, moving pages, while at the same time, editing contents.  When syncing English content changes to any localization, we lose track of all previous translations. For English content, it looks pretty easy and trivial change to shuffle contents. For localization teams, this is a nightmare.

@tengqm
Also responding to https://github.com/kubernetes/website/pull/22284#issuecomment-653538158
These PRs are really finishing up the work that I started in previous PRs – namely, reorganizing this entire section and making sure the content is up to date. When I started this work, I was concerned about downstream translations for the reasons that you stated. I knew it would take multiple PRs/reorganizations to get this right and complete, after all. I was told not to worry about that :/
That said: I (personally) think there's more content re-organization to do in the k8s docs, so maybe we need to think about how to solve this.  Maybe a frontmatter flag or <!--comment--> in the .md of a page, i.e. <!-- translation hold --> on pages undergoing re-organization, that gets removed when the author deems that work on a section is 'done'? The translation sync script could look for that flag and ignore changes in those files until then?

We have a comment shortcode that might be useful for warning localization teams about details such as likely future changes.

/approve


Typescript

This library needs Typescript support to avoid this error:
Could not find a declaration file for module 'vue-blockies'. '~/Project/node_modules/vue-blockies/dist/vue-blockies.umd.js' implicitly has an 'any' type.
  Try `npm i --save-dev @types/vue-blockies` if it exists or add a new declaration (.d.ts) file containing `declare module 'vue-blockies';`

Oh, yes. I‘ll have a look, this should help: https://dev.to/josip2312/build-a-typescript-component-library-with-vite-58dh


feat: add get guilds method and guilds decorator

Please describe the changes this PR makes and why it should be merged:

Adds the getGuilds method in CommandDiscovery to get the guilds from the GUILDS_METADATA metadata.
Also get the guilds ids in CommandsService to set the commands according to the guild.
Create the @Guilds decorator to set the metadata (I didn't know where to place this file).

Broken with createComandGroupDecorator, need rework, use property in interface.


Support Angular 10+

Congratulations on the work. How is the compatibility with Angular 10+? It's possible?

@ezequiel88
We don't officially support Angular wrapper for this project.
But since it's just a javascript library interacting with the DOM, you can leverage it in your Angular project.
I made a simple demo importing the calendar into an Angular project.
https://stackblitz.com/edit/angular-ivy-d9ccxi?file=src/app/app.component.ts
I know nothing about Angular so there might be the best way to access DOM in Angular, but you can get the point.


Prune build artifacts for CI caching speed up

Some high profile projects have seen speed ups on CI by removing the final artifacts before caching. Specifically crates.io. However when crater tried a generalized version of this it broke a lot of things.
Plan of attack:

use cargo_metadata::Target to get the list of all names to remove.
look at cargos code to see how the name is normalized into the file structure. (crates.io is just replacing - with _, but we should make sure that is correct in general.)
add a sub command that removes the appropriate files.
test that it works on crates.io code.
test that it works on several of the crates that broke on crater.

I meant to look at this this past weekend but did not have time. This is mostly notes for when I next have time.

Some high profile projects have seen speed ups on CI by removing the final artifacts before caching. Specifically crates.io. However when crater tried a generalized version of this it broke a lot of things.

My reading of that issue is that it was a bug in the crater implementation, and not the idea itself: https://github.com/rust-lang/crater/pull/387#issuecomment-452908458. Anyway, I think crater is mostly unrelated and we should be able to implement this in cargo-sweep.

(crates.io is just replacing - with _, but we should make sure that is correct in general.)

I don't think that's true? If you look at the target dir for cargo-sweep itself, it has the original dash:
; file target/debug/cargo-sweep
target/debug/cargo-sweep: Mach-O 64-bit executable arm64

Is there something you were referring to other than the final executable?
cc https://github.com/holmgr/cargo-sweep/issues/77


feat(adds maps collection): adds maps collection

feat(adds maps collection): adds maps collection
removes graphql lookups for thumbnail descriptions
throttle apollo client to workaround rate limiting on manifest APIs

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


[RFC]: Add C implementation for @stdlib/stats/base/dists/t/entropy

Description
This RFC proposes adding a C implementation, including a Node.js native addon, C benchmarks, and C examples, for the @stdlib/stats/base/dists/t/entropy package.
When adding support, the following tasks should be completed:

A C source implementation should be added to a src folder within the package's directory.
A native add-on interface should be added in order to call the C implementation from JavaScript.
A JavaScript file should be added to the lib folder to allow benchmarking and unit testing the native implementation from JavaScript.
A new test file should be created which includes unit tests testing against expected behavior.
C benchmarks should be added which measure performance for the C source implementation.
A file containing C examples should be added to demonstrate example usage.
JavaScript benchmarks should be added which measure performance for the native add-on.
Build and configuration files should be added to allow compiling and running the C source implementation using project make commands (as documented below).
The README should be updated to include documentation for the added C API.

To provide a concrete example of what a PR adding the desired method should contain, see https://github.com/stdlib-js/stdlib/pull/3354, which is a PR adding a C implementation for the CDF of an arcsine distribution. This should provide an idea of what is expected.
Prerequisites

Review JavaScript implementation in lib/main.js and its required modules to identify all stdlib functions used.
Verify C implementations exist for each required function.

Related Issues
#3355
Questions
No.
Other
Once the implementation is ready including C examples and benchmarks, we should be able to run the following make commands.
Build native add-on
NODE_ADDONS_PATTERN="@stdlib/stats/base/dists/t/entropy" make install-node-addons

Run C examples
make examples-c-files<EMAIL_ADDRESS>
Run C benchmarks
make benchmark-c-files<EMAIL_ADDRESS>
Run JavaScript benchmarks
make benchmark-javascript-files<EMAIL_ADDRESS>
Run all tests
make<EMAIL_ADDRESS>test

Notes

If you are interested in contributing a PR which addresses this RFC and are a first-time contributor or not yet familiar with our project conventions, please minimize the submission of LLM-generated code. Please consult our contributing guidelines and the associated development guide. Failure to respect project conventions will result in your PR being rejected without review. Thank you for understanding!

Checklist

[x] I have read and understood the Code of Conduct.
[x] Searched for existing issues and pull requests.
[x] The issue name begins with RFC:.

working on this!


Documentation issue: onPossiblyUnhandledRejection

Promise.onPossiblyUnhandledRejection is not listed on http://bluebirdjs.com/docs/api-reference.html, but it is available at http://bluebirdjs.com/docs/api/promise.onpossiblyunhandledrejection.html
Additionally, the documentation points to global rejection events, which just links back to the same page.

Yea the local hooks should be added to the reference menu


Disable terminal color codes when not in a tty

As a command line user, I want grunt-cli to disable terminal color codes when I pipe grunt commands to less, etc.

Duplicate of #53.

Closing as duplicate of #53. Thanks @jimf!


Getting a better repr for IRISSpectrograph

This is an attempt to fix some of the problems in #79.

Hi @DanRyanIrish, thanks for the comments.  I will put the change to add pix, but I think we should not put  all dimensions (the current formulation was was in fact already there). Using the first dimension might lead people to think that the data are arrays with shape [n_repeats, n_raster, n_y, n_wave], while in fact they are a list of arrays with shape [n_raster, n_y, n_wave]. From the current metadata. I could also not find an obvious way to differentiate between sit-and-stare and multiple raster repeats. But I added a new line with the number of repeats.

Hi @tiagopereira.  Yes, that is a good point.  A single data array at the most basic level only ever stores data from a single raster scan and so is 3D.  But I still think there is a good argument for showing the 4 dimensions in the repr, even though that's not what was originally there.
The data for each spectral window can be comprised of multiple raster scans that are stored as an IRISSpectrogramCubeSequence.  This class has been specifically designed to appear to the user as if it were 4D.  So in the case of an OBS with 3 raster scans a user could do the following:
>>> spectral_window_mgiik = my_irisspectrograph.data["mgiik"] # Extract mgiik data for convenience
>>> spectral_window_mgiik.dimensions # Get dimensions of spectral window data.
(<Quantity 3 pix>, <Quantity 8 pix>, <Quantity 548 pix>, <Quantity 333 pix>)
>>> spectral_window_mgiik.world_axis_physical_coords # Get the physical types of the axes.
('sequence axis', 'lon, 'lat', 'wavelength')
>>> mgiik_roi = spectral_window_mgiik[0:2, :, 200:300, 150:200] # Slice a region of interest out of the data.
>>> mgiik_roi.dimensions # Check dimensions of region of interest
(<Quantity 2 pix>, <Quantity 8 pix>, <Quantity 100 pix>, <Quantity 50 pix>)

So in practice, the user interacts with the data as if it were a 4D.  So I think it is more helpful to give the user all the dimensions in the repr as they wont really care whether the underlying data arrays are 3D, because they will use the object as though it is 4D.  The users are free to pull out the individual data arrays and hack them up if they want, but that no longer represents the structure of the IRISSpectrograph.  So it's OK if that's inconsistent with the repr.  What do you think?
As for the distinction between rasters, and sit-and-stare, I guess the metadata giving the number of unique raster positions works just fine.

I see. Makes sense if you can index the object with all axes. Changed to reflect latest suggestions.

Hi @tiagopereira.  I think this is looking really good now.  I left a final comment about the "OBS Number of repeats" line.  But other than that I'm happy to approve this PR once the online tests pass :)

Thanks @tiagopereira for improving the __repr__!  The improvements are now in master!


Filtering by date of saving/liking a post instead of post creation?

Hi,
Does Instagram provide the timestamp of when a post was liked or saved by the currently logged in user?
If yes, can this information be exposed via instaloader?
Thanks!

Hi! I do not see that information in the JSON that Instaloader saves for each post.


Nightly Build Failure 2024-03-08

Overview
What do you think happened, if anything?
Looks like we are looking for the individual PHMSA Excel files as top-level resource names instead of trying to match to the right partition. Why, though, and why now?
Next steps
What next steps do we need to do to understand or remediate the issue?

Reproduce this error by reproducing the .get_unique_resource() call:

>>> from pudl.workspace.datastore import Datastore
>>> ds = Datastore()
>>> ur = ds.get_unique_resource("phmsagas", name='annual_gas_distribution_1992.xlsx')
2024-03-08 09:12:29 [    INFO] catalystcoop.pudl.workspace.datastore:263 Retrieving https://zenodo.org/api/records/10493790/files from zenodo
2024-03-08 09:12:30 [    INFO] catalystcoop.pudl.workspace.datastore:263 Retrieving https://zenodo.org/api/records/10493790/files/datapackage.json/content from zenodo
Traceback (most recent call last):
  File "/Users/dazhong-catalyst/work/pudl/src/pudl/workspace/datastore.py", line 405, in get_unique_resource
    _, content = next(res)
                 ^^^^^^^^^
StopIteration

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/Users/dazhong-catalyst/work/pudl/src/pudl/workspace/datastore.py", line 407, in get_unique_resource
    raise KeyError(f"No resources found for {dataset}: {filters}") from err
KeyError: "No resources found for phmsagas: {'name': 'annual_gas_distribution_1992.xlsx'}"

See why we're making that incorrect get_unique_resource call

Verify that everything is fixed!
Once you've applied any necessary fixes, make sure that the nightly build outputs are all in their right places.
- [ ] [S3 distribution bucket](https://s3.console.aws.amazon.com/s3/buckets/pudl.catalyst.coop?region=us-west-2&bucketType=general&prefix=nightly/&showversions=false) was updated at the expected time
- [ ] [GCP distribution bucket](https://console.cloud.google.com/storage/browser/pudl.catalyst.coop/nightly;tab=objects?project=catalyst-cooperative-pudl) was updated at the expected time
- [ ] [GCP internal bucket](https://console.cloud.google.com/storage/browser/builds.catalyst.coop) was updated at the expected time
- [ ] [Datasette PUDL version](https://data.catalyst.coop/pudl/core_pudl__codes_datasources) points at the same hash as [nightly](https://github.com/catalyst-cooperative/pudl/tree/nightly)
- [ ] [Zenodo sandbox record](https://sandbox.zenodo.org/doi/10.5072/zenodo.5563) was updated to the record number in the logs (search for `zenodo_data_release.py` and `Draft` in the logs, to see what the new record number should be!)

Relevant logs
link to build logs from internal distribution bucket
Stack Trace:
  File "/home/mambauser/env/lib/python3.11/site-packages/dagster/_core/execution/plan/utils.py", line 54, in op_execution_error_boundary
    yield
  File "/home/mambauser/env/lib/python3.11/site-packages/dagster/_utils/__init__.py", line 467, in iterate_with_context
    next_output = next(iterator)
                  ^^^^^^^^^^^^^^
  File "/home/mambauser/env/lib/python3.11/site-packages/dagster/_core/execution/plan/compute_generator.py", line 131, in _coerce_op_compute_fn_to_iterator
    result = invoke_compute_fn(
             ^^^^^^^^^^^^^^^^^^
  File "/home/mambauser/env/lib/python3.11/site-packages/dagster/_core/execution/plan/compute_generator.py", line 125, in invoke_compute_fn
    return fn(context, **args_to_pass) if context_arg_provided else fn(**args_to_pass)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/mambauser/pudl/src/pudl/extract/extractor.py", line 309, in extract_single_year
    return extractor_cls(ds).extract(year=[year])
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/mambauser/pudl/src/pudl/extract/extractor.py", line 239, in extract
    df = self.load_source(page, **partition)
         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/mambauser/pudl/src/pudl/extract/excel.py", line 240, in load_source
    with self.ds.get_zipfile_resource(
         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/mambauser/pudl/src/pudl/workspace/datastore.py", line 416, in get_zipfile_resource
    return zipfile.ZipFile(io.BytesIO(self.get_unique_resource(dataset, **filters)))
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/mambauser/env/lib/python3.11/zipfile.py", line 1304, in __init__
    self._RealGetContents()
  File "/home/mambauser/env/lib/python3.11/zipfile.py", line 1371, in _RealGetContents
    raise BadZipFile("File is not a zip file")

The above exception occurred during handling of the following exception:
KeyError: "No resources found for phmsagas: {'name': 'annual_gas_distribution_1992.xlsx'}"

Stack Trace:
  File "/home/mambauser/pudl/src/pudl/extract/excel.py", line 235, in load_source
    res = self.ds.get_unique_resource(
          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/mambauser/pudl/src/pudl/workspace/datastore.py", line 407, in get_unique_resource
    raise KeyError(f"No resources found for {dataset}: {filters}") from err

Oh, this might be related to changes in the extract package we added for the EIA 176 stuff... @e-belfer you might have good context on this.

Hmm. We did get a successful Batch run on the EIA-176 branch before it merged into main:
gs://builds.catalyst.coop/2024-03-06-2053-e5bc6dee1-csv-extractor-years/
So my guess is this isn't a structural problem with how the extraction works and is just a stochastic zipfile extraction error.  Though I thought we'd mostly managed to address that flakiness with all the context managers.

I also think this is just the ZipFile issue causing a failure to find the resource we're looking for, but I'll take a look.

Runs totally fine locally, and given the successful build on that branch and the appearance of the Bad ZipFile known issue prior to the get_unique_resource() call I think we can close this one. If this were a major change in how get_unique_resource() works, we'd break every PHMSA file and not just 1992, so that doesn't seem like what's happening here. I'll reopen it if the same issue re-appears tomorrow.

@e-belfer Is this closeable with the merging of your bb PR?

Yes, I think so. I'll re-open if this becomes a persistent failure.

This happened again on 2024-03-16 - going to add some more logs & see what that uncovers.

@e-belfer Are we still thinking that we will deal with this issue?  Or should we close it and wait to see if it comes up again?

Closing it, we have some new logfiles now and we can re-open it as needed.


PATTERN_KEYS = r".*" Not finding keys in ~/.ssh

I have created a file ~/.ssh-ident that contains the following
PATTERN_KEYS = r".*"

However. This is not finding my keys.

If you did not change the default setting for DIR_IDENTITIES, then ssh-ident will be looking in the directory $HOME/.ssh/identities for any key files. Changing PATTERN_KEYS only changes the file name pattern matching that ssh-ident will use.
Either create the folder $HOME/.ssh/identities and put all of your key files in there, or set DIR_IDENTITIES in the ssh-ident config file as well.


Update example README.md

When using minikube, you need to specify the tag.

/lgtm

/ok-to-test

/retest

@yliaog Would you please merge this pr ?

@Asuforce Thanks for the PR! This repo is a copy of https://github.com/kubernetes/kubernetes/tree/master/staging/src/k8s.io/client-go. Please submit PRs to the kubernetes/kubernetes repo directly, in particular to the file here.

@nikhita ok ! I'll do it !


remove confusing go-marathon log message

Log message produced by go-marathon was:
time="2017-06-28T09:08:19Z" level=debug msg="listenToSSE(): failed to handle event: failed to decode the event type, content: , error: EOF"
The fix for this was done in the upstream project of go-marathon donovanhide/eventsource.
Background is that Marathon periodically sends a \n over the SSE subscription, in order to keep the connection alive. This was parsed as empty event by the eventsource and published. go-marathon in turn was not able to do something with this empty event was producing the log message above. By getting rid of publishing empty events in the downstream library, we also get rid of this log message.

https://github.com/donovanhide/eventsource/compare/441a03aa37b3329bbb79f43de81914ea18724718...b8f31a59085e69dd2678cf51840db2ac625cb741


How to impliment ajax search using tipue search?

Nice plugin! I wanted to prevent the page from loading and still show search result in the same page. Is it possible?

Just search from the results page, which includes a search box.

I wanted to embed the search box in another page so that I show the search result container. Something that hides and shows.

I'm not sure that's possible, but perhaps someone else has an idea?

I think it is possible. It is basally adding an option to where the search result should appear, in a div or in a different search page. The div might have a close button so that users can hide it.
For instance, in this app http://apps.rcmrd.org/waterquality/index.php if you click on Multiple Map Search --> Custom Search, it shows a div.

The results display in a div, . You could use this.

Use which?

There's a div that displays the results, with the id "tipue_search_content". See http://www.tipue.com/search/docs/?d=1

That is cool. However, how can I prevent the page from reloading when the form is submitted but still get the result in "tipue_search_content"?

Sorry, beyond that I can't help.

@wondie By default, Tipue Search listens for the keyup event for your enter/return key and performs the search, filling the #tipue_search_content element with results.  However, the browser also submits your search <form> at the same time  so this is what you're probably seeing when the page reloads.
To get what you want, you need to prevent the browser from submitting the search form.  You'll need to adjust the jQuery selector below to target your search form (or add id="search_form" to your form's HTML):
    $('#search_form').on('submit', function(event) {
        event.preventDefault()
    })

@Tipue This appears to be a situation that could be improved.  As it currently stands, both the JS-based search and form submission happen simultaneously, meaning the JS search processing gets wasted as the browser "submits" the form, also inefficient as the page didn't need a reload to see the results.  Could/should this plugin prevent form submission by default? It feels like this should be the default, and then provide the option to allow for search form submission if a user is generating dynamic search results during HTTP requests.


Activating the plugin will result in two preview pages.

I assume from the picture that you mean there are two setting pages for the built-in Page Preview plugin?  I cannot reproduce this in any of my vaults, including a sandbox with only Hover Editor.  What version of Obsidian are you using?

It doesn't do that for me on 1.2.7 even if I change the language to match.  Perhaps it's an interaction with another plugin?  Can you reproduce it in a sandbox vault with Hover Editor as the only plugin? If not, then it's some setting or plugin specific to your vault.  (You may also want to check the debug console in the vault that's doing this, to see if any error messages appear the first time the duplicate setting page is created.)

I can't reproduce it even with the Leaflet plugin enabled in the sandbox.  But probably one has to have actually used the leaflet plugin within the session.  My first guess is that this would somehow be related to third-party Javascript being used by the two plugins; Hover Editor does its best to remove its own Javascript on disable, but not all plugins do.  Likewise if Leaflet ties into the page preview plugin in some way, that might be the issue.
I would suggest you work on reproducing this within a sandbox or scratch vault, so that the minimal steps to make it happen can be found.  That will make it easier for plugin developers to find out what's going on.

Use F1, the command palette, or ribbon to open Obsidian's Help function, then choose the option to open the sandbox vault.  This will open a fresh Obsidian instance with no plugins or theme in it, you can then install plugins in it or edit the notes in it.  The goal is to identify what steps anyone can take to make the problem happen, starting from a new empty sandbox vault.
Currently, the steps I have tried to make it happen are to open a sandbox vault, install and enable both Hover Editor and Leaflet, and then turn Hover Editor on and off.  This does not produce the problem you describe, so there must be other steps required to make the problem happen.  Without steps that allow someone to make the problem happen from scratch, it would be very hard for me other the Leaflet developer to have any idea why the problem is happening for you or how to fix it.

Create a new empty vault instead of the sandbox, then.  You can delete it once the problem is resolved.  The main purpose of the sandbox is just to be a convenient temporary vault with known contents, but if you start from an empty vault and make note of all your steps then it's possible in principle for someone else to match those steps.

Ok, I've identified the issue.  Both hover editor and leaflet turn the page preview plugin off and on again to get it to pick up their changes.  But recently the page preview plugin has changed such that it doesn't immediately add its settings tab or set up event subscriptions; it schedules it to happen a short while after.  So at startup, when both hover editor and leaflet do this, Obsidian ends up scheduling the addition twice.
Fixing this is going to be complicated.  A workaround I would suggest trying is to deactivate all your plugins, then activate the leaflet plugin, and then all your other plugins except Hover Editor, and finally activate Hover Editor.  This will rearrange your plugin list so that other plugins will load between the two, giving Leaflet's on-off cycle time to finish before Hover Editor's one starts.  I don't know if that will actually fix the problem or not, but you can give it a try until I have something figured out.
Thanks for your patience and efforts.


Code Presenting: scaling problem

Is there a proper way to fit the size of code-block?

until a certain limit the code-block is being scaled but over that limit it just fills around it with white space (blank).
Also it would be nice, the size of the letters (code) stayed mostly the same but the scroll/slide-bar changed.

see: https://gitpitch.com/baloise/ws-itsec_owasp/awareness#/2/7
A quick&dirty workaround is to add:
.reveal pre {
    width: 130%;
    margin-inline-start: -15%;
    box-shadow : none;
}

to PITCHME.css, but the downside of this, is of course that the block overflows on the left & right if the window ist to small.

You are on the right path - using custom css - but you have gone to far if you are seeing block overflows. Downland any template and take a look at the PITCHME.codemax.css file in that bundle.
Going much beyond the custom css in that file you are likely to run into problems.

Might setting a higher value for "maxScale" in reveal.js solve the problem ?
src: https://github.com/hakimel/reveal.js/commit/8162855d23601e66a25ba79dd4013ef416c4f1b4#diff-cdde5f40c9abe9a20ab9b8f69c026a29


Support of keypath sorting for to-many relationships

Sorting is greatly improved in Realm 2.2.0 with keypath sorting for to-one relationships.
I was just wondering whether keypath sorting for to-many relationships will be supported in a future release as well? It would be great when it would be possible to sort like:
dogOwners.sorted(byKeyPath: "dogs.last.age")

DEFINITELY demanded.
It's great that you guys took the single-relationship option but we just swept our codebase and in fact all our sorting use-cases are "to-many" scenarios (and thus have to do them out of Realm / custom).
For example, our list of conversations is sorted by the last unread message. To achieve this you need to sort using SortDescriptors of first "unread messages" (this is a subquery), then secondly by "messages.sentAt".
Would sorting by SUBQUERY be yet another feature request or be handled in this 'to-many' scenario?

👍

Sorting via to-many relationships is more complicated than to-one because you're now sorting via a computed value rather than directly on a property of an object. This requires having some way to represent an expression that computes the value to sort on, and some way to evaluate such expressions. Currently the more general expression evaluation is tied into query evaluation and cannot easily be used for sorting.

@bdash Makes sense in terms of the complexity needed.
The manual version for such a computed property, for example:
var userCuriosity:EventCuriosity? {
return from( curiosities ).singleOrNil{ $0.person.id == User.currentUserPersonID }
}
However the problem with not supporting such scenarios is that it makes the whole Realm architecture extremely fragely. We've had to compartmentalize Realm one refactor at a time to something that "can't do too much damage". The moment you can't use Realm filtering to store collections in its Results/Lists abstractions, you can't do fine-grained change notifications and need a custom mechanism there. Then you do that, you realize you can't communicate across threads – need to further compartmentalize there. Suddenly you need to hand-build everything because something is seen as "complex" and not supported, instead of rolling up the sleeves, tackling it, and understanding that without it you will not have partners succeeding on the platform.
Therefore I see this as absolutely critical for Realm to live up to its mission. Otherwise you have to re-architect your whole app (we have now twice) to get rid of Realm – making it very hard to re-architect again in its favour just to assess whether "it's now ready yet" – then discover it isn't.
Is there a solution where we could provide an arbitrary block to use for the sorting (this is also a scenario that's super critical). The trade-off could be sorting performance – FINE – but at least you could maintain the architecture desired for Realm to "take over" and model things the way you guys want them modelled. Re-architecture costs shouldn't be trivialized. You can launch any number of iterative features but if people can't add them on because they have been forced to architect in a different direction you will never have the adoption you need to make the features be used.
Points and cases:

fine-grained notifications were launched but we had to build out own notification mechanism regardless
Sub-path sorting was launched but doesn't support one-to-many.
Cross-thread object passing was FINALLY implemented (huge limitation from the beginning of Realm, so congratz to team there) but due to custom sorting logic missing we had to do this on out-of-bound objects anyways, on background threads as to not block UI, so an extra non-Realm model layer had to be introduced ANYWAYS - thus reducing Realm objects to dumb Data Access Objects, as opposed to rich model objects as they are intended.

These features should be set as P1's, above launch of hip "synching platforms" and all the other stuff the team's been working on lately (perhaps at the pressure of VC funding screaming down monetization down everyone's throats). An ORM, sync platform and enterprise services that are all Proof of Concept level across each pillar is much worse than having a single, battle-tested, production-level mature pillar that WORKS.
Want you guys to achieve the vision as much as you do! But priority of tackling these things makes ALL the difference. Hope to see a change in this strategy guys!  :)


Conduits block on first output when connected to blocks that output multiple items

Is there an existing issue for this?

[X] I did not find any existing issues.

Current Behavior
example: AE2 output bus and GT Chemical Reactor in Monifactory
In both cases, connecting a fluid or item conduit to one of these, when theyre outputting multiple items (or fluids) will only consume the first item available. This makes it impossible to consume multiple outputs in parallel and filter at the conduit's output.
Expected Behavior
The extraction point of the conduit should consume all outputs of the connected container/machine/bus in parallel
I guess that means either:

looping over every output every tick (this would boost output speed when consuming multiple outputs, which may be unintended)
round robin'ing over all outputs across ticks, instead of preferring the first before moving onto the second

How to Test
No response
Local Environment
- **Operating System**:
- **Java version**:
- **Minecraft Version**:
- **Version**:
- **Other Mods**: Applied Energistics 2, Mekanism...

Any Additional Information?
No response

Btw, I'd be happy to attempt a fix if someone could point me to where the extraction logic is.

To clarify my own understanding, is the request for the item conduit to extract multiple item types up to the maximum speed of the conduit (so for conduit with max speed of 4 items/t lets say, it could take 2 coal, 1 iron and a redstone?)
If so, I feel like this would be a fair tweak but will pass it though the rest of the team :)

thinking about this some more, is it really actually in issue to just apply the 4 items/s to each output slot? I think in terms of semantics thats the easiest to reason about, and im not sure what negative consequences it would have as every modpack has its own balancing for throughput. At the very least i think this logic should be configurable.
Fwiw having played with the 1.12 version of these in nomifactory, i think it applied the items/s cap to each slot independently.

Is this bug in process to be backported to 1.20.1? I couldn't find anything about it in the bug tracker.

These changes were backported, yes.

I'm still experiencing this issue in 1.20.1 then. If a machine has multiple fluid outputs, fluid conduits cannot extract from the machine. It works find on 1.21 though which is why I was confused whether it was backported or not.

Ah the fluid changes from #840 have not yet been released on CurseForge it looks like, apologies. It will be once we release a new version (may be a few weeks as the team is very busy atm)


Some .unitypackage are not extracted correctly

Some .unitypackages are considered and not extracted correctly. This is due to a weird difference in the structure of the archive.

Fixed by 721a5ef6b60c5a506109453c97a8c4d8711c4998


Gif support

Will gifs be supported soon?

I don't think any work has been done in this direction yet.
Will close the issue in favor of #166

I had the same requirements and sat and coded a GIF implementation using JIMP
var GIFEncoder = require('gifencoder');
var Jimp = require('jimp');
var fs = require('fs');

var encoder = new GIFEncoder(320, 240);
// stream the results as they are available into myanimated.gif
encoder.createReadStream().pipe(fs.createWriteStream('myanimated.gif'));

encoder.start();
encoder.setRepeat(0);   // 0 for repeat, -1 for no-repeat
encoder.setDelay(500);  // frame delay in ms
encoder.setQuality(10); // image quality. 10 is default.

// use node-canvas
var image = new Jimp(320, 240, 0xff0000, function (err, image) {
    encoder.addFrame(image.bitmap.data)
    // use node-canvas
    var image = new Jimp(320, 240, 0x00ff00, function (err, image) {
        encoder.addFrame(image.bitmap.data)
        // use node-canvas
        var image = new Jimp(320, 240, 0x0000ff, function (err, image) {
            encoder.addFrame(image.bitmap.data)
            encoder.finish()
        });
    });
})

Check out the gifwrap library for working with GIFs. It uses an image format that is compatible with Jimp so you can easily combine it with Jimp for image manipulation.


Broken links in docs pages

The "Annotations" link under the "Schema" heading on the Low Level LangGraph Concepts docs page leads to the following URL, which 404s: https://langchain-ai.github.io/langgraphjs/reference/functions/langgraph.Annotation-1.html
I can't recall any other specific links that are broken like this, but I feel like I've encountered others as well. Do you guys happen to have broken link monitoring set up for your docs? If not, I'd recommend it, as this sort of thing can degrade devs' impressions of the quality of the library/framework.

Thanks for the suggestion! Opened a PR trying to fix this: https://github.com/langchain-ai/langgraphjs/pull/403

Fixed in #407, thank you!


Modify shipyard API to allow an application to be scaled

Add the ability to scale a bundle up or down

Won't do, this has been separated into the https://github.com/30x/enrober project


ossl_rand_get_user_nonce() needs a better implementation under the hood

Refer to: this comment.
This is just so we remember to update ossl_rand_get_user_nonce() at some point (soon?)

@paulidale
Can you elaborate on what is required here?

The referenced comment seems comprehensive.  What's missing?
It's likely too late since this has hit a release.

sorry, missed the link


feat: add some codes about helm deploy for kosmos-website

What type of PR is this?

What this PR does / why we need it:
Which issue(s) this PR fixes:
Fixes #
Special notes for your reviewer:

/lgtm
/approve


[QUERY] DefaultAzureCredential authentication failed

Query/Question
I am not sure if this is a bug or not or even belongs here? The reason I am posting here is the stack trace from the kudu console. We are using key vault, secrets with config builders to update our web.config during pre-application start initialisation.
Environment:

Name: Version used in current Azure AppService, KeyVault
Azure AppService, targeting net472

We have followed a couple of how-tos :
https://docs.microsoft.com/en-us/azure/key-vault/vs-secure-secret-appsettings
https://docs.microsoft.com/en-us/azure/key-vault/managed-identity
https://docs.microsoft.com/en-us/azure/key-vault/overview-security#identity-and-access-management
We have set up the system assigned managed identity, and have given the managed identity RBAC role read to the keyvault, and applied the access policy to secrets (Get, List).
When looking at Azure Diagnostics on the key vault we see the Authentication event is successfult but then receive the httpStatusCode_d 401 and the following stack trace. Unfortunately, the we cannot get any more information that this.
If this is the wrong place, I hope someone can point us in the correct direction. We do have a support ticket open with Azure support, but because we cannot move forward with our test cycles, I am hoping to find some insight.
Here is the following stack trace:
The pre-application start initialization method Start on type EnvSettings.SettingsProcessor threw an exception with the following error message: An error occurred creating the configuration section handler for connectionStrings: Error in Configuration Builder 'KeyVault'::GetAllValues() (D:\home\site\wwwroot\web.config line 149). at
System.Web.Compilation.BuildManager.InvokePreStartInitMethodsCore(ICollection`1 methods, Func`1 setHostingEnvironmentCultures) at
System.Web.Compilation.BuildManager.InvokePreStartInitMethods(ICollection`1 methods) at
System.Web.Compilation.BuildManager.CallPreStartInitMethods(String preStartInitListPath, Boolean& isRefAssemblyLoaded) at
System.Web.Compilation.BuildManager.ExecutePreAppStart() at
System.Web.Hosting.HostingEnvironment.Initialize(ApplicationManager appManager, IApplicationHost appHost, IConfigMapPathFactory configMapPathFactory, HostingEnvironmentParameters hostingParameters, PolicyLevel policyLevel, Exception appDomainCreationException) An error occurred creating the configuration section handler for connectionStrings: Error in Configuration Builder 'KeyVault'::GetAllValues() (D:\home\site\wwwroot\web.config line 149) at
System.Configuration.BaseConfigurationRecord.EvaluateOne(String[] keys, SectionInput input, Boolean isTrusted, FactoryRecord factoryRecord, SectionRecord sectionRecord, Object parentResult) at
System.Configuration.BaseConfigurationRecord.Evaluate(FactoryRecord factoryRecord, SectionRecord sectionRecord, Object parentResult, Boolean getLkg, Boolean getRuntimeObject, Object& result, Object& resultRuntimeObject) at
System.Configuration.BaseConfigurationRecord.GetSectionRecursive(String configKey, Boolean getLkg, Boolean checkPermission, Boolean getRuntimeObject, Boolean requestIsHere, Object& result, Object& resultRuntimeObject) at
System.Configuration.BaseConfigurationRecord.GetSection(String configKey) at
System.Configuration.ConfigurationManager.GetSection(String sectionName) at
System.Configuration.ConfigurationManager.get_ConnectionStrings() at
EnvSettings.SettingsUtils.SetConnectionString(String name, String connString, String providerName) at
EnvSettings.SettingsUtils.ApplyEnvironments() at
EnvSettings.SettingsProcessor.Start() Error in Configuration Builder 'KeyVault'::GetAllValues() at
Microsoft.Configuration.ConfigurationBuilders.KeyValueConfigBuilder.EnsureGreedyInitialized() at
Microsoft.Configuration.ConfigurationBuilders.KeyValueConfigBuilder.ProcessConfigurationSection(ConfigurationSection configSection) at
System.Configuration.ConfigurationBuilderChain.ProcessConfigurationSection(ConfigurationSection configSection) at
System.Configuration.RuntimeConfigurationRecord.RuntimeConfigurationFactory.CreateSectionImpl(RuntimeConfigurationRecord configRecord, FactoryRecord factoryRecord, SectionRecord sectionRecord, SectionInput sectionInput, Object parentConfig, ConfigXmlReader reader) at
System.Configuration.RuntimeConfigurationRecord.RuntimeConfigurationFactory.CreateSectionWithRestrictedPermissions(RuntimeConfigurationRecord configRecord, FactoryRecord factoryRecord, SectionRecord sectionRecord, SectionInput sectionInput, Object parentConfig, ConfigXmlReader reader) at
System.Configuration.RuntimeConfigurationRecord.CreateSection(Boolean inputIsTrusted, FactoryRecord factoryRecord, SectionRecord sectionRecord, SectionInput sectionInput, Object parentConfig, ConfigXmlReader reader) at
System.Configuration.BaseConfigurationRecord.CallCreateSection(Boolean inputIsTrusted, FactoryRecord factoryRecord, SectionRecord sectionRecord, SectionInput sectionInput, Object parentConfig, ConfigXmlReader reader) **DefaultAzureCredential authentication failed.** at
Azure.Identity.DefaultAzureCredential.<GetTokenAsync>d__10.MoveNext() --- End of stack trace from previous location where exception was thrown --- at
System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw() at
System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task) at
Azure.Identity.DefaultAzureCredential.GetToken(TokenRequestContext requestContext, CancellationToken cancellationToken) at
Azure.Security.KeyVault.ChallengeBasedAuthenticationPolicy.<AuthenticateRequestAsync>d__9.MoveNext() --- End of stack trace from previous location where exception was thrown --- at
System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw() at
System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task) at
Azure.Security.KeyVault.ChallengeBasedAuthenticationPolicy.<ProcessCoreAsync>d__8.MoveNext() --- End of stack trace from previous location where exception was thrown --- at
System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw() at
System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task) at
Azure.Security.KeyVault.ChallengeBasedAuthenticationPolicy.Process(HttpMessage message, ReadOnlyMemory`1 pipeline) at
Azure.Core.Pipeline.HttpPipelinePolicy.ProcessNext(HttpMessage message, ReadOnlyMemory`1 pipeline) at
Azure.Core.Pipeline.RetryPolicy.<ProcessAsync>d__11.MoveNext() --- End of stack trace from previous location where exception was thrown --- at
System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw() at
Azure.Core.Pipeline.RetryPolicy.<ProcessAsync>d__11.MoveNext() --- End of stack trace from previous location where exception was thrown --- at
System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw() at
System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task) at
Azure.Core.Pipeline.RetryPolicy.Process(HttpMessage message, ReadOnlyMemory`1 pipeline) at
Azure.Core.Pipeline.HttpPipelinePolicy.ProcessNext(HttpMessage message, ReadOnlyMemory`1 pipeline) at
Azure.Core.Pipeline.HttpPipelineSynchronousPolicy.Process(HttpMessage message, ReadOnlyMemory`1 pipeline) at
Azure.Core.Pipeline.HttpPipelinePolicy.ProcessNext(HttpMessage message, ReadOnlyMemory`1 pipeline) at
Azure.Core.Pipeline.HttpPipelineSynchronousPolicy.Process(HttpMessage message, ReadOnlyMemory`1 pipeline) at
Azure.Core.Pipeline.HttpPipeline.Send(HttpMessage message, CancellationToken cancellationToken) at
Azure.Core.Pipeline.HttpPipeline.SendRequest(Request request, CancellationToken cancellationToken) at
Azure.Security.KeyVault.KeyVaultPipeline.SendRequest(Request request, CancellationToken cancellationToken) at
Azure.Security.KeyVault.KeyVaultPipeline.GetPage[T](Uri firstPageUri, String nextLink, Func`1 itemFactory, String operationName, CancellationToken cancellationToken) at
Azure.Security.KeyVault.Secrets.SecretClient.<>c__DisplayClass13_0.<GetPropertiesOfSecrets>b__0(String nextLink) at
Azure.Core.PageResponseEnumerator.FuncPageable`1.<AsPages>d__2.MoveNext() at
Azure.Pageable`1.<GetEnumerator>d__8.MoveNext() at
Microsoft.Configuration.ConfigurationBuilders.AzureKeyVaultConfigBuilder.GetAllKeys() at
Microsoft.Configuration.ConfigurationBuilders.AzureKeyVaultConfigBuilder.LazyInitialize(String name, NameValueCollection config) at
Microsoft.Configuration.ConfigurationBuilders.KeyValueConfigBuilder.EnsureInitialized() at
Microsoft.Configuration.ConfigurationBuilders.KeyValueConfigBuilder.EnsureGreedyInitialized() **Invalid response, the authentication response was not in the expected format.** at
Azure.Identity.ManagedIdentityClient.Deserialize(JsonElement json) at
Azure.Identity.ManagedIdentityClient.Deserialize(Stream content) at
Azure.Identity.ManagedIdentityClient.Authenticate(String[] scopes, CancellationToken cancellationToken) at
Azure.Identity.ManagedIdentityCredential.GetTokenImpl(TokenRequestContext requestContext, CancellationToken cancellationToken)

Thanks

//cc: @schaabs

DefaultAzureCredential and from what I can make out in your stack (can you re-paste that into ``` code blocks for readability?) show you're using at least the Azure.Identity package, but those links you supplied use the older Microsoft.Azure.KeyVault packages for their samples. Can you confirm if you're only using Azure.* packages for build configuration builder and identity? Do you have some sample code that shows how you're using it as well?
Also see https://github.com/Azure/azure-sdk-for-net/blob/master/sdk/keyvault/Azure.Security.KeyVault.Secrets/README.md#troubleshooting for how to troubleshoot requests and get more information that can help diagnose, and if Application Monitoring is enabled for your app you should get more information as well. It would be helpful to see other calls being made, since I'm wondering if this could be a dup of #9737 since our Azure.* builders make simultaneous async calls.
/cc @pakrym for configuration builder.

Thanks for looking at it, looks like pakrym beat me to formatting the stack.
We don't have any code blocks. It is the ConfigBuilder that makes calls to the KeyVault to retrieve the secrets using the system assigned managed identity.
Azure.Identity, Version <IP_ADDRESS>
Azure.Security.KeyVault.Secrets, Version <IP_ADDRESS>
*for the configuration builders see in config below
An extract of the web.config is as follows:
  <configSections>
    <section name="configBuilders" type="System.Configuration.ConfigurationBuildersSection, System.Configuration, Version=<IP_ADDRESS>, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" restartOnExternalChanges="false" requirePermission="false" />
  </configSections>
  <configBuilders>
    <builders>
      <add name="Environment" mode="Greedy" type="Microsoft.Configuration.ConfigurationBuilders.EnvironmentConfigBuilder, Microsoft.Configuration.ConfigurationBuilders.Environment, Version=<IP_ADDRESS>, Culture=neutral, PublicKeyToken=31bf3856ad364e35" />
      <add name="Secrets" userSecretsId="SG-90AB-CDEF-1324-576809" type="Microsoft.Configuration.ConfigurationBuilders.UserSecretsConfigBuilder, Microsoft.Configuration.ConfigurationBuilders.UserSecrets, Version=<IP_ADDRESS>, Culture=neutral, PublicKeyToken=31bf3856ad364e35" />
      <add name="KeyVault" mode="Greedy" vaultName="${KEY_VAULT_NAME}" type="Microsoft.Configuration.ConfigurationBuilders.AzureKeyVaultConfigBuilder, Microsoft.Configuration.ConfigurationBuilders.Azure, Version=<IP_ADDRESS>, Culture=neutral, PublicKeyToken=31bf3856ad364e35" />
      <add name="ConfigStore" mode="Greedy" connectionString="${CS_AAC}" type="Microsoft.Configuration.ConfigurationBuilders.AzureAppConfigurationBuilder, Microsoft.Configuration.ConfigurationBuilders.AzureAppConfiguration, Version=<IP_ADDRESS>, Culture=neutral, PublicKeyToken=31bf3856ad364e35" />
    </builders>
  </configBuilders>
  <appSettings configBuilders="Environment,KeyVault,ConfigStore,Secrets">
    <add key="CS_AAC" value="" />
    <add key="KEY_VAULT_NAME" value="" />
  </appSettings>
   ...
</configuration>```

Thanks for looking at it, looks like pakrym beat me to formatting the stack.
We don't have any code blocks. It is the ConfigBuilder that makes calls to the KeyVault to retrieve the secrets using the system assigned managed identity.
Azure.Identity, Version <IP_ADDRESS>
Azure.Security.KeyVault.Secrets, Version <IP_ADDRESS>
*for the configuration builders see in config below
An extract of the web.config is as follows:
  <configSections>
    <section name="configBuilders" type="System.Configuration.ConfigurationBuildersSection, System.Configuration, Version=<IP_ADDRESS>, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" restartOnExternalChanges="false" requirePermission="false" />
  </configSections>
  <configBuilders>
    <builders>
      <add name="Environment" mode="Greedy" type="Microsoft.Configuration.ConfigurationBuilders.EnvironmentConfigBuilder, Microsoft.Configuration.ConfigurationBuilders.Environment, Version=<IP_ADDRESS>, Culture=neutral, PublicKeyToken=31bf3856ad364e35" />
      <add name="Secrets" userSecretsId="" type="Microsoft.Configuration.ConfigurationBuilders.UserSecretsConfigBuilder, Microsoft.Configuration.ConfigurationBuilders.UserSecrets, Version=<IP_ADDRESS>, Culture=neutral, PublicKeyToken=31bf3856ad364e35" />
      <add name="KeyVault" mode="Greedy" vaultName="${KEY_VAULT_NAME}" type="Microsoft.Configuration.ConfigurationBuilders.AzureKeyVaultConfigBuilder, Microsoft.Configuration.ConfigurationBuilders.Azure, Version=<IP_ADDRESS>, Culture=neutral, PublicKeyToken=31bf3856ad364e35" />
      <add name="ConfigStore" mode="Greedy" connectionString="${CS_AAC}" type="Microsoft.Configuration.ConfigurationBuilders.AzureAppConfigurationBuilder, Microsoft.Configuration.ConfigurationBuilders.AzureAppConfiguration, Version=<IP_ADDRESS>, Culture=neutral, PublicKeyToken=31bf3856ad364e35" />
    </builders>
  </configBuilders>
  <appSettings configBuilders="Environment,KeyVault,ConfigStore,Secrets">
    <add key="CS_AAC" value="" />
    <add key="KEY_VAULT_NAME" value="" />
  </appSettings>
   ...
</configuration>```

Based on their source, this is probably the same as #9737. As a temporary workaround - and if you only have 2 values (assuming that matches your use case) - can you disable greedy mode? From what I'm seeing in their implementation, it might alleviate the problem and probably not affect performance. Getting all secrets from a Key Vault still has to call to get each actual secret individual, though they run that in parallel. But depending on the size of the vault and given its low rate limit, may still be as slow or slower than trying to potentially fetch 2 secrets individually.

@heaths
Thanks for looking into this, we will try disabling Greedy. Will let you know how we get on.

I also have a fix prepared and will get a servicing update out soon.

Thanks very much for the fix.
Just to note we tried changing Greedy to Strict but we still observed the same behaviour.

I believe I have a fix and was hoping you could try it to verify before we release it, given the nature of this problem is impacted by machine and scenario differences.

Register our dev feed in your nuget configuration. Typically, you'd run the following in your solution or project root (can also be machine wide, but any CI/CD will also need it):dotnet nuget add source -n AzureSDK https://azuresdkartifacts.blob.core.windows.net/azure-sdk-for-net/index.json

Install the dev package into your project:dotnet add package Azure.Security.KeyVault.Secrets --version 4.0.3-dev.20200318.2

Rebuild your project. Make sure the right DLL was copied to your output. It should have the file version 4.0.320.16802 and product version 4.0.3-dev.20200318.2+3a643510066880ee8bffe38c55662e29a6ea6ea4.

Please let me know if this solves your problem and we'll get a release out on nuget.org. Thank you.

We had one customer from the other bug verify the fix works, so you can use that for now. We want to do some additional testing to make sure we didn't regress anything and fixed all the related issues here, and will get a servicing release out on nuget.org shortly.

Hello, apologies for the delay, I had been distracted by another problem. Deployed the new package and we are, unfortunately, observing, the same error.
I verified the binary is being deployed and can see it being referenced in the latest Azure Diagnostics.

Can you verify you are seeing our pipeline trace messages in your diagnostics (if not, see my link to troubleshooting steps above), and send my any events named Azure* via email so we can diagnose further? My email is my GitHub username @microsoft.com.


Update npm and node-gyp, for macOS signing fix

Reason for bumping node-gyp again (purpose of this PR)
There is an issue with code-signing apps built with node-gyp 9.1.0 or newer. (This is due to unforeseen consequences of a change I authored in node-gyp, unfortunately. The change in question: https://github.com/nodejs/node-gyp/commit/b9ddcd5bbd93b05b03674836b6ebdae2c2e74c8c.)
So, this PR bumps node-gyp to the latest commit from node-gyp repo's main branch, currently https://github.com/nodejs/node-gyp/commit/d3615c66f7e7a65de48ce9860b1fe13710d20988.
This includes a fix for better compatibility with app signing on macOS (https://github.com/nodejs/node-gyp/commit/0f1f667b737d21905e283df100a2cb639993562a).
Said commit with the fix isn't a part of any tagged or published-to-npm-package-registry releases yet, so we have to grab it from the node-gyp repo, rather than, say, as a version from the npm registry like we usually would.
How to do this (how to bump node-gyp in our fork of npm --> how to bump node-gyp in ppm:

Clone Pulsar's forks of npm-lifecycle, libnpm, libcipm, and npm (this last one has a custom repo name npm-cli for our fork. Because the upstream cli repo name is rather ambiguous otherwise.)
Update the version of node-gyp in npm-lifecycle's package.json. (Recommended to bump the version number of npm-lifecycle as well, to make it easier to track changes.) Publish these changes to Pulsar's fork of npm-lifecycle.
Update the version of npm-lifecycle in libnpm and libcipm's respective package.jsons. (Bump versions of both packages.) Publish these changes to Pulsar's fork of each respective package.
Update the versions of npm-lifecycle, libnpm, libcipm and node-gyp in npm's package.json. (Bump npm's version.) Publish these changes to Pulsar's fork of npm package.

Be careful about checking in changes to tracked files under node_modules. Unlike most NodeJS packages, the node_modules dir has some of its content checked in and changes tracked in git. This is so, when you clone the npm repo, it has a functional basic set of dependencies already, and can bootstrap itself.

Rule of thumb one: If after running npx npm@6 install --ignore-scripts, the files on-disk for any of the packages under node_modules have changed, AND only if git status shows any of the package's files as modified, rather than all of them being new file or all of the package's files being listed under Untracked files:, then you should check in all the changes to files directly belonging to said package, but not any files under said package's own nested node_modules subfolder, unless those are already checked in and tracked as well.
(Put more concisely: If a package has modified files under git status, update its checked-in files. Stage (git add) them and commit (git commit) them. And don't git add brand-new sub-dependencies that aren't already tracked in git -- ones that don't themselves show as modified in git status.
Rule of thumb number two: avoid checking in brand new files under node_modules, unless they are genuinely part of the changed files in that package. Can confirm by checking the changed files at that package's git repo between the version you started with and the version you bumped to. Or alternatively, you can confirm by checking that the files in question are there if you download the package version in question with npm pack [package_name]@[version], extracting the resulting tarball and inspecting the files -- you want to see that they match what you're going to commit, before committing them in npm repo. Add new files only for a package that was tracked in git at the npm repo before you started.
You can confirm/test that this all worked properly, if you can cleanly clone your changes and run node . install in the repo without errors, and have a large amount of the tests pass if you run node . test in the repo. I'm not aware of a way to avoid 100% of errors in the test suite, however. So, if most tests pass, that's what you're looking for.

Once verified that the updated npm package is in good shape, run npm pack to package the npm package properly as a tarball. Publish this tarball as a release asset on Pulsar's fork of npm. (Without this, npm's sub-dependencies install wrong and are broken when you try to install it as a dependency of ppm).
Finally, clone ppm repo, and bump npm and node-gyp in ppm's package.json. Run yarn install and update the yarn.lock lockfile as well. Publish the branch where you made these changes, and post a pull request.

Note: highly recommended to use npm 6 above, whenever running npm commands, since all the lockfiles for these packages are meant to be lockfile v1 format, which is the npm 6-era lockfile format.
Context/tech debt notes
This is how we get newer node-gyp in ppm at the moment. Not easy, but this is the cost of tech debt and being indebted to npm 6-era technology (especially the "require('npm')", AKA "use npm all at once as a single library" thing that got significantly changed in npm 7 and then dropped altogether in npm 8).
(It's also the consequence of npm tending to require node-gyp all over the place in multiple, roundabout ways, given the way they split up slightly related modules that handle all this stuff on the npm side of things.)
Ideally, from a technical implementation stand-point, I feel we should find some way to use the underlying libraries that make up npm as and where we need them. This has been discussed a bit on the Discord. Easier said than done.
For now, we have a fork on npm, one that hopefully we don't need to update all that often. (And especially we hopefully don't need to bump node-gyp very often, as it is one of the more painful/complicated dependencies to bump. For above-mentioned reasons.)
Verification process

[x] After cloning this branch, yarn install runs cleanly without updating yarn.lock, indicating dependencies are stable.
[x] Running yarn check is mostly without errors.

(I get two errors about two sub-dependencies of npm/node_modules/tar allegedly being the wrong minor versions, but when I check on the version actually installed, they are the correct versions yarn check said it wanted to see??!?!).

error "npm#tar#minipass" is wrong version: expected "2.9.0", got "2.3.3" <-- I checked, 2.9.0 is installed on my machine???
error "npm#tar#yallist" is wrong version: expected "3.1.1", got "3.0.3" <-- I checked, 3.1.1 is installed on my machine???

(There are plenty of warnings of things we could dedupe, but deduping is kind of harder in Yarn than it is in npm, as far as I could ever tell. Maybe I missed the docs where there is any way to do so automatically. I suppose there is yarn upgrade and yarn upgrade-interactive... Not as urgent as having working dependencies, IMO. But could save some disk space and install time, ToDo later I guess, maybe, but low low priority.)

[x] Tests pass locally and in CI.

Curious what those other thoughts are, I'd guess it's not rosy feedback about the tech debt and difficulty of updating these things, to which I'd have to agree...
Anyway, merging as it is, since the npm fork is already part of ppm master branch, this is just tweaking the node-gyp dependency through all that.
Thank you for the approve, though I understand the reservations about what lies under the hood of this, the npm fork brings blessings and curses, one might say. It is by no means a "perfect solution", it is full of compromises. So if anyone is able to bring a clean and easy alternative, I will be glad to look over it and try to adopt it if we can.


Fixed bug #324 - prevent unaligned load access

Fixed bug #324 - prevent unaligned load access
use memcpy so we can expect the compiler to optimize when possible

yes,
using memcpy and -O2 gives the same output (well almost, but optimized)
(.. so I don't know how ubsan achieves to ignore the unaligned load, since it's the same code ...looking at the source maybe..)
If I use SDL_memcopy, it adds SDL_memcpy calls.

Tested and this indeed does fix the issue.  Also, @slouken here's proof this compiles to identical assembly on x86:  https://godbolt.org/z/aG1qnvn4o  Note there are only differences at -O0, it gets optimized correctly at -O1 or higher.


Make it easier for Dependabot to upgrade dependencies

Some dependabot PRs currently fail for one or both of the following reasons:

mvn cq:sync-versions needed
cd poms/bom && mvn process-resources -Dcq.flatten-bom.format needed

They both do changes in pom.xml files that are needed for the depdendency management to stay consistent
We need to figure out whether/how we can make the version upgrades doable without too much human interaction.

Is it possible to run these mvn commands automatically when dependabot opens the upgradeing PR? I suppose a step in a github action could work to commit these changes against the dependenties update branch.

I suppose a step in a github action could work

That's what I was thinking too. I actually did a bit of hacking to see if it was possible:
https://github.com/jamesnetherton/camel-quarkus/commit/281c5789e68733dfcbf8e16da9c24adfc15b8b1e
But it's failing when it does git push due to lack permissions. Maybe it's some related to my test project. When I get a bit more time I can try to figure it out.

It would be great if we could make GH Actions to amend dependabot's changes!
I originally hoped to be able to eliminate the need for having those chnages in Git. While I'd be OK to try living without the generated BOMs in git (and it is easy to move them under target directory and it would solve a part of cases), I do not see any way how to eliminate cq:sync-versions and that part of cd poms/bom && mvn process-resources -Dcq.flatten-bom.format that makes changes in bom/pom.xml. So finding a way to amend dependabot PRs would be really great.

@jamesnetherton is there any update?

I have a POC that can push changes back to a dependabot branch. What's not working is the re-triggering of the workflow run. Which is maybe not a big problem given we could rerun manually.
I want to experiment a bit more. But I can aim to have a PR ready towards the end of next week.


actionTriggered,showLoader reset

It seems that in UNSAFE_componentWillReceiveProps,  key and dataLength diffing was the only way to detect whether states listed above should be reset.
This comes with the assumption that each data fetching would be done successfully and eventually result in data item increment or key change,.
While this is sometimes untrue since it occurred to me that when there are more data to be loaded, yet due to poor network condition or some other reasons, my data fetching was not done properly( just  occasionally fails ). props,states and property like dataLength,showLoader ,actionTriggered are in consequence maintained in an on-progress condition( I intended to keep previous data ), thus further retries  wouldn't be triggered anymore.
I tried to refresh the key passed down to the component after my request failed, but this would result in continuous key refresh as atBottom stays true, otherwise manual key diffing seems to be implicit and error prone.
Is there any necessity triggering a fallback method  after next was executed to force reset?

This is a known issue. There was a feature which used to reset the
actionTriggered flag when user would scroll up. Assuming if the next call
failed and user continues to see the loading... message he would scroll up
and then down again. But somehow this for removed. I'm up for adding it
again. PRs welcome too!
This acted as an escape hatch when the API call fails. Ideally the next
function should've been modelled as a promise and we could then hatch on to
it and reset the parama when it failed/succeeded or in finally block.
On Wed, 25 Dec, 2019, 11:25 pm ThomasWhyne<EMAIL_ADDRESS>wrote:

It seems that in UNSAFE_componentWillReceiveProps, key and dataLength
diffing was the only way to detect whether states listed above should be
reset.
This comes with the assumption that each data fetching would be done
successfully and eventually result in data item increment or key change,.
While this is sometimes untrue since it occurred to me that when there are
more data to be loaded, yet due to poor network condition or some other
reasons, my data fetching was not done properly( just occasionally fails ).
props,states and property like dataLength,showLoader ,actionTriggered are
in consequence maintained in an on-progress condition( I intended to keep
previous data ), thus further retries wouldn't be triggered anymore.
I tried to refresh the key passed down to the component after my request
failed, but this would result in continuous key refresh as atBottom stays
true, otherwise manual key diffing seems to be implicit and error prone.
Is there any necessity triggering a fallback method after next was
executed to force reset?
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/ankeetmaini/react-infinite-scroll-component/issues/165?email_source=notifications&email_token=ABSYHF2EVRZUCHDFHGJTCFLQ2ONALA5CNFSM4J7F56K2YY3PNVWWK3TUL52HS4DFUVEXG43VMWVGG33NNVSW45C7NFSM4ICT5XBA,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ABSYHFY4I3YPVMROQ5UXO53Q2ONALANCNFSM4J7F56KQ
.

Assuming if the next call
failed and user continues to see the loading... message

Yes, that what happened right now. Is there any workaround/solution?


Add IPv6 and Dualstack support for AWS ELBs

The nginx-ingress-controller does a nice job of providing support for AWS ELBs using IPv4. Amazon provides support for IPv6 and both IPv4 & IPv6 by prepending the dns name for the ELB with ipv6. or dualstack. respectively. Reference this aws doc.
This is a feature request to enable the use of these within the cluster, especially for when the nginx-ingress-controller assigns the endpoints to Ingress resources themselves as these are used by tools such as external-dns to configure dns.

@pluttrell the nginx ingress controller does not creates the elb. I think you should open this feature request in the main kubernetes repository.
This is the place where you can find the available annotations https://github.com/kubernetes/kubernetes/blob/master/pkg/cloudprovider/providers/aws/aws.go

@aledbf Many thanks for getting back to me. I can certainly create a feature request in the main Kubernetes github repo.
Just to make sure I fully understand your suggestion. The request would be for a new annotation that could be applied to any Service resource that enabled IPv6 or IPv4 & IPv6 support in AWS. So when Kubernetes created that Service, it would assign the ELB address that supported IPv4, IPv6 or a combination. Then when the nginx-ingress-controller pulled the external-ip field, it would include the value setup by Kubernetes. Correct?

So when Kubernetes created that Service, it would assign the ELB address that supported IPv4, IPv6 or a combination

Jut in case Kubernetes uses the FQDN of the ELB, not the IP address.

Just added the feature request to the Kubernetes Github repo.

@pluttrell can we close this issue?


Leader Roles for Sections

Each section will get their own TL/AL/RL roles. HL will be shared across sections. Not quite sure how implementation will work.
Not high priority.

from @deatttthhh
arl is for o3, random dung rl is random dungeons and realm leader is for realm clearing section
raid leader can lead everywhere and trial everything
random dungeon and realm leader can trial their respective sections
trl can only request runs, there is no limit on rd or rc trials but he can only do 5 trials for o3 until his vote goes up
so I will do this:

RL => MAIN => can start afk checks anywhere.
SECTION RL Role => SECTION => can start afk checks in their respective section.
TRLs => can trial everywhere

Added.