[SPARK-35312][SS][FOLLOW-UP] More documents and checking logic for the new options

What changes were proposed in this pull request?
Add more documents and checking logic for the new options minOffsetPerTrigger and maxTriggerDelay.
Why are the changes needed?
Have a clear description of the behavior introduced in SPARK-35312
Does this PR introduce any user-facing change?
Yes.
If the user set minOffsetsPerTrigger > maxOffsetsPerTrigger, the new code will throw an AnalysisException. The original behavior is to ignore the maxOffsetsPerTrigger silenctly.
How was this patch tested?
Existing tests.

cc @HeartSaVioR @viirya @jose-torres

Test build #142655 has started for PR 33792 at commit d0ce12c.

Kubernetes integration test starting
URL: https://amplab.cs.berkeley.edu/jenkins/job/SparkPullRequestBuilder-K8s/47156/

Test build #142655 has finished for PR 33792 at commit d0ce12c.

This patch passes all tests.
This patch merges cleanly.
This patch adds no public classes.

Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/142655/

Kubernetes integration test status success
URL: https://amplab.cs.berkeley.edu/jenkins/job/SparkPullRequestBuilder-K8s/47156/

Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder-K8s/47156/

Could we please add a test for the new check?

Yea, adding a new test for the check.

Test build #142658 has started for PR 33792 at commit f7eae4d.

Kubernetes integration test starting
URL: https://amplab.cs.berkeley.edu/jenkins/job/SparkPullRequestBuilder-K8s/47159/

Test build #142658 has finished for PR 33792 at commit f7eae4d.

This patch passes all tests.
This patch merges cleanly.
This patch adds no public classes.

Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/142658/

Kubernetes integration test status success
URL: https://amplab.cs.berkeley.edu/jenkins/job/SparkPullRequestBuilder-K8s/47159/

Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder-K8s/47159/

Thanks! Merging to master/3.2.

Thank you for the quick review and merge.


Bridging figures/tables (and sensitivity)

As the master, Chris, how do you envisage the incorporation of bridging (and sensitivity) figures and tables.  I'm guessing that you've already coded in some sort of skeleton based on last years document.  However, there will inevitable be changes in the number of figures/tables and their contents here because of the year-to-year uniqueness of these (save for those 'key' sensitivities that we are asked to output).  Looking for guidance before I dig in.

...further.... I guess my thought was that this would be one place were we may have to just insert/call hard coded files....

It'll be fairly straightforward for me to have knitr make the plots and tables for the sensitivities. The sensitivity plots are very similar to the bridging plots, which I've already done. All I need is to know which sensitivities to include, and I will start the process. I see you have uploaded some sensitivity models, so I'll start with some of those (if I can get them downloaded on our slow network). Thanks Aaron

Okay, in not too long I should have examples of what I was thinking for bridging and sensitivity plots...

Excellent.. I have downloaded some of the sensitivity models and will start to produce similar plots to last year (for now). I can add others later. cheers


Anyway to install this Just on a SDCard?

I know that the installation process generally want you to install the OS on a NVME drive or similar. although I unfortunately don't have one on hand.

I did it on the regular OP5 here


⚠ ClamAV has degraded performance

In 99d0219, ClamAV (https://spamassassin.apache.org/) experienced degraded performance:

HTTP code: 200
Response time: 49 ms

Resolved: ClamAV performance has improved in db12259.


Fonts ratio breaks UI

If the phone settings is set to large or enhanced to 2x..3x etc
the UI breaks :

@hi-manshu how this can be handled?

It should be f

@hi-manshu Yes, it's fixed.


Harbor can't handle the repository name contain "/"

If you are reporting a problem, please make sure the following information are provided:
1)Version of docker 1.12.3
2)Config files of harbor, just use http not https
3)Log files, you can get them by package the /var/log/harbor/
Dec  6 00:16:46 <IP_ADDRESS> ui[26532]: 2016/13/06 05:16:46 #033[1;34m[router.go:829][D] | POST       | /service/notifications                   | 601.872µs        | match      | /service/notifications                   | #033[0m
Dec  6 00:16:46 <IP_ADDRESS> ui[26532]: 2016-12-06T05:16:46Z [DEBUG] [notification.go:96]: Increase the repository replication1/vmware/harbor-db pull count.
Dec  6 00:16:46 <IP_ADDRESS> ui[26532]: 2016-12-06T05:16:46Z [ERROR] [accesslog.go:154]: error in AccessLog: Error 1048: Column 'project_id' cannot be null
Dec  6 00:16:46 <IP_ADDRESS> ui[26532]: 2016-12-06T05:16:46Z [ERROR] [accesslog.go:155]: sql command is: admin, replication1/vmware, replication1/vmware/harbor-db, dev, pull
Dec  6 00:16:46 <IP_ADDRESS> ui[26532]: 2016-12-06T05:16:46Z [ERROR] [notification.go:73]: failed to add access log: Error 1048: Column 'project_id' cannot be null
Analysis: Harbor receive the notification after push repository registry complete, but if the more than two "/" in the repository name, harbor couldn't find the right project name, but this repository already exist in the Harbor's registry, for example:
<IP_ADDRESS>/replication1/vmware/harbor-log
Harbor's ip is "<IP_ADDRESS> "
project name is "replication1 "
but Harbor think project name is "replication1/vmware"
Fix :  "src/common/utils/utils.go :49"
func ParseRepository(repository string) (project, rest string) {
repository = strings.TrimLeft(repository, "/")
repository = strings.TrimRight(repository, "/")
if !strings.ContainsRune(repository, '/') {
rest = repository
return
}
//index := strings.LastIndex(repository, "/")             //replace this line with following line
index := strings.Index(repository, "/")
project = repository[0:index]
rest = repository[index+1:]
return
}

Actually, is this even possible on pure Docker Registry? I though that the first '/' separates the project and the image name, and that there weren't more sub projects or sub images possible.
I'm trying to remember a repo on the public Docker Hub that uses more than on slash, but can't remember :smile:
Can you please show me some repo or even try to publish on the public Docker Hub with more than one slash on the image tag/name, so I can try to make a PR on the code correcting this :)
Tks

hi rikatz, thank you for your reply.
Actually, docker tag command support more than one "/" as the repo name, docker user also can make a repo with more than one "/" as the name, and this repo can be pushed into private Registry, no matther it if exist on current docker Hub.( my docker version is 1.12.3)
I think it is not good if the user push the repo to the Harbor registry successfully but can't find it on Harbor UI.
I suggest 1) support this scenario, or 2) forbid user push more than one "/" repository , and give him the reason.

@onecool2 I see now that you already have a fix on the code (in the description of your issue).
Have you already tried this way, correcting the code and testing?
If don't, I can check that. I'm just pretty busy this week.

@rikatz . thank you for your reply.
I just did some sample testing on the change. Such as push repo and find it on Harbor UI.
: )


Question about available formats

Please follow the guide below

You will be asked some questions and requested to provide some information, please read them carefully and answer honestly
Put an x into all the boxes [ ] relevant to your issue (like that [x])
Use Preview tab to see how your issue will actually look like

Make sure you are using the latest version: run youtube-dl --version and ensure your version is 2017.06.18. If it's not read this FAQ entry and update. Issues with outdated version will be rejected.

[x] I've verified and I assure that I'm running youtube-dl 2017.06.18

Before submitting an issue make sure you have:

[x] At least skimmed through README and most notably FAQ and BUGS sections
[x] Searched the bugtracker for similar issues including closed ones

What is the purpose of your issue?

[ ] Bug report (encountered problems with youtube-dl)
[ ] Site support request (request for adding support for a new site)
[ ] Feature request (request for a new functionality)
[x] Question
[ ] Other

#############################################################################
Hello everybody,
I am using embedded youtube-dl to extract all my audio files with the same format.
For the moment, I ask them to have an sample rate of 44.1kHz with
'format': 'bestaudio[asr=48000]/best'
in the options.
The best for me would have been an asr of 48kHz. But, when I try with the same line, but with asr=48000, all the files have not the same sample rate that I want. Indeed, when I use
'listformats': 'True'
the 171 is always available (44.1kHz) but not one with 48kHz.
So, I am wondering : how the available formats are chosen ? Does it come from youtube directly ? (I am only downloading youtube videos.)
Thanks in advance!

https://github.com/rg3/youtube-dl#format-selection


ratings

would it be too much trouble to provide a table for kyu/dan ratings?

I will add it on https://docs.littlegolem.net/ratings/

Solved. There is a table on https://docs.littlegolem.net/ratings/

very helpful! thanks a lot!
On 05/26/2024 12:21 PM EDT Rio Malaschitz<EMAIL_ADDRESS>wrote:

Solved. There is a table on https://docs.littlegolem.net/ratings/
—Reply to this email directly, view it on GitHub, or unsubscribe.You are receiving this because you authored the thread.Message ID: @.***>


How Can I view an array inside a subChild ?

Hi ,
Thank you for this framework , it's so helpful !
I'm trying to show an array of values inside a subChild (one value in it's own cell) and i can't figure it out yet
In a normal tableView it would be like :
myLabel.text = myArray[indexPath.row]
Is it possible to do that ?
Check my demo project to see what i'm trying to explain and you can see my data from the api link:
https://github.com/cs4alhaider/URL-analytics

Hi,
I downloaded your code and i review it. Actually, you don't need to use CITreeViewData you can put your JSON data in an array after downloaded with AFNetworking and you just teel to CITreeView something like that,
func treeViewDataArray() -> [Any] {
return analyticsArray
}
func treeViewSelectedNodeChildren(for treeViewNodeItem: Any) -> [Any] {
if let dataObj = treeViewNodeItem as? MyAnalyticsData {
return dataObj.references (or platforms or countries vb.)
}
return []
}

I have tried to implement it but i didn't know how to do it correctly
I will appreciate if you can sent a pull request 🙏

I have commit my last edit on :
https://github.com/cs4alhaider/URL-analytics

