Using threads with smartopen raises boto3 KeyError exception

Problem description
When trying to load files from S3 in parallel using ThreadPoolExecutor, there is a high chance an exception will be thrown from boto3. All files should be read by smart-open correctly.
I noticed, it was OK in versions prior to 5.x, where you changed the way you use boto3 under the hood.
This is link to an existing boto3 issue
https://github.com/boto/boto3/issues/1592
There is a workaround using sessions, but I think it can't be done easily with the smart-open 5.2,
therefore I will continue to use older versions.
Steps/code to reproduce the problem
upload any text file to S3 to some S3_PATH_TO_A_FILE
contents tested, e.g.:
"this is a tiny file in S3"
Then try to load the file multiple times in threads:
from concurrent.futures import ThreadPoolExecutor
from smart_open import smart_open

path = "S3_PATH_TO_A_FILE"
def func(p):
    with smart_open(p) as f:
        for _ in f:
            pass

with ThreadPoolExecutor(max_workers=8) as executor:
    list(executor.map(func, [path] * 10))

For the sake of simplicity, the snippet tries to read a single file, but it also crashes with distinct unique files.
Decreasing the number of workers increases the chance of avoiding the exception.
Stacktrace:
Traceback (most recent call last):
  File "/home/stola/Projects/robobrain/smart_issue.py", line 14, in <module>
    list(executor.map(func, [path] * 10))
  File "/home/stola/anaconda3/envs/robo/lib/python3.7/concurrent/futures/_base.py", line 598, in result_iterator
    yield fs.pop().result()
  File "/home/stola/anaconda3/envs/robo/lib/python3.7/concurrent/futures/_base.py", line 428, in result
    return self.__get_result()
  File "/home/stola/anaconda3/envs/robo/lib/python3.7/concurrent/futures/_base.py", line 384, in __get_result
    raise self._exception
  File "/home/stola/anaconda3/envs/robo/lib/python3.7/concurrent/futures/thread.py", line 57, in run
    result = self.fn(*self.args, **self.kwargs)
  File "/home/stola/Projects/robobrain/smart_issue.py", line 8, in func
    with smart_open(p) as f:
  File "/home/stola/anaconda3/envs/robo/lib/python3.7/site-packages/smart_open/smart_open_lib.py", line 498, in smart_open
    return open(**locals())
  File "/home/stola/anaconda3/envs/robo/lib/python3.7/site-packages/smart_open/smart_open_lib.py", line 235, in open
    binary = _open_binary_stream(uri, binary_mode, transport_params)
  File "/home/stola/anaconda3/envs/robo/lib/python3.7/site-packages/smart_open/smart_open_lib.py", line 398, in _open_binary_stream
    fobj = submodule.open_uri(uri, mode, transport_params)
  File "/home/stola/anaconda3/envs/robo/lib/python3.7/site-packages/smart_open/s3.py", line 224, in open_uri
    return open(parsed_uri['bucket_id'], parsed_uri['key_id'], mode, **kwargs)
  File "/home/stola/anaconda3/envs/robo/lib/python3.7/site-packages/smart_open/s3.py", line 298, in open
    client_kwargs=client_kwargs,
  File "/home/stola/anaconda3/envs/robo/lib/python3.7/site-packages/smart_open/s3.py", line 555, in __init__
    _initialize_boto3(self, client, client_kwargs, bucket, key)
  File "/home/stola/anaconda3/envs/robo/lib/python3.7/site-packages/smart_open/s3.py", line 528, in _initialize_boto3
    client = boto3.client('s3', **init_kwargs)
  File "/home/stola/anaconda3/envs/robo/lib/python3.7/site-packages/boto3/__init__.py", line 93, in client
    return _get_default_session().client(*args, **kwargs)
  File "/home/stola/anaconda3/envs/robo/lib/python3.7/site-packages/boto3/session.py", line 263, in client
    aws_session_token=aws_session_token, config=config)
  File "/home/stola/anaconda3/envs/robo/lib/python3.7/site-packages/botocore/session.py", line 839, in create_client
    credentials = self.get_credentials()
  File "/home/stola/anaconda3/envs/robo/lib/python3.7/site-packages/botocore/session.py", line 442, in get_credentials
    'credential_provider').load_credentials()
  File "/home/stola/anaconda3/envs/robo/lib/python3.7/site-packages/botocore/session.py", line 941, in get_component
    del self._deferred[name]
KeyError: 'credential_provider'

Process finished with exit code 1

Versions
Linux-4.15.0-154-generic-x86_64-with-debian-buster-sid
Python 3.7.11 (default, Jul 27 2021, 14:32:16)
[GCC 7.5.0]
smart_open 5.2.1
boto 2.49.0
boto3 1.18.27
botocore 1.21.27
Checklist
Before you create the issue, please make sure you have:

[x] Described the problem clearly
[x] Provided a minimal reproducible example, including any required data
[x] Provided the version numbers of the relevant software

Have you tried creating one client per thread and then passing that to smart_open as a transport parameter?
https://github.com/RaRe-Technologies/smart_open/blob/develop/howto.md#how-to-read-from-s3-efficiently
Boto3 recommend you manage your own clients/sessions when working with multiple threads and processes.
The older version works because it opened a new session automatically for each file. In highly concurrent environments, this can cause out-of-memory conditions, because the sessions accumulate.

Thank you for the swift reply and the suggestion.
Changing smart_open->open and supplying the client through the parameters helped.
Thank you!


ncurses: Symlink libncurses to libcurses

Symlink key header files from include/ncursesw/ to include/.

Do other package managers do this? Judging from pkg-config and ncurses5-config,  believe this layout is intentional.

Yes, both Ubuntu 14.04 and CentOS 5.10 do. Ubuntu 14.04 installs directly in /usr/lib/x86_64-linux-gnu and /usr/include. CentOS 5.10 installs in /usr/lib64 and /usr/include/ncurses and symlinks the header files into /usr/include.
CentOS 5.10
$ cd /usr/lib64; ls -l libcurses.a libcurses.so
lrwxrwxrwx 1 root root 12 Dec 20  2010 libcurses.a -> libncurses.a
lrwxrwxrwx 1 root root 17 Dec 20  2010 libcurses.so -> libncurses.so.5.5
$ cd /usr/include; ls -l curses.h ncurses.h term.h termcap.h
lrwxrwxrwx 1 root root   16 Dec 20  2010 curses.h -> ncurses/curses.h
lrwxrwxrwx 1 root root   17 Dec 20  2010 ncurses.h -> ncurses/ncurses.h
-rw-r--r-- 1 root root 1841 Jan  6  2007 termcap.h
lrwxrwxrwx 1 root root   14 Dec 20  2010 term.h -> ncurses/term.h

Ubuntu 14.04
$ cd /usr/lib/x86_64-linux-gnu; ls -l libcurses.a libcurses.so
lrwxrwxrwx 1 root root 12 Mar 22  2014 libcurses.a -> libncurses.a
lrwxrwxrwx 1 root root 13 Mar 22  2014 libcurses.so -> libncurses.so
$ cd /usr/include; ls -l curses.h ncurses.h term.h termcap.h
-rw-r--r-- 1 root root 77809 Mar 22  2014 curses.h
lrwxrwxrwx 1 root root     8 Mar 22  2014 ncurses.h -> curses.h
-rw-r--r-- 1 root root 39733 Mar 22  2014 term.h
-rw-r--r-- 1 root root  3470 Mar 22  2014 termcap.h

@mistydemeo Any further thoughts on this?

@jacknagel @mistydemeo The header files of ncurses are usually expected to be found in $prefix/include rather than under a $prefix/include/ncursesw subdirectory. On Mac OS, for example:
~ ❯❯❯ ls /usr/include/{curses.h,form.h,ncurses.h,term.h,termcap.h}
/usr/include/curses.h  /usr/include/ncurses.h /usr/include/termcap.h
/usr/include/form.h    /usr/include/term.h
~ ❯❯❯ ls /usr/include/ncursesw
ls: /usr/include/ncursesw: No such file or directory

This PR symlinks key header files into include to mirror this directory structure.

@BrewTestBot test this please

@mistydemeo Any thoughts on merging this patch?

@mistydemeo How are you feeling about merging this patch?

Yes, sorry for the delay. Bottles seem to have expired, so I'll rebuild and merge.

@BrewTestBot test this please

Thanks, Misty. ncurses does not build with GCC 5 without a patch, so expect another PR today.


SUBMARINE-850. Add operator e2e test framework

What is this PR for?
Setup operator e2e test framework for further test case
Reference: spark-on-k8s-operator
This PR will test the following:

Create submarine-operator
Delete submarine-operator

What type of PR is it?
Feature
Todos

[ ] - Create submarine
[ ] - Delete submarine
[ ] - Scale submarine

What is the Jira issue?
https://issues.apache.org/jira/browse/SUBMARINE-850
How should this be tested?
# Step1: Build image "submarine-operator" to minikube's Docker
eval $(minikube docker-env)
make image

# Step2: Register Custom Resource Definition
kubectl apply -f artifacts/examples/crd.yaml

# Step3: Install go module
cd ./test/e2e
go mod tidy

# Step4: Run test
go test

Screenshots (if appropriate)
https://user-images.githubusercontent.com/17617373/121552095-c2377a00-ca42-11eb-967e-263e6a7734a9.mov
Questions:

Do the license files need updating? No
Are there breaking changes for older versions? No
Does this need new documentation? No

@xunliu This PR is a test framework for Submarine operator. To elaborate, it implements hooks which are similar to @BeforeClass and @AfterClass in JUnit. In addition, this PR still needs to be updated due to the modification in SUBMARINE-848 (PR).

