mount storage for jenkins_home

Overview
Settings changes for both Jenkins and its plugins are not being persisted across restarts. This PR aims at providing persistence for those settings. It defines a storage in metadate.yaml and mount it to jenkins home directory. Integration tests will also be added for this scenario (todo).
Checklist

[x] The charm style guide was applied
[x] The contributing guide was applied
[x] The changes are compliant with ISD054 - Managing Charm Complexity
[x] The documentation is generated using src-docs
[x] The documentation for charmhub is updated.
[x] The PR is tagged with appropriate label (urgent, trivial, complex)

Could you fill in the PR description?

updated and converted to draft to finalize


Optimization

Additional safety for make_item function.

Able to merge after review comments are being addressed
Also, commits are better squashed before PRing to keep project's git history clean.
Run git diff origin/master to review what goes to PR


helm lint documentation misleading

Output of helm version:
$ helm version --client
Client: &version.Version{SemVer:"v2.12.3", GitCommit:"eecf22f77df5f65c823aacd2dbd30ae6c65f186e", GitTreeState:"clean"}

helm lint --help shows this documentation:
      --strict                   fail on lint warnings

However, this seems wrong. When I run helm lint ..., I get no output. When I run with helm lint --strict ... I get error messages.
My expectation is that I get warnings, an that if I enable --strict those result in an exit code of 1. But the warnings should always show up!.
Demo with https://github.com/istio/installer:
$ helm lint istio-control/istio-discovery -f global.yaml
==> Linting istio-control/istio-discovery
Lint OK