I cant read the whole code now but if you try to manipulate your json like this;
let urlJSON : JSON = JSON(responds.result.value!)
            for element in urlJSON {
                let ciTreeViewData = CITreeViewData(name: element.0)
                for element1 in element.1 {
                    let ciTreeViewData2 = CITreeViewData(name: element1.0)
                    ciTreeViewData.addChild(ciTreeViewData2)
                }
                allJSONArray.append(ciTreeViewData)
            }

PS: element.1 or element.0 are bad using you can use much more better way but generally logic is something like that


Remove i18n shim

Not needed for MediaWiki 1.25+

These will be removed from EmbedVideo eventually.  They are currently be left in for backwards compatibility until closer to the MediaWiki 1.27 release.

Ok well it isen't needed for mediawiki 1.23+.


Set USE_EXPERIMENTAL_TRACING as default

 Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.Petr Pechacek seems not to be a GitHub user. You need a GitHub account to be able to sign the CLA. If you have already a GitHub account, please add the email address used for this commit to your account.You have signed the CLA already but the status is still pending? Let us recheck it.

Nice change. Good naming for new variable.


Rancher Basic Test Plan for LB Services

Add basic test plan for LB Services.
Fix any related test plans for UX changes in private registry support.

I've been testing out the 0.19 tag and it seems that when I create a load balancer the host ports don't get exposed on the host. Not sure where else to post this issue since 0.19 was only recently tagged.
Running rancher server 0.19 and an agent on the same vm (inside boot2docker). Everything launches correctly and I can make the lb no problem but it doesn't do anything with the ports I configure on the load balancer even after it says the LB is active.

There is going to be a v0.19.1 soon... The agent version in 0.19.0 is incorrect

@cloudnautique cool, let me know if you want it tested again.

@cloudnautique btw, tried 0.19.1 and same issue.

More fixes coming.. if we don't tag a release with 'beta' pretty quick, it hasn't passed validation tests... just FYI

:D

EC2
Host Label/Container Label
Redesigned Services page.

Something that has come up while I was playing with the LB service features in new rancher releases is the ability to put the LB on a specific host or set of hosts. Right now, you can't specify what host the "service" based LB launches on. This makes it impossible to configure external DNS to point to said hosts for terminating the connection since the hosts could be changing.


Optimize sketch serialization and compression

What does this PR do?
This PR sets out to optimize protobuf serialization and compression of sketch payloads to use less CPU, memory, and # of allocations.
Summary of major changes:
Expose compressor methods
Refactor compressor to be more generic (not just json)
rename jsonstream package to stream since it's no longer json specific
Rename PayloadBuilder -> JSONPayloadBuilder (since its specific to JSON payloads)
Add MarshalSplitCompress method to Marshaler interface
Implement MarshalSplitCompress for sketch payloads
Motivation
The sketch serialization + compression logic is currently extremely naive: the entire slice of sketches is serialized and compressed, and if it’s too large it’s split and tried again, with no re-use of buffers. As a result, some agents have high RSS when there are a lot of sketch payloads being processed.
A better way to do this is to is to serialize the sketches and compress them as a stream (similar to PayloadBuilder for json streams). This is a bit more tricky with protobufs but still works essentially the same way. Instead of compressing and then checking the size if a split is needed, the compressor can report how full it is. So once a payload has reached it's maximum size, it will move on and create another one.
Additional Notes
Benchmarks
Note: I renamed the test to generate the comparison - however the "old" and "new" tests both exist since the old implementation is not removed.
benchmark                                 old ns/op       new ns/op       delta
BenchmarkSplitPayloadsSketches1-8         1578247         1673776         +6.05%
BenchmarkSplitPayloadsSketches10-8        13955364        14501642        +3.91%
BenchmarkSplitPayloadsSketches100-8       133746097       135289504       +1.15%
BenchmarkSplitPayloadsSketches1000-8<PHONE_NUMBER><PHONE_NUMBER>      -67.86%
BenchmarkSplitPayloadsSketches10000-8<PHONE_NUMBER>7<PHONE_NUMBER>0     -69.68%

benchmark                                 old allocs     new allocs     delta
BenchmarkSplitPayloadsSketches1-8         850            854            +0.47%
BenchmarkSplitPayloadsSketches10-8        8206           8204           -0.02%
BenchmarkSplitPayloadsSketches100-8       81739          81676          -0.08%
BenchmarkSplitPayloadsSketches1000-8      2451447        816419         -66.70%
BenchmarkSplitPayloadsSketches10000-8     24511330       8163802        -66.69%

benchmark                                 old bytes       new bytes      delta
BenchmarkSplitPayloadsSketches1-8         1338006         1410063        +5.39%
BenchmarkSplitPayloadsSketches10-8        5982841         6929225        +15.82%
BenchmarkSplitPayloadsSketches100-8       52094898        52838706       +1.43%
BenchmarkSplitPayloadsSketches1000-8<PHONE_NUMBER>      445464744      -71.09%
BenchmarkSplitPayloadsSketches10000-8<PHONE_NUMBER>4<PHONE_NUMBER>     -71.80%

Describe your test plan

Added UT's to compare compression + decompression with the old method
Manual E2E testing

Notes for QA:

Test this feature as usual, however please ping me (Brian) to keep an eye on telemetry when this is deployed.

note: this PR should have a release note


Double quotes faulty in spell formular

Need support for double-quotes in spell formula
URL:
https://dev.tibiadata.com/v3/spells/spell/levitate

@tobiasehlert any preference for how this is handled?
Some possible solutions;

Escape the double quotes, e.g: "formula": "exani hur \"up|down\"",
Replace double quotes with single quotes, e.g: "formula": "exani hur 'up|down'",

@tobiasehlert any preference for how this is handled?
Some possible solutions;

Escape the double quotes, e.g: "formula": "exani hur \"up|down\"",

Replace double quotes with single quotes, e.g: "formula": "exani hur 'up|down'",

No quotes: "formula": "exani hur up|down",

Hi @darrentaytay,
I think that the option to run single quotes would be the best option. Would probably look best when considering other spells that have options like remote healing of druids. Or what you think?

@tobiasehlert any preference for how this is handled?
Some possible solutions;

Escape the double quotes, e.g: "formula": "exani hur \"up|down\"",
Replace double quotes with single quotes, e.g: "formula": "exani hur 'up|down'",
No quotes: "formula": "exani hur up|down",

Hi @darrentaytay, I think that the option to run single quotes would be the best option. Would probably look best when considering other spells that have options like remote healing of druids. Or what you think?

@tobiasehlert I think that makes sense.
Do you know if this issue is specific to the formula or does it appear somewhere else too?
Not sure whether to just handle it for formula or potentially find a more general solution.

@tobiasehlert I think that makes sense.
Do you know if this issue is specific to the formula or does it appear somewhere else too?
Not sure whether to just handle it for formula or potentially find a more general solution.

There are some other spells as well. Take a look in https://dev.tibiadata.com/v3/spells to find other spells that are in the same situation. I think it's actually only the formula field that we need to fix.

Closing since spells endpoints are fixed with #14.

Closing since spells endpoints are fixed with #14.


Add an obvious notice for metric initialization of multiprocess collector

As a beginner, I build a histogram metric in my Python application with a self-defined collect registry.When deploy under multiple process circumstance, I get a help from README file. According to that, I don't change metric's initialzation and get http 500 when making requests to pushgateway. Finally, I fix the problem and think there should be a more clear and obvious description for beginners.

The example already indicates how to do it correctly. I don't think it's sane to list every way in why someone managed to not follow the example correctly.

while there is no any more explaination about CollectorRegistry class, collector will fail when using multiprocess collector's registry as metric registry argument. It just like a balck box.

This is all deep magic. Attempting to explain it would only cause more user confusion.

With more detailed document about how CollectorRegitry works with metric, beginners can easily make sense of the structure of metric observation and metric collector.

Users shouldn't have to care. The docs provide full examples on how to use this correctly, and anyone looking for more can read the code or ask for help.


npm release

Would it be possible to get a release on npm with the newest changes?

It was published today thanks to you


Governance & adherence to Canada.ca

Comparing Canada.ca Design System Mandatory Elements and GC Design System https://docs.google.com/document/d/12ndCFLChdiPqzHjKuBh31iiX12jutE1zmKL_BMrNeNU/edit#heading=h.5bhgp6vdntlp

Should we establish a policy review as part of the design process?
Could we draft rationale for diverging from the mandatory requirements?
Could we label and categorize patterns that don't meet the requirements?
How should we advise clients?

Policy Status — comparing the Canada.ca Design System and GC Design System.

Policy Status — comparing the Canada.ca Design System and GC Design System.

Miro

Do we want to include policy, best practice references, and accessibility highlights for each component on the main site to help users how check/ensure compliance with GC policy for the way they're using the component? Reference tab prototype


[wrt] Cleanup the designed test from packertoolmaun

The test suite can build and run normally.

Impacted TCs num(approved): New 0, Update 0, Delete 1
BUG=https://crosswalk-project.org/jira/browse/XWALK-4605

LGTM


Not working with FlutterFragmentActivity

Can you explain this in more detail? What your use case is and how to reproduce.

Closing as I am unable to reproduce. Feel free to reopen when you have a way to reproduce.


Kill infra pod when a container is restarted.

Revert 0e20f7d73659c8dcec771f8d72f525360c26fcc3.
Fixes #4759.

Don't merge yet. Running e2e to verify
/cc @dchen1107

Manual tests show this fixes the issue. I'm having trouble getting the e2e cluster up for some reason...

cAdvisor e2e test is passing. I think we're good to go @dchen1107

LGTM.

All e2e tests are passing too

Thanks for the fix.


Second y-axis stops auto-scale from working (y-axis scale always starts with 0)

Checklist

[x] I updated the card to the latest version available => tested with 1.9.0-dev.1
[x] I cleared the cache of my browser
[x] I verified that I'm really running the lastest version in my browser console
[x] I checked if there is another issue opened with the same problem