@xunliu This PR is a test framework for Submarine operator. To elaborate, it implements hooks which are similar to @BeforeClass and @AfterClass in JUnit. In addition, this PR still needs to be updated due to the modification in SUBMARINE-848 (PR).

@kevin85421  I have fixed the namespace for SUBMARINE-848 (PR). Besides, I have edited the PR details, and added more helper functions in framework for further test case.

@kevin85421  I have made change for SUBMARINE-889(PR)


Install fails - RedHat OVAL v1 deprecated

Last year RedHat switched off v1 of their OVAL (See https://access.redhat.com/OVAL_v1_deprecation_announcement).  As a result, I'm unable to set up a new pakiti install as downloads of the vuln definitions fail.
Are there plans to update Pakiti to OVAL v2?
(I'll update with screenshots / error messages shortly)

RedHat OVAL feed is now under https://access.redhat.com/security/data/oval/v2/

Hi, I updated links in install script, as we use it.

Thanks!


CertManager integration

Aegis should know about certmanager-managed secrets and notify the workloads that are interested in them.
Note that this is an idea, and we need to discuss is carefully before we proceed.
We’ll likely need a controller to interact with both CertManager-initated secrets and also Aegis Safe; updating Aegis Safe as those secrets change.
Then it will be up to the workloads to react:

They can fetch and reapply the secrets
They can poll Aegis Safe and kill the pod if they detect a change in the secret.
Or Aegis Safe can relay a message to them
Or a totally separate controller can monitor Aegis Safe and restart the pods if needed.
Or Aegis safe can notify that controller

There are many options.
It’s better to keep things simple.
We should not move forward without desining things carefully.

Upon some thought I propose a controller for that; I call it Aegis Notary.
Usage example:
kubectl exec $SENTINEL -- notary -w "workload-name" # name part of the svid of workload \
  -k "secret" # the "kind" of the object that notary is watching
  -n "default"
  -t "cert-mgr-tls-secret" # target

Notary keeps an eye on the cluster state;
whenever the secret names cert-mgr-tls-secret changes, it can do several things

send a singal to all the workloads that it knows about (that listen to it)
or directly send a kill signal to the pod so that the wokload will bind the new secrets

There can be several modes of operation and notary can have additional commands to enable/disable these various modes of operation (such as 1 and 2) based on the workload.
Note that this is a separate project on its own, and it’s nontrivial.

But I at least want to create some design documents even if we don’t start it immediately.

Note, this can spin off as its own proejct too. It feels like larger than a single issue.


Need Form View Command Sets

Could you please provide Display/Edit form view command set examples? Or maybe you can mention about the Location of the command set. ex: Location="ClientSideExtension.ListViewCommandSet.CommandBar"
Thank you.

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

ID: fe70fcc7-45db-fa48-eb63-27c77d3efc8a
Version Independent ID: faaa94f0-7660-d72c-401f-7ba76688b9ed
Content: Build your first ListView Command Set extension
Content Source: docs/spfx/extensions/get-started/building-simple-cmdset-with-dialog-api.md
Product: sharepoint
Technology: sharepoint-framework
GitHub Login: @spdevdocs
Microsoft Alias: spdevdocs

Thanks for the question. Display/Edit form view command sets don't exist currently.
The definition for ListViewCommandSet.CommandBar and it's location is provided in that document you provided. Please see this section.

Thank you.


Add support for 7z as standard media type

So i don't have to create a special media config.
Please also add a corresponding thumbnail for it.
7z:
  type: file
  thumb: media/thumb-7zip.png
  mime: application/x-7z-compressed

Edit the file here and created a pull request: https://github.com/getgrav/grav/blob/develop/system/config/media.yaml


New branch

Added Node JS as a Javascript framework and its official documentation as a resource.

Thanks!


Enable polymorphism / dynamic dispatch for AzureConfig and OpenAIConfig

Would like to enable something like this:
fn use_client<C: Config>(client: Box<dyn CommonClientTrait<ConfigType = C>>) {
    // You can now call any method defined in the CommonClientTrait on the client
    let models = client.models();
    // ...
}

fn main() {
    let openai_config = OpenAIConfig::default();
    let openai_client = Client::with_config(openai_config);
    use_client(Box::new(openai_client));

    let azure_config = AzureConfig::default();
    let azure_client = Client::with_config(azure_config);
    use_client(Box::new(azure_client));
}

Also, I can push branches:
(base) ➜  async-openai git:(deip/common-config-trait) git push --set-upstream origin deip/common-config-trait
ERROR: Permission to 64bit/async-openai.git denied to deipkumar.
fatal: Could not read from remote repository.

Please make sure you have the correct access rights
and the repository exists.

Do I need to be added as a contributor?

Please use fork for private branches

I want to make a contribution - how do I open a PR from a fork?

@64bit Why did you want Config: Clone in the first place? I looked through the codebase, it seems config.clone is never used. So, after removing the trait bound Clone in Config,  you can just use a box like
pub struct Client {
    ...
    config: Box<dyn Config>,
    ...
}

I do not recall :)
Your idea of Box-ing it is actually good. Not sure what the rippling effects would be but worth exploring.

Having a trait with associated type would allow the idea to work using only generics (no need for dynamic dispatch):
// Only Config seems to be polymorphic here.
// In any case, one can always have client: impl GenericClient<Config=C> below (see my comment on #125 below)
fn use_client<C: GenericConfig>(client: Client<C>) {
    let models = client.models();
    // ...
}

fn main() {
    let openai_config = OpenAIConfig::default();
    let openai_client = Client::with_config(openai_config);
    // No need for dynamic dispatch: the types in your problem are known at compile time. No boxing means zero cost dispatch at run time.
    use_client(openai_client);

    let azure_config = AzureConfig::default();
    let azure_client = Client::with_config(azure_config);
    use_client(azure_client);
}

Related to a comment of mine (https://github.com/64bit/async-openai/pull/125#issuecomment-1798400589).
Keep in mind that the suggestion in the comment does allow dynamic dispatch using a simple design widely used in the Rust world (Iterators use it). It's just that dynamic dispatch is not required for solving the present issue.


Failing examples

on current master, I get the following failing examples:
error_exampe fails with AttributeError: 'Namespace' object has no attribute 'countdown':
Traceback (most recent call last):
  File "error_demo.py", line 47, in <module>
    main()
  File "/home/bilderbuchi/Dropbox/Coding/Gooey/gooey/python_bindings/gooey_decorator.py", line 77, in <lambda>
    return lambda: func()
  File "error_demo.py", line 28, in main
    print args.countdown
AttributeError: 'Namespace' object has no attribute 'countdown'

minimal_demo fails with
$ python minimal_demo.py
Writing Build Config to: /home/bilderbuchi/Dropbox/Coding/Gooey/gooey/examples/gooey_config.json
Traceback (most recent call last):
  File "minimal_demo.py", line 18, in <module>
    main()
  File "/home/bilderbuchi/Dropbox/Coding/Gooey/gooey/python_bindings/gooey_decorator.py", line 71, in inner2
    return payload(*args, **kwargs)
  File "minimal_demo.py", line 13, in main
    args = parser.parse_args()
  File "/home/bilderbuchi/Dropbox/Coding/Gooey/gooey/python_bindings/gooey_decorator.py", line 65, in run_gooey
    f.write(json.dumps(build_spec, indent=2))
  File "/home/bilderbuchi/anaconda3/envs/py2/lib/python2.7/json/__init__.py", line 250, in dumps
    sort_keys=sort_keys, **kw).encode(obj)
  File "/home/bilderbuchi/anaconda3/envs/py2/lib/python2.7/json/encoder.py", line 209, in encode
    chunks = list(chunks)
  File "/home/bilderbuchi/anaconda3/envs/py2/lib/python2.7/json/encoder.py", line 434, in _iterencode
    for chunk in _iterencode_dict(o, _current_indent_level):
  File "/home/bilderbuchi/anaconda3/envs/py2/lib/python2.7/json/encoder.py", line 408, in _iterencode_dict
    for chunk in chunks:
  File "/home/bilderbuchi/anaconda3/envs/py2/lib/python2.7/json/encoder.py", line 332, in _iterencode_list
    for chunk in chunks:
  File "/home/bilderbuchi/anaconda3/envs/py2/lib/python2.7/json/encoder.py", line 408, in _iterencode_dict
    for chunk in chunks:
  File "/home/bilderbuchi/anaconda3/envs/py2/lib/python2.7/json/encoder.py", line 408, in _iterencode_dict
    for chunk in chunks:
  File "/home/bilderbuchi/anaconda3/envs/py2/lib/python2.7/json/encoder.py", line 442, in _iterencode
    o = _default(o)
  File "/home/bilderbuchi/anaconda3/envs/py2/lib/python2.7/json/encoder.py", line 184, in default
    raise TypeError(repr(o) + " is not JSON serializable")
TypeError: <built-in function max> is not JSON serializable

The japanes and russian examples all have no text anywhere, but I don't know what to expect here, I haven't installed any language packs or whatever.
Also, most (or all I've encountered) of the buttons are not high enough for their label text, approx. the bottom half is missing. This is on Ubuntu 15.10.

Hey @bilderbuchi,
Those demos in the Gooey source were left in there by accident (and laziness). I've since removed them. The "Official" demos are in their own repo here: https://github.com/chriskiehl/GooeyExamples. They should all be working : )
Could you post a screenshot of the buttons? Wx renders a little wonky across the different platforms. However, I haven't seen it missing text.

The "Official" demos are in their own repo here

hm, interesting/surprising choice. Thanks for the pointer!
Button screenshots (using the official examples):


Add new durationSeconds property to HOSContract.Clock

@markjohnstongeotab @ZonarTimH
Have you had a chance to review Phil's proposed change? Once you've approved it, we can update the public documentation to reflect the new property.

We reviewed it.  Looks good

Additional testing of opencab#19 revealed that although Parcel is capable
of reading a single parceled object from a newer version that adds
additional fields to the end (in this case, durationSeconds), since
the Clock objects are in an array, the increased length of the
unconsumed field throws off the offset of subsequent objects in the
array and leads to a crash inside the Parcel code.
To avoid causing such a crash in a pre-existing HOS consumer that only
understands version 0.2 clocks (no durationSeconds) when it encounters
values from a version 0.3 provider, we are bumping the version number so
that:

New consumers MUST explicitly indicate support for durationClocks by
passing "0.3" to the version parameter of ContractProvider.call
when fetching HOS status.
New providers MUST NOT return a version 0.3 clock (with a
durationSeconds value) if the calling consumer has not passed a
version equal to or greater than "0.3". New providers MAY return
an error if they do not need or want to support older consumers.
All new providers and consumers SHOULD support version 0.3 so that
support for 0.2 can eventually be dropped.

In addition, the fact that Parcel can't natively handle new values
in a backwards-compatible way means we'll stop using it for all future
contracts or contract versions, with the exception of the in-flight
opencab#17 work.
We need to define "greater than" for version numbers, presumably using
non-lexical comparison.

I'm working to fix the Vercel preview docs.

@VCEleosTech Should we rename the ClockV2 and HOSStatusV2 classes as V3 instead so the class name more closely matches the call version of 0.3?

@VCEleosTech Should we rename the ClockV2 and HOSStatusV2 classes as V3 instead so the class name more closely matches the call version of 0.3?

we can.

Closing in favor of https://github.com/opencabstandard/opencab/pull/21, since the version bump for the HOS contract from 0.2 to 0.3 incorporates both the addition of durationSeconds (which is not backwards compatible with 0.2 consumers, hence the version bump and new logic in the sample provider to return the requested version only) and the addition of team driver clocks.


Admin\Contacts - External User can add a contact

Description:
As an External User, I want the ability to add new contacts
Figma
Acceptance Criteria:
Given I am an authenticated user with the industry-user-admin role (i.e., I have been Approved to have admin rights for an Operator)
When I navigate to the "Contacts" table
Then I can add a new contact
Given that I am on the contacts page
When I click the button add a new contact
Then it will open a form where I can fill out the details of the contact
https://www.figma.com/design/LsDmLDCdnJqI8UahyqvOD8/BCIERS-Designs?node-id=8953-2004&t=rBpJCzhxRzIMrjwm-4
Given that I am on the add contacts page
When I selected Yes to "Is the operation representative a BCIERS user"
Then their information will be pre-populated instead of manually filling it out again
Given that I'm on the add contacts page
When I click submit
Then I can see a confirmation that this contact has been successfully added attn: @nanyangpro
Development Checklist:

[ ]

Definition of Ready (Note: If any of these points are not applicable, mark N/A)

[ ] User story is included
[ ] User role and type are identified
[ ] Acceptance criteria are included
[ ] Wireframes are included (if required)
[ ] Design / Solution is accepted by Product Owner
[ ] Dependencies are identified (technical, business, regulatory/policy)
[ ] Story has been estimated (under 13 pts)

·Definition of Done (Note: If any of these points are not applicable, mark N/A)

[ ] Acceptance criteria are tested by the CI pipeline
[ ] UI meets accessibility requirements
[ ] Configuration changes are documented, documentation and designs are updated
[ ] Passes code peer-review
[ ] Passes QA of Acceptance Criteria with verification in Dev and Test
[ ] Ticket is ready to be merged to main branch
[ ] Can be demoed in Sprint Review
[ ] Bugs or future work cards are identified and created
[ ] Reviewed and approved by Product Owner

Notes:
Dependencies
Blocking #1607

Notes:

Pat to sync with Zoey on refining/separating these into three tickets after #1350 has been revised

@nanyangpro for the user roles, do industry admin and regular industry user both have the permissions to edit add and delete contacts? Or just the admin

@andrea-williams What will the 'business_role' be for the newly created contact? This is a mandatory field in the Contact table.

@Sepehr-Sobhani  hmmm I think we'll want to replace that field in the Contact table to make it nullable. But we do also have "Operation Representative" as an existing option in the business_role table, so that can be used.

@andrea-williams Thanks for the quick response. For now, I'm going to use "Operation Representative" as it will be a safer option.

@patriciarussellCAS
Reachable at:
https://cas-bciers-frontend-dev.apps.silver.devops.gov.bc.ca/administration/contacts/add-contact

Link for this URL is not working in Test.

I'm getting the following message in Dev @shon-button @Sepehr-Sobhani

I'm getting the following message in Dev @shon-button @Sepehr-Sobhani

I wasn't able to reproduce this, Can we walk through this feature together?

@Sepehr-Sobhani I logged out and logged back in and it seems to work now! ignore my comment above. thanks!

Review notes:

Could not review this in test, as the "add contact" button was not included. Works fine in Dev.
If we are keeping the Y/N "Is this contact a user in BCIERS?" then I noticed the following (please ignore if this is no longer relevant):
In Dev, on the Add Contact page, if I select a user from the drop-down (i.e. Yes, they are already a user in BCIERS) and then select a name, the information auto-populates on the page (yay!). But if i then Deselect "is this contact a user in BCIERS?" (i.e select No) - that person I previously selected stayed auto-filled in the fields below.  If this feature is being kept in the system, in future we may want the selection of "no" to clear the fields below.


treat all response codes other than 200 as errors

only code 200 means everything ok, 20x are errors according to API.
Therefore changed condition.

Thank you!


fix: reassign err to prevent invalid return in KedaProvider GetExternalMetric

Here in the the KedaProvider https://github.com/openshift/kedacore-keda/blob/be1b1737c53f708a62a6a7386b27f5f208bf7094/pkg/provider/provider.go#L92. The GetExternalMetric function can return nil,nil in the wait for the connection to be ready since it does not reassign the err variable.
The nil,nil gets dereferenced here: https://github.com/kubernetes-sigs/custom-metrics-apiserver/blob/1e7ed5df24ef39898861260b002d9400f2d09300/pkg/registry/external_metrics/reststorage.go#L87 and hence panics in the code.
This fix reassigns the err so that an invalid nil,nil return can not happen.
Checklist

[x] When introducing a new scaler, I agree with the scaling governance policy
[x] I have verified that my change is according to the deprecations & breaking changes policy
[x] Tests have been added
[x] Changelog has been updated and is aligned with our changelog requirements
[x] A PR is opened to update our Helm chart (repo) (if applicable, ie. when deployment manifests are modified)
[x] A PR is opened to update the documentation on (repo) (if applicable)
[x] Commits are signed with Developer Certificate of Origin (DCO - learn more)

Fixes #6009

/skip-e2e

nice catch! Thanks for the fix :heart:


Updated build instructions to mention mozroots.

Added mention of mozroots to build instructions because NuGet's error messages did not lead very directly to that solution and it sounds like it's a required part of getting NuGet to work after building Mono from source. Admittedly, this is really a NuGet setup issue, not a Roslyn setup issue, but it's needed to compile Roslyn so I think it's reasonable to include here.

This fork is no longer maintained. Original Roslyn repo https://github.com/dotnet/roslyn now supports Mono build.


Refactor asInput

Over time, asInput has grown a lot to support many features. It could be split up more to compose itself out of smaller sub-components. Part of this work was done by extracting the validation message out into a ValidationMessage component. We could also make Label and InputDescription components, for example. Exporting these components to Paragon users would also allow them to compose their own custom input components if asInput does give them the flexibility that they need.
See reactstrap for examples of how granular the sub-components could get (basically one component per HTML div). Internally, Paragon could build asInput out of these more granular components so that users of Paragon could use asInput to create basic inputs quickly, but also use the granular sub-components if they need more customization than asInput provides.
There are some special-cases for checkboxes, but not for radio buttons. That part could be a bit more abstracted.

asInput has been replaced by React Bootstrap Form components https://github.com/edx/paragon/pull/550


Promise resolution etc

@bazilm16 @dsherida fyi, these changes got "left behind" on my fork of RNCloudinary. Nothing new, just pulling them over to fix some bugs that came up from moving to the org-owned fork.


[DE-670]: GET /_api/database/user

Introduces databases_accesible_to_user() in database module

Codecov Report

Merging #281 (ed2dcf4) into main (744a6e9) will decrease coverage by 0.24%.
Report is 12 commits behind head on main.
The diff coverage is 92.92%.

:exclamation: Current head ed2dcf4 differs from pull request most recent head 96c0204. Consider uploading reports for the commit 96c0204 to get more accurate results

:exclamation: Your organization is not using the GitHub App Integration. As a result you may experience degraded service beginning May 15th. Please install the GitHub App Integration for your organization. Read more.
@@            Coverage Diff             @@
##             main     #281      +/-   ##
==========================================
- Coverage   99.01%   98.78%   -0.24%
==========================================
  Files          26       26
  Lines        3958     4021      +63
==========================================
+ Hits         3919     3972      +53
- Misses         39       49      +10

Files Changed
Coverage Δ

arango/client.py
98.41% <ø> (ø)

arango/http.py
100.00% <ø> (ø)

arango/collection.py
97.59% <91.39%> (-0.92%)
:arrow_down:

arango/database.py
99.73% <100.00%> (-0.14%)
:arrow_down:

arango/exceptions.py
100.00% <100.00%> (ø)

arango/request.py
94.44% <100.00%> (ø)

arango/utils.py
100.00% <100.00%> (ø)


Fixed crash cpp indentation of switch case.

This PR fixes an invalid memory access in vim-8.2.111 and older,
which causes a crash with asan build.  Bug is also detected by valgrind.
 Yet I can reproduce the bug 100% of the time
when executing steps manually as described in the PR.
So I did not add the test to the PR.
" FIXME: this test is meant to reproduce as crash but it does not
" trigger the crash somehow (unclear what is missing).
func Test_fix_crash_cpp_case()
  new
  setfiletype cpp
  filetype plugin indent on

  call setline(1, 'case x: // xxx')
  norm f:a:
  call assert_equal(['case x:: // xxx'], getline(1, '$'))

  bwipe!
endfunc

Dominique wrote:

I tried to add a test as follows, but somehow it did not trigger the
bug prior to the fix. Yet I can reproduce the bug 100% of the time
when executing steps manually as described in the PR.
So I did not add the test to the PR.
" FIXME: this test is meant to reproduce as crash but it does not
" trigger the crash somehow (unclear what is missing).
func Test_fix_crash_cpp_case()
  new
  setfiletype cpp
  filetype plugin indent on

  call setline(1, 'case x: // xxx')
  norm f:a:
  call assert_equal(['case x:: // xxx'], getline(1, '$'))

  bwipe!
endfunc

I set 'cindent' directly and that reproduces it reliably.
--
Living on Earth includes an annual free trip around the Sun.
/// Bram Moolenaar --<EMAIL_ADDRESS>-- http://www.Moolenaar.net   \
///        sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \
\\  an exciting new programming language -- http://www.Zimbu.org        ///
\\            help me help AIDS victims -- http://ICCF-Holland.org    ///


Add Copy To Clipboard to pre elements

Making it easier to copy the generated code, by adding a Copy To Clipboard functionality.
Designwise, when not wanting to use an icon, a solution would be to initially display a button with the text copy. When clicking on it turn the text to copied to clipboard, and after a given time switch back to the initial state.
If not relevant, feel free to close that issue :)

On it.
Will make a PR for that.

@Cahllagerfeld Great idea, this is fixed in #3


Update hello-world GETTING_STARTED.md to match simplified exercise

Closes #265.

One thing I noticed looking at the next several exercises is that most of them don't include a src/lib.rs at all, but a few have one with all the necessary public functions defined (with unimplemented!() bodies). The latter seems a lot smoother to pick up and would reduce the need for extra process instructions compared to the former.

What I see from #117 and #200 is definite agreement there should be a src/lib.rs. There wasn't agreement on whether it should be empty or contain the function signatures.
I think we can get wider agreement on signatures for the initial exercises, to help people start. On later exercises, even if we can't agree, an empty src/lib.rs would be good.


Fix incorrect placement of port= when getting port from environ.

Looks like b6597671bd283673a58aea25bdc5360498a1a68a misplaced the int( slightly, causing problems.

Thanks for noticing, gladly merged.


Detect MEDICAL_LICENSE

A Medical License ensures that the practicing physician has all the necessary qualifications to practice in their field. It also verifies that the physician will abide by the code or standards of professional conduct while serving patients. A Medical License must be protected as a PII (Personal Identifiable Information) because it uniquely identifies specific individuals as those with the qualifications to safely practice medicine. If such information was compromised, malicious actors could potentially use the license to practice medicine and commit crimes using the individual's information. If a Medical License is compromised, the individual's medical future can be compromised. If you would like to read more about medical licensing click here.
Will detect numbers in the format of XX-00000-XX
I will use 12-34567-89 as a test
No Attempt is made to determine to validity of the Medical License

@jmgreen10 please assign this issue to yourself


Slice using loc returns new array, not view

Pull Request Test Coverage Report for Build<PHONE_NUMBER>
Details

1 of 1 (100.0%)  changed or added relevant line in 1 file are covered.
No unchanged relevant lines lost coverage.
Overall coverage remained the same at 81.14%

Totals

Change from base Build<PHONE_NUMBER>:
0.0%

Covered Lines:
116

Relevant Lines:
136

💛  - Coveralls


Add tests for multiple spaces

Adding tests for CG_1, CG_2, DG_0, DG_1, Quadrature_2 and Quadrature_4 and some small refactorings. For quadrature spaces we all need to pass the quadrature degree when performing integration.
For some reason, DG_0 fails for the spatial convergence tests, but this might be expected? Adding xfail (expected to fail) to that tests for now.
I am also wondering whether we can do the local project more efficiently. Since the projection is always between the same spaces, it should be possible to instantiate the local solver once and just update it during each call to solve_local_rhs, right?

Refactoring looks good !
I have updated the tests and they all pass now :

Spatial convergence tests : I don't think we can expect convergence rate of 2 for the PDE (CG1) when the ODE function has a lower order (DG0). Here is the udpate))
Temporal convergence tests : Euler scheme converges with order one in time so this is what we should except and what we have

I agree with you on the local project. I just wanted to test the implementation of this local projector, taken from a demo in FEniCS (legacy) : elastodynamics/demo_elastodynamics.py. We can certainly make it more efficient.


fix: mixing runtimes and architectures

while running a setup where combining Python and NodeJS lambda's, I ran into a couple of issues:

packaging of mixed runtime (as mentioned in #688 ) would lead to the following error:

STDOUT:  Error:
[OperationalError: ENOENT: no such file or directory, scandir '.serverless/requirements'] {
  cause: [Error: ENOENT: no such file or directory, scandir '.serverless/requirements'] {
    errno: -2,
    code: 'ENOENT',
    syscall: 'scandir',
    path: '.serverless/requirements'
  },
  isOperational: true,
  errno: -2,
  code: 'ENOENT',
  syscall: 'scandir',
  path: '.serverless/requirements'
}

dockerizePip image would always default to provider.runtime / provider.architecture
which would lead to the following error:

Running "docker run --rm <mounts> -u 0 public.ecr.aws/sam/build-nodejs18.x:latest-arm64 python -m pip install -t /var/task/ -r /var/task/requirements.txt --cache-dir /var/useDownloadCache" failed with: "/usr/bin/python: No module named pip"

therefore I've adjusted

zipping to be to only be performed on either functions which runtimes are specifically python, or no runtime is set and provider.runtime is python3.

to take function options as argument for retrieving the docker image.

cc: @pgrzesik - would be great if you could take a look whenever time permits!


ENABLE_LOCAL_PATH_MIGRATION integrated?

see
https://github.com/gogits/gogs/issues/4033#issuecomment-275539518
https://github.com/gogits/gogs/commit/ae319da5fd91c102b387296f9884401e120f9b79
ref https://github.com/go-gitea/gitea/issues/715

Is this option already integrated or does Gitea behave in a similar way (just without an option to change the behaviour?)?

---
Want to back this issue? **[Post a bounty on it!](https://www.bountysource.com/issues/41909009-enable_local_path_migration-integrated?utm_campaign=plugin&utm_content=tracker%2F47456670&utm_medium=issues&utm_source=github)** We accept bounties via [Bountysource](https://www.bountysource.com/?utm_campaign=plugin&utm_content=tracker%2F47456670&utm_medium=issues&utm_source=github).

As far as I see in 1.0.1 the local server path import is still possible at least for admins. As said, I also want to disable that.

In Gitea, the option is called IMPORT_LOCAL_PATHS: https://github.com/go-gitea/gitea/blob/master/conf/app.ini#L181

Even after setting it to false in the UI is is sill shown "or a local server path". (German version)

The UI still shows but the app.ini setting will trump the user's permission.

So this is not an issue?

A wrong UI is IMHO an issue.

Which UI? Could you change this issue's title and put some screenshot here? Or maybe you can fire another issue and close this one?

See @minecrafter replies…

I cannot reproduce it on current master 7eb8daf, please see https://github.com/go-gitea/gitea/blob/7eb8daffa3181f6bae7aac95d536c68c6bed0e33/templates/repo/migrate.tmpl#L15 and https://github.com/go-gitea/gitea/blob/7eb8daffa3181f6bae7aac95d536c68c6bed0e33/models/user.go#L235 . Please feel free to reopen it.

Ah indeed it is no UI issue, the option does not work in any way. In the config I've set IMPORT_LOCAL_PATHS = false under [security] but as a non-admin user I can still import local repos!
So please reopen. Users cannot do so on GitHub if repo admins close an issue.
Gitea v1.0.1

@rugk This feature is added to the latest master not to Gitea v1.0.1

Ah, that's the issue, I see…

Makred as invalid as it correctly works on master.

I can confirm it is fixed, however changing the UI would still be nice. It is not useful to first offer the user to "import local repos" and then say, they do not have the privileges to do so, when they actually (try to) do it.


[Release-1.26] add format command on makefile

backport for https://github.com/k3s-io/k3s/pull/7437
PR https://github.com/k3s-io/k3s/pull/7762

Closing as this is more of a developer helper. No QA needed


add --serial and --parallel options

A whole bunch of people have asked for these.
Runs as parallel as possible while respecting the dep graph: (safest)
bolt workspaces exec -- cmd

Runs as parallel as possible ignoring the dep graph: (fastest)
bolt workspaces exec --parallel -- cmd

Runs sequentially: (slowest)
bolt workspaces exec --serial -- cmd

I just added this into runPackageTasks so anything that runs across all your packages should now support these flags.
I also want to add a --concurrency <n> option for setting a limit of max processes to spawn at any given time. I've set up the basis for adding that, but I wasn't sure how I wanted to do it in code yet so I left it out as a TODO.
cc @kayneb

Sweet, LGTM.
Will release a minor version?

Released in bolt 0.22.0


Update error for plugins with the 'rev' indicator

Problem
Plugins with the rev indicator get an error on update:

You are not currently on a branch. Please specify which branch you want to merge with. See git-pull(1) for details.^@^@    git pull

The reason is that plugins with rev are being checked-out as "detached" branches which are read-only, git-pull is not permitted on a detached branch.
Expect
I would expect to see no errors when updating my plugins.
Reproduce
Minimal .vimrc:
if has('vim_starting')
  set nocompatible
  set runtimepath+=~/.vim/bundle/neobundle.vim/
endif

call neobundle#begin(expand('~/.vim/bundle'))
NeoBundleFetch 'Shougo/neobundle.vim'
NeoBundle 'pangloss/vim-javascript.git', { 'rev': '51a337b' }
NeoBundle 'groenewege/vim-less.git', { 'rev': '5d965c2' }
call neobundle#end()

filetype plugin indent on
NeoBundleCheck

Open vim and let NeoBundle install plugins.
Run :NeoBundleUpdate! (force) to update plugins.
Run :message.

Notice the errors for plugins with the rev indicator.
Ideas
I can think of some solutions:
Option A: Use real branch
When a plugin has a rev, do not detach, checkout with a real branch e.g. git checkout -b rev 63f0392
Option B: Check current revision
Before pulling, if (a) plugin has rev AND (b) already cloned, verify current revision and cancel pulling if current revision == rev indicator.
Option C: Checkout master
Before pulling, if (a) plugin has rev, AND (b) already cloned, checkout the local branch master. (git checkout master)
Hope this helps..

Mmm I'm having a similar problem. With  the following minimal vimrc:
set nocompatible

let $ONEDRIVE_HOME = expand('C:/OD/Users/Pedro')
let $DOTVIM = expand('$ONEDRIVE_HOME/vimfiles')
set runtimepath+=$DOTVIM/bundle/neobundle/

call neobundle#begin(expand('$DOTVIM/bundle/'))
NeoBundleFetch 'Shougo/neobundle.vim', {'name' : 'neobundle'}
NeoBundle 'bling/vim-airline', {'name' : 'airline'}
call neobundle#end()

filetype plugin indent on
NeoBundleCheck

set laststatus=2
set noshowmode

If I run NeoBundleUpdate airline I get an error saying:
You are not currently on a branch. Please specify which
branch you want to merge with. See git-pull(1) for details.

If i install airline like this: NeoBundle 'bling/vim-airline', {'rev' : 'master', 'name' : 'airline'} the problem disappears. Why do I need to specify the branch?

I think you checkouted the commit in the repository.
If you set 'rev', neobundle execute "git checkout master" automatically.

@Shougo I don't know why this happened (I never checkouted a commit) but doing git checkout master fixes my problem. Sorry for the noise and thanks for the help.

I am having this problem with YouCompleteMe, UltiSnips and Syntastic. I do weekly updates and these three always run into this issue.


nightly CI tests are failing

could you also look into the CI failures on nightly?
Originally posted by @est31 in https://github.com/RustAudio/rodio/issues/552#issuecomment-1996267272

could you also look into the CI failures on nightly?

Originally posted by @est31 in https://github.com/RustAudio/rodio/issues/552#issuecomment-1996267272


Add Mina_user_error.raise

This PR

adds a Mina_user_error library

this contains only the special Mina_user_error exception that we handle at crash and a raise function to raise it

converts the No seed or initial peer flags passed error to use it

This deliberately doesn't convert more configuration errors so that we can bikeshed on the format etc. if necessary without having to redo changes for them all.
Relevant issue: #6683
Sample:
2020-11-13 22:30:45 UTC [Info] Loading "genesis_ledger" from $path
        path: "/home/matthew/.coda-config/genesis/genesis_ledger_test_b71200e311d3c66fa09a4f02f92d1a413358c6c4ae4f1ca7ab39270becf1d838.tar.gz"
2020-11-13 22:30:45 UTC [Info] Found genesis proof file at $path
        path: "/home/matthew/.coda-config/genesis/genesis_proof_86e54321481e020ec2762cbafa6d0fcf99ca5647fac690d08c61242ba850ef86"
2020-11-13 22:30:45 UTC [Info] Loaded ledger from $ledger_file and genesis proof from $proof_file
        ledger_file: "/home/matthew/.coda-config/genesis/genesis_ledger_test_b71200e311d3c66fa09a4f02f92d1a413358c6c4ae4f1ca7ab39270becf1d838.tar.gz"
        proof_file: "/home/matthew/.coda-config/genesis/genesis_proof_86e54321481e020ec2762cbafa6d0fcf99ca5647fac690d08c61242ba850ef86"

  ☠  Coda Daemon encountered a configuration error.

No seed or initial peer flags passed

The optional ~where argument is intended to give more context. For example,
Mina_user_error.raise ~where:"while loading keys" "No password was specified in $ENV_VAR"

will generate
...

  ☠  Coda Daemon encountered a configuration error while loading keys.

No password was specified in $ENV_VAR

Checklist:

[ ] Document code purpose, how to use it

Mention expected invariants, implicit constraints

[ ] Tests were added for the new behavior

Document test purpose, significance of failures
Test names should reflect their purpose

[ ] All tests pass (CI will check this if you didn't)
[ ] Serialized types are in stable-versioned modules
[ ] Does this close issues? List them:

Can you include an "ERROR" or "FATAL" prefix on the   ☠  Coda Daemon encountered a configuration error line? As of now it looks less scary than the existing behavior which is not necessarily better. Beyond that I think it looks good and different enough from other failures that we can easily point out in documentation that these errors should be fixable and are not bugs.
For the messages also I think it should consistently explain how to fix the issue (like printing the specific -peer flags that would prevent "no seed or initial peer flags set").

Updated. That particular error now reads:
...

FATAL ERROR

  ☠  Coda Daemon encountered a configuration error.

No peers were given.

Pass one of -peer, -peer-list-file, -seed.


Making an icon for COVID-19

add an icon on the left side of the body with the template

@Darshanapujar  we need your review here. what do you think about this icon?

pull request 89


python311Packages.beartype: 0.16.4 -> 0.17.1

Automatic update generated by nixpkgs-update tools. This update was made based on information from passthru.updateScript.
meta.description for python311Packages.beartype is: Fast runtime type checking for Python
meta.homepage for python311Packages.beartype is: https://github.com/beartype/beartype
meta.changelog for python311Packages.beartype is: https://github.com/beartype/beartype/releases/tag/v0.17.0
Updates performed

Ran passthru.UpdateScript

To inspect upstream changes
Impact
Checks done

built on NixOS
The tests defined in passthru.tests, if any, passed
found 0.17.0 with grep in /nix/store/8l3qjlsf1q7i6q68zl4hyggsqf0vykwf-python3.11-beartype-0.17.0
found 0.17.0 in filename of file in /nix/store/8l3qjlsf1q7i6q68zl4hyggsqf0vykwf-python3.11-beartype-0.17.0

Rebuild report (if merged into master) (click to expand)

14 total rebuild path(s)

14 package rebuild(s)

First fifty rebuilds by attrpath
checkov
python311Packages.beartype
python311Packages.equinox
python311Packages.k-diffusion
python311Packages.nptyping
python311Packages.pynrrd
python311Packages.rotary-embedding-torch
python311Packages.scancode-toolkit
python311Packages.spdx-tools
python312Packages.beartype
python312Packages.nptyping
python312Packages.pynrrd
python312Packages.spdx-tools
tts

Instructions to test this update (click to expand)

Either download from Cachix:
nix-store -r /nix/store/8l3qjlsf1q7i6q68zl4hyggsqf0vykwf-python3.11-beartype-0.17.0 \
  --option binary-caches 'https://cache.nixos.org/ https://nix-community.cachix.org/' \
  --option trusted-public-keys '
  nix-community.cachix.org-1:mB9FSh9qf2dCimDSUo8Zy7bkq5CX+/rkCWyvRCYg3Fs=
  cache.nixos.org-1:6NCHdD59X431o0gWypbMrAURkbJ16ZPMQFGspcDShjY=
  '

(The Cachix cache is only trusted for this store-path realization.)
For the Cachix download to work, your user must be in the trusted-users list or you can use sudo since root is effectively trusted.
Or, build yourself:
nix-build -A python311Packages.beartype https://github.com/r-ryantm/nixpkgs/archive/e278e332d5541cf3d18454e8ad5f0f668a725c3f.tar.gz

Or:
nix build github:r-ryantm/nixpkgs/e278e332d5541cf3d18454e8ad5f0f668a725c3f#python311Packages.beartype

After you've downloaded or built it, look at the files and if there are any, run the binaries:
ls -la /nix/store/8l3qjlsf1q7i6q68zl4hyggsqf0vykwf-python3.11-beartype-0.17.0
ls -la /nix/store/8l3qjlsf1q7i6q68zl4hyggsqf0vykwf-python3.11-beartype-0.17.0/bin

Pre-merge build results
We have automatically built all packages that will get rebuilt due to
this change.
This gives evidence on whether the upgrade will break dependent packages.
Note sometimes packages show up as failed to build independent of the
change, simply because they are already broken on the target branch.
Result of nixpkgs-review run on x86_64-linux 1

1 package marked as broken and skipped:

python312Packages.spdx-tools

5 packages failed to build:

python311Packages.nptyping
python311Packages.pynrrd
python312Packages.nptyping
python312Packages.pynrrd
tts

8 packages built:

checkov
python311Packages.beartype
python311Packages.equinox
python311Packages.k-diffusion
python311Packages.rotary-embedding-torch
python311Packages.scancode-toolkit
python311Packages.spdx-tools
python312Packages.beartype

Maintainer pings
cc @bcdarwin for testing.

@ofborg build python311Packages.nptyping

Automatic update generated by nixpkgs-update tools. This update was made based on information from passthru.updateScript.
meta.description for python311Packages.beartype is: Fast runtime type checking for Python
meta.homepage for python311Packages.beartype is: https://github.com/beartype/beartype
meta.changelog for python311Packages.beartype is: https://github.com/beartype/beartype/releases/tag/v0.17.1
Updates performed

Ran passthru.UpdateScript

To inspect upstream changes
Impact
Checks done

built on NixOS
The tests defined in passthru.tests, if any, passed
found 0.17.1 with grep in /nix/store/mpk7ai3n82n8v25sb6znbbrhlvny0q87-python3.11-beartype-0.17.1
found 0.17.1 in filename of file in /nix/store/mpk7ai3n82n8v25sb6znbbrhlvny0q87-python3.11-beartype-0.17.1

Rebuild report (if merged into master) (click to expand)

14 total rebuild path(s)

14 package rebuild(s)

First fifty rebuilds by attrpath
checkov
python311Packages.beartype
python311Packages.equinox
python311Packages.k-diffusion
python311Packages.nptyping
python311Packages.pynrrd
python311Packages.rotary-embedding-torch
python311Packages.scancode-toolkit
python311Packages.spdx-tools
python312Packages.beartype
python312Packages.nptyping
python312Packages.pynrrd
python312Packages.spdx-tools
tts

Instructions to test this update (click to expand)

Either download from Cachix:
nix-store -r /nix/store/mpk7ai3n82n8v25sb6znbbrhlvny0q87-python3.11-beartype-0.17.1 \
  --option binary-caches 'https://cache.nixos.org/ https://nix-community.cachix.org/' \
  --option trusted-public-keys '
  nix-community.cachix.org-1:mB9FSh9qf2dCimDSUo8Zy7bkq5CX+/rkCWyvRCYg3Fs=
  cache.nixos.org-1:6NCHdD59X431o0gWypbMrAURkbJ16ZPMQFGspcDShjY=
  '

(The Cachix cache is only trusted for this store-path realization.)
For the Cachix download to work, your user must be in the trusted-users list or you can use sudo since root is effectively trusted.
Or, build yourself:
nix-build -A python311Packages.beartype https://github.com/r-ryantm/nixpkgs/archive/b9f83098d3aeb8fbb69fe92b2c281d5a1194258b.tar.gz

Or:
nix build github:r-ryantm/nixpkgs/b9f83098d3aeb8fbb69fe92b2c281d5a1194258b#python311Packages.beartype

After you've downloaded or built it, look at the files and if there are any, run the binaries:
ls -la /nix/store/mpk7ai3n82n8v25sb6znbbrhlvny0q87-python3.11-beartype-0.17.1
ls -la /nix/store/mpk7ai3n82n8v25sb6znbbrhlvny0q87-python3.11-beartype-0.17.1/bin

Pre-merge build results
We have automatically built all packages that will get rebuilt due to
this change.
This gives evidence on whether the upgrade will break dependent packages.
Note sometimes packages show up as failed to build independent of the
change, simply because they are already broken on the target branch.
Result of nixpkgs-review run on x86_64-linux 1

1 package marked as broken and skipped:

python312Packages.spdx-tools

7 packages failed to build:

checkov
python311Packages.k-diffusion
python311Packages.nptyping
python311Packages.pynrrd
python312Packages.nptyping
python312Packages.pynrrd
tts

6 packages built:

python311Packages.beartype
python311Packages.equinox
python311Packages.rotary-embedding-torch
python311Packages.scancode-toolkit
python311Packages.spdx-tools
python312Packages.beartype

Maintainer pings
cc @bcdarwin for testing.

Automatic update generated by nixpkgs-update tools. This update was made based on information from passthru.updateScript.
meta.description for python311Packages.beartype is: Fast runtime type checking for Python
meta.homepage for python311Packages.beartype is: https://github.com/beartype/beartype
meta.changelog for python311Packages.beartype is: https://github.com/beartype/beartype/releases/tag/v0.17.2
Updates performed

Ran passthru.UpdateScript

To inspect upstream changes
Impact
Checks done

built on NixOS
The tests defined in passthru.tests, if any, passed
found 0.17.2 with grep in /nix/store/gjl922pw2y4k9iahahgxjhwpxb8gzwbh-python3.11-beartype-0.17.2
found 0.17.2 in filename of file in /nix/store/gjl922pw2y4k9iahahgxjhwpxb8gzwbh-python3.11-beartype-0.17.2

Rebuild report (if merged into master) (click to expand)

14 total rebuild path(s)

14 package rebuild(s)

First fifty rebuilds by attrpath
checkov
python311Packages.beartype
python311Packages.equinox
python311Packages.k-diffusion
python311Packages.nptyping
python311Packages.pynrrd
python311Packages.rotary-embedding-torch
python311Packages.scancode-toolkit
python311Packages.spdx-tools
python312Packages.beartype
python312Packages.nptyping
python312Packages.pynrrd
python312Packages.spdx-tools
tts

Instructions to test this update (click to expand)

Either download from Cachix:
nix-store -r /nix/store/gjl922pw2y4k9iahahgxjhwpxb8gzwbh-python3.11-beartype-0.17.2 \
  --option binary-caches 'https://cache.nixos.org/ https://nix-community.cachix.org/' \
  --option trusted-public-keys '
  nix-community.cachix.org-1:mB9FSh9qf2dCimDSUo8Zy7bkq5CX+/rkCWyvRCYg3Fs=
  cache.nixos.org-1:6NCHdD59X431o0gWypbMrAURkbJ16ZPMQFGspcDShjY=
  '

(The Cachix cache is only trusted for this store-path realization.)
For the Cachix download to work, your user must be in the trusted-users list or you can use sudo since root is effectively trusted.
Or, build yourself:
nix-build -A python311Packages.beartype https://github.com/r-ryantm/nixpkgs/archive/e28da2b04c3b852e4f4dfdf30d8312d6a34d0af8.tar.gz

Or:
nix build github:r-ryantm/nixpkgs/e28da2b04c3b852e4f4dfdf30d8312d6a34d0af8#python311Packages.beartype

After you've downloaded or built it, look at the files and if there are any, run the binaries:
ls -la /nix/store/gjl922pw2y4k9iahahgxjhwpxb8gzwbh-python3.11-beartype-0.17.2
ls -la /nix/store/gjl922pw2y4k9iahahgxjhwpxb8gzwbh-python3.11-beartype-0.17.2/bin

Pre-merge build results
We have automatically built all packages that will get rebuilt due to
this change.
This gives evidence on whether the upgrade will break dependent packages.
Note sometimes packages show up as failed to build independent of the
change, simply because they are already broken on the target branch.
Result of nixpkgs-review run on x86_64-linux 1

1 package marked as broken and skipped:

python312Packages.spdx-tools

6 packages failed to build:

checkov
python311Packages.nptyping
python311Packages.pynrrd
python312Packages.nptyping
python312Packages.pynrrd
tts

7 packages built:

python311Packages.beartype
python311Packages.equinox
python311Packages.k-diffusion
python311Packages.rotary-embedding-torch
python311Packages.scancode-toolkit
python311Packages.spdx-tools
python312Packages.beartype

Maintainer pings
cc @bcdarwin for testing.

Already on master.


lv_ta password issue

The following code should leave "1234" in buff but actually leaves "***4":
lv_obj_t *pin_inp = lv_ta_create(lv_scr_act(), NULL);
lv_ta_set_one_line(pin_inp, true);
lv_ta_set_pwd_mode(pin_inp, true);
lv_ta_set_text(pin_inp, "");
lv_ta_set_cursor_pos(pin_inp, LV_TA_CUR_LAST);
lv_ta_add_char(pin_inp, '1');
lv_ta_set_cursor_pos(pin_inp, LV_TA_CUR_LAST);
lv_ta_add_char(pin_inp, '2');
lv_ta_set_cursor_pos(pin_inp, LV_TA_CUR_LAST);
lv_ta_add_char(pin_inp, '3');
lv_ta_set_cursor_pos(pin_inp, LV_TA_CUR_LAST);
lv_ta_add_char(pin_inp, '5');
lv_ta_set_cursor_pos(pin_inp, LV_TA_CUR_LAST);
lv_ta_del(pin_inp);
lv_ta_set_cursor_pos(pin_inp, LV_TA_CUR_LAST);
lv_ta_add_char(pin_inp, '4');
char buff[5];
strcpy(buff, lv_ta_get_txt(pin_inp));

It was already fixed but since then there was a lot of updates on Text Area and somehow it was overwritten. Now I cleaned the branches. I hope it won't happen again. Or at least not soon :)
Please update misc to beta too.
Now the UTF-8 support is merged to beta. It might be useful for you. Please. check the FONT and TEXT section of misc_conf_templ.h to see the news.

Updated to beta and it's all fixed now.
UTF8 support is a good move!


remote: Add runtime class

Add new kata-remote runtime class for peer pods configuration support

Fixes: #186

Hi @stevenhorsman , I was wondering why you didn't change the config/samples/ccruntime/default/kustomization.yaml file but it is explained in the issue #186. You have opted for the first case, right?
I was also thinking that maybe we could have "kata-remote" and "kata-remote-caa" (the former defaulting to latest) because, in theory, we could have other remote implementations than CAA into the future. Or I am wrong and CAA is the only possible remote implementation?

Hi @stevenhorsman , I was wondering why you didn't change the config/samples/ccruntime/default/kustomization.yaml file but it is explained in the issue #186. You have opted for the first case, right?

Yeah - in the absence of any feedback I figured the safest option was to keep it separate as it's easier to merge later than unpick

I was also thinking that maybe we could have "kata-remote" and "kata-remote-caa" (the former defaulting to latest) because, in theory, we could have other remote implementations than CAA into the future. Or I am wrong and CAA is the only possible remote implementation?

Yeah, I'm not against this and have thought about it before. Again I picked kata-remote out of simplicity when I created the kata configuration files (which I think have to match the runtimeclass), but I'm not against renaming this after 0.5 - just trying to limit the number of changes going in late in the release.
That said, if you feel strongly about doing these now then I can try and rework them.

Hi @stevenhorsman , I was wondering why you didn't change the config/samples/ccruntime/default/kustomization.yaml file but it is explained in the issue #186. You have opted for the first case, right?

Yeah - in the absence of any feedback I figured the safest option was to keep it separate as it's easier to merge later than unpick

Got it!

I was also thinking that maybe we could have "kata-remote" and "kata-remote-caa" (the former defaulting to latest) because, in theory, we could have other remote implementations than CAA into the future. Or I am wrong and CAA is the only possible remote implementation?

Yeah, I'm not against this and have thought about it before. Again I picked kata-remote out of simplicity when I created the kata configuration files (which I think have to match the runtimeclass), but I'm not against renaming this after 0.5 - just trying to limit the number of changes going in late in the release.

It's fair.

That said, if you feel strongly about doing these now then I can try and rework them.

Nope, let's keep it simple.

/test-clh

It looks like the CLH test did run and pass (http://jenkins.katacontainers.io/view/all/job/confidential-containers-operator-main-ubuntu-20.04-x86_64-containerd_kata-clh-PR/118/), but didn't report back for whatever reason, I think it's safe to merge this based on that.

/test


vehilceRentalApp initial setup

PR Title
vehilceRentalApp initial setup
Description of Changes
updated readme.md file
Sections Changed

add new folder
software development
updated readme file

Screenshots

Review Request
@parthasarathydNU
Checklist Before Submission

[yes ] I have reviewed the contribution guidelines.
[yes ] I have ensured my PR adheres to the project scope and contribution guidelines.
[ yes] All links in my PR are set to public access.

@parthasarathydNU, updated PR as per your comments


CloudflareError 1020, Access denied (Custom Firewall Rules)

What version of Cloudscraper are you using?

v4.5.0

What version of Node.js are you using? (Please share the process information)

v12.12.1

How often does the problem occur?
Always, it only works with my home ip.
What is the URL? https://haapi.ankama.com/json/Ankama/v2/Api/CreateApiKey
Are there any similar issues? (Please share the links)
https://github.com/codemanki/cloudscraper/issues/266
https://github.com/codemanki/cloudscraper/issues/264

[X] I have read the README. (Code examples)

Same issue as #266
I have changed the header, cipher key several times, and the request doesn't work when I change ip
cloudscraper.defaultParams.agentOptions.ciphers = ':!ECDHE+SHA:!AES128-SHA:!AESCCM:!DHE:!ARIA';

I am having the same issue, i tried several things with no success.

I have this issue too.

I have this issue too.

I suppose you are using proxys, i have the same issue with them, that's why i dont use them...

Yes it works without proxy

@pyrocept add me on discord : Syliaz#1452

@codemanki Will you please tell @Syliaz who I am? He's being retarded.

Like, I wrote the issue template that used to create this issue... C'mon! lol

Like, I wrote the issue template that you used to create this issue... C'mon! lol

Lmao, you proposed 250$ to fix the issue for something that is already free...
Scammer detected

Keep ur private version

Whoa... That's uncalled for... I'm going to kindly ask @codemanki to delete those comments... Not cool at all

If I wouldn't have stepped away from the project. I would delete them myself. So thanks for appreciating my work and privacy.

Lmao, you proposed 250$ to fix the issue for something that is already free...
Scammer detected

Not at all. That was a legit business offer and it's free why don't you just go and put the info out then... But you can't so there's that.

Look guys, I loved contributing to this open source project and I want to help every time I see a new issue but it's complicated. I sought to help you privately while earning a little side dough. Like I have quite a few people who keep coming back for more business. Anyways, I find your response upsetting and if you did know who I was then also I find it disrespectful since I've put a lot of time into this project for free for you guys.

Actually @dwayne-dev is the person who almost completely rewrote this library ( many thanks to him for that ) and contributed A LOT to this project. I don't see anything bad about him helping others with complicated cloudflare related projects, as this library only provides basic workarounds while clouflare allows to specify custom logic and rules which require manual investigation and coding.


Add support for dotnetcore

Hi, we want to use this package in dotnet core project
So, please make it compatible
warning NU1701: Package 'Smartling.Api 2.2.7' was restored using '.NETFramework,Version=v4.6.1' instead of the project target framework '.NETCoreApp,Version=v2.0'. This package may not be fully compatible with your project.

@dimitrystd Done. Project recreated with multi-targeting (.net 4.5 and .netstandard2.0).


Implemented cleaner label generation for script fields shown on editor.

As per @armandojaga's wish, the code generation script for scripts now generates cleaner editor labels for the fields.
The label cleaning takes underscores and camelCase or PascalCase strings into account and generates a label that is separated with spaces and casing that looks like "This Is A Label". Some examples are:

The field labels now look like:

sick! great work


Unicode README not displayed correctly

https://github.com/gocircuit/escher displays correctly in Chrome, but not in the Github app -  specifically the " smart quotes" are wrong.

This appears to be fixed in master already.


[FEATURE]: [Payeezy] Currency Unit Conversion

:memo: Feature Description

Each currency can be described in terms of base or minor units.
For instance, when dealing with USD currency, the Cent is considered as the minor unit, while the Dollar is considered the base unit.
In Hyperswitch, the amount value is expected to be always provided in minor units.
For example: In USD, If the amount is 1 in base unit (Dollar), then it will be equivalent to 100 in minor units (Cent)
Some of the connectors integrated require the amount to be converted to a desirable unit before being passed to them.
We have functions to_currency_base_unit and to_currency_lower_unit in place to convert the minor unit amount to its decimal equivalent and vice versa. These conversions are handled explicitly based on the connector.

:hammer: Possible Implementation

ConnectorCommon trait have been implemented for the connector.
This trait contains get_currency_unit method. This method needs to be implemented.
It will define what type of conversion needs to be done during connector_router_data creation. Concurrently handle the creation of connector_router_data to be passed for the connector request body creation.
You can check this PR for further reference https://github.com/juspay/hyperswitch/pull/2196

:bookmark: Note: All the changes needed should be contained within hyperswitch/crates/router/src/connector/
:package: Have you spent some time checking if this feature request has been raised before?

[X] I checked and didn't find a similar issue

:package: Have you read the Contributing Guidelines?

[X] I have read the Contributing Guidelines

:sparkles: Are you willing to submit a PR?

Can you please assign me this issue?

Hey @ShatilKhan, sure! I've assigned this to you.
In case you have any queries, you can ask them on this issue thread, or on our discord server, or on slack whichever you are comfortable with

I would like to work on this. Can you assign it to me?

Hey @aachal28, I see that you're already assigned to #2228 and are working on it. For now, we'll leave this issue open to any other interested contributors. You may pick this up once your work on #2228 is completed, and if no other contributors have expressed interest on this. I hope that's fine by you

Hey @ShatilKhan  ,
Let us know if you face any issues. Happy to help! : )

Hey @ShatilKhan ,
Just checking in - are you working on it or shall we consider reassigning it to someone else?

I'm on it @VedantKhairnar

Hey @ShatilKhan
Just checking in - are you working on it? Do you need help from our side?

Hello @ShatilKhan  , we didn't hear back from you, so we are unassigning you from this issue. If you are interested, we will assign you with other issues, if the current one is taken.

Hey @deepanshu-iiitu , could you please assign this issue to me?

Hey @adarsh-jha-dev , sure! I've assigned this to you.
In case you have any queries, you can ask them on this issue thread, or on our discord server, or on slack whichever you are comfortable with

Hey @adarsh-jha-dev , sure! I've assigned this to you.
In case you have any queries, you can ask them on this issue thread, or on our discord server, or on slack whichever you are comfortable with

Hey @swangi-kumari , I have raised a PR for this issue, could you please have a look at it and let me know if there are changes required.


Fix configuring logging to an existing logger object

The following code from the README would fail:
Capybara::Lockstep.debug = Rails.logger

@triskweline I added some tests

Thanks @dorianmarie ! I actually never tested this with a logger before.
While reviewing this code I noticed that the debug= setter probably has another problem when called with a Logger object, as we should not call #to_json on a Logger:
https://github.com/makandra/capybara-lockstep/blob/38f7b86292972d709bf1bda8bc7509b6828efec9/lib/capybara-lockstep/configuration.rb#L37-L39
Should we do this instead?
        send_config_to_browser(<<~JS)
          CapybaraLockstep.debug = #{!!value.to_json}
        JS

!!value.to_json would always return true as value.to_json is called before !!, I opted to use debug?.to_json which converts the debug object to a boolean.
What do you think?

Released as 2.0.2. Thanks @dorianmarie !

Thanks @triskweline you are awesome


[Bug] Footer Breaks in smaller screens

I have found that footer of menstrualcycle.html pregnancy.html and womenhealth.html pages breaks in smaller screen size.
This must be fixed.
Screenshots :

Assign me this issue under JWOC '2023 @nisha331

Footer is being changed at this moment . KIndly get back to the issue after that pr is merged


[TASK] Auto sync the test cases in Qase.io

What's the task? Please describe
We need to have all the test cases on Qase in sync with https://longhorn.github.io/longhorn-tests/manual/. Any changes we do to our test cases (add/edit) on https://longhorn.github.io/longhorn-tests/manual/ should reflect on Qase too.
Describe the sub-tasks

[ ] Add a Jenkins job which will run a cron job daily and update the test cases in Qase
[ ] Alternatively, we can have a workflow in Github which will sync the test case on Qase on each test case commit.

Additional context

The github action for syncing manual test cases has been implemented in https://github.com/longhorn/longhorn-tests/pull/2066.
For robot test cases and legacy pytest test cases, further investigation is still needed to determine the best approach.


go/types: compiling hangs

The following program takes 1+ hours to compile, aborted after that:
package a
var g = 1e81391777742999

Package should either analyze it in a reasonable amount of time (seconds) or give an error if it cannot chew it. Compiling a single line of code for hours does not make sense.
on commit af817890aa7b628234075a6cb01a3a435fb8317d

I propose that gc/types employ exactly the same logic as gc compiler:
https://go-review.googlesource.com/#/c/11673/1/src/cmd/compile/internal/gc/mparith3.go

Both go tool vet and the command vet hang in this case.

This one is important. @griesemer, can you take a look? Thanks.

Started.

The largest decimal exponent that needs to be accepted is 646456992 (approx. 2**MaxInt32). See also issue #11326.


Avoid repeating the enum name in the enum variants

There are several places where we repeat the enum name in each enum variant:

UART: https://github.com/esp-rs/esp-hal/blob/main/esp-hal/src/uart.rs#L338-L385

Maybe it's fine for StopBits

SPI:  Command, SpiMode/Mode, and Address

We will have to come up with a way of having numbers on variant names, maybe using _<number>

I think Partity should be changed to  None, Even, Odd. Then we would need to decide a way to name numerics variants, the most difficult being StopBits (as it has 1.5 variant), here are some options:

Stop1, Stop1p5... stm32h7xx-hal  (This repeats partially the enum name)
STOP1, STOP1P5.... embassy (This repeats partially the enum name)
ONE, ONE_POINT_FIVE... uefi-rs
`ONE`, ONE_HALF`
_1, _1_5

See more examples here
I think I would go either with _number  or written number, so the "most weird scenario" would be StopBits::_1_5 or StopBits::OneHalf/StopBits::OnePointFive and Address::_28 or Address:TwentyEigth

Turns out, clippy can be configured and has avoid-breaking-exported-api: Suppress lints whenever the suggested change would cause breakage for other crates.. We may want to disable this while we are allowed to break API :)

One more variant: StopBits::One, StopBits::OneHalf, StopBits::Two
Something like StopBits::_1P5 really hurts my eyes. The all-upper-case naming violates the naming convention.

One more variant: StopBits::One, StopBits::OneHalf, StopBits::Two

That's a good one!

One more variant: StopBits::One, StopBits::OneHalf, StopBits::Two

Should be StopBits::OneAndAHalf or something in this case, as OneHalf is 0.5, so slightly less nice 😅

I quite like what we did for drive strength: https://docs.esp-rs.org/esp-hal/esp-hal/0.22.0/esp32c6/esp_hal/gpio/enum.DriveStrength.html, prefixing it with I for current (presumably, I don't actually know :sweat_smile:). Is there an appropriate prefix we could add here? Maybe StopBits::B1P5?


Error when trying to train VQ-GAN codebook model

Hi!
First of all, thank you very much for the amazing work and the code.
I am trying to train the VQ-GAN codebook model following your instructions from Step 1.
Although, if I run
python train.py --base configs/greatesthit_codebook.yaml -t True --gpus 0,
I get the following error:
FileNotFoundError: [Errno 2] No such file or directory: 'vocoder/logs/vggsound/best_netG.pt'`
What model is it referring to?
Thanks

Thank you for the issue. This refers to the MelGAN checkpoints that will be used to generate waveform from the spectrogram.
Though we will provide them later when we release the full checkpoint. You can also find these files from here, which is pre-trained by Iashin et.al. We used the same MelGAN in our projects. and you can place them according to the error information.
We will also update the README for this issue.
Thank you!

Thanks a lot for the quick answer


Wait for new react-router api, consider putting router state into global app state

@grabbou WDYT?
https://github.com/steida/comm/commit/df9bc24d3a2955bc6b432de6fa3d7807adcefea0

LGTM
AFAIK it's going to be discussed during React Europe, so we will have the ability to brainstorm our ideas with Ryan and Michael.
PS. A really simple props-state driven Router is what I would've died for! No more transitionTo just an action goToRoute issued from any place you want. This gives me a great inspiration to implement this for React Native as its still missing a really lightweight yet fun routing solution! este/react-native-router? :dancer:

#325 is implementation of the new Router API.

This is barely mergable, too many changes. I mean it's all righty but other PRs will break it in the meantime! :(

@grabbou No problem with rebasing on my side, I am trying to keep the PR minimal and only make the new Router work without warnings.

@XeeD Keep doing awesome work Lukáš! So glad you came to training to discover beauty of React and JS ecosystem :-)

@steida Thanks! Coming to the training was the best decision I've made in a long while :smile:

I will use it for http://www.learn-reactjs.com "What People Are Saying", can I? :-)

@XeeD And don't forget to write article please, thank you!


New updateMessage feature

Version 1.x used to have the updateMessage method which doesn't seem to have made the transition to later versions. I included the Chat facet in the RTM client to fix that.
I'm unsure how to test that the chat.update API call was made here without a valid token (sendMessage tests seem to have the same issue). Any thoughts?

Coverage increased (+0.2%) to 75.881% when pulling 20bed6f181701df5677a6533caa039d7e4f8c611 on PaulAsjes:paul/update-message into 4708d064da76e1e7a599bd3d1ba809e4bfe87423 on slackhq:master.

@PaulAsjes Looks like there is a merge conflict with your latest commit, can you fix?

Phew, lot of commits that didn't merge nicely. That'll teach me to be inactive.

Coverage decreased (-0.03%) to 84.145% when pulling ed80aec55003b095e273359a656abeba315bb54f on PaulAsjes:paul/update-message into 4fb8614a1793e874060139ebdf4615d9b195a8b1 on slackhq:master.

Coverage decreased (-0.03%) to 84.145% when pulling af193640d6f477ede00f2a4f3d6331836bdc6ec5 on PaulAsjes:paul/update-message into 4fb8614a1793e874060139ebdf4615d9b195a8b1 on slackhq:master.

👍


fix(ci): merge not squash on main

Fixes mergify.yml to merge, not squash, when merging into main.

Force merging so we can do a release


refactor: removed unecessary statement

Some cleanup

flaky test, will look into why it's flaky

merged into https://github.com/mcollina/undici/pull/45


Changed types to enum

Found another way of doing it, please try it.
import Avatar, { HatStyle } from "@zamplyy/react-native-nice-avatar"
...
<Avatar size={50} hatStyle={HatStyle.beanie} />


Update moe version to 1.3.2

The latest release is 1.3.0
Version 1.3.2 was a naming error and it got replaced by the right version a few days later as you can see in the releases.

Looks like a mistag on github. All the binaries are 1.3.2 latest in the maven repositories.

Well, if they accidentally released somehting as 1.3.2 then it would be the latest number (you can't delete that version). According to their blog release announcement, it should be 1.3.0.
https://multi-os-engine.org/blog/2017-03-16-moe-1.3.0-released/

Their tooling has also been bumped to target 1.3.2 SDK.
@rolandvigh can you confirm this is the correct version?

Sorry about that then... in the future I will not base judgement on the Github release tags and blog announcements.

Might make it easier if people associated with MOE had that association listed on their profiles - I'd not question the version number if I knew that it was a MOE team member that submitted the PR.

This PR modifies CHANGES in the 1.9.6 section, is this intended? :)


gcc9 - fix CryptoHash.h

This is simple - just need to explicitly declare the copy constructor.

[approve ci autest]


Improvements to error reporting when invalid wire connections have be…

Gives more information - i.e. within which composite the wiring error occurs - as part of the error message.

Hi Ingo,
If you could just fix those few formatting issues (see the details of Tests/lint), then I'll merge the changes in.
Thanks!


RE2022-290: Sample flattening pt1

Update indexes
Update main sample return method to handle matches and selections
Update get samples by ID method to handle flattened samples

Interesting codecov is telling me I added uncovered lines in files I didn't change


Update script fails and breaks Vikunja

Please verify that you have read and understood the guidelines.
yes
A clear and concise description of the issue.
When running the update script on the Vikunja LXC it fails with the error environment: line 73: APPLICATION: unbound variable.
After that Vikunja wont start.
What settings are you currently utilizing?

[X] Default Settings
[ ] Advanced Settings

Which Linux distribution are you employing?
Debian 12
If relevant, including screenshots or a code block can be helpful in clarifying the issue.

Please provide detailed steps to reproduce the issue.
Just run the update script inside the LXC.

How you have Installed Vikunja?


Create implementation-status.md

Adding implementation status across clients including Chrome, Opera, and prototype apps.

I signed it!

This markdown file was pushed to gh-pages which seems incorrect. Either it should be an HTML file and linked from the main physical-web page or it should be in master as a markdown file and linked from the main read.me.


Proof of concept - persisted feature metrics dashboard

Context
The feature metrics dashboard takes ~1.5 minutes to load. We need to make this faster.

Changes proposed in this pull request
This is a proof of concept which illustrates:

Using a dedicated table to hold the statistics we display on the dashboard.
Updating this table hourly via a Sidekiq worker.
Moving retrieval of all metrics into the FeatureMetricsDashboard ActiveRecord model.
Calling methods on an instance of this model when rendering the view.

Guidance to review

Does this work? Does it make sense?
Alternatives considered:

Optimise the existing SQL queries, especially for work history and magic links. I prioritised the approach in this PR instead, as the existing queries are fairly complex as is. Rather than additional SQL complexity, I've opted for more complexity around the update mechanism for the dashboard. This is probably easier to reason about and gives us the biggest speed increase.

Link to Trello card
https://trello.com/c/NAENgBR6

Things to check

[ ] This code does not rely on migrations in the same Pull Request
[ ] If this code includes a migration adding or changing columns, it also backfills existing records for consistency
[ ] API release notes have been updated if necessary
[ ] New environment variables have been added to the Azure config

Thanks for the feedback @stevehook .
Closing this PR for now while I work on the actual implementation. Will be proceeding with the approach outlined here, with the likely change of using a JSONB column for the data.