1 chart(s) linted, no failures
$ helm lint istio-control/istio-discovery -f global.yaml --strict
==> Linting istio-control/istio-discovery
[ERROR] templates/: render error in "istio-discovery/templates/deployment.yaml": template: istio-discovery/templates/deployment.yaml:15:32: executing "istio-discovery/templates/deployment.yaml" at <include (print $.Tem...>: error calling include: template: istio-discovery/templates/configmap.yaml:52:18: executing "istio-discovery/templates/configmap.yaml" at <.Values.pilot.authPo...>: map has no entry for key "authPolicy"

Error: 1 chart(s) linted, 1 chart(s) failed

Same with v2.14.2

I think this is related to #5992 and overall issues with linting.

I hit this issue on the helm v3 which I make a build from source code.

I have found the issue that causes this. --strict also turns on extra flags in the template engine which will report errors if a template value evaluates to nil.
There is a PR here to change that behavior. Please weigh in if you have thoughts about whether you would like to see this behavior changed: #8017

Closed by #8017


performance.getEntriesByName('first-contentful-paint')[0] is undefined

While reviewing some of the Web Vitals data that I've gathered over the past few weeks, I noticed that performance.getEntriesByName('first-contentful-paint')[0] is sometimes undefined. I've mainly noticed the issue in Safari browsers (versions 8 through 14), but the getFCP() function is supported according to the README. Should there be a check to ensure the array is not empty?

getEntriesByName is not supported in safari 10. https://caniuse.com/?search=getEntriesByName
Add below code before web-vitals is OK for me.
if (!window.performance.getEntriesByName) {
    window.performance.getEntriesByName = () => [];
}

What version of this library are you using? A check for window.performance.getEntriesByName was added in version 2.0.1.


Upgrade TX Builder to v1.2.0

Update TX Builder to show to field for all address/abi inputs
This fixes the issue where loading an ABI using a Master Copy address didn't show the to field, not allowing users to interact with the desired address

Why the ipfs though? We have a production deployment, don't we?

@mikheevm all apps moved to IPFS when we tried to handle it this way. I think that the production deployment wasn't moved to Github Actions when we did the change. Also this way we could control the deployment faster, long time not asking devops to update that static instance


document.querySelector can't find certain elements?

Steps to reproduce
Tell us about your environment:

Puppeteer version:
Platform / OS version: Mac OS 10.11.6
URLs: https://news.ycombinator.com/
Node.js version: 12.5.0

What steps will reproduce the problem?
I am trying to perform some basic scraping of hacker news (a basic test site), and I cannot figure out how to simply grab some text via document.querySelector('selector').text().  However, I have found out that cheerio, an outside implementation of jquery, unexpectedly produces the expected results :/.
Please include code that reproduces the issue.
const puppeteer = require("puppeteer");
const cheerio = require('cheerio');

async function run(){
  const browser = await puppeteer.launch({
    headless: false,
    args: ["--disable-features=CrossSiteDocumentBlockingAlways,CrossSiteDocumentBlockingIfIsolating"]
  });
  const page = await browser.newPage();
  await page.setViewport({ width: 1600, height: 800 });
  await page.setBypassCSP(true);

  await page.goto('https://news.ycombinator.com/');

  // This works; using cheerio to manually inject jquery into page.
  const html = await page.content();
  const $ = await cheerio.load(html);

  // Successfully printing text of a random article link on page
  await console.log($("*").find("tr#20440105").text());

  // Error here - I have not been able to find a way to 'select' any article link
  // in such a way that this ends up working.
  const text = await page.evaluate(() => document.querySelector("tr#20440105 > td:nth-child(3) > div > a").text();
  )
  await console.log(text);

}

run();

What is the expected result?
To simply print the text related to an article link. cheerio outputs the following, for a current link:
      30.      Seeing France’s Wild Mountains Through a Clouded, Classic Windshield (nytimes.com).
What happens instead?
I get the following error:
UnhandledPromiseRejectionWarning: Error: Evaluation failed: DOMException: Failed to execute 'querySelector' on 'Document': 'tr#20440105 > td:nth-child(3) > div > a' is not a valid selector.
Any help in getting the default document.querySelector to work would be much appreciated, since much of Puppeteer's functionality rests on it. Thanks ahead of time!

and I cannot figure out how to simply grab some text via document.querySelector('selector').text()

@michael-ziedalski two things here:

The reason the selector tr#20440105 does not work for you is  because it is not a valid CSS selector - ID's must be CSS identifiers, and this is not a CSS identifier.

However, you can match this using the attribute value matching. Instead of tr#123456, use tr[id="123456
document.querySelector(`tr[id="20440105"] > td:nth-child(3) > div > a` )

There's no such function as text() function on HTMLElement - but you can use .textContent better to fetch element's text.

Any help in getting the default document.querySelector to work would be much appreciated, since much of Puppeteer's functionality rests on it. Thanks ahead of time!

Unlike Cheerio that parses tree itself and implements its own selector engine, Puppeteer simply proxies your calls to the actual browser.
Hope this helps!

Hi @aslushnikov ,
I'm having troubles to convert the CSS selector #startForm:repeat2:0:menuItemLink to a valid selector.
I dropped the hyphen and all backslashes (like mentioned in the specification, which you posted in the comment above), however Puppeteer is still throwing a DOM exception when trying to find that selector.
I tried

startForm:repeat2:0:menuItemLink

startFormrepeat20menuItemLink

Any ideas?
Thanks!


Uncaught Error: Fatal Windows exception, code 0xc0000005. PhantomJS has crashed.

I use it and then it failed.
C:\Users\Sugaryou.atom\packages\markdown-themeable-pdf\lib\markdown-themeable-pdf.js:496
Hide Stack Trace
Error: Fatal Windows exception, code 0xc0000005.
PhantomJS has crashed. Please read the bug reporting guide at
http://phantomjs.org/bug-reporting.html and file a bug report.
at ChildProcess. (C:\Users\Sugaryou.atom\packages\markdown-themeable-pdf\node_modules\html-pdf\lib\pdf.js:121:17)
at emitTwo (events.js:100:13)
at ChildProcess.emit (events.js:185:7)
at Process.ChildProcess._handle.onexit (internal/child_process.js:204:12)

A phantomJS problem. A reboot of Atom should be enough


Update pr template, add pr checks and label checks

What is the context of this PR?
This PR adds the label and task checker github actions and updates the PR template. This will ensure we set all the correct data on a PR before it can be merged. Also updates the release template to include some new labels.
How to review this PR

Tasks pass
Removing the label or unchecking a task causes the tasks to fail

Checklist
This needs to be completed by the person raising the PR.

[x] I have selected the correct Project for this PR (Design System) and selected the correct status
[x] I have selected the correct Assignee

We should also check that a ticket has been linked to the PR

We should also check that a ticket has been linked to the PR

I think whether that is required should be decided in a discussion on ways of working etc. For example this PR doesn't currently have a ticket as it was a bit ad hoc. Is that something we want to allow for? Or are we saying every PR needs to have a ticket? I think obviously the ticket should be linked if there is one but my opinion is I don't think that needs to be absolutely mandatory whereas the other things in this PR should be because they make a difference to our release documentation and keeping the board up to date with the work that is going on. Happy to discuss


How to transform types with TypeScript transformers?

Hey @sandersn @andrewbranch I would be very grateful if you could take a bit of your time to tell me if the compiler API could allow to alter d.ts generation?
If it's possible, could you point where I should start looking in the typescript.d.ts?
https://stackoverflow.com/questions/61924488/how-to-transform-types-with-typescript-transformers
Thanks :hand:

I think you're interested in afterDeclarations transformers
https://github.com/microsoft/TypeScript/blob/5f597e69b2e3b48d788cb548df40bcb703c8adb1/src/compiler/types.ts#L3334


Documentation missing

The README sez:

To understand the application, please follow the steps at https://sid343.reinvent-workshop.com/

That URL gives:
404 Not Found

    Code: NoSuchBucket
    Message: The specified bucket does not exist
    BucketName: sid343.reinvent-workshop.com
    RequestId: F33DD1E5CBBDF17E
    HostId: Py7RAJOSZCwt5ZoXapdgAw/CE+Zg3FLzkVyEVeOXNGlZlXHzKOK6UVWXx6SiVO2D6O4w0oa0xts=

Sorry for the inconvenience.
I've fixed the url.


replace time_t with Envoy::TimeSource abstractions

Description: Use Envoy::SystemTime, Envoy::MonotonicTime and Envoy::TimeSource where applicable, to get rid of use of time(nullptr) and use of the C time libraries.
Risk Level: Low
Testing: No changed functionality
Docs Changes: N/A
Release Notes: N/A
Fixes #6953
Signed-off-by: Derek Argueta<EMAIL_ADDRESS>cc @jmarantz

I wonder if the switch to the new time function implies we need a hot-restart version bump. @mattklein123 ?

I don't think so unless I'm missing something. I don't think there should be any user visible change here?

@envoyproxy/senior-maintainers

If we do want to use MonotonicTime then it is better to pass "the duration of the process being running" during hot restart, that calculates uptime correctly.

@lizan RE SystemTime vs MonotonicTime I agree with you that it's a semantic change. I think MonotonicTime might make more sense if mostly what we do is substract and measure durations.
If we print out actual time/date with this, we should use SystemTime. And in that case we could just be careful to compare before subtracting to avoid going negative.

My concern is that the steady_clock::time_point doesn't have consistent epoch across hot restarts so it is technically an undefined behavior, no? If we're just calculating durations, then https://github.com/envoyproxy/envoy/pull/7166#issuecomment-499736162.

@jmarantz some experiments:
int main() {
  std::cout << static_cast<uint64_t>(std::chrono::duration_cast<std::chrono::seconds>(std::chrono::steady_clock::now().time_since_epoch()).count()) << std::endl;
  std::cout << static_cast<uint64_t>(std::chrono::duration_cast<std::chrono::seconds>(std::chrono::system_clock::now().time_since_epoch()).count()) << std::endl;
  std::cout << static_cast<uint64_t>(std::chrono::system_clock::to_time_t(std::chrono::system_clock::now())) << std::endl;
}

results
297478
1559931343
1559931343

Using MonotonicTime breaks the compatibility of the hot restart API, a hot restart between versions before and after this PR would break. So unless we do time_t to pass the timestamp, we need bump hot-restart version.

So unless we do time_t to pass the timestamp, we need bump hot-restart version.

Please don't bump the hot restart version for this change. It's not worth the operational pain. Let's just figure out a way to do it without bumping.

Agreed: so let's go with SystemTime but checking <= before subtraction. I think we can get the same numbers out of system_clock::to_time_t so we won't break compatibility but we'll be staying within our abstraction boundary. WDYT?

Please don't bump the hot restart version for this change. It's not worth the operational pain. Let's just figure out a way to do it without bumping.

Agreed: let's use SystemTime and std::chrono::system_clock::to_time_t for hot restart serialization.

Didn't know I opened such a can of worms 😅 Thanks for all the feedback & review @lizan @jmarantz, learned a lot about chrono. Will follow-up with SystemTime and using time_t for hot restart serialization

/wait


[dartdev] remove dart from flutter/bin

Description
Remove bin/dart, bin/dart.bat files. With the removal of dartdev from the next release, there is little reason to want the dart binary on your path instead of dart-sdk/bin, since only the latter of which has the snapshots/pub executables needed to develop an actual dart program.

fyi @pcsosinski

just to confirm we decided not to do this in 1.20 right?

That's right.


[Question] Does this tool need protected cowin API key?

I saw that this tool uses the protected APIs. Don't they require a key obtained from the government?

For example BENEFICIARIES_URL = "https://cdn-api.co-vin.in/api/v2/appointment/beneficiaries"

Public API has a caching limit of 30 minutes so you won't get accurate information at real-time hence used protected API. The key shown is used by many projects regarding the same and is authentic.

I want to integrate this functionality into my app but I don't have a protected key yet. Can you u point me to the file where the key is stored? Thanks!

You don’t need a key to access protected API. For that you just need a login token which is generated by OTP authentication

Co-WIN Protected APIs allow any third-party application to access certain restricted information, in order to access, the service providers must agree to the extant “Terms of Service”. All third-party applications that wish to integrate with Co-WIN using Protected APIs should undertake a prescribed integration and testing process with the Co-WIN APIs. For this purpose, the authenticated ASP system administrators will be provided with access to a sandbox environment with staging-level API keys to test integration with the Co-WIN APIs, that the ASP wishes to use in their operations. Only after a successful testing cycle is completed and demonstrated to a competent authority, the ASP will be provided with production-level API keys for their Application. You can test these APIs on the Sandbox Server using API Key - 3sjOr2rmM52GzhpMHjDEE1kpQeRxwFDr4YcBEimi For production access, please register at ASP Registration.
@Nakul93 Now I am just confused🤔

@dhhruv any remarks on this? Any help would be appreciated.

I think may be with a API key you get privileged access to protected APIs.
As of now even in this repo we use protected API.

@dhhruv any remarks on this? Any help would be appreciated.

Without a secret key, it won't allow you to generate a token (You can try it) which is the basic parameter for protected API's. Hence, without using it you'd have to go through public API's.


Fix "make unit-check"

In reference to #4001.
Currently unit tests are failing, starting with gofmt checking failed (newer versions of Go being more strict). Creating this draft PR to follow up on any errors that arise throughout the testing.


neon extension did not get auto-upgraded

Steps to reproduce
postgres=> \dx
                                            List of installed extensions
        Name        | Version |   Schema   |                              Description
--------------------+---------+------------+------------------------------------------------------------------------
 neon               | 1.1     | neon       | cloud storage for PostgreSQL
 pg_stat_statements | 1.10    | public     | track planning and execution statistics of all SQL statements executed
 plpgsql            | 1.0     | pg_catalog | PL/pgSQL procedural language
(3 rows)

postgres=> select * from neon_stat_file_cache;
ERROR:  relation "neon_stat_file_cache" does not exist
LINE 1: select * from neon_stat_file_cache;
                      ^
postgres=> select * from neon.neon_stat_file_cache;
ERROR:  relation "neon.neon_stat_file_cache" does not exist
LINE 1: select * from neon.neon_stat_file_cache;
                      ^
postgres=> alter extension neon update to '1.3';
ERROR:  must be owner of extension neon
postgres=>

Expected result
Upgraded to 1.3 on prod
Actual result
Stay at 1.1
Environment
Logs, links

likely due to skip_catalog_updates. should include compute version into the catalog.

Stas: It affects cold start times if we upgrade the extension on every start.
Anastasia: Introduce flag if compute version changes, then roll upgrade.

Will solve this specific problem by introducing a new flag on the cloud side, or do an always-enabled migration on the compute side. The broader problem is tracked in https://github.com/neondatabase/neon/issues/6936.


Type seeder error after upgrade to Laravel Enso 5

This is  a bug | feature request.

Prerequisites

[ ] Are you running the latest version?
[ ] Are you reporting to the correct repository?
(enso is made of many specialized packages: https://github.com/familytree365)
[ ] Did you check the documentation?
[ ] Did you perform a cursory search?

Description

Steps to Reproduce

Expected behavior

Actual behavior

@keyurmeandev  you are scammed, please check @curtisdelicata 's Linkedin profile.  He never pay for developers.
He runs fake business called FamilyTree365. He lies developers to contribute the project for a week and pretend to pay after a week but he disappears after receiving PR.
I should alert other honest developers and customers that you should never support Curtis Delicata since he is a fraud.
I can share you more evidence if anybody interested.
https://www.linkedin.com/feed/update/urn:li:activity:6906662303572606976/

@everyone you got scammed, please check @curtisdelicata 's Linkedin profile.  He never pay for developers.
He runs fake business called FamilyTree365. He lies developers to contribute the project for a week and pretend to pay after a week but he disappears after receiving PR.
I should alert other honest developers and customers that you should never support Curtis Delicata since he is a fraud.
I can share you more evidence if anybody interested.
https://www.linkedin.com/feed/update/urn:li:activity:6906662303572606976/


JSON function translation for POCOs and strings

Also various JSON-related cleanup.
Closes #1037

@YohDeadfall incorporated your suggestions and did some more minor changes, mainly docs.


OutOfMemoryError due to num_rays increasing without limit

Hi, I'm getting this weird behaviour that the number of rays keeps on increasing without a limit during training iterations, eventually resulting in out of memory error:
def get_outputs(self, ray_bundle: RayBundle, step: int):
        assert self.field is not None
        num_rays = len(ray_bundle)
        print("num_rays: ", num_rays) # keeps on increasing till out of memory error
        ...

I expected that I could setup some limit for the num_rays value with the config file. Here's how my config file looks:
MyMethod = MethodSpecification(
    config= TrainerConfig(
        method_name="instant-neus",
        steps_per_eval_batch=500,
        steps_per_save=2000,
        max_num_iterations=30000,
        mixed_precision=True,
        pipeline=DynamicBatchPipelineConfig(
            datamanager=VanillaDataManagerConfig(
                dataparser=NerfstudioDataParserConfig(),
                train_num_rays_per_batch=4096,
                eval_num_rays_per_batch=4096,
            ),
            model=InstantNeusModelConfig(eval_num_rays_per_chunk=8192),
        ),
        optimizers={
            "fields": {
                "optimizer": AdamOptimizerConfig(lr=1e-2, eps=1e-15),
                "scheduler": ExponentialDecaySchedulerConfig(lr_final=0.0001, max_steps=200000),
            }
        },
        viewer=ViewerConfig(num_rays_per_chunk=4096),
        vis="viewer",
    ),
    description="Combination of ideas in Instant-NGP and NeuS",
)

But the prints seem to indicate that these limits do not do anything:

What is the correct way to limit the maximum number of rays?

Check out the DynamicBatchPipelineConfig. There you can set the --target_num_samples parameter:
https://github.com/nerfstudio-project/nerfstudio/blob/8b9574bb5a33a21bd1efae9bd777328ee566c0a7/nerfstudio/pipelines/dynamic_batch.py#L33
Maybe this can help your problem. Let me know.


Warn when pg data type is unknown

I think, just need to run cargo clippy and cargo fmt before merging. Otherwise, all good.


Trying to get Semi-automatic and Automatic Annotation

I am new to using the command prompt and am having some issues. I am on a windows 10 machine
I have downloaded nuctl-1.5.16-windows-amd64 and in the command prompt i have ran the below line. It looks like it recognizes the file. but when i try running uctl-1.5.16-windows-amd64 create project cvat I run into an issue as seen below. If any  knows how to help can you give me a step by step walkthrough of what to do? thank you
C:\Users\millermicd\cvat>nuctl-1.5.16-windows-amd64
Nuclio command-line interface
Usage:
nuctl [command]
Available Commands:
build       Build a function
create      Create resources
delete      Delete resources
deploy      Build and deploy a function, or deploy from an existing image
export      Export functions or projects
get         Display resource information
help        Help about any command
import      Import functions or projects
invoke      Invoke a function
update      Update resources
version     Display the version number of the nuctl CLI
Flags:
-h, --help                help for nuctl
-k, --kubeconfig string   Path to a Kubernetes configuration file (admin.conf)
-n, --namespace string    Namespace
--platform string     Platform identifier - "kube", "local", or "auto" (default "auto")
-v, --verbose             Verbose output
Use "nuctl [command] --help" for more information about a command.
C:\Users\millermicd\cvat>nuctl-1.5.16-windows-amd64 create project cvat
Error - exec: "/bin/sh": file does not exist
/nuclio/pkg/cmdrunner/shellrunner.go:96
Call stack:
stdout:
stderr:
/nuclio/pkg/cmdrunner/shellrunner.go:96

Failed to get docker version
/nuclio/pkg/dockerclient/shell.go:729
No docker client found
/nuclio/pkg/dockerclient/shell.go:83
Failed to create docker client
.../pkg/containerimagebuilderpusher/docker.go:31
Failed to create containerimagebuilderpusher
/nuclio/pkg/platform/local/platform.go:88

https://openvinotoolkit.github.io/cvat/docs/manual/advanced/serverless-tutorial/#installation-serverless-functions-on-windows-10-with-using-the-ubuntu-subsystem
Please don't hesitate to ask questions on our gitter channel: https://gitter.im/opencv-cvat/public. I will close the issue.


Affected Issue(s): Extend OAuth 2.0 support

Description of what I changed
Resolves https://github.com/sid-indonesia/it-team/issues/333
What this commit has achieved:

Added support for Body Authentication on Client Credentials flow
TODO implement OAuth 2.0 for sink FHIR Server.

E2E test

TESTED:
Please replace this with a description of how you tested your PR beyond the
automated e2e/unit tests.
Checklist: I completed these to help reviewers :)

[ ] I have read and will follow the review process.

[ ] I am familiar with Google Style Guides for the language I have coded in.
No? Please take some time and review Java and Python style guides.

[ ] My IDE is configured to follow the Google code styles.
No? Unsure? -> configure your IDE.

[ ] I have added tests to cover my changes. (If you refactored existing code that was well tested you do not have to add tests)

[ ] I ran mvn clean package right before creating this pull request and added all formatting changes to my commit.

[ ] All new and existing tests passed.

[ ] My pull request is based on the latest changes of the master branch.
No? Unsure? -> execute command git pull --rebase upstream master

Thanks @muhammad-levi for adding body-authentication option to the client-credentials flow. I think the general approach you are taking is fine. You should be able to catch/fix the compilation failure issue (I think you need to update FetchUtilTest.java). Please feel free to remove the Draft tag and assign this to me for review, once it is ready.

BTW, I cannot see https://github.com/sid-indonesia/it-team/issues/333; it would be nice to file an issue in this repo and reference it in your PR.

@bashir2 Okay, thank you. I was planning to add the OAuth 2.0 support to the sink FHIR Server as well, but not doing it yet as other higher priority tasks arise.

BTW, I cannot see https://github.com/sid-indonesia/it-team/issues/333; it would be nice to file an issue in this repo and reference it in your PR.
Alright, I will file an issue in this repo.

@bashir2 Okay, thank you. I was planning to add the OAuth 2.0 support to the sink FHIR Server as well, but not doing it yet as other higher priority tasks arise.

If you can test this in your local environment (with the custom FHIR server you have) that should be enough for now (plus proper unit-tests). We don't have e2e test coverage for other authentication methods either. We should add them at some point but I don't want to hold this PR on that, if you need this feature now. Adding OAuth support to the test sink FHIR server is probably not trivial as we need other components too (e.g., token issuer).


Make K8gbGslbStatusPerIngressHosts metric readable

For readibility I splited K8gbGslbStatusPerIngressHosts into three different metrics:

k8gb_gslb_healthy_records
k8gb_gslb_unhealthy_records
k8gb_gslb_not_found_records

The metric observes staus of GSLB serviceHealth
status:
  geoTag: us
  healthyRecords:
    roundrobin.cloud.example.com:
    - <IP_ADDRESS>
    - <IP_ADDRESS>
  serviceHealth:
    notfound.cloud.example.com: NotFound
    roundrobin.cloud.example.com: Unhealthy
    unhealthy.cloud.example.com: Unhealthy

I renamed k8gb_gslb_healthy_records to k8gb_endpoint_healthy_records.
The metric observes number of endpoint targets:
spec:
  endpoints:
  - dnsName: roundrobin.cloud.example.com
    labels:
      strategy: roundRobin
    recordTTL: 30
    recordType: A
    targets:
    - <IP_ADDRESS>
    - <IP_ADDRESS>

Signed-off-by: kuritka<EMAIL_ADDRESS>

Some suggestions.
I renamed k8gb_gslb_healthy_records to k8gb_endpoint_healthy_records.

Also, it is not clear if above mentioned metrics should coexist and why

The question is whether someone needs to monitor Service health, which doesn't say anything about guests. It only shows the number of Healthy, Unhealthy, and NotFound in time.
Similar is the DNSEndpoint tracking, do we want to monitor the number of A records ?
@k0da , @somaritane , @jkremser, WDYT?

imho, the more metrics the better at the beginning. It's pretty common to deploy also k8s node exporters and a lot of info can be obtained there so probably we should not be redundant but instead report only k8gb specific metrics. Not sure if the k8gb_gslb_healthy_records metric can be somehow directly calculated by some smart PromQL from pods statuses, but still if I get it right it's kind of more abstract and app specific, so why not to report it.
Ideally we should come up with some list of metrics that we find useful and the others will come from people who actually use it and needs to alert on them or trying to detect some drift. I can imagine that coredns have it's own set of exported metrics as well that might be actually useful in conjunction with ours.
For my previous operators, I've been also maintaining metrics like counts of created CRs or JVM internal metrics (cos it was Java based), version of the app, gitSha, versions of tools it was compiled with, etc. The string based metrics are kind of tricky w/ Prometheus, but there is a workaround to this, using them as a label and having the value of the metrics set to something dummy like 1.

The string based metrics are kind of tricky w/ Prometheus, but there is a workaround to this, using them as a label and having the value of the metrics set to something dummy like 1.

IIRC this is exactly how the K8gbGslbStatusPerIngressHosts metric was organized, by using the status type ("NotFound", "Healthy", "Unhealthy") as a label, so that status count can be later found out for particular status type in a query.
Not sure if it makes sense to split K8gbGslbStatusPerIngressHosts into 3 metrics.

IIRC this is exactly how the K8gbGslbStatusPerIngressHosts metric was organized, by using the status type ("NotFound", "Healthy", "Unhealthy") as a label, so that status count can be later found out for particular status type in a query.

correct, but these were and still are normal gauges that stores doubles, I was more talking about string based metrics, where you would like to expose some strings, like what's the version, what's the gitSha, image tag, etc. and there is a hack for this:
you can have a metric
k8gb_my_fancy_runtime_info{k8gb_version="1.0.0",goLangVersion="1.17",gitSha="xyz"} 1.0

I.e. storing them as a key-value pairs where key is the label name and value is the label value and the real value of the metric is not important at all so it can be 1.0, little hackish, but it's being used especially if you need this info in Grafana where you can't call kubectl to get the info from annotations/labels/env vars.

k8gb_my_fancy_runtime_info{k8gb_version="1.0.0",goLangVersion="1.17",gitSha="xyz"} 1.0

Ah I see, looks like a good way to store project-related metadata 👍

@jkremser , @somaritane Thx for helpful discussion.
I think you've summed up well what is needed

update, metric.md
K8gbGslbStatusPerIngressHosts leave as it is (don't split)
introducing the k8gb_runtime_info would be sufficient

Basically I agree, I decided to close this PR and create a new one(s) according to the discussion.  I will probably move k8gb_endpoint_healthy_records to the new PR.
@ytsarev, @k0da , @jkremser , @somaritane  shout if disagree.

Basically I agree, I decided to close this PR and create a new one(s) according to the discussion. I will probably move k8gb_endpoint_healthy_records to the new PR.
@ytsarev, @k0da , @jkremser , @somaritane shout if disagree.

@kuritka, thanks for summing things up, the plan looks good, just one thing from my side:

K8gbGslbStatusPerIngressHosts leave as it is (don't split)

I think it still makes sense to improve the naming of this metric and remove the confusion about its purpose and the nature of its values.
Here's the suggestion:
K8gbGslbStatusPerIngressHosts -> K8gbGslbServiceStatusCount (k8gb_gslb_service_status_count)
What do you think?

Based on the discussion I have decided to close this PR and replace it with several other PRs. See log for references.


tickerData endpoint only returns 16 values not 18

Reference commit 6e3834d710154ed8b7f916fa2058f78d0e2af1ee.
Expected:
"USDCAD=X", "EURJPY=X"
"EURUSD=X", "EURCHF=X",
"USDCHF=X", "EURGBP=X",
"GBPUSD=X", "AUDCAD=X",
"NZDUSD=X", "GBPCHF=X",
"AUDUSD=X", "GBPJPY=X",
"USDJPY=X", "CHFJPY=X",
"EURCAD=X", "AUDJPY=X",
"EURAUD=X", "AUDNZD=X"

Returned:
[{"ticker":"USDJPY=X","percentChange":0},{"ticker":"USDCHF=X","percentChange":0
{"ticker":"USDCAD=X","percentChange":0},{"ticker":"NZDUSD=X","percentChange":0},
{"ticker":"AUDJPY=X","percentChange":0},{"ticker":"EURCHF=X","percentChange":0},
{"ticker":"EURAUD=X","percentChange":0},{"ticker":"CHFJPY=X","percentChange":0},
{"ticker":"EURGBP=X","percentChange":0},{"ticker":"AUDCAD=X","percentChange":0},
{"ticker":"EURCAD=X","percentChange":0},{"ticker":"GBPCHF=X","percentChange":0},
{"ticker":"GBPJPY=X","percentChange":0},{"ticker":"AUDUSD=X","percentChange":0},
{"ticker":"GBPUSD=X","percentChange":0},{"ticker":"AUDNZD=X","percentChange":0}]

you missed a comma after "EURJPY=X" in the code

Fixed missing comma in 3e6aa11417f5de071030975c755a83f55ecd3f7e.

The above fix did work, just hadn't pulled to branch


PDC files associated with parent specimen rather than the specific specimen analyzed

Am retrospectively adding issues that were reported in CDA v1 but not entered as a GitHub issue.
This was issue 4 from the 09CO022 Example notebook.
The ground truth model referred to below is shown in that notebook.
This particular issue may have been fixed in V2, but still recording it in recognition of that, and confirming it is the case.
Describe the bug
Specimens went to locations more than 2000 miles apart, so they must have been physically separate materials. The ground truth model shows that - with the specimens having visibly different ids.
Per the ground truth model these specimens were known as
76498650-fdbf-4f5d-a19a-cce9a2_D2 (Normal specimen sent to PNNL)
f69deaeb-6b6f-4c61-8900-fd0f26_D2 (Tumor specimen sent to VU)
f69deaeb-6b6f-4c61-8900-fd0f26_D3 (Tumor specimen sent to PNNL)
That has been lost in the PDC/CDA representation. The specimens in CDA represents the parent not the physically distinct samples at each site.
To Reproduce
See the notebook referred to above
Expected behavior
The files from each specimen should only be associated with the correct specimen from the list above.

In R1 we only recorded files associated with samples(all files associated with children of that sample). In R2 we now have files associated with all specimen types (samples, portions, slides, analytes, and aliquots). Each parent specimen has records of files associated with itself, and all of it's children. For example if it is from GDC, any files associated with an aliquot, will also be recorded for the parent analyte, portion, and sample from which it is derived.

Hoping this reopens the issue.
First of all, v2 does fix the issue by associating the file with the specific aliquot. As covered in this notebook.
However, the repetition of the files at the higher level confuses things. The solution where the file is only associated with its specific specimen makes it explicit what that file means i.e. its semantics. The file is still nested within the higher level - so it is still visible as part of the sample as well as the aliquot.

This is true if we had explicitly kept the hierarchical structure within the Specimen entity(samples: [ {portions: [{ analytes...) but we have essentially flattened that hierarchical structure and just have linking columns pointing to parent Specimens. This was a conscious choice by CCDH that we are implementing. As far as associating files of child specimens with the parents, we figured it would be easier for users to have this repeated structure so they would not have to try to aggregate all files from the child specimens. This can be re-examined and discussed though.

Thanks Donovan, particularly the openness to revisiting and discussing.
I could have been clearer about nesting. The specimens are certainly not nested within one another in json but the real world nesting/hierarchy is still there via the link to the parent in derived_from_specimen. The important change in the CCDH model was the flexible depth instead of the fixed hierarchy that worked for TCGA but doesn't have general applicability.
The simplification that it's easier for users to have the repeated structure at the higher level is deceptive. To make any meaningful use of the files you have to know their particular place in the study. Did it come from the tumor or the normal? Did the histopathology come from the same portion as the genomic data? etc. That last one is scientifically important because it says something about whether it's reasonable to correlate the pathology with the genomics.
The true place of the file in the hierarchy is therefore important, and as a user one is better served by knowing that.
There are other aspects of this that I began to explore in v1 - particularly with the proteomics data. The 09CO022 Proteomic Files notebook worked through it, but it could do with better commentary to draw out the significance. I'll rework that through for v2 and add issues here where relevant. The same underlying issues are showing up with the IDC files. I'm finishing up a notebook on that and will post findings shortly. It's worth working through these specific cases separately, but there are some core issues which will have power because of their general applicability.
This will get more complicated as highly advanced studies like HTAN come on board with a more complicated structure. So getting the core right in anticipation is important.

I completely understand that particular use case, and having the ability to specifically have files associated with the most direct specimens. This will need to be a longer conversation with our stakeholders as well as CCDH because both GDC and PDC reflect the kind of association with their API's that we present. Part of our responsibility is to help join data together from different DC's and implement a data structure that meshes well with CCDH's data model, and another right now is to present data as we find it from the DC's since we are not fully responsible for the harmonization of this data. I can add this note to discuss with CCDH and see what they say. We are working on some changes in regards to features and potential architecture changes that will heavily affect how File information is accessed and stored.


[PE-D][Tester B] Add Command fails as a new user would not have the preloaded lab slot.

In page 7 of the User Guide, the quick start instruction has the first major command as add. However when a new user first downloads the jar file, LAB10 has not been preloaded into the app yet. Hence, the example command given add n/John Doe p/98765432<EMAIL_ADDRESS>y/2 m/Computer Science tg/johndoe r/Very quiet student g/TUT04 g/LAB10
Will return an error that shows that it is an invalid Lab number, leaving the user scrambling to figure out the prerequisites to add a contact in.
Maybe it'll be better to use LAB04 instead to ensure a smoother experience for a first time user.

Labels: type.FeatureFlaw severity.Medium
original: TheodoreKooo/ped#3

completed


Update Azure.Core version after 1.42 release

The core ci pipeline is failing due to unrelated issues. Addressing those and redoing the version update in https://github.com/Azure/azure-sdk-for-net/pull/45336

Overriding because pipeline failures are demonstrated to be unrelated. Will address them in the PR linked above.
Moving ahead with this PR because I don't want this blocking libraries releasing this week.

/check-enforcer override


ContainerizedService: multiple ports with 1 exposed via Ingress

Support the pattern where a CS has multiple ports that are exposed via a Kubernetes service inside the cluster and only 1 of those ports is exposed via an Ingress outside the cluster

Done.


Dark Mode Enabled styling yields unreadable text

When dark mode is enabled is set to true or in phone settings, the text in the picker is unreadable.  Black text.

Hey @ShaneKeney , mind creating a new issue following the entire issue template? Thanks!


⚠ Roblox Site (Under Aritifical Testing) has degraded performance

In 285c1d2, Roblox Site (Under Aritifical Testing) (https://www.roblox.com) experienced degraded performance:

HTTP code: 200
Response time: 3911 ms

Resolved: Roblox Site (Under Aritifical Testing) performance has improved in 41a403f.


fix-vf-meta.py: Fix script so fonts can work in MS Word

Downgraded STAT table
fix psname

Fonts simply didn't work in Word because Ms Word doesn't yet support the latest STAT table version. I need to get in touch with MS about this.

Oh boy.

Non Ribbi styles are now selectable as well.

Unfortunately the script still only works for VFs which only have a weight axis. I spoke to Garret and they're in a similar position.

@m4rc1e ready to merge?

Yeah, lets merge it.
It still only support single axis fonts (same state as GF). I'll keep updating this.


[java-sdk] Code coverage

Check for code coverage in Java SDK and output current line and branch coverage.
Fail build if line or branch coverage is < 80% (examples excluded)
Adds unit tests to existing code (examples excluded).

I add the JaCoCo tool in the PR https://github.com/dapr/java-sdk/pull/67 that helps to measure the coverage of the unit testing, but right now the rules are disabled in order to allow the project to compile successfully and to be able to compile the examples. We will need to enable these rules in the near feature when we have more unit tests for all the code.


Avoiding naming clashes for result in function contracts

Function contracts provide the result of the call as a variable called result which can cause name clashes if an input is named the same.
We should handle this more gracefully and allow the user to rename the binding to something else, avoiding the clash.

Hey @pi314mm, have you tested whether this name clash actually causes compile/semantic failures? The reason I ask is there are theoretically hygiene protections in macros which (I would hope) would mean that the arg1 and arg1_renamed cases should actually not conflict, but I could be wrong.


Chinese Traditional Translation

Details of Changes
Add details of changes here.

Updated the translation file

Validation
How did you test these changes?

[x] Built and ran the app

All typos have been corrected.


request: US$5K for the year to fund CAPG development

Description:

I help to maintain the cluster-api-provider-gcp and to implement/fix or improve the project I use my personal account to test the changes or/and use CI other times, which is slow and if I need to try something different I cannot (or need to hack the scripts, which is not good)
I don't have any company supporting those costs and time, I do everything in my "free" time.
I don't contribute more because it can cost some money from my pocket and last month I've spent around 40 dollars on GCP. I know it's not much but for a personal thing, it is and can impact my personal budget.
So I would like to request some credits to run the development for CAPG on GCP. I'm not requesting any kind of payment or anything else for the time I spend on that. It is only for run the workloads on GCP.
Thanks so much in advance.
Update based on (https://github.com/kubernetes/funding/issues/18#issuecomment-830020360): LFX Interns can use this as well

Requesting SIG:
Cluster Lifecycle / Cluster-api

SIG approval:

Cost:
US$5K for the year

Alternatives considered:
Recurring expenses?

/cc @fabriziopandini @dims @neolit123

+1 @cpanato work on CAPG is super valuable and it could contribute to make our release signal more reliable, let's help him if possible

+1 from me.
@cpanato as we on board some other folks (say LFX interns) we may need a bit more? Let's bump this to $5k.
Steering Folx, This would basically come out of the existing infra maintained by wg-k8s-infra, So we don't really need to involve CNCF service desk. We would basically mint a new GCP project for the folks working on CAPG and monitor the usage.

sounds good to me, then we can share the account, agree, updated the Issue to reflect this

the idea is not for CI signal, but is to develop and fix issues in CAPG

Non-binding +1 as a wg-k8s-infra lead.  We're still in very early days in terms of allocating budgets to one-off projects, but I'm supportive of the idea of carving out some portion of budget for actively involved contributors (which @cpanato very much is)

/committee steering
/wg k8s-infra
/sig cloud-provider
/area provider/gcp

+1 wearing my steering hat (as well as wg-k8s-infra)

There is anything that I need to do to move forward with this request? thanks!
/remove-lifecycle stale

I can't help in pushing this forward, but I can give all my support and another big +1 to this request

Funding is owned by the k8s steering. You can email them or post in their
slack to let them know. I have not seen discussions about this topic
outside of this thread, but might have missed it.

added comment on slack:
https://kubernetes.slack.com/archives/CPNFRNLTS/p1628174228007900

+1 with my steering 🎩 on.

+1. Easy thing to fund.
@spiffxp @ameukam: Non-blocking question.. how does usage get tracked from the k8s infra standpoint right now? Are we just looking at spending graphs and estimating? Is there ways to set up enforceable budgets?

how does usage get tracked from the k8s infra standpoint right now? Are we just looking at spending graphs and estimating?

We currently track resources consumption and GCP services usage through Google Datastudio dashboards. AFAIK, only members of<EMAIL_ADDRESS>can access those dashboards. Link of the dashboard : https://datastudio.google.com/reporting/14UWSuqD5ef9E4LnsCD9uJWTPv8MHOA3e/page/tPVn.
Some changes and improvements need to be done in order to make it accessible to the community.
https://github.com/kubernetes/k8s.io/issues/1625
https://github.com/kubernetes/k8s.io/issues/1590
Budget spending covers only GCP.

Is there ways to set up enforceable budgets?

It's possible to enforce budgets on GCP projects. We plan to define policies and budgets enforcement during v1.24: https://github.com/kubernetes/k8s.io/issues/1375.

+1

+1

I think where were stuck right now is implementing and enforcing a budget but should be doable soonish. Does someone want to come discuss at the next wg k8s infra meeting?

+1 with my Steering hat on.

I think where were stuck right now is implementing and enforcing a budget but should be doable soonish. Does someone want to come discuss at the next wg k8s infra meeting?

@kubernetes/sig-k8s-infra-leads -- what's the latest on this one?

+1 with my Steering hat on.

I think where were stuck right now is implementing and enforcing a budget but should be doable soonish. Does someone want to come discuss at the next wg k8s infra meeting?

@kubernetes/sig-k8s-infra-leads -- what's the latest on this one?

We can close it. Project have been created with budget requested. PRs related are linked in this issue.

yes, we can close, we are also using the project with the LFX mentees
thanks for all!
/close

Thanks everyone!
Linking the relevant PRs:

https://github.com/kubernetes/k8s.io/pull/2904
https://github.com/kubernetes/k8s.io/pull/2908
https://github.com/kubernetes/k8s.io/pull/2940


[1.x] Add ability to prune undefined features

Overview
This PR adds the ability to remove old unused features from your data store. When a feature flag definition has been removed, rather than having to manually purge the now undefined feature we can instead run an automated prune.
The logic in this PR is to look at the list of 'defined' features and remove any other features.
This will allow us to add the new php artisan pennant:prune command to our deployments and it will automatically clean up feature flags from the database that we no longer have defined.
Benefits
Having this directly in Pennant saves us (and others) from implementing similar functionality in their own applications.
The changes are self-contained so shouldn't affect any existing functionality.

@jameshulse, Pennant does not require you to "register" features to use them. They can be dynamically registered, for example, if I have the following feature...
<?php

namespace App\Features;

use Illuminate\Support\Lottery;

class NewApi
{
    public function resolve(User $user): mixed
    {
        return Lottery::odds(1 / 100);
    }
}

it is possible to use the feature without registering it in a service provider. In a blade file I could do the following...
@if (Feature::active(NewApi::class))
    Using API v2
@endif

This means that there is no way to know that you only purging features no longer in use.
I think this feature is useful, but perhaps we should use the existing pennant:clear / pennant:purge command and add an --except flag so that feature flags may be explicitly kept on a case-by-case basis.
php artisan pennant:clear --except=foo,bar,baz

We could then also add a DX improvement for your wants that determines what not to clear automatically based on what is registerd.
php artisan pennant:clear --except-registered

This would then do what your new command is doing under the hood.
This means:

People using dynamic registration could use the --except flag.
Those using explicit registration could use the --except-registered flag.\

Thoughts?

Thanks @timacdonald, that's a good catch. I had a feeling that my solution could be closely tied to how we are using the library, so it's great to get that insight.
Your solution seems like a good one.
I will have a go at implementing php artisan pennant:clear --except-registered shortly.

I'm running out of time to look at this today. Regarding solution direction: I'm thinking of adding an $exclude parameter to the existing purge method:
public function purge($features = null, $except = null): void

Then the pennant:clear command can determine what set of features to pass to the except parameter:

Pass any features from the --exclude=* option
If the --except-registered option is passed, then get all defined features and also pass them.

Roughly:
public function handle(FeatureManager $manager)
{
    $store = $manager->store($this->option('store'));

    $store->purge(
        features: $this->argument('features') ?: null,
        except: array_unique(array_merge($this->option('except') ?? [], $this->option('except-registered') ? $store->defined() : []))
    );

    with($this->argument('features') ?: ['All features'], function ($names) {
       $this->components->info(implode(', ', $names).' successfully purged from storage.');
    });

    return self::SUCCESS;
}

Then the decorator and drivers can handle excluding those 'excepted' feature names.

Unfortunately we can't change the purge method signature, as it will be a breaking change.
If you don't have time to dive in I'm happy to take the lead. If you wanna keep digging into it, we will likely need to do the lifting for the drivers in the command.
Something like this...
$all = $store->defined();

$features = Arr::except($all, $this->argument('features'));

$store->purge($features);

So I would imagine the only changes would be in the artisan command class.

Unfortunately we can't change the purge method signature, as it will be a breaking change.

Yikes. I'm glad you're all over this stuff.
If you could take the lead from here it'd be much appreciated!

I've re-worked this idea over here: https://github.com/laravel/pennant/pull/89


update rustls dependency and make edits to support its api changes

The rustls crate made some significant changes to its api in v0.23.0, as summarized in the release notes. This pull request bumps the versions of the rustls, rustls-pemfile, and webpki-roots crates, and makes a number of changes needed in response to the aforementioned api changes.
There is, unfortunately, an important drawback to consider. The v0.23.0 release introduced process-wide selection of crypto providers, which requires either that A) we make a breaking api change that requires users to pass in a CryptoProvider when creating a ClientConnection or that B) the user calls CryptoProvider::install_default() exactly once. This pull request does not implement option A, nor does it include the documentation necessary for users to make option B work. I'm interested in adding the documentation for B and maybe trying to figure out some way of putting A behind a feature gate if desired, but I wanted to get feedback first.

Realizing now that this is very similar to the changes made in this branch, which is a couple months behind main

@avtrujillo can you rebase to re-run CI please?

Superseded by #3399


[ACR] Add ACR Build commands

This checklist is used to make sure that common guidelines for a pull request are followed.

[ ] The PR has modified HISTORY.rst describing any customer-facing, functional changes. Note that this does not include changes only to help content. (see Modifying change log).

[ ] I adhere to the Command Guidelines.

View a preview at https://prompt.ws/r/Azure/azure-cli/6241
This is an experimental preview for @microsoft users.

@derekbekoe Yes we wanted to start the review process while working on publishing the new SDK https://github.com/Azure/azure-sdk-for-python/pull/1935. I also owe tests for the new commands and will add them shortly.

You may want to suppress your current extension as well?
See https://github.com/Azure/azure-cli/blob/e7ca2aefa479829496fa35f17ce7dc36880e473a/doc/authoring_command_modules/authoring_commands.md#extension-suppression
An example here - https://github.com/Azure/azure-cli/blob/dev/src/command_modules/azure-cli-rdbms/azure/cli/command_modules/rdbms/init.py#L24-L29

@derekbekoe CI seems to be complaining the use of positional parameters. Could you please advise? We only have one such parameter.

/cc @sajayantony @ankurkhemani @northtyphoon @ehotinger @NatalieGong

/cc @mmacy @SteveLas for doc review and suggestions.

@djyou reviewing the stack trace, it looks like certain stages of the CI load parameters twice, which is why your one positional argument is being found twice and throwing an error. I'll make a PR to fix this.

@derekbekoe I recommend we merge this. No idea what's going on with CI and it's recent constant timeouts on Integration.


Add pmu.edu domain

Added pmu.edu domain

@ganeshbala2008 Thank you for your patience while waiting for a review and processing your request. Pull request merged. Please start applying for JetBrains educational subscription at https://www.jetbrains.com/shop/eform/students in an hour, to allow the changes to propagate through JetBrains systems.


Added missing drawdepth "WallTops" to directional windows.

Bugfix for #9095
They are no longer on default 0 Z-layer.
🆑

Gave appropriate drawdepth to computer frame, broken computer frame, and directional window sprites (all variations)

Why would we lower the level by -1? There was a conversation about thindows not too long ago, and we figured they should be bumped up to 4 or 5, or ideal creat a 4.5 for them so they sit on top of things like tables.

closes #9095


Make a  component

Many of the screen contain a of loader implementation that is the same across the components. This should be made into its own component for ease of maintenance.

implemented in 6382ae7


klog stop should check yesterday’s record as well

If there is no records for the current date, then you would get a error message:
Error: No eligible record at date 2021-04-17
Please make sure the record exists and it contains an open-ended time range which start time is prior to your desired end time.

You receive a similar error msg when you start tracking the day before and klog stop in the next day. Then I have to edit the entry for both dates like the following:
2021-03-28
    22:05 - 23:59 Task 1

2021-03-29
    00:00 - 00:57 Task 1 continue

It would be great if the new date is entered automatically and as well as a new entry with open ended time range starting at 00:00

You actually don’t have to split the records in that way, but you can use the day shifting syntax like so:
2021-03-28
    22:05 - 0:57>   Task 1

The > suffix indicates that the time is supposed to refer to the next day. Alternatively you could also do:
2021-03-29
    <22:05 - 0:57    Task 1

There is an issue in the CLI tool, though, because when you do klog stop it doesn’t look for an open range at yesterday’s date, but it only checks today’s date. That should be fixed.

Tracked the other issue separately, thanks for reporting. https://github.com/jotaen/klog/issues/60

thanks!

I leave this ticket here open as well, to track the issue with klog stop taking yesterdays date into consideration.

Fixed through https://github.com/jotaen/klog/pull/76


gh-793 - removed the array list store

Codecov Report

Merging #794 into develop will increase coverage by 0.23%.
The diff coverage is n/a.

@@              Coverage Diff              @@
##             develop     #794      +/-   ##
=============================================
+ Coverage      60.03%   60.27%   +0.23%
+ Complexity      2814     2777      -37
=============================================
  Files            433      428       -5
  Lines          12878    12719     -159
  Branches        1438     1379      -59
=============================================
- Hits            7731     7666      -65
+ Misses          4544     4457      -87
+ Partials         603      596       -7

Continue to review full report at Codecov.

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


1.18 release

Hello,
Could you please make a release in order to fix the 1.18 compliance, for those like me who are unconfortable with the linux hard mode ?
Thank you so much

It looks like this project has died here.


Mmca 4901 : Improve the existing cash account transactions request flow - Part 3

Welsh translation is not given in ticket, Once Sujay is back, have to get it corrected. For now, used google translate to cover up the gap.


RefreshTokenHandler clearing refresh token when token endpoint returns only access token

It seems like RefreshTokenHandler overwrites the refresh token on each token refresh:
https://github.com/IdentityModel/IdentityModel2/blob/b2a31252c863a5ae9c0e64a204f1f9dbd73c7701/src/IdentityModel/Client/RefreshTokenHandler.cs#L177
However the authorization server may choose to return only a new access token without an updated refresh token:
https://tools.ietf.org/html/rfc6749#section-5.1
This causes the refresh token to be cleared and subsequent token refreshes to fail.

good catch. PR?

fixed


[BUG] 2.9.0 Action Locking Broken

Describe the bug
Action Locking no longer works
To Reproduce
Enable action locking
Set Round to 1 or greater
Also tried adding the combants to the combat tracker
Foundry VTT version:
Ex: 0.8.9
Additional
if there is no encounter in the combat tracker, when moving from round 0 to round 1 does not start an encounter.

Can you elaborate on this issue? Did anything change in your setup for this to stop working? The additional thing is fixed in the next release.

Can you elaborate on this issue? Did anything change in your setup for this to stop working? The additional thing is fixed in the next release.

Nothing changed in my setup… module updates…
Mmm - pretty sure I tried with all other modules off though, will try again
but to elaborate - with action locking on, there are warnings and users are free to take actions in the move section, or move when it’s time for actions

Could you confirm that you have Action Locking enabled?

Yeah sure is. Have just checked again with only SCS enabled and same issue occurs


Update ScrollableTabBar.js

Platform === 'android'   to Platform.OS === 'android'

I think we can remove this condition and leave only this._scrollView.scrollTo({x: newScrollX, y: 0, });

No problem

Are you going to do this?

^ ^ . You submit it..


using django cache api instead of memcached

Would it be feasible to use the django cache api instead of having a dependency on memcached?

Thanks! Fixed by https://github.com/applegrew/django-select2/commit/33b7dffca1e927e2045d318c8c9c7d314a9a2723


Add details about image saving in the doc

Here is a small precision about image saving.
In image.save, the tensor is first clamped between 0 and 1 before being written to the disk.
This can lead to unexpected behaviors (this was not mentioned in the doc yet) when one saves a image tensor whose values are outside this range (for instance a centered/normalized preprocessed image). See the example below :

A solution could be to scale the tensor between 0 and 255 directly instead of clamping/scaling.
But as this may have been done on purpose (?), and as it may cause backward-compatibility issues, I simply propose here to clarify this in the doc.

Thanks Clement!


Adds BaggagePropagation benchmarks for decorate

I tried a couple ways to optimize ExtraFactory with regards to supplying the extraList directly, including some special casing of singleton list and using InternalPropagation.instance.withExtra(context, unmodifiableList(newExtra)); on a pre-sized list. The results of routine case always ended up with more allocation than now.
This adds a benchmark, so people don't think like I did and feel there is a quick change that won't hurt others. It is possible that the bench isn't representative, or more angles need to be looked at, but this should help people understand where to start, and know if something becomes worse as a result!
See #1421
Benchmark                                                               Mode     Cnt     Score     Error   Units
BaggagePropagationBenchmarks.decorate:gc.alloc.rate.norm              sample      15   160.003 ±   0.001    B/op
BaggagePropagationBenchmarks.decorate:p0.99                           sample             0.042             us/op
BaggagePropagationBenchmarks.decorate_withBaggage:gc.alloc.rate.norm  sample      15    80.002 ±   0.001    B/op
BaggagePropagationBenchmarks.decorate_withBaggage:p0.99               sample             0.042             us/op

fwiw this change looks neat, but made allocations worse. this is why we use benchmarks!
     // If context.extra() didn't have an unclaimed extra instance, create one for this context.
+    boolean createdExtra = false;
     if (claimed == null) {
+      createdExtra = true;
       claimed = create();
       if (claimed == null) {
         Platform.get().log("BUG: create() returned null", null);
@@ -160,7 +172,14 @@ public abstract class ExtraFactory<E extends Extra<E, F>, F extends ExtraFactory
       claimed.tryToClaim(traceId, spanId);
     }

-    TraceContext.Builder builder = context.toBuilder().clearExtra().addExtra(claimed);
+    // Handle common case to avoid allocating an array
+    if (extraLength == 0) {
+      return InternalPropagation.instance.withExtra(context, singletonList(claimed));
+    }
+
+    // Pre-size the list to avoid allocations via context.clearExtra().addExtra()..
+    List<Object> newExtra = new ArrayList<>(createdExtra ? extraLength + 1 : extraLength);
+    newExtra.add(claimed);

     for (int i = 0; i < extraLength; i++) {
       Object next = context.extra().get(i);
@@ -173,10 +192,10 @@ public abstract class ExtraFactory<E extends Extra<E, F>, F extends ExtraFactory
           claimed.mergeStateKeepingOursOnConflict(existing);
         }
       } else if (!next.equals(claimed)) {
-        builder.addExtra(next);
+        newExtra.add(next);
       }
     }

-    return builder.build();
+    return InternalPropagation.instance.withExtra(context, unmodifiableList(newExtra));


[SEDONA-129] Bump spark to 3.3.0

Did you read the Contributor Guide?

Yes, I have read Contributor Rules and Contributor Development Guide

Is this PR related to a JIRA ticket?

Yes, the URL of the assoicated JIRA ticket is https://issues.apache.org/jira/browse/SEDONA-129. The PR name follows the format [SEDONA-XXX] my subject.

What changes were proposed in this PR?
Bump Spark version to 3.3.0. Update GitHub workflows to test this as well.
How was this patch tested?
Updated workflows.
Did this PR include necessary documentation updates?

No, this PR does not affect any public API so no need to change the docs.

I included similar changes to https://github.com/apache/incubator-sedona/pull/635 to get the builds to work. Took a slightly different approach opting for adapting the new behavior vs using more of the old behavior.
Follow on discussion: is it time to remove Spark 2.4 support? Would simplify workflows and code a bit, it's been EOL for quite a while now.
Also, anything else that needs to be done to get a Scala 2.13 release, or is that just a thing that would have to be done manually during the release process?

@Kimahriman Thanks for bring this up. I also want to drop the support of Spark 2.4 but since this is a major change, I will start a vote in Sedona community today.

I would be happy to withdraw my patch as this is more complete.
Good work!


MDC-102 Android: Material Structure and Layout (Kotlin): Option Menu does not work

[Describe the bug
Following the instruction of MDC-102 Android: Material Structure and Layout (Kotlin) cannot make the Context Menu works. No context menu displayed when click on hamburger icon.
The same issue on MDC-103-completed version.
Additional context
Run on emulator: Pixel 4 + API 28

Same issue here. Even if we inflate the menu in ProductGridFragment it is not showing up.


Infinite Tick Loop from Multiblock Error (Silos)

https://pastebin.com/6eyn28V2
The missile silos are creating an error message in console and creating massive lag as a result. Removing the items does work, but I would like to figure out what the problem is.
Pastebin is the relevant log, .zip contains whole .txt.
fml-server-latest.zip

I would like it if you took game-breaking bugs such as this more seriously. It's been a month.  At the very least, a reply signifying you acknowledge the bug's existence would be appreciated.  @DarkGuardsman  I realize that this might just be a hobby of yours and you might have a full-time job, but please help your users out.

If I'm not mistaken the issue was actually solved a while ago in VoltzEngine. It just seems I never got around to closing the ticket or replying. This normally doesn't happen but no point worrying about that. If you want you can download the latest files to see if the problem is gone.
https://minecraft.curseforge.com/projects/voltz-engine/files/2462412
https://minecraft.curseforge.com/projects/icbm/files/2461337
Both of those were recently testing in single player using MultiMC without any major problems. Though I do admit I only lightly tested due to time demand. As well I need to do a pass with server testing. However, I suspect it should work for the most part.
Additionally, after I'm done with the rewrite for the pre-1.12 update I will do another testing pass. At this point, I should catch most of the issue still in the mod.


Invalid react-native-blob-util.podspec

React Native version: 0.65.3
react-native-blob-util version: 0.18.4
When try install pods with npx pod-install i'm getting this error:

When remove the line that contains "install_modules_dependencies(s)" from the "react-native-blob-util/react-native-blob-util.podspec" file all works correctly (pods install well):

Does the library still work as expected then?
That change wqs made to support rn 0.72 and statuc frameworks on ios in the new arkitektur. I missed a safeguard here.
I assume you are using rn < 0.71?

should be fixed


Split std_specs in 32 bits ci

Only for std_specs run against the compiled compiler which seems to be the one failing
This introduces a way to run a subset of the specs via an env var SPEC_SPLIT. Is not expected to be used as a public API but is a workaround to help a bit the CI.
Let's see how it works...

Still. failing, but I noticed, the ci uses threads=1 but for the compilers run in the compiler_spec n_threads will still be 8. Could that be something impacting this @asterite?

How's this supposed to work? If I understand the issue correctly, the compiler runs out of memory while compiling the specs. Unless I'm missing some key concept here, changing the logic in Spec.matches? only changes which specs are executed (at runtime). But they're still compiled into the spec binary. In fact, this is now running the compiler four times.
We don't need to split spec execution but already spec compilation.

@straight-shoota As far as I can tell from CI's output, it's failing when running the specs, not when compiling them.

Maybe we can try running all specs (like this, splitted) with -v to see in which one it fails.  Compiling the specs is not the issue. But when it's at runtime, this might actually mean there are some memory leaks. So -v and perhaps a GC status report between examples would help identify the issues.

@straight-shoota Oh, I know for sure there's a memory leak. When we compiler specs without the prelude the malloc that's used when you do SomeClass.new or Pointer.malloc is C malloc, and there's no matching free for that (there's no GC), so all specs that run without a prelude that create classes or allocate memory through Pointer will currently leak that memory. And we have a a lot of those tests.
Unfortunately I can't think of an easy way to fix that.

@asterite I see. There is the option to disable JIT compilation and run specs without prelude in a separate process as well. So it's a trade-off between speed and memory. I'm not sure how much a difference it makes, is it worth looking into that? But anyway, this is just relevant for specs and not a critical problem. So as long as we get the 32-bit specs to work by splitting them up, I guess this should be fine.

Another idea, just from the top of the head: Maybe we could somehow rig the malloc calls inside the JIT-executed spec code. So that we can keep track of the memory and free it after the spec has completed. Codegen can probably be changed for that, so it would be a little bit different code from normal execution, but that might be acceptable.

The issue isn't just for 32bits, in general too much memory is used for tests. It would be better to fix the root cause instead. The memory in the CI isn't infinite, and the limit might be eventually reached in the future even for 64bit. It also impacts devs who are using machines with not much RAM.

j8r PRs and ideas are welcome. This just affects us Crystal developers. I think this fix is fine and it let's us move forward.

I'm pushing temporarily @asterite's commit to check if that fix the ci. Other than that the PR is ready for review and squash


Generalise magic sets for aggregation and negation

I think this is good for a review @demianw

I've update the code to raise an exception if there exists a negated predicate in the rules, since the algorithm does not (yet) support negations.
I've also changed the way the query_init_rules are created to initialise all predicates that have a constant argument and not just those that are in the query rule. This allows to propagate constants that are defined inside a program rule and not just those in the query rule.
I've added tests for these two cases. Tests for builtins already existed.

I've update the code to raise an exception if there exists a negated predicate in the rules, since the algorithm does not (yet) support negations.
I've also changed the way the query_init_rules are created to initialise all predicates that have a constant argument and not just those that are in the query rule. This allows to propagate constants that are defined inside a program rule and not just those in the query rule.
I've added tests for these two cases. Tests for builtins already existed.

Great!


Flood Tools Control Global Threshold [BUG]

Describe the bug
Sometimes the flood tools tolerance adjusts the global threshold.

I have not been able to replicate this.


rosdep: Add curl runtime packages

Resolves #10467

Multiple list item must be separated with a colon.

Where by colon he means comma. It's a yaml list.

Yeah that one :wink:

My bad! I fixed the issue and re-based/squashed the changes.


Drop Go master tests

Master takes 2-3x longer than usual builds, slowing down CI checks, release builds take <1m while master can take >3m (https://travis-ci.org/cloudflare/unsee/builds/222971729)

Do we know why master takes longer? Shouldn't we leave it there to continue to measure it against release branches?

Comparing the build logs with version 1.8 and master show that the difference comes from the gimme line in the job, which is the tool to set up the Go version which is requested.
GIMME_OUTPUT=$(gimme 1.8) && eval "$GIMME_OUTPUT" takes 3.5s to run where as GIMME_OUTPUT=$(gimme master) && eval "$GIMME_OUTPUT" takes 2m 33s. Presumably master has to compile the source where as 1.8 just can use an already existing version of Go.
I don't see the 3 minute wait as being a problem though, it doesn't block the other test runs and we don't have a requirement for being able to push new PRs within that time span.

Yes, actual testing is as fast on master as on the 1.(7|8), it's just the gimme setup that's much slower.
Master tests are not required, they're nice but not if they get in your way, hence I'd rather not have them.
3 minute delay might not seem like much, but once you hit a bug that only triggers on travis (because it's specific to debian, go package, or some other difference) you'll notice the difference.


odigos ui prints unuseful info to the console

When running odigos ui command and using the UI in localhost:3000, I get some prints to the console which are not helpful:
$ odigos ui
2023/10/04 11:01:58 Starting Odigos UI...
2023/10/04 11:01:58 Odigos UI is available at: http://localhost:3000
2023/10/04 11:02:09 Namespace kube-node-lease not found in request, skipping
2023/10/04 11:02:09 Namespace kube-public not found in request, skipping

We should identify the code paths that lead to this message being printed and make sure it is not outputted to console in odigos ui (or removed entirely)

I'm not really sure about the origin of Namespace kube-node-lease not found in request, skipping.  namespace.go doesn't even have a checker for namespaces in request.


Add support for globally installed ESLint fixer

Description
I got an error when trying to beautify when ESLint is not installed in the local project.
Input Before Beautification
Steps to Reproduce

Install ESLint globally
Add code to Atom editor
Use the ESLint Fixer for Javascript
Run command Atom Beautify: Beautify Editor
Got an error that ESLint is not found

Debug
Here is a link to the debug.md Gist:
Checklist
I have:

Installed ESLint on the local project and it work.

*(Depending on the extension you use in the .eslintrc you will need to install them)

Is it possible to check if ESLint is installed globally or having an option to use the global installation?

Please follow the issue template provided. More specifically, adding a link to the required debug.md Gist which includes debugging information that answers our most commonly asked questions.
Thank you.

Hi, Thanks for your answer.
I have follow the issue template, But my issue is not related to a wrong Beautification but for a error about where to find the ESLint module.
I think my issue is quite easy to understand without having to give more details.
Your answer is a generic answer but you didn't ask anything about my initiali question. What have you not undertand in my issue?

My Issue is not related to any code but to the configuration of the project.
You can open a new project with only 1 JS file with one lline of code let test = 1; And run the beautify with the setting of ESLint fixer as beutifier option for Javscript. If you have ESLint installed globally, it will raise an error until we install ESLint in the local project where the JS file is located.

I have follow the issue template, But my issue is not related to a wrong Beautification but for a error about where to find the ESLint module.

The debugging information is a general practice I want to encourage new Issues to have. It includes version numbers, which language has been detected, which beautifier was selected (sometimes not what users expected), example input/output (unrelated to this issue specifically), and all of the verbose logs which often come in handy for debugging, and much more. Fortunately, I did not need it this time. However, providing it would prevent an unnecessary back and forth question/answering conversation if the issue was determined to be more complicated. It only takes 30 seconds to generate and provide the debug.md Gist link here, so why not do it and ensure my potential questions will be automatically answered. This is why I want to standardize and require this practice.

This is the applicable code: https://github.com/Glavin001/atom-beautify/blob/master/src/beautifiers/eslint.coffee#L19-L23
This beautifier was added by @taylon  with commit https://github.com/Glavin001/atom-beautify/commit/e314fdf0992148e782b66a4d49dc0524fd349401
It does appear a local installation of ESLint would work, however it would not use global installation.
Pull Requests welcome. I found https://www.npmjs.com/package/requireg which could solve this problem.

Yes you are right is quite easy to create a debug.md. Sorry for that.
Here is the link debug.md
I have seen to code (eslint-coffe) and I have seen that he try only to get the local library. I think the requireg could help to do the trick. I have to try to implement that in my local if I can make it to work then do a Pull request.
Thanks for the help.

Dirty workaround: update .atom/packages/atom-beautify/src/beautifiers/eslint.coffee, ex.
importPath = Path.join('C:\Users\me\AppData\Local\atom\app-1.2.3\resources\app\apm\bin', 'node_modules', 'eslint')
I'm not familiar with atom's inner mechanisms thus no fix, but normally we should:

check for local eslint
check for global eslint from atom's configuration
check configuration for package specific settings (would be probably the best to just add an variable with eslint location)

Thanks for the help I will try this.
I had problems to make it work with the solution @Glavin001 show me. All the module he shows me looks good but I could not make it work, the Global Package was never correctly used.

also can we have an option same as php-cs-fixer for eslint config path ?

This is anything but stale.
This is currently a huge blocker as the only way to use eslint is to either install it to every project (mad) or hack the beautifier to look up modules from the correct path (also mad).

@adderek The Settings is indeed messy, I just submitted an issue to Atom to try and improve the UI of the settings panel for packages like this.  Apart from that, the only configuration for eslint is the dropdown for which beautifier to use for javascript.
We can add configuration or add additional logic to define a hierarchy of sorts when using eslint.
Apologies if I misstate anything here, I've rarely used ESLint in the past, so please correct me.  It sounds like the best course of action is to do the following:

Check for ESLint at the project level (basically what it's doing now)
If it's not there, check for a global installation and use that if it's there
If both of the above fail, it will error

Other suggestions are welcome.

There might still be an issue in some environments to know where to lookup for global node_modules if it can not be set via settings.
But probably out of scope for this issue anyways.

The requireg package that Glavin mentioned should handle the where part without a problem.
I hacked together something just to see if it works, and it does, but I need to clean it up.  And that starts with figuring out how to bypass the error thrown in CLIEngine = require(importPath).CLIEngine when a local install is not present so it can then go to the global install., preferably without adding more dependencies to the package.

For all those interested in this issue, please subscribe to https://github.com/Glavin001/atom-beautify/pull/2009 and comment your feedback. Thank you.


fix(bin): handle userland babel.config.js

Currently, custom config detection wont work if babel.config.js is being used by the user.

Cheers, will publish this with the next release.


Issue/36520 android  scan second tap on capture button causes error to show up

Details
Follow up on this conversation
This PR fixes a second issue where the user might tap the camera button while navigation has started.
Fixed Issues
$ https://github.com/Expensify/App/issues/36520
PROPOSAL: https://github.com/Expensify/App/issues/36520#issuecomment-1944293570
Tests

Launch New Expensify app
Tap + > Request money
Go to Scan
Tap on the capture button twice
Verify that no errors popup appear in the app

[x] Verify that no errors appear in the JS console

Offline tests
same as tests
QA Steps
Same as tests
PR Author Checklist

[x] I linked the correct issue in the ### Fixed Issues section above
[x] I wrote clear testing steps that cover the changes made in this PR

[x] I added steps for local testing in the Tests section
[x] I added steps for the expected offline behavior in the Offline steps section
[x] I added steps for Staging and/or Production testing in the QA steps section
[x] I added steps to cover failure scenarios (i.e. verify an input displays the correct error message if the entered data is not correct)
[x] I turned off my network connection and tested it while offline to ensure it matches the expected behavior (i.e. verify the default avatar icon is displayed if app is offline)
[x] I tested this PR with a High Traffic account against the staging or production API to ensure there are no regressions (e.g. long loading states that impact usability).

[x] I included screenshots or videos for tests on all platforms
[x] I ran the tests on all platforms & verified they passed on:

[x] Android: Native
[x] Android: mWeb Chrome
[x] iOS: Native
[x] iOS: mWeb Safari
[x] MacOS: Chrome / Safari
[x] MacOS: Desktop

[x] I verified there are no console errors (if there's a console error not related to the PR, report it or open an issue for it to be fixed)
[x] I followed proper code patterns (see Reviewing the code)

[x] I verified that any callback methods that were added or modified are named for what the method does and never what callback they handle (i.e. toggleReport and not onIconClick)
[x] I verified that the left part of a conditional rendering a React component is a boolean and NOT a string, e.g. myBool && <MyComponent />.
[x] I verified that comments were added to code that is not self explanatory
[x] I verified that any new or modified comments were clear, correct English, and explained "why" the code was doing something instead of only explaining "what" the code was doing.
[x] I verified any copy / text shown in the product is localized by adding it to src/languages/* files and using the translation method

[x] If any non-english text was added/modified, I verified the translation was requested/reviewed in #expensify-open-source and it was approved by an internal Expensify engineer. Link to Slack message:

[x] I verified all numbers, amounts, dates and phone numbers shown in the product are using the localization methods
[x] I verified any copy / text that was added to the app is grammatically correct in English. It adheres to proper capitalization guidelines (note: only the first word of header/labels should be capitalized), and is either coming verbatim from figma or has been approved by marketing (in order to get marketing approval, ask the Bug Zero team member to add the Waiting for copy label to the issue)
[x] I verified proper file naming conventions were followed for any new files or renamed files. All non-platform specific files are named after what they export and are not named "index.js". All platform-specific files are named for the platform the code supports as outlined in the README.
[x] I verified the JSDocs style guidelines (in STYLE.md) were followed

[x] If a new code pattern is added I verified it was agreed to be used by multiple Expensify engineers
[x] I followed the guidelines as stated in the Review Guidelines
[x] I tested other components that can be impacted by my changes (i.e. if the PR modifies a shared library or component like Avatar, I verified the components using Avatar are working as expected)
[x] I verified all code is DRY (the PR doesn't include any logic written more than once, with the exception of tests)
[x] I verified any variables that can be defined as constants (ie. in CONST.js or at the top of the file that uses the constant) are defined as such
[x] I verified that if a function's arguments changed that all usages have also been updated correctly
[x] If any new file was added I verified that:

[x] The file has a description of what it does and/or why is needed at the top of the file if the code is not self explanatory

[x] If a new CSS style is added I verified that:

[x] A similar style doesn't already exist
[x] The style can't be created with an existing StyleUtils function (i.e. StyleUtils.getBackgroundAndBorderStyle(theme.componentBG))

[x] If the PR modifies code that runs when editing or sending messages, I tested and verified there is no unexpected behavior for all supported markdown - URLs, single line code, code blocks, quotes, headings, bold, strikethrough, and italic.
[x] If the PR modifies a generic component, I tested and verified that those changes do not break usages of that component in the rest of the App (i.e. if a shared library or component like Avatar is modified, I verified that Avatar is working as expected in all cases)
[x] If the PR modifies a component related to any of the existing Storybook stories, I tested and verified all stories for that component are still working as expected.
[x] If the PR modifies a component or page that can be accessed by a direct deeplink, I verified that the code functions as expected when the deeplink is used - from a logged in and logged out account.
[x] If the PR modifies the UI (e.g. new buttons, new UI components, changing the padding/spacing/sizing, moving components, etc) or modifies the form input styles:

[x] I verified that all the inputs inside a form are aligned with each other.
[x] I added Design label and/or tagged @Expensify/design so the design team can review the changes.

[x] If a new page is added, I verified it's using the ScrollView component to make it scrollable when more elements are added to the page.
[x] If the main branch was merged into this PR after a review, I tested again and verified the outcome was still expected according to the Test steps.

Screenshots/Videos

Android: Native
https://github.com/Expensify/App/assets/771902/c1cbf29e-6f3b-4998-bcf4-1d642f909a47

Android: mWeb Chrome
https://github.com/Expensify/App/assets/771902/258c40fe-5344-4a74-b8f7-698b35fbfb21

iOS: Native
https://github.com/Expensify/App/assets/771902/7273aaae-7b39-404d-ab54-5e21d0e316f6

iOS: mWeb Safari
https://github.com/Expensify/App/assets/771902/273c5790-5bba-4939-99bd-6ce1fcae1a3f

MacOS: Chrome / Safari

MacOS: Desktop

Ooops, extremely sorry for the delay here. We seem to have some conflicts. @agent3bood can you please resolve it and I will review this ASAP. Thanks.

Conflicts resolved, tested again and it is working fine.

@techievivek  any updates on when this PR can be merged? It is ready and approved.

Sorry once again. I was ooo last week, so I couldn't get to this earlier, and there are new conflicts. Can you please fix them I will merge them ASAP.

@techievivek done 🆗

:hand: This PR was not deployed to staging yet because QA is ongoing. It will be automatically deployed to staging after the next production release.

🚀 Deployed to production by https://github.com/Julesssss in version: 1.4.60-13 🚀

platform
result

🤖 android 🤖
success ✅

🖥 desktop 🖥
success ✅

🍎 iOS 🍎
success ✅

🕸 web 🕸
success ✅


Compile error

I get a strange error while compiling:
 → knit board=virt_riscv64
The result was:
[1/9] .bootobj/bootloader.o
[2/9] .bootobj/libd/libc.o
[3/9] .bootobj/bootloader/main-payload.o
[4/9] .kobj/kernel.o
[5/9] .kobj/libd/libc.o
[6/9] kernel.elf
/home/mahdis/gnu-riscv64-unknown-elf-linux-amd64/gnu-riscv64-unknown-elf/bin/../lib/gcc/riscv64-unknown-elf/13.0.1/../../../../riscv64-unknown-elf/bin/ld: warning: kernel.elf has a LOAD segment with RWX permissions
[7/9] kernel.payload
/usr/bin/sh: line 1: plboot: command not found removing 'kernel.payload' due to failure Knitfile: 'kernel.payload': error during recipe: exit status 127
I also get the same error with the knit dc=gdc command.
My OS version is Fedora 37

I'm not familiar with the knit compile system, where is the log stored?

Thanks for opening the issue. plboot is a custom tool in the tools directory that you must install first (it is used to create the kernel payload for the boot loader, and for sending a kernel payload over UART if using actual hardware). Run go install from inside tools/plboot (or use go build and install the binary where ever you want).
If you want to see the exact commands that knit runs, use knit -s basic (to use the basic output style).

Thank you, it worked.


Cluster ignores feature style function on resolution change

Describe the bug
In case there are cluster features having a features style function set (used for indicating selected features), a change in resolution will invalidate the feature style and not call the style function for a feature.
To Reproduce
Steps to reproduce the behavior:

Create a cluster layer with point features
Set feature style function on selected features
Zoom in or out the map

Expected behavior
It is kind of obvious that feature clusters are being recreated on resolution change and that previously selected features might therefore not be valid anymore but not all feature cluster are being changed and for those the style function should still be called and the feature should remain selected.

All clusters are cleared before being recalculated.  You could set a property on each of the features within a selected cluster and use a layer style function to style the cluster depending whether all, some or none of its features have that property.


video_player can not play video

I wrote the sample according to the offcial sample , while I get such errors:

E/ExtMediaPlayer-JNI( 8765): env->IsInstanceOf fails
E/MediaPlayer-JNI( 8765): JNIMediaPlayerFactory: bIsQCMediaPlayerPresent 0
E/ExtMediaPlayer-JNI( 8765): env->IsInstanceOf fails
E/MediaPlayer-JNI( 8765): JNIMediaPlayerFactory: bIsQCMediaPlayerPresent 0
D/MediaHTTPConnection( 8765): filterOutInternalHeaders: key=User-Agent, val= stagefright/1.2 (Linux;Android 6.0.1)
D/MediaHTTPConnection( 8765): proxy null port 0
D/MediaHTTPConnection( 8765): proxy null port 0
D/MediaHTTPConnection( 8765): proxy null port 0
D/MediaPlayer( 8765): setSubtitleAnchor in MediaPlayer

My phone is onePlus 2 , Android 6.0.1

please add the output of flutter doctor
and if possible the code that allows to reproduce


AttributeError on_nick

https://github.com/Autotonic/piny-librtmp/blob/crossplatform/pinylib.py#L533
Could be some weird Python3 related bug. Forces a reconnect.
[03:03:29] guest-146185:146185 joined the room.
[03:03:32] Unknown command: join
Traceback (most recent call last):
  File "pinylib.py", line 242, in connect
    self.__callback()
  File "pinylib.py", line 358, in __callback
    self.on_nick(old_nick, new_nick, nick_id)
  File "pinylib.py", line 534, in on_nick
    old_info.nick = new
AttributeError: 'NoneType' object has no attribute 'nick'

EDIT: Yeah after seeing the error a few more times it seems to have a pattern. Will add some verbosity and see if I can get a better idea of what's going on.

Caused by amf0_data.format being sent as 3 instead of 1


Width of Navbar can be reduced and Scrolling issue

Issue Description
The width of the navbar is not proportional and while scrolling (going down the page) navbar should disappear
(i) position of navbar should not be fixed.
(ii) Fixed navbar reduces the space .
(iii) When we scroll then navbar should disappear and as we scroll up to the page then is should appear.
Additional context
For any clarification please contact and plz assign me to contribute

@akshitagupta15june , hey is anyone working on this??


Is it Possible to do a Flaky Rerun on a Pytest Error rather than a Pytest Failure?

Hey folks,
Just wondering if there is a way to use flaky on an error within pytest rather than a failure! I have a couple tests that fail occasionally on setup, but it seems like flaky doesn't pickup an error rather than a failure.
Let me know if you need any particular setup info or if I'm not making sense!

Since version 3.7.0 it supports flaky test retrying on Error on setup


Test webhook2

Opening a PR from @zekemorton so I can add little comments as I am testing things out!

@zekemorton I did some more digging and found a few things:

Many production operators on operator hub don’t bother with webhooks
It seems to be complex to setup specifically for local development and minikube

I found a fairly good description here https://github.com/kubernetes-sigs/kubebuilder/issues/400#issuecomment-1185296118 and I have some gut feelings, below!
This would add quite a bit of complexity to set up, especially for local development, and I’m not sure the benefits of “a different way of validation” are worth it. E.g, to give a new developer user to the operator all these custom steps to manually create certs and possibly a server - is that worth any benefit? For example, we get validation of our CRD somewhat out of the box with kubebuilder - in my recent PR I forgot to make the post start exec optional and it yelled at me when I forgot it. Since we have a lot of work to do with respect to the core operator and workflows, I want to suggest that we hold off on this until it’s either absolutely necessary or we are finishing up a production product (and it would be a nice to have). If you are excited about working on it by all means keep debugging, but my spider senses are thinking soon when we have lots of workflows to figure out it won’t be the best use of our time. Let me know what you think!

@vsoch I agree. This isn't the most time sensitive feature, and if it is add more headache than its worth, I think we should just put it in the back log until it's necessary.

@zekemorton are you interested in trying this out again in the new year? If not (with your permission) I'd like to give a shot, and at least get some insight to why stuffs weren't working. No rush to get back to me on this - it's more just curiously. Happy Holidays!

Thanks for following up on this @vsoch! I'd be happy to take a look at it again at some point, but feel free to give it a shot if you find the time!

okay sounds good! I just did a big amount of work in #61 since we need that for some experiments soon, and I should have time after that (soon).


Fixed theoretical attack

Vuln allowed an attacker to calculate passwords in half the time a legitimate user could do it. We preserved reverse-compatibility (thanks @mnzt). Also did some other cleaning up.

k00l :accept:


[v4] inclTokens for getProductInfo no longer works

I'm using<EMAIL_ADDRESS>and setting the inclTokens parameter for getProductInfo breaks it. It seems it never calls the callback or promise resolver when it is set. The issue exists for both the callback and promise version of the function.

Confirmed, and fixed in v4.5.1. Thanks!


Decouple HttpsHandler from PipelineRegistry

Codecov Report

:exclamation: No coverage uploaded for pull request base (master@b64c700). Click here to learn what that means.
The diff coverage is 100%.

@@            Coverage Diff            @@
##             master    #5828   +/-   ##
=========================================
  Coverage          ?   82.97%
  Complexity        ?    11862
=========================================
  Files             ?     1403
  Lines             ?    45571
  Branches          ?     5641
=========================================
  Hits              ?    37813
  Misses            ?     5123
  Partials          ?     2635

Impacted Files
Coverage Δ
Complexity Δ

.../java/io/crate/protocols/ssl/SslHandlerLoader.java
68% <ø> (ø)
8 <0> (?)

.../crate/protocols/http/HttpsConfiguringHandler.java
100% <100%> (ø)
3 <1> (?)

...a/io/crate/protocols/http/DefaultHttpsHandler.java
100% <100%> (ø)
2 <1> (?)

...rc/main/java/io/crate/plugin/PipelineRegistry.java
98.14% <100%> (ø)
15 <0> (?)

Continue to review full report at Codecov.

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


Simplify DB base class declaration

Minor fix to simplify the code in DB base class declaration, by making use of the @as_declarative decorator introduced in SQLAlchemy 0.8.3.

Ah, yes! Nice. Thanks for your contribution! :rocket: :tada:


ENH: Rename Unit to LineSegment (?)

As discussed in https://github.com/vocalpy/vocalpy/issues/49, a Segmenter should return either a Sequence of LineSegment or a BoxSet of Box
Currently we return a Sequence of Units, to match the term used by Kershenbaum et al 2016. The term "unit" makes sense in the context of that paper where they are trying to be agnostic about what the atomic unit of sequences is, but it's not specific enough within the context of vocalpy. I think a SequenceDataset should always have Sequences of LineSegments

Closing, superceded by #127


DHT11 with Raspberry Pi B+ returns inaccurate (truncated?) information

Hey there,
I've been playing around with this library, and realized that the sensor information isn't quite accurate. I'm getting a value, but the decimal part is always 0. The temperature will jump, for instance, from '25.0C' to '24.0C' and back to '25.0C'.
I'm using the DHT11 temperature sensor with the raspberry PI B+.
Given your simpletest (https://github.com/adafruit/Adafruit_Python_DHT/blob/master/examples/simpletest.py)
with the debug info here https://github.com/adafruit/Adafruit_Python_DHT/blob/master/source/Raspberry_Pi/pi_dht_read.c#L136
I'm get something like the following values :
pi@raspberrypi ~ $ sudo python sensor.py
Data: 0x1a 0x0 0x18 0x0 0x22
Data: 0x18 0x0 0x17 0x0 0x2f
Temp=23.0*C  Humidity=24.0%

i've modified the following lines of the simpletest file
# sensor = Adafruit_DHT.DHT22
sensor = Adafruit_DHT.DHT11

AND
# pin = 'P8_11'
pin = 4

An example of the jumpiness can be seen here :

Did a little more digging and realized that this particular sensor just isn't all that accurate, and has an error rate of +-2C, so I'm assuming that the sensor just doesn't give a precise enough readout.


Merge develop to main

 Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you all sign our Contributor License Agreement before we can accept your contribution.1 out of 3 committers have signed the CLA.:white_check_mark: sandorkertesz:x: iainrussell:x: tlmquintinoYou have signed the CLA already but the status is still pending? Let us recheck it.