Describe the bug
As soon as I add a second y-axis, both y-axis are starting with 0. I already tested 1.9.0-dev.1 and specified a min function (see my configuration) but this doesn't work neither.
Version of the card
Version: 1.8.2 and 1.9.0-dev.1
To Reproduce
This is the configuration I used:
type: 'custom:apexcharts-card'
apex_config:
  yaxis:
    - title:
        text: Axis 1
      min: |
        EVAL:function(min) {
          return min;
        }
    - title:
        text: Axis 2
      opposite: true
      min: |
        EVAL:function(min) {
          return min;
        }
series:
  - entity: sensor.Schlafzimmer_Temperatur
    name: Temperature
  - entity: sensor.Schlafzimmer_Humidity
    name: Humidity

Screenshots
Appearance when using one y-axis (just removed the second axis from the configuration above):

The axis starts at ~ 19.
When using the configuration from above with two y-axis, both y-axis starts at 0:

Expected behavior
The min values of the y-axis are dynamically identified (either per default or per function as above) just as it is determined if only one y-axis is defined.
Desktop (please complete the following information):

Firefox 88.0.1
Safari 14.1
macOS 11.3.1

Smartphone (please complete the following information):

Device: Phone 12 Pro
OS: iOS 14.5.1
stock Safari browser

Additional context

That's the behavior of the library I use, not much I can do about it. You need to hard-code the values if you want something different unfortunately :(

Too bad 😞 I managed to get the desired behavior in a fiddle (although not with the default config but with defining the min function as above). That’s why I hoped that this is a bug in the card library.
Would the fiddle help or are you sure that this is a library issue?

Sure, share it, I'll have a look

I couldn't manage this now, neither 😄 at least with plain javascript and the latest apex charts version.
But previously I just edited an existing example based on Angular and there it's working:
https://codesandbox.io/s/apx-line-data-labels-forked-41yht?file=/src/app/app.component.ts
It uses apexcharts in an older version (3.15.0) and updating it to the version used in the card I can reproduce the bug. So it's a library issue as you already stated.

I think I can hack something to make it work, but it's going to be super ugly... I'll try and report back.

This would be awesome 😊

👀 https://github.com/RomRider/apexcharts-card/pull/160

I tried the new version, but the axis still start at 0. Did I miss an important line in the configuration?

type: 'custom:apexcharts-card'
header:
  show: true
  title: ApexCharts-Card
  show_states: true
  colorize_states: true
series:
  - entity: sensor.Badezimmer_Temperatur
    name: Temperature
    yaxis_id: temperature
  - entity: sensor.Badezimmer_Humidity
    name: Humidity
    yaxis_id: humidity
yaxis:
  - id: temperature
  - id: humidity
    opposite: true

Sorry, this is a bug, I'll push a new version 😊

Works like a charm, thanks @RomRider 😊

@chah90 , Is this still working for you? I think I am seeing the same behavior described here on v1.10.0

Please don't comment on closed issues.
Open a new one and share your config :)

Facing same issue with angular @RomRider  can you share any code snippet ?


spring-cloud-context vs spring-cloud-config conflict

Hi!
In most of our applications we've been using spring-cloud-config dependency. Then for one of them we added Hystrix support via spring-cloud-starter-hytrix. Running this application via spring boot (gradle bootRun) works fine but when we deploy it in Tomcat the configuration is no longer fetched from property sources (we load configuration on bootstrap). What we found is that there are a lot of duplicated classes between spring-cloud-config and spring-cloud-context dependencies (for example org.springframework.cloud.bootstrap.BootstrapConfiguration). Excluding spring-cloud-context dependency from spring-cloud-starter-hystrix solved the issue for us.
However I am still wondering why are there so many duplications between these dependencies? Which one should we be using?

@gregorej there are no duplicated classes. We moved classes between versions. Sounds like you have mixed versions. What versions of each are you using?

spring-cloud-starter-hystrix:1.0.3
spring-cloud-config-client:1.0.0.RELEASE

and does it happen if you sync versions?

Haven't tried that but I will. Thanks for the hint!

The change will be more complex that I thought because, as I can see now, event packages have changed (i.e. PropertySourceLocator interface changed package)

OK, downgrading to spring-cloud-starter-hystrix:1.0.0.RELEASE helped. Thanks.


to fix the #1324

[APPROVALNOTIFIER] This PR is NOT APPROVED
This pull-request has been approved by: olegchorny
To fully approve this pull request, please assign additional approvers.
We suggest the following additional approver: geeknoid
Assign the PR to them by writing /assign @geeknoid in a comment when ready.
The full list of commands accepted by this bot can be found here.
The pull request process is described here

Needs approval from an approver in each of these files:

OWNERS

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

Hi @olegchorny. Thanks for your PR.
I'm waiting for a istio member to verify that this patch is reasonable to test. If it is, they should reply with /ok-to-test on its own line. Until that is done, I will not automatically test new commits in this PR, but the usual testing commands by org members will still work. Regular contributors should join the org to skip this step.
I understand the commands that are listed here.

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository.

/lgtm

[APPROVALNOTIFIER] This PR is APPROVED
This pull-request has been approved by: geeknoid, olegchorny
The full list of commands accepted by this bot can be found here.
The pull request process is described here

Needs approval from an approver in each of these files:

OWNERS [geeknoid]

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

Sorry guys, I signed CLA, I hope we can proceed now.

/ok-to-test

@olegchorny: PR needs rebase.

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository.

This were changed and I've submitted another #1404 to fix this issue.

Could you please rebase, resolve conflicts, and resubmit?
Thanks.

This issue has been fixed by another pull request already, I'm closing this PR, thanks.


RemoteNotificationName conflicts DidRegisterSettingsNotificationName

The two notification names conflict, which cause unexpected notification handling when RemoteNotificationsRegistration and UserNotificationPermissionOperation are used simultaneously.

Thanks @difujia!


PSA: FxTwitter is not compromised, fxdeviantart is an unrelated service

A different embed fix service, fxdeviantart, had their domain expire, causing it to become parked and link to ads/potential malware. This has caused some confusion because of the similar name to FxTwitter, but fxtwitter.com both doesn't expire until 2026 and is on auto-renew. Hope this clears things up, stay safe out there!
Edit: Also fxfuraffinity.net, while unaffiliated with FxTwitter, does not appear to be compromised either as it still works.
TL:DR:

✅ FxTwitter.com (and FixupX.com) are safe
(domains currently expire July 2026, August 2025 respectively)

✅ FxFuraffinity.net (and Fxraffinity.net) appear to be safe
(domains currently expire July 2024)

❌ FxDeviantArt.com has expired and no longer works.
Do not click on old FxDeviantArt links as they now link to the parked page instead of forwarding you to DeviantArt.
Replace old links with deviantart.com if possible, otherwise make sure to copy it and strip fx.

It's good to have some context here; as usual, people assume, "Everything is broken!!!111"

Thanks for the information about this, reassuring to know the developers keep eyes on such things.

I don't want to pollute your issues with this, but I feel most people with a brain are going to come here for info.
Having a look, its just a generic parking domain. I've sent requests the match discords and I don't see anything that indicates "they are trying to steal your accounts" it's just a simple 302 redirect to a parking domain.
So Remember!
✅  FxTwitter.com is Safe
✅  FxFuraffinity.com appears to be Safe
❌  FxDeviantArt.com domain has just expired and at present isnt doing anything nefarious
(but that doesn't stop someone buying it and doing something dodgy)

I don't want to pollute your issues with this, but I feel most people with a brain are going to come here for info.
Having a look, its just a generic parking domain. I've sent requests the match discords and I don't see anything that indicates "they are trying to steal your accounts" it's just a simple 302 redirect to a parking domain.
So Remember! ✅ FxTwitter.com is Safe ✅ FxFuraffinity.com appears to be Safe ❌ FxDeviantArt.com domain has just expired and at present doesn't appear to be anything nefarious (but that doesn't stop someone buying it and doing something dodgy)

Fxraffinity.net seems to be safe as well.

I'm glad for this clarification as I run a few large servers that use the FX prefix a lot for content. I initially tried to search this up and got nowhere. A member shared this with me. Thanks for the clarification as that has helped with the fear factor my announcement caused. lol

Please excuse, too. For those curious of FxDeviantArt's current state when visited atm, these "Related searches" pages displayed for expired domains (or even 404 pages at times) is a common website hoster behavior to have these visits monetized. Visitors are then under mercy of their ad providers, so they could be served redirections to anything from benign to malvertising.
What happens when fxdeviantart is still used as of writing? Nothing; the site doesn't provide anything to embed as the hoster doesn't know what to do with the rest of the URL. When the fx-ified URL is clicked though, it will land you to this same "Related searches" page, instead of redirect you to the original DeviantArt domain (assumed default behavior).
However, like what @Atreidae mentioned, it could be registered by anyone else atm that isn't the fxdeviantart author, and publish something that would take advantage of these URL queries.
Just don't visit, use nor click the fx'd deviantart links for the meantime, to avoid the potential landing to somewhere dangerous.
(And again, FxTwitter/fixupx is unaffected, just to put it on footnote)

I'd like to mirror the sentiments above.
--
✅ FxTwitter.com is Safe
(embeds properly + redirects to here + owner said so + doesn't expire until 2026-07-07)
✅ FxFuraffinity.net is Safe
(embeds properly + redirects to informational landing page as it should + doesn't expire until 2024-07-26)
⛔ FxDeviantArt.com is Bad Mojo
(doesn't embed anymore + visiting link redirects to dangerous sites + listed as for sale/expired on 2024-02-15)
--
Right now, FxDeviantart is not a nuclear bomb. Posting it on Discord or Telegram won't immediately compromise everyone's account in the server/chat or fill their computer with viruses. Right now it's broken and does nothing unless you click the link.
However... Everyone needs to stop using FxDeviantart right now. And clear out old links just to be safe.
Just because the current owner doesn't care to do anything bad, it doesn't mean the next owner won't start injecting ads/propaganda/fake news/gore/bad-bad-things into every embed. Or start showing things like "To view the hidden link please scan this QR code" to try and hijack accounts.
So please stop using FxDeviantart until it has been established and publicly verified whether it's been recovered by someone benevolent, or whether it's been taken over by someone intending on doing very bad things.
(Or if it's going to be forever stuck in parking limbo behind a $10,000 paywall).
Stay safe everyone.

At this point someone should hijack this domain from the malicious actors just to bring it back to the rightful owners.

oh alr cool, thanks for the info!
1197666742483296356.png

Good to see we actually have sensible information amidst all this panicked misinformation.

At this point someone should hijack this domain from the malicious actors just to bring it back to the rightful owners.

It's at least 100 grand

It's at least 100 grand

I wonder how they calculate that sum, because that seems absolutely bonkers insane...
Unless of course they are actually taking into account how much someone could """earn""" by buying the domain and using it to infect people and cleaning out their bank accounts, and other such terrible, terrible things.

That is NOT the price to buy the domain.
That is GoDaddy's minimum offer to start a sale negotiation with the owner. GoDaddy considers the domain to be a Premium Domain, so they've bloated the minimum offer needed for them to negotiate a sale with the owner.
Word of advice, do not use GoDaddy for stuff - For ex, Namecheap's minimum offer to start a negotiation with the owner is only $199.
The domain is registered at Namecheap and is not for sale yet.
According to Namecheap's documentation, the domain is currently in a 30 day grace period in which only the original owner can renew it. After that will be another 30 day redemption period in which the owner can recover it for a fee, or the registrar can auction it - it looks like most namecheap auctions start at $15 but no one really knows what will happen at that point. After that if it has not been recovered or bought, it will enter a 5 day "pending delete" period where no one can touch it, and after that it will be available to the public for registration.
https://www.namecheap.com/support/knowledgebase/article.aspx/9916/2207/tlds-grace-periods/

I'm glad for this clarification as I run a few large servers that use the FX prefix a lot for content. I initially tried to search this up and got nowhere. A member shared this with me. Thanks for the clarification as that has helped with the fear factor my announcement caused. lol

For anyone running Discords, I highly recommend a bot like Nano to convert all your links into posts.
It will reduce the load on services like FxTwitter as it will cache and embed the content into the channel.
It also forces all embeds from supported services to use the same look and feel regardless if they use FX/VX/whatever
Support: https://nano.buxy.xyz/discord
Website: https://nano.buxy.xyz/

I'm glad for this clarification as I run a few large servers that use the FX prefix a lot for content. I initially tried to search this up and got nowhere. A member shared this with me. Thanks for the clarification as that has helped with the fear factor my announcement caused. lol

For anyone running Discords, I highly recommend a bot like Nano to convert all your links into posts.
It will reduce the load on services like FxTwitter as it will cache and embed the content into the channel. It also forces all embeds from supported services to use the same look and feel regardless if they use FX/VX/whatever
Support: https://nano.buxy.xyz/discord Website: https://nano.buxy.xyz/

I've seen this bot in a few different discords, but the website is pretty much "this website is unfinished still sorry xoxo" which is a little... underwhelming...? 😅
I think SaucyBot also was using the fxtwitter prefix too. Not sure if that's been changed.

That is NOT the price to buy the domain. That is GoDaddy's minimum offer to start a sale negotiation with the owner. GoDaddy considers the domain to be a Premium Domain, so they've bloated the minimum offer needed for them to negotiate a sale with the owner. Word of advice, do not use GoDaddy for stuff - For ex, Namecheap's minimum offer to start a negotiation with the owner is only $199.
The domain is registered at Namecheap and is not for sale yet.
According to Namecheap's documentation, the domain is currently in a 30 day grace period in which only the original owner can renew it. After that will be another 30 day redemption period in which the owner can recover it for a fee, or the registrar can auction it - it looks like most namecheap auctions start at $15 but no one really knows what will happen at that point. After that if it has not been recovered or bought, it will enter a 5 day "pending delete" period where no one can touch it, and after that it will be available to the public for registration. https://www.namecheap.com/support/knowledgebase/article.aspx/9916/2207/tlds-grace-periods/

Dumb question here. Has anyone actually reached out to the owner of FxDeviantArt and checked to see what they want to do?
At first I figured it was just a short thing that maybe they forgot to renew.

fwiw, namecheap has a grace period with recently expired domains bought through them where, although it goes to their landing page, the owner of the domain can still renew it without worrying about it being taken for about a week or two.

Dumb question here. Has anyone actually reached out to the owner of FxDeviantArt and checked to see what they want to do?

@Atreidae As best they can, yes, though it looks unlikely the owner will respond. You can follow this issue on the fxdeviantart repo for updates: https://github.com/daisyUniverse/fxdeviantart/issues/4
Further discussion should probably happen there so we're not filling up fxtwitter's issues.

fwiw, namecheap has a grace period with recently expired domains bought through them where, although it goes to their landing page, the owner of the domain can still renew it without worrying about it being taken for about a week or two.

See the comment I posted earlier https://github.com/FixTweet/FxTwitter/issues/677#issuecomment-1957856485 for more details and a link to Namecheap's expiration policies.

Currently trying to contact the original creator of fxdeviantart to see if I can reach her. It seems she went "offline" a couple months back and hasn't posted anything since on any platform that I could find.
I'm also currently in contact with Namecheap to see if I can somehow prevent the domain from fully expiring and falling into shady hands.

I just made a payment towards Namecheap to get "fxdeviantart.com" renewed for another year via a third-party request.
If the original buyer doesn't decline the payment within 24 hours the domain should be up and running by that point again.
Hope this means that no scammer or other bad actor will get control of the domain meanwhile.

The domain "fxdeviantart.com" is safe again!
I was able to make a "third party payment" towards Namecheap which now reinstated the domain, this means it's safe for another year ❤
You an safely use it again to link to art there!


Android Crash Fix - Activity Events

#353 Issue explained here.
I did some investigation into why the app was crashing and noticed that the application.android.on( application.AndroidApplication.XXXX) events were being triggered from the Google sign-in activity as well as the activity where the map exists. So when the Google sign-in process finishes, it triggers activityDestroyed which this plugin is listening for which causes the map to get destroyed and ends up causing the app to crash.
My solution is to keep track of what activity the map was created in, and then whenever an application.android.on( application.AndroidApplication.XXXX) event is triggered we check whether the activity triggering this is the activity the map exists in.

Nicely done! Thank you for this.

Unrelated question. Are you planning on removing all the console.log() statements from the plugin before publishing a new version? I notice some performance issues with those being there.

Yea, the console logs add some serious overhead. I want to leave them in the source because I find them very useful in figuring out how everything works. Coming up to speed on this plugin from first principles took a lot of effort. My hope is to make it so subsequent developers have an easier time.
I'm actually looking into how to publish this on NPM right now (This will be the first thing I have published to NPM) and I completely forgot about the console logs. They should definitely not be in the production version. Thanks for the reminder.


Function and class names are black when compiled on readthedocs

When locally compiled, the names of functions and classes are blue as intended. But when compiled on readthedocs, the colors turn black and are difficult to read.

I'm having the same issue, but it persists locally and when deploying to gh-pages after the build (via github actions) (via make clean html)

I have the same issue. It also applies to click CLI apps documented with sphinx-click.

For me the local build is already black.

It may help to mention that I solved this issue by specifying sphinx-rtd-theme==0.5.2, it seems that 1.0.0 is causing the issue.

It may help to mention that I solved this issue by specifying sphinx-rtd-theme==0.5.2, it seems that 1.0.0 is causing the issue.

Is there some activity regarding this issue? I still have dark class names.

I have this issue when using the theme along Breathe

Here's what I have come up with as a quick fix:
html[data-theme="dark"].writer-html5 .rst-content dl[class]:not(.option-list):not(.field-list):not(.footnote):not(.citation):not(.glossary):not(.simple) .sig-name {
	color: var(--dark-text-color);
}

html[data-theme="dark"].writer-html5 .rst-content dd dl[class]:not(.option-list):not(.field-list):not(.footnote):not(.citation):not(.glossary):not(.simple) .sig-name {
	color:inherit;
}

YMMV

I ended up coming up with this based off of the proejct FreyJo sent.
/* "class" text */
html.writer-html5
  .rst-content
  section
  > dl:first-of-type
  > dt:first-of-type
  > .property {
  color: green;
}

/* first part of signature
i.e. `content_filter.` in the Python example
*/
html.writer-html5
  .rst-content
  dl[class]:not(.option-list):not(.field-list):not(.footnote):not(
    .citation
  ):not(.glossary):not(.simple)
  > dt
  > .sig-prename {
  color: orange;
}

/* second part of signature
i.e. `Filter.` in the Python example
*/
html.writer-html5
  .rst-content
  section
  dl[class]:not(.option-list):not(.field-list):not(.footnote):not(
    .citation
  ):not(.glossary):not(.simple)
  > dt:first-child
  > .sig-prename
  + .descname {
  /*only select descnames that have a prename in front. Avoids selecting function signature
  descnames */
  color: orange;
}

I wanted to be as specific as possible, but I fear this might be too specific.  I built off of the already complex selectors, but if this looks like more madness please let me know.
You can view it on stackblitz here.
I will follow up after testing it on a non-python project.


Longer githash on gtfs-lib

Checklist

[ ] Appropriate branch selected (all PRs must first be merged to dev before they can be merged to master)
[ ] Any modified or new methods or classes have helpful JavaDoc and code is thoroughly commented
[ ] The description lists all applicable issues this PR seeks to resolve
[ ] The description lists any configuration setting(s) that differ from the default settings
[ ] All tests and CI builds passing
[ ] The description lists all relevant PRs included in this release (remove this if not merging to master)
[ ] e2e tests are all passing (remove this if not merging to master)

Description
jitpack.io now requires 10 character long git hashes. For example https://jitpack.io/com/github/conveyal/gtfs-lib/f2ceb59027/gtfs-lib-f2ceb59.jar works, but https://jitpack.io/com/github/conveyal/gtfs-lib/9837b6/gtfs-lib-9837b6.jar does not work.

I have already done this and with the correct hash.

Closing.


command 'install' has no such option 'single_version_externally_managed'

Getting this when trying to run on Travis CI. Seemingly not getting this on a local Xubuntu 18.04.
Could it be that something from the host's Python is still being used?
[conda/stderr] distutils.errors.DistutilsOptionError: error in setup.cfg: command 'install' has no such option 'single_version_externally_managed'
ERROR: Failed to run plugin: conda (exit code: 2)

Build log: https://travis-ci.com/probonopd/Lector/builds/96218255#L2218

This runs locally but fails on Travis CI:
https://github.com/probonopd/Lector/blob/0c8fe3161f3a409abffdfa80cf19135db5af68f7/generate_appimage.sh
Build log:
https://travis-ci.com/probonopd/Lector/builds/96224830

Deleted single_version_externally_managed from the application's setup.cfg. Now it builds on Travis CI.

Was about to reply that this seems like an issue in the original setup script. Great that it works now.

"Builds", not "works":
[pid  8017] stat("/home/travis/build/probonopd/Lector/src", 0x7ffd83eb4e00) = -1 ENOENT (No such file or directory)
[pid  8017] stat("/home/travis/build/probonopd/Lector", 0x7ffd83eb4e00) = -1 ENOENT (No such file or directory)
[pid  8017] stat("/home/travis/build/probonopd", 0x7ffd83eb4e00) = -1 ENOENT (No such file or directory)
[pid  8017] stat("/home/travis/build", 0x7ffd83eb4e00) = -1 ENOENT (No such file or directory)
[pid  8017] stat("/home/travis", 0x7ffd83eb4e00) = -1 ENOENT (No such file or directory)
[pid  8017] stat("/home/travis/build/probonopd/Lector/src/lector", 0x7ffd83eb03f0) = -1 ENOENT (No such file or directory)

That /home/travis/build/probonopd/ must be eradicated from the build products...

me@host:~$ grep -r "src/lector" squashfs-root/
squashfs-root/usr/conda/lib/python3.7/site-packages/lector.egg-link:/home/travis/build/probonopd/Lector/src/lector
squashfs-root/usr/conda/lib/python3.7/site-packages/easy-install.pth:/home/travis/build/probonopd/Lector/src/lector
me@host:~$ cat squashfs-root/usr/conda/lib/python3.7/site-packages/lector.egg-link
/home/travis/build/probonopd/Lector/src/lector
.me@host:~$ cat squashfs-root/usr/conda/lib/python3.7/site-packages/easy-installpth
/home/travis/build/probonopd/Lector/src/lector

cp -r src/lector/lector squashfs-root/usr/conda/lib/python3.7/site-packages/
rm squashfs-root/usr/conda/lib/python3.7/site-packages/lector.egg-link
rm squashfs-root/usr/conda/lib/python3.7/site-packages/easy-install.pth

squashfs-root/usr/conda/bin/python3.7 squashfs-root/usr/conda/lib/python3.7/site-packages/lector/__main__.py

cp -r src/lector/lector squashfs-root/usr/conda/lib/python3.7/site-packages/
rm squashfs-root/usr/conda/lib/python3.7/site-packages/lector.egg-link
rm squashfs-root/usr/conda/lib/python3.7/site-packages/easy-install.pth
squashfs-root/usr/conda/bin/python3.7 squashfs-root/usr/conda/lib/python3.7/site-packages/lector/main.py

We have something that begins to launch now, but:
$ Downloads/Lector-ff03947-x86_64.AppImage
(...)
This application failed to start because it could not find or load the Qt platform plugin "xcb"
in "".

Reinstalling the application may fix this problem.


ISSUE #998: Increase the qd_buffer_t payload size to 4096 (less overh…

…ead)
Fixes: #998

LGTM.  I see a ~15% improvement in TCP throughput with Flimflam's builtin workload.  Otherwise, memory and CPU and HTTP workloads seem to be unaffected by the change.
Further testing with 100 concurrent client sessions gets me a substantial boost in iperf3 (looks like more than 30%) and reduced memory usage (relative to main) with the builtin workload.


Update "source-manager-job-executions" interface version from 2.0 to 3.0

Purpose
In the scope of the PR  the query parameters for GET /metadata-provider/jobExecutions endpoint were changed, so
"source-manager-job-executions" interface version will be increased: from 2.0 to 3.0. It is necessary to update interface dependency
Approach

update "source-manager-job-executions" interface dependency to "2.0 3.0"  versions

Hi @adamdickmeiss, could you please take a look this PR? Thanks!

Hi @adamdickmeiss, could you please merge this PR? All other related PRs regarding the interface version update are being merged at the moment

Hi @adamdickmeiss, could you please merge this PR? All other related PRs regarding the interface version update are being merged at the moment

Sure. I can do it. But generally, I think you should merge as you made the PR and I approved.


Increase horizontal space for API Doc snippets

The embedded DartPad on this API doc page has only enough horizontal space for 44 character columns. This can make the sample slightly difficult to read.
For example, the indentation for the Text widgets starts at 20:

We've got a bug going on the website repo for this:
https://github.com/flutter/website/issues/3002

Didn't realize that, closing.


add unsupported type to default case throw panic.

I don’t want to get into a routine of accepting subsets of changes that offer no functional benefits and churn the code without good reason. I’ll get the contribution guidelines updated to reflect this. Thank you.


fix error when clicking on attachment note

Details

We will fix the issue "Hmm its not here page displayed when clicking on thumbnail" based on these two comments: https://github.com/Expensify/App/issues/38835#issuecomment-2016353739 and https://github.com/Expensify/App/issues/38835#issuecomment-2034480150

Fixed Issues

$ https://github.com/Expensify/App/issues/38835
PROPOSAL: https://github.com/Expensify/App/issues/38835#issuecomment-2016353739
Tests

Navigate to any report
Click on header > Private notes
Add markdown image to private notes:

Test image 1![img1](https://images.unsplash.com/photo-1709983723739-d72ea88434dd?q=80&w=2940&auto=format&fit=crop&ixlib=rb-4.0.3&ixid=M3wxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8fA%3D%3D)   Test image 2  ![img2](https://images.unsplash.com/photo-1578645635737-6a88e706e0f1?q=80&w=1964&auto=format&fit=crop&ixlib=rb-4.0.3&ixid=M3wxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8fA%3D%3D) Test image 3 ![img3](https://media.istockphoto.com/id/665037818/vi/anh/%C4%91%C6%B0%E1%BB%9Dng-b%E1%BA%AFt-%C4%91%E1%BA%A7u-tr%C3%AAn-%C4%91%C6%B0%E1%BB%9Dng-cao-t%E1%BB%91c.jpg?s=2048x2048&w=is&k=20&c=EF193CsvWSvPylYD3Ltm7ENGN3AGVpb4fJlSi4dpl5w=)

Click on 'Private notes'
Click on image
Verify image should be opened in the attachment carousel just like any image added to Expensify Chat

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

Offline tests

QA Steps

Navigate to any report
Click on header > Private notes
Add markdown image to private notes:

Test image 1![img1](https://images.unsplash.com/photo-1709983723739-d72ea88434dd?q=80&w=2940&auto=format&fit=crop&ixlib=rb-4.0.3&ixid=M3wxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8fA%3D%3D)   Test image 2  ![img2](https://images.unsplash.com/photo-1578645635737-6a88e706e0f1?q=80&w=1964&auto=format&fit=crop&ixlib=rb-4.0.3&ixid=M3wxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8fA%3D%3D) Test image 3 ![img3](https://media.istockphoto.com/id/665037818/vi/anh/%C4%91%C6%B0%E1%BB%9Dng-b%E1%BA%AFt-%C4%91%E1%BA%A7u-tr%C3%AAn-%C4%91%C6%B0%E1%BB%9Dng-cao-t%E1%BB%91c.jpg?s=2048x2048&w=is&k=20&c=EF193CsvWSvPylYD3Ltm7ENGN3AGVpb4fJlSi4dpl5w=)

Click on 'Private notes'
Click on image
Verify image should be opened in the attachment carousel just like any image added to Expensify Chat

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

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/161821005/38e84cb4-8b29-45d0-8371-8b30eaaa4e62

Android: mWeb Chrome

https://github.com/Expensify/App/assets/161821005/ea3a43b3-2377-4051-9f75-070aef7b8030

iOS: Native

https://github.com/Expensify/App/assets/161821005/c40982d9-7a1d-4aec-91d6-68bbce2fff36

iOS: mWeb Safari

https://github.com/Expensify/App/assets/161821005/e69e828a-2764-466e-98ad-41e8c0cccb7d

MacOS: Chrome / Safari

https://github.com/Expensify/App/assets/161821005/4ee7f384-582a-415f-a778-b6fbb0067a7f

MacOS: Desktop

https://github.com/Expensify/App/assets/161821005/dec839b2-17c5-4d82-92fe-58fd0d3ce940

This PR will create a new route:
  ATTACHMENTS: {
        route: 'attachment',
        getRoute: (reportID: string, type: ValueOf<typeof CONST.ATTACHMENT_TYPE>, url: string, accountID?: number) =>
            `attachment?source=${encodeURIComponent(url)}&type=${type}${reportID ? `&reportID=${reportID}` : ''}${accountID ? `&accountID=${accountID}` : ''}` as const,

that can be used in report attachments, note attachments and any type of attachments in the future

@shubham1206agra Pls help review the PR when you have a chance. Thanks

@shubham1206agra I merged main

@shubham1206agra Sure. I am working on it

@shubham1206agra I fixed comments https://github.com/Expensify/App/pull/40844#discussion_r1595356561 and https://github.com/Expensify/App/pull/40844#discussion_r1595363777

@shubham1206agra please check again

@shubham1206agra Can you give me a tip to reproduce this bug? Currently I cannot reproduce it

@shubham1206agra Do you have any feedback about my comment above. Here is the video from my side:
https://github.com/Expensify/App/assets/161821005/7890ecfe-8cb7-48de-8757-f0a78d2c3696

@chiragsalian Can you help review this one?

: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 staging by https://github.com/chiragsalian in version: 1.4.77-11 🚀

platform
result

🤖 android 🤖
failure ❌

🖥 desktop 🖥
success ✅

🍎 iOS 🍎
success ✅

🕸 web 🕸
success ✅

🚀 Deployed to staging by https://github.com/chiragsalian in version: 1.4.77-11 🚀

platform
result

🤖 android 🤖
success ✅

🖥 desktop 🖥
success ✅

🍎 iOS 🍎
success ✅

🕸 web 🕸
success ✅


revise comment re: ToSizedHList serialization

This removes unnecessary language from the serialization test for ToSizedHList, as suggested in the discussion for #532.

Thanks :-)


services: validate binding credentials

OSBAPI requires binding credentials to be a JSON object. When a binding
is retrieved this is validated, and this adds validation when the
credentials are returned for synchronous binding response.
#174599297

It's worth noting that if the credentials are not an object then the cf service-key fails later, so this is about catching errors earlier.


Circular reference in Media

Reported by beutlich on 17 Aug 2015 10:27 UTC
The last paragraph in Hubertus' commit message of 1e40f35e204bdd448ef3b2a09e83708f3bbb33d8 (for #799) reads:
The last move introduces a reference to Modelica.Fluid in Modelica.Media, which is a sort of circular reference. This will be flagged in a seprate ticket, and the models should be moved out out of Modelica.Media to MedelicaTest. The problem is that this may be considered a non-backwards compatible change. I don't think so for models which only had the purpose to be test models.
Was this ever addressed? #1679 looks like a similar issue that was considered for build.3.

Migrated-From: https://trac.modelica.org/Modelica/ticket/1761

Modified by dietmarw on 17 Aug 2015 12:07 UTC

Resolved by #2996.


[Feature Request] Push to talk, one user at a time

Request:
There is one option that could come handy when we play on a server with 10 people: the push to talk mechanism, but in a way that, if someone holds the mic (has the voice activity, i.e. has pushed the button to talk)), then the other players are muted, so we can actually listen to what he/she has to say, rather than having 2-4 people talking at the same time. There could be a limit of, say, 20 seconds per intervention, and there could be a queue to manage who is the next person to talk (who has pushed next to talk).

As much as I appreciate the idea, this is simply not possible with the Discord API. Or, in any form that resembles what you're talking about (it would have very high latency), it would hit Discord's API rate limits, and then not be able to mute/unmute anyone for a period of time.

As much as I appreciate the idea, this is simply not possible with the Discord API. Or, in any form that resembles what you're talking about (it would have very high latency), it would hit Discord's API rate limits, and then not be able to mute/unmute anyone for a period of time.


Storage order fix in XFeat parser.

This PR fixes small bug in XFeat parser where we didn't request NCHW storage order, so RVC4 version didn't work.

Codecov Report
Attention: Patch coverage is 0% with 2 lines in your changes missing coverage. Please review.

Project coverage is 36.16%. Comparing base (2797776) to head (84ba854).

:white_check_mark: All tests successful. No failed tests found.

Files with missing lines
Patch %
Lines

depthai_nodes/ml/parsers/xfeat.py
0.00%
2 Missing :warning:

Additional details and impacted files
@@            Coverage Diff             @@
##             main     #153      +/-   ##
==========================================
+ Coverage   36.09%   36.16%   +0.07%
==========================================
  Files          70       70
  Lines        3992     3987       -5
==========================================
+ Hits         1441     1442       +1
+ Misses       2551     2545       -6

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


Fix checking for default config used in rule sets

The principle is that rule set should not have the default config used, but simply true.
Previously the check was quite naive, only sorting array keys in configs before comparing.
This improves how configs are sorted before comparing rule set config with default one.
I'm targeting 3.0 as in 2.18 the problem fixed after the the test fix is not occuring.

Coverage remained the same at 91.95% when pulling 942dfb7794a4c1af9a8bf4c1b6981db76ec4daef on kubawerlos:fix_checking_for_default_config into 18ce0d431f4bee3d160e48e5590837e07b7bbae1 on FriendsOfPHP:3.0.

Thank you @kubawerlos.


No longer a Proof of Concept

Remove the Proof of Concept text as this is no longer the case. It's the real deal :)

Pull Request Test Coverage Report for Build 119

0 of 0   changed or added relevant lines in 0 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage remained the same at 67.454%

Totals

Change from base Build 117:
0.0%

Covered Lines:
514

Relevant Lines:
762

💛  - Coveralls


Readme- Improve binary file image verification script on the Windows Platform

Summary: Improvements to Binary file verification on Windows Platform:
Add new Powershell script that simulates the Linux SHASUM command , but within the Windows platform.
Rationale
The existing windows (powershell) script was not very effective and required users to manually open the Manifest file and manually check for themselves if the computed hash did equal to the expected hash.
This new (Powershell) script emulates the actions, behaviour and output of the Linux SHASUM command but on Windows. Thus it automates the task of checking that the computed and expected file hashes match exactly.
With many thanks and with credit to @dimi8146 for his input on getting my own prior code snippets to work somewhat, his code was much more concise and used the more-correct powershell objects.
Our joint effort results in a more reliable verification experience for the windows users!
The output message matches the SHASUM Linux output for both the success and failure result.
If required, the code comments could be removed, or shortened to make the script appear shorter, but our decision thus far, was to try strike a balance between the readability and the brevity of a compressed 1-liner.

The updated powershell script is submitted.
There is also a discussion on the need to rename the manifest file in a separate PR.

@Dimi8146 and I discusssed today that the '-eq $True' is actually redundant.
so possible code can drop off a few lines by incorporating the check of the files existence  into the final line.
Hence a possible modification of the combined line is :
'....
# Test if the file exists, and then compare if the computed hash matches the expected hash
If (Test-Path $filename ) {write-host $filename ('FAILED: Computed checksum did NOT match!', 'is OK.')[((Get-FileHash $filename).hash -eq $hash)]}
'
}
Sorry backticks and Comments #'s  didnt play nice in this comment box .
does anyone know how to get this to work correctly in github / html?

Hi guys,
worked for me in Windows using the new snippet. See attached screenshot.

Copying and pasting the snippet worked via CTRL-V and got the "OK" message.
However, the Windows shortcut of right-clicking the mouse to insta-paste made a mess in the terminal and did not yield a usable script.

NACK on the script approach.
I'm not a Windows scripting expert at all and the vast majority of people have even less knowledge here. In Windows (in particular!!!!) we don't want people running scripts they don't understand.
I feel much more comfortable with single step commands that I can execute on my own and understand what each command is doing.
I'd prefer a simplified approach that is more like:

...after verifying sig file
Calculate the hash of the image you downloaded:
# method 1:
Get-FileHash seedsigner*.img

# Or method 2 (must specify the exact img filename)
CertUtil -hashfile type-your-img-filename-here SHA256

Display the hashes contained in the .sha256 manifest file:
type seedsigner*.sha256

Find the hash for the image you downloaded and compare against your calculated result above. If the two values match (uppercase vs lowercase does not matter), then you know you have downloaded an authentic release image.

Why add the Cert-Util option? It's the same command that Bitcoin Core, Sparrow, and Electrum use.
It doesn't accept wildcards, which is annoying, but I think it's better to conform to what other major projects use for verification.

How's this?
Code:
$files = Get-ChildItem -Filter seedsigner*.img
$files | ForEach-Object { CertUtil -hashfile $_.FullName sha256}

Example:

PS C:\WINDOWS\system32> cd C:\users\dimi8146\Downloads

PS C:\users\dimi8146\Downloads> $files = Get-ChildItem -Filter seedsigner*.img
$files | ForEach-Object { CertUtil -hashfile $_.FullName sha256}

SHA256 hash of C:\users\dimi8146\Downloads\seedsigner_os.0.6.0.pi0.img:
750f406c133d17994eb58544aad82b20f1478c8663af303e45b2d9c49c4e9825
CertUtil: -hashfile command completed successfully.
SHA256 hash of C:\users\dimi8146\Downloads\seedsigner_os.0.6.0.pi02w.img:
0012ae613545eecf6ff40a17967a91f0e89d28f0db1fbafcdd371a58b237b3f2
CertUtil: -hashfile command completed successfully.
SHA256 hash of C:\users\dimi8146\Downloads\seedsigner_os.0.6.0.pi2.img:
749115b3f222f45a20a632996939afa0bb75bc0591979f5be30b0335ebd3f378
CertUtil: -hashfile command completed successfully.
SHA256 hash of C:\users\dimi8146\Downloads\seedsigner_os.0.6.0.pi4.img:
78a15b08ed163b1911320e436ea7002cb8daf49c6867fb29b4d5f94dca107cb1
CertUtil: -hashfile command completed successfully.

Everytime I spend hours writing some code , Dimi is already ahead of me, on the same idea and he publishes it before me!! 🤣
I must learn to put my unfinished ideas up already, before they are perfect.....
#AlwaysLearning
I did a similar technique but used getfilehash not certutil. (because certutil is an exe, and getfilehash is a PowerShell command, so it was hard to cross that boundary/ meme space.
Well done Dimi!
Will post my own (imperfect) code later today.
Marc.

From: Dimi8146 @.>
Sent: Tuesday, July 4, 2023 4:38:58 AM
To: SeedSigner/seedsigner @.>
Cc: Marc G @.>; Author @.>
Subject: Re: [SeedSigner/seedsigner] Readme- Improve binary file image verification script on the Windows Platform (PR #352)
How's this?
Code:
$files = Get-ChildItem -Filter seedsigner*.img
$files | ForEach-Object { CertUtil -hashfile $_.FullName sha256}
Example:
PS C:\WINDOWS\system32> cd C:\users\dimi8146\Downloads
PS C:\users\dimi8146\Downloads> $files = Get-ChildItem -Filter seedsigner*.img
$files | ForEach-Object { CertUtil -hashfile $_.FullName sha256}
SHA256 hash of C:\users\dimi8146\Downloads\seedsigner_os.0.6.0.pi0.img:
750f406c133d17994eb58544aad82b20f1478c8663af303e45b2d9c49c4e9825
CertUtil: -hashfile command completed successfully.
SHA256 hash of C:\users\dimi8146\Downloads\seedsigner_os.0.6.0.pi02w.img:
0012ae613545eecf6ff40a17967a91f0e89d28f0db1fbafcdd371a58b237b3f2
CertUtil: -hashfile command completed successfully.
SHA256 hash of C:\users\dimi8146\Downloads\seedsigner_os.0.6.0.pi2.img:
749115b3f222f45a20a632996939afa0bb75bc0591979f5be30b0335ebd3f378
CertUtil: -hashfile command completed successfully.
SHA256 hash of C:\users\dimi8146\Downloads\seedsigner_os.0.6.0.pi4.img:
78a15b08ed163b1911320e436ea7002cb8daf49c6867fb29b4d5f94dca107cb1
CertUtil: -hashfile command completed successfully.
—
Reply to this email directly, view it on GitHubhttps://github.com/SeedSigner/seedsigner/pull/352#issuecomment-1619423784, or unsubscribehttps://github.com/notifications/unsubscribe-auth/AVYRGJJZNBC5CIA4RUH6PZLXOOF5FANCNFSM6AAAAAAV76T22Y.
You are receiving this because you authored the thread.Message ID: @.***>

NACK on any Windows scripting dependencies (Get-ChildItem, ForEach-Object).
Assume most users will download a single .img (so no need to iterate over all possible img matches).
Users can visually inspect the .sha256 file to find their expected matching hash (so no need to find the matching line in that file via scripting).
Simplicity. Simplicity. Simplicity.
I still much prefer: https://github.com/SeedSigner/seedsigner/pull/352#issuecomment-1616812754

Hi Guys, I also prefer #352
I have consolidated a few of your suggestions and made a change from an old PR of mine where I have placed the Windows part further down.
Step 2. Verifying that the software images/binaries are genuine
Now that you have confirmed that you do have the real SeedSigner Project's Public Key (ie the 16 characters match) - you can return to your terminal window. Running  the shasum command, is the final verification step and will confirm (via file hashing) that the software code/image files, were also not altered since publication, or even during your download process.
(Prior to version 0.6.0  , your verify command will check the .zip file which contains the binary files.)
On Linux or OSX: Run this command
shasum -a 256 --ignore-missing --check seedsigner.0.7.*.sha256.txt

After entering the command, it should display:
seedsigner_os.0.7.x.[Your_Pi_Model_For_Example:pi02w].img: OK

If you receive the "OK" message for your seedsigner_os.0.7.x.[Your_Pi_Model_For_Example:pi02w].img file, as shown above, then your verification is fully complete!
All of your downloaded files have now been confirmed as both authentic and unaltered!

On Windows (inside Powershell): Run this command
CertUtil -hashfile  seedsigner_os.0.7.0.Insert_Your_Pi_Models_binary_here_For_Example_pi02w.img SHA256

Display the hashes contained in the .sha256 manifest file:
type seedsigner*.sha256

Find the hash for the image you downloaded and compare against your calculated result above. If the two values match (uppercase vs lowercase does not matter), then you know you have downloaded an authentic release image.

You can proceed to create/write your MicroSD card
If your file result shows "FAILED", then you must stop here immediately. Do not continue. Contact us for assistance at  the Telegram group address above.

Please recognize that this process can only validate the software to the extent that the entity that first published the key is an honest actor, and their private key is not compromised or somehow being used by a malicious actor.

@Marc-Gee can you take a final(?) crack at getting this updated (or have the docs already been updated to be sufficient? If so, please close this PR).


Fix typo

Hi!
Since this is in generated code, this has to be fixed in the swagger definition:
https://github.com/Azure/azure-rest-api-specs/blob/master/arm-network/2016-06-01/swagger/network.json#L2248
Otherwise any manual changes to the generated code will be lost next time we regenerate.
Changing the swagger in the above repo will trigger a PR in the python sdk with the updated generated code.
PS: retreives also needs to be changed to retrieves.

Coverage remained the same at 41.862% when pulling e494a439e1dbcb06ca7454d8350ec3a0ab40bb39 on digiphilo:fixTypo into 6959993a8f6c9b11ff3ac2dd2fed24e274b3e137 on Azure:master.


Edit wrapper and logger files to support lbf

What?
I've changed the wrapper, logger, logger_utils and default config files
Why?
To support the features that will be added to support LBF later.

 Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.You have signed the CLA already but the status is still pending? Let us recheck it.


Login to SynBioHub

SBOLDesigner should notify me if my login to a SynBioHub instance has been successfull or not. Right now, SBOLDesigner has no indication that I have signed in unless uploading my design has failed.

There is now a "Login successful!" message whenever you've successfully logged in.  Thanks for the feedback!


/v2/members gives 404 (called by etcd.SetCluster())

Hi,
I was having issues with the go-etcd library's etcd.SetCluster() on CoreOS - I've traced it to the following line, which sends GET [etcd peer]/v2/members:
https://github.com/coreos/go-etcd/blob/master/etcd/client.go#L301
Testing manually, curl -L http://<IP_ADDRESS>:4001/v2/members gives 404 directly in the CoreOS host.
The cluster is fine as far as I can tell; I can write and read values to etcd both using curl and go-etcd. I can replicate this behavior both on a physical machine cluster and a GCE test cluster (etcd version is 0.4.6 in both cases).
Since I was not clear whether this is a bug in the go-etcd package (expecting a path that doesn't exist) or in etcd itself (not publishing a HTTP resource it should be publishing) I'm filing the bug here for now; please let me know if it should go against go-etcd instead.
I found this when trying to debug why the confd package gave an error, which turned out to be when it called etcd.SetCluster():
https://github.com/kelseyhightower/confd/blob/7f5790fe1982d412bc87f29b038a252fe4d846c3/backends/etcd/etcdutil/client.go#L34

@hkjn Please use go-etcd client library for 0.4.6 at https://github.com/coreos/go-etcd/tree/v0.4.6. The master uses etcd 2.0 api.

Ah, thanks xiang90, sounds like this is a bug with confd's version of go-etcd then, I'll open a bug over there.
Cheers!


[1.18.2] Krypton Mixins conflicting with 25+ mods

https://gist.github.com/itsdinkd/044968b59d1a34b3ec4966ac178ce639

Krypton is only for 1.18.1, u can install it on 1.18.2 but it will not work

So krypton-0.1.10-SNAPSHOT arrived not long ago as an update for 1.18.2, I suppose this issue can be closed then, right?


Docker stats to Prometheus

This change makes statistics from the running docker container available as Prometheus metrics.
Here's a summary of the various changes made:
There is already a mechanism for extracting stats from the running docker containers. Here is a brief summary:

Each time a container is started, a goroutine is started which calls the function docker.Stats. This is part of the docker client API and causes statistics to be fetched every second from the running container.
Whenever statistics are received, the existing function cherryPick is used to extract selected statistics and pass them to a callback method WriteStat. This function was empty and didn't do anything.
The collection of statistics stops when the container is terminated.

I have changed this as follows:

The WriteStat function now starts a span (called docker_stats), logs to this span the various metric values extracted by cherryPick, and then ends the span.

Note that we start and end a new span for every call to WriteStat (once a second or so). I did consider logging the docker metrics to the parent span, since this continues until the container is terminated. However since the collector is only invoked when a span ends, that would have meant that no data would have been sent to Prometheus until the container terminated - which is probably undesirable for long-lived or hot functions.

Previously the collection of statistics ended as soon as the container had started. This was clearly incorrect so I have changed this so that the collection of statistics continues until the container is terminated.

In addition,

I have extended the Prometheus collector to extract the logged metrics from the span and send them to Prometheus as HistogramVec metrics.

I have created a third Grafana dashboard to demonstrate these new metrics and updated the README accordingly.

In testing I discovered an issue with hot functions which meant that the span created in agent.Submit (which is where the appname and path name are saved in the span as baggage items) wasn't configured as an ancestor to the new span created in WriteStat. This meant that the metrics didn't have any fn_app and fn_path labels. I discovered that this was because agent.runHot deliberately ignores the context of its caller and creates a completely new context, in order to avoid propagating the caller context's timeout. I fixed this by extracting the span from the caller's context and setting it on the new context.

Here are the new metrics. As with the span metrics, these "inherit" the labels fn_app and fn_path from the parent span.

Prometheus metric name

fn_docker_stats_fn_cpu_kernel

fn_docker_stats_fn_cpu_kernel

fn_docker_stats_fn_cpu_user

fn_docker_stats_fn_disk_read

fn_docker_stats_fn_disk_write

fn_docker_stats_fn_mem_limit

fn_docker_stats_fn_mem_usage

fn_docker_stats_fn_net_rx

fn_docker_stats_fn_net_tx

Caveats:

Docker provides many more statistics than the ones extracted by cherryPick. I have not investigated whether additional metrics are needed.  Note that if we do need to extract more metrics from docker then `cherryPick1 is the only function that needs to be changed.

If the container is very short-lived (i.e. for fast cold functions) then there is sometimes insufficient time to obtain statistics before the container terminates,  which means no metrics are published. I did consider delaying the termination of the container until at least one set of statistics had been obtained, but decided against doing this.

I see CircleCI is failing with a
api/agent/drivers/docker/docker.go:275: the cancel function returned by context.WithTimeout
should be called, not discarded, to avoid a context leak

This is caused by my refactoring of the agent/driver interface so that the context passed to docker.collectStats() is not cancelled until agent.exec() finishes (previously it was cancelled when docker.run() finished, which was too soon.
To fix that issue, I changed docker.run() so that instead of creating a new context, passing into docker.collectStats() and then cancelling it immediately run() returned, I used the context passed in from agent.exec() instead.
However  when docker.run()  created a context it also set a timeout, and I didn't want to lose that behaviour. I therefore changed  docker.run() to wrap the agent's context into a new context.WithTimeout and passed that into docker.collectStats(). However I didn't cancel that context when the method ended since that was exactly the behaviour I was trying to avoid.
However this has been detected by the go vet run in CircleCI, which considers this a potential resource leak.
I'm still pondering how to fix this. My first thought was to create the timeout context in the agent, but that didn't work since the agent doesn't have visibility to access the timeout value.

Having spent the day working on this, I think that it is probably a bad idea for docker.run() to depend on the exact point at which the calling function (agent.exec()) cancels the context. It is particularly inappropriate given that  docker.run() returns a WaitResult, which agent.exec() waits on before closing the context. It's clearly better if  docker.run() makes us of the  WaitResult directly.
This however means we need to have two separate threads waiting on the same  WaitResult, and I have confirmed that this doesn't work. I will therefore need to extend WaitResult to support multiple waiters. This is looking good so far, expect an updated PR tomorrow.

I've changed docker.Run() so that it doesn't make any assumptions about when the caller's context will be cancelled. Instead it now uses the WaitResult that this function itself creates, and waits for that to determine when the container has stopped and the collection of docker statistics should be terminated.
This required changes to the implementation of WaitResult to allow multiple threads (two in practice) to call Wait concurrently. The only issue I needed to solve was that the second or subsequent thread to close the docker.CloseWaiter would get a panic.  This panic is caught and the thread waits for the first thread to complete before itself completing.
I have added a simple test case to this as well, using ten threads simultaneously calling Wait on the same WaitResult.
I think this is now ready to review.

One thing to solve - metrics from cold functions.

this handles both as it is.

one additional thing to think about is that we will very likely want to swap in call ids to the child span that is reporting these statistics in hot functions. we already have to swap out stdin/stdout/stderr, so we can likely colocate this kind of swapping with that, but it's not immediately clear a very clean way to do this. as it stands, we are going to get a lot of stats about a container, have timestamps of logs of when that call ran in that container, and have to correlate that, but the span itself is not making it apparent which call is the source of any hot function's docker stats.

The latest commits incorporate all the simplifications suggested, but keep the call to collectStats before the call to startTask, for the reason mentioned above.
This means the tests fail in go vet as expected.
I'm wondering whether we should try to exclude this failure. I don't think this is a context leak, as the context will be cancelled when the parent context is cancelled. I think we need to create a new context here because it needs to be cancelled (in this function) when the WaitResult discovers that the container has stopped.
I considered simply using the parent context, but I am concerned that cancelling it might have unexpected effects on any other code in the parent that uses this context. In any case, it  would be a misuse of the parent context, as we're not trying to cancel what it is doing. We're just trying to cancel something that this function is doing.
As for delaying the shutdown of the container until at least one set of statistics have been obtained: that sounds a potentially significant change. We should discuss with @treeder and @carimura

As for delaying the shutdown of the container until at least one set of statistics have been obtained: that sounds a potentially significant change. We should discuss with @treeder and @carimura

we can just do things too ;) i'm actually saying the contrary, have no interest in waiting on stats collection to hold up returning the call; am asking whether the plumbing would require it. collectStats itself is asking for a stream of stats from docker for a given container, and it seems to me that it immediately tries to get one, and then uses the interval after that, however I'm not sure this is the case. at least, it's something to think about, because for many calls as it stands it seems like they will have 0 container metrics on them.

I'm wondering whether we should try to exclude this failure. I don't think this is a context leak, as the context will be cancelled when the parent context is cancelled. I think we need to create a new context here because it needs to be cancelled (in this function) when the WaitResult discovers that the container has stopped.

hmm. yea, it's tricky. as you say, if we don't have a child context then we have to rely on the parent context getting canceled. we're calling Run in 2 spots, unfortunately, too.
there are alternatives, we can simply use a chan struct{} that we close in Wait to shut down the stats collection, we should additionally listen for the parent context. illustration:
func collectStats(ctx context.Context, done <-chan struct{}, ...) {
for {
    select {
    case <-ctx.Done():
      return
    case <-done:
      return
    default:
    }

    // normal docker stats code
  }
}

func (w waitResult) Wait() {
  defer func() {
    // ...
    close(w.done) // shut down stats stream
  }
  // ...
}

i can copy in details if this is unclear (it's some go trickery for sure)

I've updated docker.Run to use a channel rather than a context to terminate the collectStats goroutine, exactly as suggested.


Cannot resolve Jquery

I installed react-select-2-wrapper and select2 in my react App and after importing the select2 plugin inside my component, it gave me this error:
./node_modules/react-select2-wrapper/lib/components/Select2.js Module not found: Can't resolve 'jquery'
I installed JQuery but it didn't help.

@rkit any answer for this?

Add
import $ from "jquery"


fix: get security group name error by external_ids:associated_sg_xxx

What type of this PR
Examples of user facing changes:

Bug fixes

Which issue(s) this PR fixes:
fix: get security group name error by external_ids:associated_sg_xxx

@gugulee Thanks!  : )


Update(node.d.ts): add statusMessage property to interface ServerResponse

Seems statusMessage is missing.

@LearnShare Thanks mate!


Refactory test directoy layout

Codecov Report

Merging #76 (8a30d95) into main (f23133a) will not change coverage.
The diff coverage is n/a.

@@            Coverage Diff            @@
##              main       #76   +/-   ##
=========================================
  Coverage   100.00%   100.00%
=========================================
  Files           15        15
  Lines          793       793
=========================================
  Hits           793       793

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 f23133a...8a30d95. Read the comment docs.


Feature/726 Support Numpy 2.0

Tickets addressed: #726
Review: By commit
Merge strategy: Merge (no squash)

Description
Unit tests were run with numpy 2.0.0, and failures were addressed:

np.NaN was removed and usages replaced by np.nan.
A difference in str() called on list of np.float64 objects resulted in a test failing, the usage in the test was fixed one-off.

Verification
All unit tests now pass even with numpy 2.0.0. Tests continue to pass with numpy 1.26.4.
Documentation
None
Future work
None

I'm unable to reproduce the Linux CI failure locally. Might be a random failure, since the test uses uMeasNoise = np.random.multivariate_normal([0,0,0], R0, size=1)?

Regarding the Linux CI build failure, I think this was a statistical anomaly.  It is checking a value is within 3-sigma of an expected value and this appears to be a one-time large outlier.  I have re-run the Linux CI test builds twice and they passed both times without issues.

@schaubh Done


New version: StippleMathjs v0.1.2

Registering package: StippleMathjs
Repository: https://github.com/GenieFramework/StippleMathjs.jl
Created by: @hhaensel
Version: v0.1.2
Commit: 5b5f4fbd6fb51fd65cc7199b473e59e6a44ebdef
Reviewed by: @hhaensel
Reference: https://github.com/GenieFramework/StippleMathjs.jl/commit/5b5f4fbd6fb51fd65cc7199b473e59e6a44ebdef#commitcomment-138172982
Description: Support of mathjs and complex numbers in Stipple

[noblock]
Looks like there is a merge conflict.
@hhaensel Can you re-trigger Registrator? This will fix the merge conflict.

I had already adapted the version number to 1.1 and registered that one. This can be closed


Adding keyboard shortcuts for selection variants

Would it be possible to add keyboard shortcuts for different types of selections? For instance, pressing (s)elect followed by pressing (c)rossover would select crossover type of selection.
This feature would be incredibly useful and save a lot of time for people who need to quickly shift between different types of selections.
Thanks!

This is now available on the dev branch. Hover over the Select modes to see the keyboard shortcuts.

Thank you!

The issue isn't closed yet, it's only fixed on the dev branch but not on the main branch until I release a new version.


Change "gptme-python" to just "gptme" on pypi

It's a way more unique and if someone was to register a package on pypi with that name it would be not the greatest user experience. The name is still open so you can at least grab as you consider making the change.

Looks like it's like due to the existence of the very similar gpt-me package: https://pypi.org/project/gpt-me/
Could DM the author and ask them to transfer the gptme name, if they are no longer interested in it (no recent releases, stuck at v0.1.0).

I'll reopen this and try nicely asking the author via DM.

He replied and graciously handed over the name!
Now you can simply pip install gptme :star_struck:


Adds maliput_full meta package.

Related to #279

lgtm. The repos file may want to be not in the hidden directory and be a reference file for checking things out from source in the future.

Thanks, it makes sense. d47fa5d

The repo is ready now: https://github.com/ros2-gbp/maliput_infrastructure-release


Validate Table against a Schema

Python code: https://github.com/frictionlessdata/tableschema-py/blob/master/tableschema/validate.py

I actually meant validate schema, which was fixed at #24


Doesn't open and crashes

Everytime I try to open Block Launcher, the screen turns white and a few seconds later, it crashes. Please fix this.

Yeah. I'm having the same problem myself. Using LG SYTLO and had no problems before until now.

If you updated to 0.15:
It has not been updated for 0.15.  It takes time to re-hook into all the functions.  It was stated on Twitter that the author is going to TRY to get it ported for 0.15 by the end of the week.  Please close this issue as it is wasting the author's time.  Instead of porting the program he is spending his time closing issue like this which are just fodder.  Porting the program is going to happen, so again, please close this so you do not waste the author's time.