Use colorblind-friendly colors

This came up during our workshop.
The graphiz image has edges that are red/green, which would look the same to someone with color blindness. A common alternative to this is orange/blue which can be better distinguished.

Five ways to... design for red-green colour-blindness - Visualising Data
What to consider when visualizing data for colorblind readers - Datawrapper Blog

I asked the attendee that brought it up if he had any recommendations:
It can be hard to find a perfect color, but they generally do appear as two distinct shades. A legend could help a lot to help indicate which color means what. This could be a good improvement in general, as it may not be immediately obvious what the arrow means.
Increase the contrast of the image, ie black background. That can help make it easy to distinguish the colors.
Add other visual indicators on the arrow can help, like a stripes, circles, hashes, etc on it.


[Edit Schedule] Add info about new component to SRS

Description
Add info about new component  Edit Schedule to SRS

Added info about Edit Schedule component.


chore(bios): update bio for Kapunahele

Needed to update my bio as I no longer work at Capital One. Thanks!

Sure, let's delete your past.
Now you have a clean record 😂


Replace deprecated String.prototype.substr() with String.prototype.slice()

String.prototype.substr() is deprecated so we replace it with the String.prototype.slice() method which works similarily but isn't deprecated.
substr() probably isn't going away anytime soon but it doesn't hurt to replace it as the change isn't difficult at all.

web_src/fomantic/build/semantic.js should not be changed directly?

web_src/fomantic/build/semantic.js is vendored third-party code, please revert the changes there and possibly file a PR against https://github.com/fomantic/Fomantic-UI.

Codecov Report

:exclamation: No coverage uploaded for pull request base (main@397d2ac). Click here to learn what that means.
The diff coverage is n/a.

@@           Coverage Diff           @@
##             main   #18796   +/-   ##
=======================================
  Coverage        ?   46.58%
=======================================
  Files           ?      853
  Lines           ?   122463
  Branches        ?        0
=======================================
  Hits            ?    57050
  Misses          ?    58526
  Partials        ?     6887

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 397d2ac...0ff7985. Read the comment docs.

My apologies. I ignore the files in the vendor folder but didn't check if the other files are possibly vendored as well. I have now changed the commit to exclude the mentioned file

CI failure is unrelated, maybe https://github.com/go-gitea/gitea/pull/18793 will resolve it.

make L-G-T-M work


Nominations as Web Servers Contributors

In accordance with the Paketo Buildpacks Governance document, I am nominating the following members as a contributor to the Web servers language family. These members have made regular/substantial contribution to the repositories contained within the Web servers team (httpd, nginx, staticfile buildapacks)

Forest Eckhardt  @ForestEckhardt
Frankie G-J  @fg-j
Ryan Moran  @ryanmoran
Sophie Wigmore @sophiewigmore

+1

I think that I would like to abstain from this maintainership.

@ForestEckhardt This is for contributor-ship. Would you like to be removed from the list of nominated contributors?

Oh lol. I misread. I can be a contributor. ☺

With unanimous vote of maintainers, the nomination is considered to be approved.
Welcome to the team of Web Servers Contributors @ForestEckhardt @fg-j @ryanmoran @sophiewigmore!
@paketo-buildpacks/steering-committee Could you please add them to the contributors team on github?

@arjun024 Done! All new contributors have been added to the teams across both paketo-buildpacks and paketo-community.


⚠ Bofrost.hr has degraded performance

In 20e44db, Bofrost.hr (https://www.bofrost.hr) experienced degraded performance:

HTTP code: 200
Response time: 3321 ms

Resolved: Bofrost.hr performance has improved in bf64e4a after 7 minutes.


Remove wait API from map and directory

Resolves #8744

do you know if partners still have usages of this method? slightly concerned about them integrating the suggested workaround as part of a version bump if so since it was deprecated just last release

I see light usage - for FFX all 3 uses can be safely converted to .get() plus an assert().
I think it's reasonable to go ahead because even if there are customers who need more time to evaluate the safety of converting their usages to .get(), the snippet I provide in the breaking change notice can serve as a drop-in replacement and then evaluate at their leisure (similar to what I did with #8673 and #8684).


musl-fts: setup-hook to add -lfts, use in xar and libselinux

libselinux and friends need updates to work w/musl
(I have fixes to current versions but #36978
is the way to go and is hopefully merged soon)

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

[x] NixOS
[ ] macOS
[ ] other Linux distributions

[ ] Tested via one or more NixOS test(s) if existing and applicable for the change (look inside nixos/tests)
[ ] Tested compilation of all pkgs that depend on this change using nix-shell -p nox --run "nox-review wip"
[ ] Tested execution of all binary files (usually in ./result/bin/)
[ ] Fits CONTRIBUTING.md.

Success on x86_64-linux (full log)
Attempted: libselinux, musl-fts, xar
Partial log (click to expand)
post-installation fixup
shrinking RPATHs of ELF executables and libraries in /nix/store/ixhrn6l83imws0lp5d7svapzbi1ni7wa-musl-fts-2017-01-13
shrinking /nix/store/ixhrn6l83imws0lp5d7svapzbi1ni7wa-musl-fts-2017-01-13/lib/libfts.so.0.0.0
strip is /nix/store/j75dgadrff2d1fyc4fczmcgqkid2imdx-binutils-2.30/bin/strip
stripping (with command strip and flags -S) in /nix/store/ixhrn6l83imws0lp5d7svapzbi1ni7wa-musl-fts-2017-01-13/lib
patching script interpreter paths in /nix/store/ixhrn6l83imws0lp5d7svapzbi1ni7wa-musl-fts-2017-01-13
checking for references to /build in /nix/store/ixhrn6l83imws0lp5d7svapzbi1ni7wa-musl-fts-2017-01-13...
/nix/store/h69csf8khs9k6pfb2qspcgazx0rxsh68-libselinux-2.4
/nix/store/ixhrn6l83imws0lp5d7svapzbi1ni7wa-musl-fts-2017-01-13
/nix/store/xh9jm8221abk44l365g518446y6hicvl-xar-1.6.1

Success on aarch64-linux (full log)
Attempted: libselinux, musl-fts, xar
Partial log (click to expand)
shrinking /nix/store/jx7gshl0f39rl94qy1kbjglxrn4aslf6-xar-1.6.1/bin/xar
shrinking /nix/store/jx7gshl0f39rl94qy1kbjglxrn4aslf6-xar-1.6.1/lib/libxar.so.1
gzipping man pages under /nix/store/jx7gshl0f39rl94qy1kbjglxrn4aslf6-xar-1.6.1/share/man/
strip is /nix/store/j7d4mr0ikv974ig7yzhknpsq288js4bs-binutils-2.30/bin/strip
stripping (with command strip and flags -S) in /nix/store/jx7gshl0f39rl94qy1kbjglxrn4aslf6-xar-1.6.1/lib  /nix/store/jx7gshl0f39rl94qy1kbjglxrn4aslf6-xar-1.6.1/bin
patching script interpreter paths in /nix/store/jx7gshl0f39rl94qy1kbjglxrn4aslf6-xar-1.6.1
checking for references to /build in /nix/store/jx7gshl0f39rl94qy1kbjglxrn4aslf6-xar-1.6.1...
/nix/store/agsps25jc7cv6sgdkx2mm3b94vih8zi1-libselinux-2.4
/nix/store/dp7f4dcppr6q2fih46dxbn8y60d574r8-musl-fts-2017-01-13
/nix/store/jx7gshl0f39rl94qy1kbjglxrn4aslf6-xar-1.6.1

Success on x86_64-darwin (full log)
Attempted: musl-fts, xar
The following builds were skipped because they don't evaluate on x86_64-darwin: libselinux
Partial log (click to expand)
 /nix/store/b77377767pk2fyw5yz2x6lwh0i84z84m-coreutils-8.29/bin/install -c -m 644 fts.h '/nix/store/hm4vzc0i7i5yx2i1h9fwh8vxxk50jyh7-musl-fts-2017-01-13/include'
 /nix/store/b77377767pk2fyw5yz2x6lwh0i84z84m-coreutils-8.29/bin/mkdir -p '/nix/store/hm4vzc0i7i5yx2i1h9fwh8vxxk50jyh7-musl-fts-2017-01-13/lib/pkgconfig'
 /nix/store/b77377767pk2fyw5yz2x6lwh0i84z84m-coreutils-8.29/bin/install -c -m 644 musl-fts.pc '/nix/store/hm4vzc0i7i5yx2i1h9fwh8vxxk50jyh7-musl-fts-2017-01-13/lib/pkgconfig'
make[1]: Leaving directory '/private/tmp/nix-build-musl-fts-2017-01-13.drv-0/source'
post-installation fixup
strip is /nix/store/5fc1zygrlgfdzkfk1hajdw81czs5v9y9-cctools-binutils-darwin/bin/strip
stripping (with command strip and flags -S) in /nix/store/hm4vzc0i7i5yx2i1h9fwh8vxxk50jyh7-musl-fts-2017-01-13/lib
patching script interpreter paths in /nix/store/hm4vzc0i7i5yx2i1h9fwh8vxxk50jyh7-musl-fts-2017-01-13
/nix/store/hm4vzc0i7i5yx2i1h9fwh8vxxk50jyh7-musl-fts-2017-01-13
/nix/store/rn78g8xjk0pq1ydxqwvgilwfq33i2655-xar-1.6.1


[HOLD for payment 2024-04-25] [$250] IOU - Blank page after returning to IOU report from thread and deleting the other request

If you haven’t already, check out our contributing guidelines for onboarding and email<EMAIL_ADDRESS>to request to join our Slack channel!

Version Number: 1.4.62-0
Reproducible in staging?: Y
Reproducible in production?: N
Logs: https://stackoverflow.com/c/expensify/questions/4856
Issue reported by: Applause-Internal team
Action Performed:

Go to staging.new.expensify.com
Go to any chat.
Create two IOUs.
Go to the transaction thread of the first IOU.
Click on the header subtitle to return to IOU report.
Right click on the second IOU preview > Delete request.
Delete the request.

Expected Result:
App will open one report transaction view (combined IOU report).
Actual Result:
A blank page shows up.
Workaround:
Unknown
Platforms:

Which of our officially supported platforms is this issue occurring on?

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

Screenshots/Videos
https://github.com/Expensify/App/assets/115492554/9da20de7-a8c6-4eaa-a36e-2c75691555cf

View all open jobs on GitHub
Upwork Automation - Do Not Edit

Upwork Job URL: https://www.upwork.com/jobs/~012dc6ca492e81c98f
Upwork Job ID:<PHONE_NUMBER>093139456
Last Price Increase: 2024-04-11
Automatic offers:

Ollyws | Reviewer | 0
tienifr | Contributor | 0

@trjExpensify I haven't added the External label as I wasn't 100% sure about this issue. Please take a look and add the label if you agree it's a bug and can be handled by external contributors.

Production
https://github.com/Expensify/App/assets/115492554/96c4f3f9-04d4-40de-857c-2c1263929ff8

I'm checking a PR to confirm if it's the offending one

Confirmed it's a regression from https://github.com/Expensify/App/pull/40079 after reverting it locally, @paultsimura @shubham1206agra @MonilBhavsar can you guys take a look please? @tienifr checking your proposal meanwhile

Back to searching for the offending PR as I think that would help us know how to fix this properly.

Ok this is the offending PR https://github.com/Expensify/App/pull/39454, it seems like this is new functionality because when I revert it I don't see the previous report action highlighted. @rayane-djouah @rushatgabhane @jasperhuangg can you guys take a look please @tienifr's proposal?

It looks good to me too.

Thanks a lot @tienifr

it's under regression period so I'll take care of it

Asking for CP.

looks like the PR was CP'd to staging: https://github.com/Expensify/App/pull/40157#issuecomment-2057113421

WIP ⚠

The PR that introduced the bug has been identified. Link to the PR:

The offending PR has been commented on, pointing out the bug it caused and why, so the author and reviewers can learn from the mistake. Link to comment:

A discussion in #expensify-bugs has been started about whether any other steps should be taken (e.g. updating the PR review checklist) in order to catch this type of bug sooner. Link to discussion:

Determine if we should create a regression test for this bug.

If we decide to create a regression test for the bug, please propose the regression test steps to ensure the same bug will not reach production again

👋 Let's get the checklist done, @rushatgabhane!

All done

Not overdue.

Determine if we should create a regression test for this bug. No

Mind being a little more descriptive on the why here, @rushatgabhane? Is one being added elsewhere for the new "ancestor" thread logic?

@trjExpensify i was thinking the root cause is trivial. i.e. we didn't navigate to IOU report when it was deleted.
In PR https://github.com/Expensify/App/pull/40157, we made that change so this issue won't happen again

But yes, if we think that we should add a test, here are the regression steps -

Go to the app
Go to any chat.
Create two IOUs.
Go to the transaction thread of the first IOU.
Click on the header subtitle to return to IOU report.
Right click on the second IOU preview > Delete request.
Delete the request.
Verify that you are navigated to the other first IOU request.

@trjExpensify i was thinking the root cause is trivial. i.e. we didn't navigate to IOU report when it was deleted.
In PR https://github.com/Expensify/App/pull/40157, we made that change so this issue won't happen again

Alright, thanks for expanding on that - I don't think it's trivial if it results in a blank empty page. Looks like we have a regression test for this which includes navigating back as the expected behaviour, so I think we're covered.

Payment summary as follows:

$250 to @rushatgabhane for the C+ review (go ahead and request)
$250 to @tienifr for the fix (paid)

Closing!

$250 approved for @rushatgabhane


Slack slash-command for listing Projects

Something like /listprojects that inform users about the projects they can search on. Projects should be returned in alphabetical order.

Should the output of this be the same format as that of project_search and others (i.e., that produced by SlackResults)?


Renamed Lens to Proxy

Renamed Lens to Proxy as discussed in #60 and in the backlog.
Remaining

[ ] How do I regenerate index.html?
[ ] Can d.ts and .flow be generated from the edn file? They were updated manually in this PR.
[ ] Should the CHANGELOG be updated?
[ ] I renamed isLensed to isProxied; but is isProxy not a better name?

I license my contributions to the DerivableJS project under the Apache License 2.0.

The Flow file has always been updated manually, but I used to do the index.html and .d.ts file with a tool I wrote in ClojureScript, but I removed it at some point because of bit rot. I was planning to get rid of the .edn file and the index.html, and keep some markdown-based docs updated manually somewhere, and then I suppose I'd have to update the .d.ts manually too.
The changelog should be updated, yes.
Yeah I think isProxy is a better name :+1:

Should I get rid of the .ednfile and index.html as part of this PR or should I just leave them?
Will update the PR once I have my derivation -> derive branch back in working order :+1:

It is fine to get rid of them here. I should have done it already, actually.


Pinned tabs persist over different graphs in v1.19.0

Since last update to v1.19.0 pinned tabs persist when switching to another graph in Logseq (Linux x64 0.9.4). Also new pages are created from the pinned tab-title after switching in the newly loaded graph. PS: Love your plugin! :)

I have just noticed that this is not limited to pinned tabs. Tabs persist when switching between graphs, which now is a really annoying behavior.

Yes, exactly.

This is also a problem when you have 2 graphs open and have to reload logseq with shortcut, then both windows get totally mixed up.

For me the tabs persist, but of the pinned tabs only the first one does (and its page gets created in the vault where it doesn't exist), but any other pinned tabs are just closed on vault switch, and not reopened when switching back either.


Android: Add missing display server overrides

Improves the base functionality for the Android platform and helps reduce the amount of spurious error logs emitted.
Provides implementations on the Android platform for:

DisplayServer::cursor_set_custom_image
DisplayServer::swap_buffers
DisplayServer::set_native_icon
DisplayServer::set_icon

Thanks!


Cannot get the Assignment operator to work.

I have tried using both the left arrow and the assignment operator to create temporary ralations. Neither has worked, Can you help?

This might help: https://dbis-uibk.github.io/relax/help#relalg-assignment
Otherwise a quick example using the UIBK - R, S, T dataset:
A = π a, d (R ⨝ T)
A


daemonset is not working

deployment.yaml
{{- if or .Values.deployment.kong.enabled .Values.ingressController.enabled }}
apiVersion: apps/v1
{{- if .Values.deployment.daemonset }}
kind: DaemonSet
{{- else }}
kind: Deployment
{{- end }}

values.yaml
deployment:
  kong:
    # Enable or disable Kong itself
    # Setting this to false with ingressController.enabled=true will create a
    # controller-only release.
    enabled: true
    # Use a DaemonSet controller instead of a Deployment controller
    daemonset: false

What exactly isn't working/what errors do you see?
The DaemonSet option was a community contribution that we don't have much direct experience with or typically recommend. If you know of an issue with it that'd require a template change and can explain why, we should be able to accept a PR for it.

.Values.deployment.daemonset
doesn't exist, should be .Values.deployment.kong.daemonset

Gotcha, that makes sense. I've submitted #426 for review.

2.3.0 is out and includes a fix for this.


Artifact deployed to maven-central depends on vulnerable Resteasy version

The artifact com.zendesk:sunshine-conversations-client:9.4.3 (which, as of now, is the latest version available although this repository has a 9.4.4 version tagged) depends on RESTEasy version 3.1.3. Unfortunately, this version seems to have three CVEs associated with it, which caused the org.owasp:dependency-check-maven plugin to fail my build.
The CVEs reported are CVE-2020-1695, CVE-2020-25633, CVE-2021-20289 which have all been fixed in more recent versions of RESTEasy.
As a workaround, I added the RESTEasy BOM to my project's pom.xml to override the version but this hardly seems like an optimal solution.
<dependencyManagement>
    <dependencies>
        <dependency>
            <groupId>org.jboss.resteasy</groupId>
            <artifactId>resteasy-bom</artifactId>
            <version>3.15.1.Final</version>
            <type>pom</type>
            <scope>import</scope>
        </dependency>
    </dependencies>
</dependencyManagement>

Please update the dependencies to RESTEasy to a version that does not contain multiple known vulnerabilities.

Hi @davidbilge,
Thanks for pointing this out - the team is looking into it!


Draft what's new content for CAMPD 1.1 release

@j-tafoya
Messaging can be (unless there are any concerns):
The Clean Air Markets Program Data (CAMPD) 1.1 has been released! Click here to check it out!
I went ahead and made a branch for this new info box too.


1050 | PrimeFactors | Java

PrimeFactors  -
What will change -
Type of Issue -
Please add/delete options that are not relevant.

[x] Adding New Code
[] Improving Code
[] Improving Documentation
[] Bug Fix

Programming Language
Please add/delete options that are not relevant.

[] Python
[] C++
[x] Java
[] SQL

Self Check

Ask for issue assignment and wait to get assigned to it before making Pull Request.
Add your file in the proper folder
Clean Code and Documentation for better readability
Add Title and Description of the program in the file

:star2: Star it :fork_and_knife:Fork it :handshake: Contribute to it!
Discord server ✉ - https://discord.gg/CXksGdn
Happy Coding,

would like to add this problem. Please assign it to me

I would like to contribute, can I be assigned to work on this issue?

I would like to contribute to this issue. Could I please be assigned to it?

Would like to contribute. Can you please assign it to me?


[ Full Stack Cert ] -  update intro text for the "What is HTML" lecture video

Here is the current description for the lecture video
Learn what HTML is in these lecture videos.

However, there will only be one video here so it doesn’t make sense to say videos in the description.
We decided on this updated description which resolves that issue and is a little more descriptive as to what the lecture video is about.
 "intro": [
          "In this lecture video, you will be introduced to HTML(HyperText Markup Language) which is a markup language for creating web pages.",
          "You will learn about HTML's role on the web, the basic syntax, and what HTML attributes are."
        ]

Here is the file you need to update
https://github.com/freeCodeCamp/freeCodeCamp/blob/main/client/i18n/locales/english/intro.json#L1700-L1703

This has been opened for contribution. The first comprehensive PR created will be reviewed and merged. We typically do not assign issues to anyone other than long-time contributors.
If you would like to contribute and have not read the contributors docs, please do so here: https://contribute.freecodecamp.org/#/
If you have any issues with contributing, be sure to join us on the contributors channel, or on the contributors sub-forum
Happy coding


Add Used By section to README

@dantownsend , I recently noticed that Lance is using this theme on their website. Do you think it would be beneficial to include a Used By section in the README to showcase the projects using our theme?

@jrycw That's a good idea.
Here are a couple of others I've seen:

https://cyclonedds.io/docs/cyclonedds-python/latest/
https://bitstring.readthedocs.io/en/stable/#

Would you like to create a PR?

I'll go ahead and close this issue as it has been addressed by #76.


Add support for scaling kubernetes stateful sets

Allow the autoscaler to update stateful sets. This can be useful when workers need to be deployed as a stateful set with persistent volume claims for the FUSE mount's storage.

Hey! Could you please elaborate a bit more on your use case? There's nothing inherently persistent to workers, so to me it's not clear why you'd want to use stateful sets there. The FUSE mount itself cannot be mounted through a PersistentVolumeClaim. Are you referring to the LocalBlobAccess instance that goes underneath? Why would you want that to be persistent?

Hey! Could you please elaborate a bit more on your use case? There's nothing inherently persistent to workers, so to me it's not clear why you'd want to use stateful sets there. The FUSE mount itself cannot be mounted through a PersistentVolumeClaim. Are you referring to the LocalBlobAccess instance that goes underneath? Why would you want that to be persistent?

To maximize performance, each worker is configured to use local node-attached SSDs for the FUSE mount, CAS, filepool, etc. That storage is served by several PVCs for block and filesystem devices which are satisfied from provisioned storage on the node. Each worker pod requires its own set of volumes, hence the need for a stateful set.

Yeah, I think I was using the wrong abstraction here. I'll close this for now and I'll reopen if I find a legitimate use case.


Added missing finite predicate

Matched behavior of number and integer predicates to JS expectations
Fixes https://github.com/prayerslayer/js.spec/issues/52

I think the linter is complaining there..


Patch1

What does this PR do?
Add resource(s)
For resources
Description
Added an C Course in Urdu
Why is this valuable (or not)?
Yes
How do we know it's really free?
Youtube
For book lists, is it a book? For course lists, is it a course? etc.
Course
Checklist:

[x] Read our contributing guidelines.
[x] Search for duplicates.
[x] Include author(s) and platform where appropriate.
[x] Put lists in alphabetical order, correct spacing.
[x] Add needed indications (PDF, access notes, under construction).
[x] Used an informative name for this pull request.

Follow-up

Check the status of GitHub Actions and resolve any reported warnings!

@eshellman Kindly Merge it!


How to offset an axis label

labelOffset moves the axis label in the direction orthogonal to the axis (say horizontally for the y axis). But how would you move it in the direction of the axis?
Suppose you want to  move the axis label down (because there is a scale.insetTop or a large marginTop).
A hacky solution (implemented in https://observablehq.com/@recifs/a-centered-title) is  an explicit label with lots of \n (spaces if working on the x axis)

Plot.axisY({ label: "\n\n\n\n\n↑ flipper_length_mm" }),

Similarly, a text mark with facetAnchor+frameAnchor.
Note: dy doesn't apply to the axis label (this is probably a bug in itself?); if this worked, we could create a specific axis just for the label, and offset it. It would be tedious, but would benefit from the automatic label.
I think we should:

[ ] fix the bug with dy
[ ] introduce a new option orthogonal to labelOffset (name?)

Maybe the axis mark should support inset options so that you can move the axis label towards the center of the frame?


Update Clone Snapshot API to be more flexible regarding repositories and snapshots

Is your feature request related to a problem? Please describe.
The clone api currently requires source and target snapshot to reside in the same repository
The clone api currently can source indices from  only one snapshot
Describe the solution you'd like
We would like a method to push the target snapshot to an alternate repository
We would like a method to select indexes from multiple source snapshots
Describe alternatives you've considered
N/A
Additional context
N/A

@ryn9 Could you provide more details about the use-cases? how often do you need this?

@anasalkouz any additional questions?

@ryn9 For now this can be moved in backlog as low priority. If there are widespread usage, we can upgrade the priority.


Please set default socket timeout for ApacheHttpClient

Looking into ApacheHttpClient only the following timeout options are set:
clientBuilder.setDefaultRequestConfig(configBuilder.build());

This has as a consequence that HTTPS requests can hang forever during the HTTPS handshake!
The stack trace can be seen in this ticket and I had the same problem today which I could easily reproduce with our auth service which does not finish the HTTPS handshake for whatever reason.
To fix this, just set a default socket config and specify the SoTimeout
// getDefaultSocketTimeout does not exist yet and should be added
this.clientBuilder.setDefaultSocketConfig(SocketConfig.custom().setSoTimeout(config.getSocketTimeout()).build());

Btw: I would like to provide a PR but mvn clean install does not work for me without fixing a ton of errors. I have to say this is really annoying and prevents from contributing to this otherwise very fine project.

@leozilla sorry to hear that. perhaps you can start with contributing solutions to the "ton of errors" you are seeing

@ptrthomas does mvn clean install work for you? if yes, what java version, what maven version and what OS are you using?

@leozilla yes
$ mvn --version
Apache Maven 3.5.2 (138edd61fd100ec658bfa2d307c43b76940a5d7d; 2017-10-18T13:28:13+05:30)
Maven home: /Users/somebody/dev/apache-maven-3.0.5
Java version: 1.8.0_112, vendor: Oracle Corporation
Java home: /Library/Java/JavaVirtualMachines/jdk1.8.0_112.jdk/Contents/Home/jre
Default locale: en_US, platform encoding: UTF-8
OS name: "mac os x", version: "10.13.6", arch: "x86_64", family: "mac"

latest builds fine for me too.
$ mvn --version
Apache Maven 3.3.9 (bb52d8502b132ec0a5a3f4c09453c07478323dc5; 2015-11-10T08:41:47-08:00)
Maven home: /usr/local/apache-maven/apache-maven-3.3.9
Java version: 1.8.0_121, vendor: Oracle Corporation
Java home: /Users/somebody/.sdkman/candidates/java/8u121/jre
Default locale: en_US, platform encoding: UTF-8
OS name: "mac os x", version: "10.11.6", arch: "x86_64", family: "mac"

nevermind, just attempted fix


Change savefile to JSON

This change is

What's the motivation behind this PR? I'd like to avoid further reliance on the item_types "temporary global constant" if possible.

Kavin said to change the savefile type from binary to JSON so that it can be edited independently of the dashboard. That way we could preset how Omnibus would look before a CF or SF. I had to use the class conversion (using item_types) because the JSON library can't convert an ObjectType object. Maybe there's a better way to change dashboard.py so we don't have that global constant?


Task v2

Detail: https://code.visualstudio.com/docs/editor/variables-reference#_why-isnt-workspaceroot-documented

Why did you remove comments?

@weinand I think everyone doesn't need it. Some extensions removed comments too.

Assigning to @aeschli since I own none of the files.


build: move update version logic to workflow

The feature branch does not have the CICD related files. So move the update version logic to workflow to avoid failures.

Tested with https://github.com/blackchoey/azure-cli-extensions/actions/runs/8611301739


prioritise emails marked as "Applications" over "Family"

Primarily to accommodate the needs of Leeds Combined Court Centre under the new Courtfinder admin system

Hey Al, there is no such thing as family applications (I made this up in a previous PR, but it just doesn't exist). So it is completely safe to remove this condition. We didn't have that before anyway.


Passing application port via environment variable

Hey!
First of all: awesome project!
I installed it using Docker on my VPS behind Traefik as edge router and I noticed that the initialization-step is a bit unhandy in this particular use case because I need an open port to specify the application port which is then routed via Traefik.
It would be awesome if the initialization step could be bypassed by using predefined environment variables to set the initialization parameters.
For eyample:
WARD_SERVERNAME="My Server"
WARD_PORT="8080"
WARD_THEME="dark"

Hello! You can use setup ini to baypass initialization step. When you initialize application it creates setup ini with all parameters, so you can just copy and paste it for new instance. The path depends on you OS


Changing beta-distributed susceptibility to normally-distributed log odds

This makes the parameterization more intuitive (mean and sd of the log odds of susceptibility).

builds, compiles, runs, and passes analytical validation


docs(docs): updated German translation of PR guidelines

This translation fixes some grammar and semantics and improves overall readability for German readers.

[x] I have read freeCodeCamp's contribution guidelines.
[x] My pull request has a descriptive title (not a vague title like Update index.md)
[x] My pull request targets the master branch of freeCodeCamp.
[x] None of my changes are plagiarized from another source without proper attribution.
[x] All the files I changed are in the same world language (for example: only English changes, or only Chinese changes, etc.)
[x] My changes do not use shortened URLs or affiliate links.

@flechnical Can you please change all instances of "pull-request" or "Pull-Request" to have a space instead of the hyphen?
Thank you.

@RandellDawson sure thing

@flechnical Thanks.

@raisedadead Do we have any reviewers for this one?

I do not believe we have anyone, but I am going ahead and merging this for the hard work that has been put in by @flechnical :)


Templates: Remove viewURI argument from HUBContentOperationActionObserver

Argument was removed a while back, but we missed to update the template.

@spotify/objc-dev

Current coverage is 93.35% (diff: 100%)

Merging #212 into master will not change coverage

@@             master       #212   diff @@
==========================================
  Files            69         69
  Lines          4722       4722
  Methods           0          0
  Messages          0          0
  Branches          0          0
==========================================
  Hits           4408       4408
  Misses          314        314
  Partials          0          0

Powered by Codecov. Last update b0051ba...73ac3f2


Remove code

This file is against the spirit of this project, and may introduce bugs or vulnerabilities due to hidden complexity.

What would it take to get this merged? This code is code and should instead be no code.

Has this project been abandoned?? Oh noes.

#870

Comments is code (smell) :)


Only fetch on interval if page is visible

To avoid getting rate limited with several tabs open, all fetching balance and the recent activity feed every 10s.

Fixed


better document language server and package capabilities

While doing some research about Atom's LSP ecosystem (for #16), I was able to confirm that we do also have working autocomplete and code formatting in the plugin.
As a side note, I'm a bit surprised that the LS doesn't expose code highlight capability... Is that fundamentally different from to getting references? Not that this would make a big difference here, since there's apparently no go-to extension to consume the capability in Atom currently.

Not sure what do you mean by "code highlight"? It is highlighting the selected word and its related symbols? If so, LSP does have that but we don't have it now. But it's quite easy to implement.

Not sure what do you mean by "code highlight"? It is highlighting the selected word and its related symbols?

Yes, apparently: https://github.com/facebookarchive/atom-ide-ui/blob/master/docs/code-highlight.md
I'm still not too sure how that differs from providing references / definitions, on the server side...
Anyway, I suppose my real question was more like "what's the point?" than why it wasn't provided by our LS.

Yeah In most cases it's just finding references in the same file. But it allows more use cases.
https://microsoft.github.io/language-server-protocol/specifications/specification-current/#textDocument_documentHighlight
Like in the typescript/javascript the document highlight is used to highlight if and the else and else if in the same block. If we add this, we can provide highlights for the start and end tag for a svelte block. For example in each block
{#each items as item}

{:else}

{/each}

We can highlight #each, else and /each


Add "Email" field to forms page

Add an "Email" field to the forms page, so users can supply an email address (unverified, aside from checking if it's a valid email address format) at which they'll receive a confirmation email.
Content:
Label: Email
Description: We will send a confirmation number to this email address.
Error state: You need to provide an email address so we can send you a confirmation message.

Updated description for above the email field:
We will send a confirmation message to this email address.

Can someone also note (for tracking) on the confirmation email, which information we're not showing (based on the staff e-mail template)

Remove:
Paper file number + was there any other fields to be removed?

Code for this is in the following PR's
https://github.com/cds-snc/ircc-rescheduler/pull/173
https://github.com/cds-snc/ircc-rescheduler/pull/176

Closing this, Tim has got it merged in (look at previous comment)


Automated cherry pick of #11148

Cherry pick of #11148 on release-7.4.
/cc  @hmhealey
NONE

Will try to auto merge this PR once all tests and checks are passing. This might take up to an hour.

Trying to auto merge this PR.

Pull Request successfully merged
SHA: ea362eb23396568f0cdd4ab275836505927f949d


Where to find function postprocess_boxes

May I ask, in inference.py, where should we find the postprocess_boxes() function? Based on 'from utils import preprocess_image, postprocess_boxes' in inference.py, there should be a python file contain the postprocess_boxes() function, but i cant see it, or inside utils folder also do not contain that postprocess_boxes function/file?

Hi, I think the function you are searching for is located inside the init.py file inside the utils directory. (init.py files usually don't contain function definitions so I guess that is why you forgot to look there).


New npm packages for Feb release

pidusage for 263
md5 for #690
once for #754

@brettcannon once has been removed.


Fix DNS namespace

Backport from master, kubedns runs in kube-system.
- Fix DNS ILB for mesh expansion.

I thought I already merged this but maybe not
/lgtm


Fix: Correct PBM40E proceeding type and tests

What
Correct PBM40E proceeding type meaning
Link to story
A second, repeated, set of key value pairs overwrote the first with
the wrong values. Tests then enforced the invalid values.
Checklist
Before you ask people to review this PR:

Tests and rubocop should be passing: bundle exec rake.
Github should not be reporting conflicts; you should have recently run git rebase main.
The standards in the Git Workflow document on Confluence should be followed.
There should be no unnecessary whitespace changes. These make diffs harder to read and conflicts more likely.
The PR description should say what you changed and why, with a link to the JIRA story.
You should have looked at the diff against main and ensured that nothing unexpected is included in your changes.
You should have checked that the commit messages say why the change was made.

@kmahern this fixes a duplicate and erroneous set of keys in the proceeding type seed file that I noticed while testing. But what i cannot understand is where the values below came from, as they are not anywhere else in the code.
  meaning: Injunction under Human rights act 1998
  name: injunction_under_humanrights_act
  description: to be represented on an appeal to the Judge against a decision of the District Judge or Master in an action between the client and the opponent(s).


Add clock divisor entity

Add clock divisor common utility to take an input clock and divide it by a generic N parameter. The output should still be synchronized to the module clock

Entity merged in and tested


Replace toml package

Burntsushi/toml is officially deprecated and upstream has moved to using https://github.com/pelletier/go-toml instead. See https://github.com/containerd/containerd/pull/5278 and https://github.com/containerd/containerd/pull/5300 for more details.
This PR is part of the work to build our cri fork out of our containerd fork instead of the other way around. Currently if we try to build our cri fork in containerd, it will fail to properly unmarshal the runtime options.

fyi @kevpar @anmaxvl @dcantah @msscotb @ambarve @kiashok @helsaawy


Cannot set properties of undefined (setting 'gist')

Expand "My Gists"
Expand a gist => works fine
Expand a second gist ==> error

Workaround: refresh the gist list


Add missing compile time guard around derive_mpi() in ecdsa.c

Fixes #1590.
Backports: 2.7 only; 2.1 does not yet include MBEDTLS_ECDSA_{SIGN,VERIFY}_ALT.

Typo observed by check-names.sh in for the 2.7 backport was also present here.
@sbutcher-arm @RonEld Please re-review.

Looking at development and mbedtls-2.28 it seems that the guards where added by another PR in the meantime, so I'm closing this PR.


[🐛 BUG]: Unable to upload file when raw_body enabled

No duplicates 🥲.

[X] I have searched for a similar issue in our bug tracker and didn't find any solutions.

What happened?
I'm trying to upload file, but RR server is failing.
Issue looks pretty similar to https://github.com/roadrunner-server/roadrunner/issues/1765, but it's already fixed and released, but my problem is still here.
Version (rr --version)
2023.3.8 (build time: 2023-12-14T16:05:31+0000, go1.21.5), OS: darwin, arch: arm64
How to reproduce the issue?
On file upload with raw_body: true will RR fail.
Of course, firstly I was thought that there is some issue with app code, so I've simplified worker as much as possible and if you'll try to upload file to worker like attached below it will fail anyway.
<?php

declare(strict_types=1);

require __DIR__ . '/../vendor/autoload.php';

$worker = new \Spiral\RoadRunner\Http\PSR7Worker(
    \Spiral\RoadRunner\Worker::create(),
    new \Nyholm\Psr7\Factory\Psr17Factory(),
    new \Nyholm\Psr7\Factory\Psr17Factory(),
    new \Nyholm\Psr7\Factory\Psr17Factory(),
);

while ($request = $worker->waitRequest()) {
    try {
        $worker->respond(new \Nyholm\Psr7\Response());
    } catch (Throwable $e) {
        $worker->getWorker()->error((string) $e);
    }
}

.rr.yaml which will reproduce this error
version: '3'

rpc:
  listen: tcp://<IP_ADDRESS>:6001

server:
  command: "php src/worker.php"
  relay: pipes

logs:
  mode: development
  level: debug
  encoding: console
  output: stderr
  err_output: stderr

http:
  address: <IP_ADDRESS>:8080
  internal_error_code: 505
  access_logs: false
  raw_body: true
  middleware: [ "static" ]
  uploads:
    dir: "/tmp"
  static:
    dir: "public/"
    forbid: [ "index.php" ]

But if you'll change raw_body: false it'll work flawless
Relevant log output
2023-12-16T13:44:54+0000	ERROR	http        	internal server error	{"message": "http_plugin: 2023/12/16 13:44:54 http: panic serving <IP_ADDRESS>:53182: interface conversion: interface {} is handler.dataTree, not []uint8\ngoroutine 210 [running]:\nnet/http.(*conn).serve.func1()\n\tnet/http/server.go:1868 +0xb0\npanic({0x103d47920?, 0x1400011c7e0?})\n\truntime/panic.go:920 +0x26c\ngithub.com/roadrunner-server/http/v4/handler.(*Request).Payload(...)\n\tgithub.com/roadrunner-server/http/v4@v4.4.9/handler/request.go:172\ngithub.com/roadrunner-server/http/v4/handler.(*Handler).ServeHTTP(0x1400086c000, {0x1040671e0, 0x140000a64e0}, 0x1022e97b0?)\n\tgithub.com/roadrunner-server/http/v4@v4.4.9/handler/handler.go:139 +0x1764\ngithub.com/roadrunner-server/http/v4.(*Plugin).ServeHTTP(0x1400088df40, {0x1040671e0, 0x140000a64e0}, 0x14000c32100)\n\tgithub.com/roadrunner-server/http/v4@v4.4.9/plugin.go:205 +0x3f0\ngithub.com/roadrunner-server/http/v4.(*Plugin).applyBundledMiddleware.MaxRequestSize.func1({0x1040671e0, 0x140000a64e0}, 0x3?)\n\tgithub.com/roadrunner-server/http/v4@v4.4.9/middleware/maxRequest.go:15 +0xb0\nnet/http.HandlerFunc.ServeHTTP(0x14001006200?, {0x1040671e0?, 0x140000a64e0?}, 0x103558d38?)\n\tnet/http/server.go:2136 +0x38\ngithub.com/roadrunner-server/http/v4.(*Plugin).applyBundledMiddleware.NewLogMiddleware.(*lm).Log.func5({0x1040672d0, 0x1400099a078}, 0x0?)\n\tgithub.com/roadrunner-server/http/v4@v4.4.9/middleware/log.go:125 +0x140\nnet/http.HandlerFunc.ServeHTTP(0x0?, {0x1040672d0?, 0x1400099a078?}, 0x1?)\n\tnet/http/server.go:2136 +0x38\ngithub.com/roadrunner-server/static/v4.(*Plugin).Middleware.func1({0x1040672d0, 0x1400099a078}, 0x14001006200)\n\tgithub.com/roadrunner-server/static/v4@v4.1.12/plugin.go:149 +0x4e8\nnet/http.HandlerFunc.ServeHTTP(0x1400092c050?, {0x1040672d0?, 0x1400099a078?}, 0xc1578855a02b0028?)\n\tnet/http/server.go:2136 +0x38\ngithub.com/roadrunner-server/prometheus/v4.(*Plugin).Middleware.func1({0x1040660c8, 0x140009b6460}, 0x14001006200)\n\tgithub.com/roadrunner-server/prometheus/v4@v4.1.12/plugin.go:131 +0x464\nnet/http.HandlerFunc.ServeHTTP(0x10405f070?, {0x1040660c8?, 0x140009b6460?}, 0x6?)\n\tnet/http/server.go:2136 +0x38\nnet/http.serverHandler.ServeHTTP(...)\n\tnet/http/server.go:2938\nnet/http.(*conn).serve(0x14000c621b0, {0x10406e968, 0x14000bd01b0})\n\tnet/http/server.go:2009 +0x5b0\ncreated by net/http.(*Server).Serve in goroutine 110\n\tnet/http/server.go:3086 +0x4cc\n"}

Hey @m157y 👋
Please attach at least a cURL sample request to reproduce your behavior.

Sure
curl 'http://localhost:8080/' \
  -H 'Content-Type: multipart/form-data; boundary=----WebKitFormBoundaryCeAZDfHPsreuikmt' \
  --data-raw $'------WebKitFormBoundaryCeAZDfHPsreuikmt\r\nContent-Disposition: form-data; name="newsItem[url]"\r\n\r\ntest\r\n------WebKitFormBoundaryCeAZDfHPsreuikmt\r\nContent-Disposition: form-data; name="newsItem[title]"\r\n\r\nTest\r\n------WebKitFormBoundaryCeAZDfHPsreuikmt\r\nContent-Disposition: form-data; name="newsItem[preview]"\r\n\r\nTest news\r\n------WebKitFormBoundaryCeAZDfHPsreuikmt\r\nContent-Disposition: form-data; name="newsItem[text]"\r\n\r\nTest\r\n------WebKitFormBoundaryCeAZDfHPsreuikmt\r\nContent-Disposition: form-data; name="newsItem[imageUrl]"; filename="600x600.jpeg"\r\nContent-Type: image/jpeg\r\n\r\n\r\n------WebKitFormBoundaryCeAZDfHPsreuikmt\r\nContent-Disposition: form-data; name="newsItem[isActive]"\r\n\r\n0\r\n------WebKitFormBoundaryCeAZDfHPsreuikmt--\r\n'

Cool, thanks. I'm currently working on updating and removing this raw_body option at all.

I double-checked this case and I guess I should improve the docs, because multipart data comes to the worker already parsed (kind of raw format).
So, this is completely ok to not use raw_body with multipart (most use-cases for this flag is for the url-encoded data).
btw, we're moving to the protobuf data format between the worker and RR (instead of JSON), and soon this option would be deprecated and all will be in a kind of raw format.

ref: #1696


[KAFKA-14133] Migrate EasyMock to Mockito in RocksDBMetricsRecordingTriggerTest, Wi…

…ndowStoreBuilderTest
More detailed description of your change,
if necessary. The PR title and PR message become
the squashed commit message, so use a separate
comment to ping reviewers.
Summary of testing strategy (including rationale)
for the feature or bug fix. Unit and/or integration
tests are expected for any behaviour change and
system tests should be considered for larger changes.
Committer Checklist (excluded from commit message)

[ ] Verify design and implementation
[ ] Verify test coverage and CI build status
[ ] Verify documentation (including upgrade notes)

Heya! The first test has already an associated pull request here - https://github.com/apache/kafka/pull/14223. The second one here - https://github.com/apache/kafka/pull/14152

Thanks for letting me know! I will close this pull request then.


Set default port for PSS application

A new from-scratch deployment fails if you're just copying group_vars/all.dist to group_vars/all. There is no default value for the pss_app_port variable.

Thanks!

I'll merge this after https://github.com/dpla/automation/pull/134 because I just squashed and rebased that one.


perf(sinsp): optimize sinsp_threadinfo::populate_cmdline

Prefer += over +
Tested with callgrind, ~2x improvement
Signed-off-by: Angelo Puglisi<EMAIL_ADDRESS>
What type of PR is this?
Performance enhancement

Uncomment one (or more) /kind <> lines:

/kind bug

/kind cleanup

/kind design

/kind documentation

/kind failing-test

/kind feature
Any specific area of the project related to this PR?

Uncomment one (or more) /area <> lines:

/area build

/area driver-kmod

/area driver-ebpf

/area libscap

/area libsinsp

/area tests

/area proposals

What this PR does / why we need it:
About 60% of the load on falco_engine::process_event is sinsp_threadinfo::populate_cmdline, improving it is definitely beneficial.
Which issue(s) this PR fixes:

Fixes #
Special notes for your reviewer:
Does this PR introduce a user-facing change?:

sinsp_threadinfo::populate_cmdline performance improvement

[APPROVALNOTIFIER] This PR is NOT APPROVED
This pull-request has been approved by: deepskyblue86
To complete the pull request process, please assign fededp after the PR has been reviewed.
You can assign the PR to them by writing /assign @fededp in a comment when ready.
The full list of commands accepted by this bot can be found 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 @deepskyblue86. Thanks for your PR.
I'm waiting for a falcosecurity 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.
Once the patch is verified, the new status will be reflected by the ok-to-test label.
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.

Original version:
void sinsp_threadinfo::populate_cmdline(std::string& cmdline, const sinsp_threadinfo* tinfo)
{
    cmdline = tinfo->get_comm();

    uint32_t j;
    uint32_t nargs = (uint32_t)tinfo->m_args.size();

    for (j = 0; j < nargs; j++) {
        cmdline += " " + tinfo->m_args[j];
    }
}

==808151== Callgrind, a call-graph generating cache profiler
==808151== Copyright (C) 2002-2017, and GNU GPL'd, by Josef Weidendorfer et al.
==808151== Using Valgrind-3.18.1 and LibVEX; rerun with -h for copyright info
==808151== Command: ./build/populate_cmdline
==808151==
==808151== For interactive control, run 'callgrind_control -h'.
/usr/lib/chromium/chromium --type=renderer --enable-crashpad --crashpad-handler-pid=3357 --enable-crash-reporter=,Manjaro Linux --display-capture-permissions-policy-allowed --change-stack-guard-on-fork=enable --lang=en-US --num-raster-threads=4 --enable-main-frame-before-activation --renderer-client-id=1296 --launch-time-ticks=59336657839 --shared-files=v8_context_snapshot_data:100 --field-trial-handle=0,4668676217214765906,6547463553001380697,131072
==808151==
==808151== Events    : Ir
==808151== Collected :<PHONE_NUMBER>
==808151==
==808151== I   refs:      1,290,365,757

real    0m12,946s
user    0m12,888s
sys     0m0,024s

Version with stringstream:
void sinsp_threadinfo::populate_cmdline(std::string& cmdline, const sinsp_threadinfo* tinfo)
{
    if (tinfo->m_args.empty()) {
        cmdline = tinfo->get_comm();
    }
    else {
        std::ostringstream oss{tinfo->get_comm()};

        for (const auto& arg : tinfo->m_args) {
            oss << " " << arg;
        }
        cmdline = oss.str();
    }
}

$ time valgrind --tool=callgrind ./build/populate_cmdline_ss
==808253== Callgrind, a call-graph generating cache profiler
==808253== Copyright (C) 2002-2017, and GNU GPL'd, by Josef Weidendorfer et al.
==808253== Using Valgrind-3.18.1 and LibVEX; rerun with -h for copyright info
==808253== Command: ./build/populate_cmdline_ss
==808253==
==808253== For interactive control, run 'callgrind_control -h'.
 --type=renderer --enable-crashpad --crashpad-handler-pid=3357 --enable-crash-reporter=,Manjaro Linux --display-capture-permissions-policy-allowed --change-stack-guard-on-fork=enable --lang=en-US --num-raster-threads=4 --enable-main-frame-before-activation --renderer-client-id=1296 --launch-time-ticks=59336657839 --shared-files=v8_context_snapshot_data:100 --field-trial-handle=0,4668676217214765906,6547463553001380697,131072
==808253==
==808253== Events    : Ir
==808253== Collected :<PHONE_NUMBER>
==808253==
==808253== I   refs:      1,407,965,203

real    0m12,335s
user    0m12,270s
sys     0m0,030s

Version with +=:
void sinsp_threadinfo::populate_cmdline(std::string& cmdline, const sinsp_threadinfo* tinfo)
{
    cmdline = tinfo->get_comm();

    for (const auto& arg : tinfo->m_args) {
        cmdline += " ";
        cmdline += arg;
    }
}

$ time valgrind --tool=callgrind ./build/populate_cmdline_pluseq
==808369== Callgrind, a call-graph generating cache profiler
==808369== Copyright (C) 2002-2017, and GNU GPL'd, by Josef Weidendorfer et al.
==808369== Using Valgrind-3.18.1 and LibVEX; rerun with -h for copyright info
==808369== Command: ./build/populate_cmdline_pluseq
==808369==
==808369== For interactive control, run 'callgrind_control -h'.
/usr/lib/chromium/chromium --type=renderer --enable-crashpad --crashpad-handler-pid=3357 --enable-crash-reporter=,Manjaro Linux --display-capture-permissions-policy-allowed --change-stack-guard-on-fork=enable --lang=en-US --num-raster-threads=4 --enable-main-frame-before-activation --renderer-client-id=1296 --launch-time-ticks=59336657839 --shared-files=v8_context_snapshot_data:100 --field-trial-handle=0,4668676217214765906,6547463553001380697,131072
==808369==
==808369== Events    : Ir
==808369== Collected : 539560931
==808369==
==808369== I   refs:      539,560,931

real    0m5,533s
user    0m5,494s
sys     0m0,024s

Version with absl:
void sinsp_threadinfo::populate_cmdline(std::string& cmdline, const sinsp_threadinfo* tinfo)
{
    cmdline = tinfo->get_comm();
    if (!tinfo->m_args.empty()) {
        cmdline = absl::StrCat(cmdline, " ", absl::StrJoin(tinfo->m_args, " "));
    }
}

$ time valgrind --tool=callgrind ./build/populate_cmdline_absl
==808414== Callgrind, a call-graph generating cache profiler
==808414== Copyright (C) 2002-2017, and GNU GPL'd, by Josef Weidendorfer et al.
==808414== Using Valgrind-3.18.1 and LibVEX; rerun with -h for copyright info
==808414== Command: ./build/populate_cmdline_absl
==808414==
==808414== For interactive control, run 'callgrind_control -h'.
/usr/lib/chromium/chromium --type=renderer --enable-crashpad --crashpad-handler-pid=3357 --enable-crash-reporter=,Manjaro Linux --display-capture-permissions-policy-allowed --change-stack-guard-on-fork=enable --lang=en-US --num-raster-threads=4 --enable-main-frame-before-activation --renderer-client-id=1296 --launch-time-ticks=59336657839 --shared-files=v8_context_snapshot_data:100 --field-trial-handle=0,4668676217214765906,6547463553001380697,131072
==808414==
==808414== Events    : Ir
==808414== Collected : 383592994
==808414==
==808414== I   refs:      383,592,994

real    0m4,477s
user    0m4,446s
sys     0m0,017s

Even if the absl version is the better, we have it as an indirect dep through gRPC, therefore since the += version is already a good improvement I decided to go with that.

@deepskyblue86: The following test failed, say /retest to rerun all failed tests or /retest-required to rerun all mandatory failed tests:

Test name
Commit
Details
Required
Rerun command

build-libs-minimal
16e3db6df1cc05906fe5ce65918ce5054e678eba
link
true
/test build-libs-minimal

Full PR test history. Please help us cut down on flakes by linking to an open issue when you hit one in your PR.

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. I understand the commands that are listed here.

@deepskyblue86: The following tests failed, say /retest to rerun all failed tests or /retest-required to rerun all mandatory failed tests:

Test name
Commit
Details
Required
Rerun command

build-libs-minimal
16e3db6df1cc05906fe5ce65918ce5054e678eba
link
true
/test build-libs-minimal

build-libs
16e3db6df1cc05906fe5ce65918ce5054e678eba
link
true
/test build-libs

Full PR test history. Please help us cut down on flakes by linking to an open issue when you hit one in your PR.

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. I understand the commands that are listed here.

@deepskyblue86: The following tests failed, say /retest to rerun all failed tests or /retest-required to rerun all mandatory failed tests:

Test name
Commit
Details
Required
Rerun command

build-libs-minimal
16e3db6df1cc05906fe5ce65918ce5054e678eba
link
true
/test build-libs-minimal

build-libs
16e3db6df1cc05906fe5ce65918ce5054e678eba
link
true
/test build-libs

build-libs-bundled-deps
16e3db6df1cc05906fe5ce65918ce5054e678eba
link
true
/test build-libs-bundled-deps

Full PR test history. Please help us cut down on flakes by linking to an open issue when you hit one in your PR.

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. I understand the commands that are listed here.

@deepskyblue86: The following tests failed, say /retest to rerun all failed tests or /retest-required to rerun all mandatory failed tests:

Test name
Commit
Details
Required
Rerun command

build-libs-minimal
16e3db6df1cc05906fe5ce65918ce5054e678eba
link
true
/test build-libs-minimal

build-libs
16e3db6df1cc05906fe5ce65918ce5054e678eba
link
true
/test build-libs

build-libs-bundled-deps
16e3db6df1cc05906fe5ce65918ce5054e678eba
link
true
/test build-libs-bundled-deps

build-libs-with-chisels
16e3db6df1cc05906fe5ce65918ce5054e678eba
link
true
/test build-libs-with-chisels

Full PR test history. Please help us cut down on flakes by linking to an open issue when you hit one in your PR.

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. I understand the commands that are listed here.

CI failed with:
/usr/bin/ld: CMakeFiles/sinsp-example.dir/test.cpp.o: in function `main':
/home/prow/go/src/github.com/falcosecurity/libs/userspace/libsinsp/examples/test.cpp:117: undefined reference to `sinsp_threadinfo::populate_cmdline(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&, sinsp_threadinfo const*)'
/usr/bin/ld: ../libsinsp.a(filterchecks.cpp.o): in function `sinsp_filter_check_thread::extract(sinsp_evt*, unsigned int*, bool)':
/home/prow/go/src/github.com/falcosecurity/libs/userspace/libsinsp/filterchecks.cpp:2336: undefined reference to `sinsp_threadinfo::populate_cmdline(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&, sinsp_threadinfo const*)'
collect2: error: ld returned 1 exit status
make[2]: *** [libsinsp/examples/CMakeFiles/sinsp-example.dir/build.make:105: libsinsp/examples/sinsp-example] Error 1
make[1]: *** [CMakeFiles/Makefile2:899: libsinsp/examples/CMakeFiles/sinsp-example.dir/all] Error 2
make[1]: *** Waiting for unfinished jobs....

/usr/bin/ld: ../libsinsp.a(filterchecks.cpp.o): in function `sinsp_filter_check_thread::extract(sinsp_evt*, unsigned int*, bool)':
/home/prow/go/src/github.com/falcosecurity/libs/userspace/libsinsp/filterchecks.cpp:2336: undefined reference to `sinsp_threadinfo::populate_cmdline(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&, sinsp_threadinfo const*)'
collect2: error: ld returned 1 exit status

Can you give a look?

My bad. Thanks @iurly for spotting the issue.
/retest

Care to share new callgrind benchmark without inline?

@FedeDP here you are
$ for i in `ls build/populate_cmdline*`; do time valgrind --tool=callgrind $i ; done
==1000763== Callgrind, a call-graph generating cache profiler
==1000763== Copyright (C) 2002-2017, and GNU GPL'd, by Josef Weidendorfer et al.
==1000763== Using Valgrind-3.18.1 and LibVEX; rerun with -h for copyright info
==1000763== Command: build/populate_cmdline
==1000763==
==1000763== For interactive control, run 'callgrind_control -h'.
/usr/lib/chromium/chromium --type=renderer --enable-crashpad --crashpad-handler-pid=3357 --enable-crash-reporter=,Manjaro Linux --display-capture-permissions-policy-allowed --change-stack-guard-on-fork=enable --lang=en-US --num-raster-threads=4 --enable-main-frame-before-activation --renderer-client-id=1296 --launch-time-ticks=59336657839 --shared-files=v8_context_snapshot_data:100 --field-trial-handle=0,4668676217214765906,6547463553001380697,131072
==1000763==
==1000763== Events    : Ir
==1000763== Collected :<PHONE_NUMBER>
==1000763==
==1000763== I   refs:      1,290,365,666

real    0m12,849s
user    0m12,768s
sys     0m0,047s
==1000828== Callgrind, a call-graph generating cache profiler
==1000828== Copyright (C) 2002-2017, and GNU GPL'd, by Josef Weidendorfer et al.
==1000828== Using Valgrind-3.18.1 and LibVEX; rerun with -h for copyright info
==1000828== Command: build/populate_cmdline_absl
==1000828==
==1000828== For interactive control, run 'callgrind_control -h'.
/usr/lib/chromium/chromium --type=renderer --enable-crashpad --crashpad-handler-pid=3357 --enable-crash-reporter=,Manjaro Linux --display-capture-permissions-policy-allowed --change-stack-guard-on-fork=enable --lang=en-US --num-raster-threads=4 --enable-main-frame-before-activation --renderer-client-id=1296 --launch-time-ticks=59336657839 --shared-files=v8_context_snapshot_data:100 --field-trial-handle=0,4668676217214765906,6547463553001380697,131072
==1000828==
==1000828== Events    : Ir
==1000828== Collected : 383592903
==1000828==
==1000828== I   refs:      383,592,903

real    0m4,434s
user    0m4,398s
sys     0m0,024s
==1000844== Callgrind, a call-graph generating cache profiler
==1000844== Copyright (C) 2002-2017, and GNU GPL'd, by Josef Weidendorfer et al.
==1000844== Using Valgrind-3.18.1 and LibVEX; rerun with -h for copyright info
==1000844== Command: build/populate_cmdline_pluseq
==1000844==
==1000844== For interactive control, run 'callgrind_control -h'.
/usr/lib/chromium/chromium --type=renderer --enable-crashpad --crashpad-handler-pid=3357 --enable-crash-reporter=,Manjaro Linux --display-capture-permissions-policy-allowed --change-stack-guard-on-fork=enable --lang=en-US --num-raster-threads=4 --enable-main-frame-before-activation --renderer-client-id=1296 --launch-time-ticks=59336657839 --shared-files=v8_context_snapshot_data:100 --field-trial-handle=0,4668676217214765906,6547463553001380697,131072
==1000844==
==1000844== Events    : Ir
==1000844== Collected : 539560840
==1000844==
==1000844== I   refs:      539,560,840

real    0m5,430s
user    0m5,401s
sys     0m0,014s
==1000870== Callgrind, a call-graph generating cache profiler
==1000870== Copyright (C) 2002-2017, and GNU GPL'd, by Josef Weidendorfer et al.
==1000870== Using Valgrind-3.18.1 and LibVEX; rerun with -h for copyright info
==1000870== Command: build/populate_cmdline_ss
==1000870==
==1000870== For interactive control, run 'callgrind_control -h'.
 --type=renderer --enable-crashpad --crashpad-handler-pid=3357 --enable-crash-reporter=,Manjaro Linux --display-capture-permissions-policy-allowed --change-stack-guard-on-fork=enable --lang=en-US --num-raster-threads=4 --enable-main-frame-before-activation --renderer-client-id=1296 --launch-time-ticks=59336657839 --shared-files=v8_context_snapshot_data:100 --field-trial-handle=0,4668676217214765906,6547463553001380697,131072
==1000870==
==1000870== Events    : Ir
==1000870== Collected :<PHONE_NUMBER>
==1000870==
==1000870== I   refs:      1,407,965,112

real    0m15,764s
user    0m15,635s
sys     0m0,033s

Sorry about that, it has been a looong week. :sweat_smile:

I assume these are proposed solution results:

real    0m5,430s
user    0m5,401s
sys     0m0,014s

+1 from me if you confirm!

Yes, that's the += version

==1000844== Callgrind, a call-graph generating cache profiler
==1000844== Copyright (C) 2002-2017, and GNU GPL'd, by Josef Weidendorfer et al.
==1000844== Using Valgrind-3.18.1 and LibVEX; rerun with -h for copyright info
==1000844== Command: build/populate_cmdline_pluseq
==1000844==
==1000844== For interactive control, run 'callgrind_control -h'.
/usr/lib/chromium/chromium --type=renderer --enable-crashpad --crashpad-handler-pid=3357 --enable-crash-reporter=,Manjaro Linux --display-capture-permissions-policy-allowed --change-stack-guard-on-fork=enable --lang=en-US --num-raster-threads=4 --enable-main-frame-before-activation --renderer-client-id=1296 --launch-time-ticks=59336657839 --shared-files=v8_context_snapshot_data:100 --field-trial-handle=0,4668676217214765906,6547463553001380697,131072
==1000844==
==1000844== Events    : Ir
==1000844== Collected : 539560840
==1000844==
==1000844== I   refs:      539,560,840
real    0m5,430s
user    0m5,401s
sys     0m0,014s

LGTM label has been added.  Git tree hash: dcc1da05d49014ba11688f6b7574888b59ce8eb0

[APPROVALNOTIFIER] This PR is APPROVED
This pull-request has been approved by: deepskyblue86, FedeDP
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 [FedeDP]

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

[APPROVALNOTIFIER] This PR is APPROVED
This pull-request has been approved by: deepskyblue86, FedeDP, leogr
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 [FedeDP,leogr]

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


Allow user to generate images with initial noise as on M1 / mps system

@Any-Winter-4079
Any idea how to test it?

@ArDiouscuros Do you have an M1?

@Any-Winter-4079
No I don't have M1.
So test on Windows \ CUDA shows that I could reproduce M1 results on Cuda system.
I hope it could be useful.

Awesome!

"brown corgi, clean background, flat design:1.0" -s 20 -S 637276129 -W 448 -H 640 -C 7.5 -A ddim

this should be called "use CPU noise", right? the thing that's special about random on MPS is that it doesn't support seeds, so we fallback to CPU.

@Birch-san could we mimic cuda seed behavior on our CPU?
If we knew how seeds are chosen on cuda, maybe we could mimic it and make images reproducible? Or is that not possible ?

@Birch-san could we mimic cuda seed behavior on our CPU? If we knew how seeds behave on cuda, maybe we could mimic it and make images reproducible? Or is that not possible

@Any-Winter-4079
The main issue is CPU/CUDA random number generators have different algorithms. And if we know the CUDA implementation of RNG then we could port it to CPU. But currently nobody does, and torch team just closing the issues about different rand results with the same speed b.c. "it is expected".

As far as I can tell whenever any project has wanted consistent random values across platforms they've always fallen back to using their 'own' random number algorithm rather than one built into the OS (or it this case CUDA API).
Tends to be a variation on the Mersenne Twister
Actually check the Wikipedia page for it.
https://en.wikipedia.org/wiki/Mersenne_Twister
it lists a fair few languages / standard libraries that use it by default
As an aside, II did actually have a play with replacing the noise function with one based on perlins noise, just wanted to see the affect, but I didn't get anything out of it. I was probably building the tensor wrong as I don't really get how a 5 dimension tensor fits together.

On https://numba.pydata.org/numba-doc/0.33.0/cuda/random.html it says:

The xoroshiro128+ algorithm has a period of 2**128 - 1, which is shorter than the period of the XORWOW algorithm used by default in cuRAND

Is cuRAND the library in question and if so, maybe XORWOW is what they use?

could we mimic cuda seed behavior on our CPU?

fun idea. dunno how. how about asking CUDA users to join us on CPU seed? 😛

@ArDiouscuros should we rename it to CPU noise as Birch San says?
Let me know and I'll test to merge it.

Hi, just reviewed the code and it looks fine. I'll run on my system later today and merge unless I notice anything amiss.

@lstein and @Any-Winter-4079: If you need someone with M1 to test things, feel free to mention me. I have a MacBook Air M1 2020 with 16GB RAM and 8GPU Cores. I would also have a MacBook Pro available from work, but since it is also "just" a 2020 Model with M1, it is not really different from my MacBook Air (since it already has the 8GPU cores, only difference would be the cooling system which is passive on MacBook Air models and Active on MacBook Pro 🙈 )


sound is broken on Firefox 43.0.4

It's playing but there is on each pitch a strange noise.
I'm on OS X 10.11.2

Same with Chrome on Android. Very slow tunes come fine. But faster ones show lots of noise.
It sounds like the sound system gets too much requests at the same time and can not handle them properly. It looks like too many initialisations or something around that. Easliy reproducible with musical.js/test/demo/interact.html
My suspection is, that keeping the Audion API busy and alive during playing might fix the bug?

Removing setValueAtTime() and linearRampToValueAtTime() appears to eliminate the initial clicks/noice. See
https://bugzilla.mozilla.org/show_bug.cgi?id=1228207
The bug report suggests ambiguities inside the web-audio-api, for handling volume relative to specified time and enabling smooth transitions.
Disabling the above mentioned calls in musical.js produces a  sound which is not as expected, but improves much for FF on Android and even Chrome on Android :-/

Some more input:
The metronome app in the following tutorial does work as expected. It might be worth to look at how scheduling/look ahead is done there:
https://www.html5rocks.com/en/tutorials/audio/scheduling/
A more complex example from a presentation:
http://webaudiodemos.appspot.com/slides/#/14

I also tried the metronome app in my environment. It really seems to work. Would be glad if musical.js could be updated accordingly.


added user option for taints

I see that this is for aws only. Is this not something that could be provider agnostic? When we add more providers, it would be best if we didn't have to have provider-unique configs.

The work in theory is provider agnostic - I will make sure it is working as intended, but I do need to add in a gke-node schema and update the gke docs. Thanks

blocked by GKE bug, unable to test at the moment

latest run for CI failed but the GKE stages passed.  removing blocked label.

Update - Conclusion is that for the moment taints cannot be added at cluster creation.  Users wishing to add taints to GKE nodes can do so manually with kubectl taint nodes <node> <key>=<value>:<effect>. @joejulian

We could have K2 add the taint as part of the cluster creation in a follow-on task.  We really need the taint to be added at cluster creation for AWS because we need to keep the control plane nodes clean

@coffeepac is the follow-on task you're referring to a way to get taints on to gke? Taints are currently being added at aws cluster creation for master nodes with https://github.com/samsung-cnct/k2/pull/588.

My thought is that it would be similar to, and before, kraken.services.

@DStorck what joe said.  Another ansible task that calls kubectl to apply the taints.

@joejulian @coffeepac Sorry if I wasn't clear, I was asking if the follow-on task that Patrick mentioned was exclusive to gke since this is already handled for aws.

@DStorck taints should be added as soon as possible, so for AWS it should be at process startup.  For GKE its as soon as possible.  this doesn't have to be the same for all providers, especially since GKE and AWS are so different.

rebased to pickup some CI improvement.


Update to json-schema 0.40.0

https://github.com/open-cluster-management/backlog/issues/18100

/cc @fxiang1


python310Packages.pyswitchbot: 0.17.3 -> 0.18.4

Description of changes
https://github.com/Danielhiversen/pySwitchbot/releases/tag/0.18.4

Things done

Built on platform(s)

[x] x86_64-linux
[ ] aarch64-linux
[ ] x86_64-darwin
[ ] aarch64-darwin

[ ] For non-Linux: Is sandbox = true set in nix.conf? (See Nix manual)
[ ] Tested, as applicable:

NixOS test(s) (look inside nixos/tests)
and/or package tests
or, for functions and "core" functionality, tests in lib/tests or pkgs/test
made sure NixOS tests are linked to the relevant packages

[ ] Tested compilation of all packages that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review rev HEAD". Note: all changes have to be committed, also see nixpkgs-review usage
[ ] Tested basic functionality of all binary files (usually in ./result/bin/)
22.11 Release Notes (or backporting 22.05 Release notes)

[ ] (Package updates) Added a release notes entry if the change is major or breaking
[ ] (Module updates) Added a release notes entry if the change is significant
[ ] (Module addition) Added a release notes entry if adding a new NixOS module
[ ] (Release notes changes) Ran nixos/doc/manual/md-to-db.sh to update generated release notes

[x] Fits CONTRIBUTING.md.

Result of nixpkgs-review pr 185439 run on x86_64-linux 1

8 packages built:

home-assistant-component-tests.homekit_controller
home-assistant-component-tests.switchbot
python310Packages.aiohomekit
python310Packages.bleak-retry-connector
python310Packages.pyswitchbot
python39Packages.aiohomekit
python39Packages.bleak-retry-connector
python39Packages.pyswitchbot


[#259] Add a question to determine if the beta user is a legal professional

[WORK-IN-PROGRESS]
Client needs to be updated to support asking an additional question. Exact text TBD.
[#259]

[x] Updates Beta backend server to support storing whether a user is a legal professional
[x] Updates Beta backend server API documentation

Integration is done, ready for merge


API improvements for ServerEnvironment

ServerEnvironment.use(...) should now only be usable in a context like
ServerEnvironment.when(SomeEnv.class)
                 .use(envType -> storageFactory())
                 .use(envType -> delivery()) // ...

That is, the use method won't require EnvironmentType as a second argument anymore (superseded by when(...)), and will accept lazily-initialized values instead of plain objects. The envType is the active environment type supplied for logging or other purposes.
The old use(T, EnvironmentType) API should be deprecated.

ServerEnvironment should supply a new public method type() which will return the currently active EnvironmentType.
This way, the user code will be able to easily access the info about the currently active environment when the ServerEnvironment is already configured.

The method ServerEnvironment.when(EnvironmentType) mentioned in p.1 should also allow calling
run(envType -> {}), for example:
ServerEnvironment.when(Staging.class).run((envType) -> configureStaging())
 	         .when(Production.class).run((envType) -> configureProduction());

The method will run such configuration code  if and only if the specified EnvironmentType is active at the moment.

@armiol @dmitrykuzmin how about having it shorter for configuration phase?
ServerEnvironment.when(SomeEnv.class)
                 .use(envType -> storageFactory())
                 .use(envType -> delivery()) // ...

I personally support this change.

@alexander-yevsyukov LGTM.

@armiol @dmitrykuzmin
Because of limitation of Java generics, we cannot have multiple use(Function<T, R>) at the same level. So, the following is not possible:
ServerEnvironment.when(SomeEnv.class)
                 .use(envType -> storageFactory())
                 .use(envType -> delivery())  // ...

We can have:
ServerEnvironment.when(SomeEnv.class)
                 .useStorageFactory(envType -> storageFactory())
                 .useDelivery(envType -> delivery())  // ...

Or, abandon the idea of passing functions to the use() API at all.
Thoughts?

Also we can have use() API with typed lambdas, but because of that we'd have to require users to implement configuration functions returning those typed lambdas. E.g.
private ServerEnvironment.DeliveryFn deliveryFn(Delivery valueFromFunction) {
    return t -> valueFromFunction;
}

Summing up, I'll add useThis(), useThat() family of methods that would accept Fn<This> and Fn<That>.

@dmitrykuzmin, Environment.setTo() cannot be made @Internal because it's the only way to turn the Environment into another state. Otherwise, a previously calculated value would be always returned.

@dmitrykuzmin, we need to expose Environment.register(Class) because it is linked to the way Environment.is(Class) used and documented in the API. The fact that ServerEnvironment does the registration automatically for us is a happy coincidence.
I'm going to improve the documentation so that it's easier to understand and give it to you for review later, hopefully, this week.

As discussed with @armiol, the following construct is problematic:
ServerEnvironment.when(Staging.class).run((envType) -> configureStaging())
 	         .when(Production.class).run((envType) -> configureProduction());

First of all, it looks as if the code under run() is going to be executed when the environment changes its type. This is so because what we specify in the combination of when().use()_is_ going to be given _when_ it's actually needed and _if_ the type is what we put inwhen()`.
The original intent was to execute the function under run() only once, if when() is “true”, and not every time when the environment hypothetically turns into the given state once again.
To avoid the confusion, we tried to rename when() to ifIs(), and run to then(), having this:
ServerEnvironment.ifIs(Staging.class).then((envType) -> configureStaging())
 	         .ifIs(Production.class).then((envType) -> configureProduction());

This construct is worse than combination of two if(). It's harder to read and in overall looks like as over-engineering.
In conclusion, we're not doing the item no.3 (when()/run()) from the original issue request because the same effect can be achieved by if() clauses.


Not able to migrate users and use the SMS (will help to complete future pull request with config guide)

Hey guys, first of all, thanks for keep the implementation and share this repository.
I'm working in a project that needs to replace the current Auth Service for Keycloak with SMS as MFA.
I'm trying to use your plugin, but even watching the Niko Kobler videos and reading the repository README. i'm facing a lot of doubts and problems to implement it.
Thinking on that, i'm forking the repository to update the README with all the instructions to implement it, and help eveyone that needs to have it in their Keycloak.
I'll start adding here some questions and explaining my steps.
Configuration Guide - Part 1

I have the Keycloak running in a Docker Container (i'll add the steps to install it in the ReadMe too)

To be able to use the plugin, you need to have an User Attibute called 'mobile_number' to store the phone numbers. This can be done using the User profile or using User Attributes

I've the User Profile Attirbute set as mobile_number, but in the docker logs, looks like the user number is not identified

Go to Authentication > Flows >  Duplicate the 'browser' flow - I've set the name as 'browser with sms'

On 'browser with sms forms' step, click over the + and add a new step

Search by 'SMS Authentication (2FA)' and click on Add button

Drag and Drop the added step to under the Useranme Password Form

Change the to 'Required' and click over the engine to Edit the plugin settings

Set the alias as 'sms-2fa' and click save

Go back to Authentication Flows page, find the create flow, click over the settings and 'Bind Flow' option

This is the basic configuration to allow you to test before configure you SMS Api Service.

Errors with the configuration above

When i'm creating a new user (using the keycloak sign-up form), the SMS Code step don't appear. The user is created, but any SMS is sent.
When i tried to sign-in using the new user created, i wasn't able, and got the following error logged in the docker logs
2024-03-09 10:22:28 2024-03-09 13:22:28,935 WARN  [org.keycloak.services] (executor-thread-337) KC-SERVICES0013: Failed authentication: org.keycloak.authentication.AuthenticationFlowException: authenticator: mobile-number-authenticator 2024-03-09 10:22:28     at org.keycloak.authentication.DefaultAuthenticationFlow.processSingleFlowExecutionModel(DefaultAuthenticationFlow.java:432) 2024-03-09 10:22:28     at org.keycloak.authentication.DefaultAuthenticationFlow.processFlow(DefaultAuthenticationFlow.java:249) 2024-03-09 10:22:28     at org.keycloak.authentication.DefaultAuthenticationFlow.processSingleFlowExecutionModel(DefaultAuthenticationFlow.java:380) 2024-03-09 10:22:28     at org.keycloak.authentication.DefaultAuthenticationFlow.continueAuthenticationAfterSuccessfulAction(DefaultAuthenticationFlow.java:181) 2024-03-09 10:22:28     at org.keycloak.authentication.DefaultAuthenticationFlow.processAction(DefaultAuthenticationFlow.java:157) 2024-03-09 10:22:28     at org.keycloak.authentication.AuthenticationProcessor.authenticationAction(AuthenticationProcessor.java:988) 2024-03-09 10:22:28     at org.keycloak.services.resources.LoginActionsService.processFlow(LoginActionsService.java:362) 2024-03-09 10:22:28     at org.keycloak.services.resources.LoginActionsService.processAuthentication(LoginActionsService.java:333) 2024-03-09 10:22:28     at org.keycloak.services.resources.LoginActionsService.authenticate(LoginActionsService.java:325) 2024-03-09 10:22:28     at org.keycloak.services.resources.LoginActionsService.authenticateForm(LoginActionsService.java:390) 2024-03-09 10:22:28     at org.keycloak.services.resources.LoginActionsService$quarkusrestinvoker$authenticateForm_32b8e198ac3110abd1d5774e83a4cf87858129f4.invoke(Unknown Source) 2024-03-09 10:22:28     at org.jboss.resteasy.reactive.server.handlers.InvocationHandler.handle(InvocationHandler.java:29) 2024-03-09 10:22:28     at io.quarkus.resteasy.reactive.server.runtime.QuarkusResteasyReactiveRequestContext.invokeHandler(QuarkusResteasyReactiveRequestContext.java:141) 2024-03-09 10:22:28     at org.jboss.resteasy.reactive.common.core.AbstractResteasyReactiveContext.run(AbstractResteasyReactiveContext.java:145) 2024-03-09 10:22:28     at io.quarkus.vertx.core.runtime.VertxCoreRecorder$14.runWith(VertxCoreRecorder.java:576) 2024-03-09 10:22:28     at org.jboss.threads.EnhancedQueueExecutor$Task.run(EnhancedQueueExecutor.java:2513) 2024-03-09 10:22:28     at org.jboss.threads.EnhancedQueueExecutor$ThreadBody.run(EnhancedQueueExecutor.java:1538) 2024-03-09 10:22:28     at org.jboss.threads.DelegatingRunnable.run(DelegatingRunnable.java:29) 2024-03-09 10:22:28     at org.jboss.threads.ThreadLocalResettingRunnable.run(ThreadLocalResettingRunnable.java:29) 2024-03-09 10:22:28     at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30) 2024-03-09 10:22:28     at java.base/java.lang.Thread.run(Thread.java:840)

What i did to fix the settings

Open the Realm Authentication page, under the Required Actions, turned on the 'Phone Validation' option

With that, after create a new user, the SMS Code page starts to appear

And i've got this in the docker logs

Now, FOR NEW USERS i'm able to use the SMS CODE.

More questions with this basic settings
I've noticed that the created user got the following credentials

I think, that was that allow the user login using the SMS 2FA.
But as mentionated at the very beggining, i'm migrating existent users to the Keycloak using the Keycloak Rest Api.
Tried to add this credential throw the api, and i'm getting this errror:

How can i add the Mobile-number credential to the migrated users and allow them use the SMS Code flow?
Because if i follow the above steps and don't add the credential, when i trying to login, i'm getting the following error:
2024-03-09 10:48:25 2024-03-09 13:48:25,741 WARN  [org.keycloak.services] (executor-thread-358) KC-SERVICES0013: Failed authentication: org.keycloak.authentication.AuthenticationFlowException: authenticator: mobile-number-authenticator 2024-03-09 10:48:25     at org.keycloak.authentication.DefaultAuthenticationFlow.processSingleFlowExecutionModel(DefaultAuthenticationFlow.java:432) 2024-03-09 10:48:25     at org.keycloak.authentication.DefaultAuthenticationFlow.processFlow(DefaultAuthenticationFlow.java:249) 2024-03-09 10:48:25     at org.keycloak.authentication.DefaultAuthenticationFlow.processSingleFlowExecutionModel(DefaultAuthenticationFlow.java:380) 2024-03-09 10:48:25     at org.keycloak.authentication.DefaultAuthenticationFlow.continueAuthenticationAfterSuccessfulAction(DefaultAuthenticationFlow.java:181) 2024-03-09 10:48:25     at org.keycloak.authentication.DefaultAuthenticationFlow.processAction(DefaultAuthenticationFlow.java:157) 2024-03-09 10:48:25     at org.keycloak.authentication.AuthenticationProcessor.authenticationAction(AuthenticationProcessor.java:988) 2024-03-09 10:48:25     at org.keycloak.services.resources.LoginActionsService.processFlow(LoginActionsService.java:362) 2024-03-09 10:48:25     at org.keycloak.services.resources.LoginActionsService.processAuthentication(LoginActionsService.java:333) 2024-03-09 10:48:25     at org.keycloak.services.resources.LoginActionsService.authenticate(LoginActionsService.java:325) 2024-03-09 10:48:25     at org.keycloak.services.resources.LoginActionsService.authenticateForm(LoginActionsService.java:390) 2024-03-09 10:48:25     at org.keycloak.services.resources.LoginActionsService$quarkusrestinvoker$authenticateForm_32b8e198ac3110abd1d5774e83a4cf87858129f4.invoke(Unknown Source) 2024-03-09 10:48:25     at org.jboss.resteasy.reactive.server.handlers.InvocationHandler.handle(InvocationHandler.java:29) 2024-03-09 10:48:25     at io.quarkus.resteasy.reactive.server.runtime.QuarkusResteasyReactiveRequestContext.invokeHandler(QuarkusResteasyReactiveRequestContext.java:141) 2024-03-09 10:48:25     at org.jboss.resteasy.reactive.common.core.AbstractResteasyReactiveContext.run(AbstractResteasyReactiveContext.java:145) 2024-03-09 10:48:25     at io.quarkus.vertx.core.runtime.VertxCoreRecorder$14.runWith(VertxCoreRecorder.java:576) 2024-03-09 10:48:25     at org.jboss.threads.EnhancedQueueExecutor$Task.run(EnhancedQueueExecutor.java:2513) 2024-03-09 10:48:25     at org.jboss.threads.EnhancedQueueExecutor$ThreadBody.run(EnhancedQueueExecutor.java:1538) 2024-03-09 10:48:25     at org.jboss.threads.DelegatingRunnable.run(DelegatingRunnable.java:29) 2024-03-09 10:48:25     at org.jboss.threads.ThreadLocalResettingRunnable.run(ThreadLocalResettingRunnable.java:29) 2024-03-09 10:48:25     at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30) 2024-03-09 10:48:25     at java.base/java.lang.Thread.run(Thread.java:840)
Thanks in advanced, I know it's a lot of information, but i really need some help here to implement it.

I'm not 100% sure. Maybe you could try to pack the SMS-Authenticator into a conditional subflow with condition "user configured - required" to pass that error. Hope that helps.

Hey @melegiul, i was able to identify how to set this up. I saw the current main branch is not the last one (that generatted the 23.0.7 jar). Have you some idea when the app-authenticator branch will be merged in the main?

@tbaragao I have the same problem. I have mobile_number as an attribute and the latest jar from this repo. I take the exact same steps but after I put in username/pass I get a "Cannot login, credential setup required." - despite the fact that my user has a mobile_number field present and set.
I tried turning the Phone Validation toggle on as you said, but no luck.
Sure you didn't do anything else to fix it?

@tbaragao in relation to your solution, would this not be easier to migrate your users?: https://github.com/daniel-frak/keycloak-user-migration?tab=readme-ov-file

Hey @dsputnikk, i've identified all the steps to have it working and now i'm working on over some guide to do a pull request here. The fact that the steps in the read me right now doesn't explain the steps and the real configuration. For example, fo me, that i'm using the User Profile enabled, i don't need to configure the mobile_number attribute, it's generated automatically.
I'm just wating the response from @melegiul about to close the branch app-authenticator that was that generate the current .jar versions.

Would love to hear what you managed to accomplish.
I just got this fork wired up myself and successfully pulling users in via the legacy REST endpoint (which is reaching out to a legacy SQL app for credentials). It appears to work - but I'm a bit confused. On one the docs seem to imply that its just metadata that gets synced across

Hey @melegiul, i was able to identify how to set this up. I saw the current main branch is not the last one (that generatted the 23.0.7 jar). Have you some idea when the app-authenticator branch will be merged in the main?

Unfortunately I can't say that for sure in the moment. We want some more improvements to be done: https://github.com/netzbegruenung/keycloak-mfa-plugins/pull/63#issuecomment-1816379363
But yes you are right. Latest Keycloak support up to 23 is on this branch at the moment.

We're now working on KC 24 support :+1:

Can't wait

Hey @dsputnikk, i've identified all the steps to have it working and now i'm working on over some guide to do a pull request here. The fact that the steps in the read me right now doesn't explain the steps and the real configuration. For example, fo me, that i'm using the User Profile enabled, i don't need to configure the mobile_number attribute, it's generated automatically.
I'm just wating the response from @melegiul about to close the branch app-authenticator that was that generate the current .jar versions.

The app-authenticator is now merged into the main branch to better reflect the current state of the project. Sorry for the confusion.
And you are right. mobile_number is not a user attribute, it is a credential, which you can mange (delete, show) like any other credentials here /admin/master/console/#/realm-name/users/user-id/credentials. Changing and creating is not supported for now, but planned in the future.
I have also added some missing parts in the readme to make the setup more clear:
https://github.com/netzbegruenung/keycloak-mfa-plugins/commit/e6b54f72fdd2d82425691451e90d931dc5f85460
Of course any pull request for further improvements are welcome anytime.

I have sms configured and OTP app. Users with both have the choice of either/or.
Is there a way to force users without a OTP app setup to also configure the OTP method (like your force 2fa) if they don't have one?

Is there a way to force users without a OTP app setup to also configure the OTP method (like your force 2fa) if they don't have one?

Forcing TOTP is currently not supported, no. Please open a new issue for that. But I don't think that this feature would be highly important for us at least.

@tbaragao is this issue solved for you with KC 24 support? If yes, we can close it.

Is there a way to force users without a OTP app setup to also configure the OTP method (like your force 2fa) if they don't have one?

Forcing TOTP specifically is currently not supported, no. Please open a new issue for that. But I don't think that this feature would be highly important for us at least.

Actually you could try this plugin: https://github.com/netzbegruenung/keycloak-mfa-plugins/tree/main/enforce-mfa
The plugin enforces the users to set up at least one 2FA method. The choices available can be customized by your flow.

For example if you have WebAuthn and OTP, the users must choose between one of them if none is enabled.

@svenseeberg Validate it, and i've got this working. Very soon i'll push an PR with the guide. Thank you so much!

Sorry to reopen - I'm still unclear @tbaragao - how did you get mobile_number populated as a credential?


Added arch specific mutex implementation

I started the implementation for an arch specific mutex to get discussion going.

r? @therealprof
(rust_highfive has picked a reviewer for you, use r? to override)

Hey @korken89, I'm not sure it's possible to share this mutex between an interrupt and main with this, at least without using unsafe, as your mutex is not Sync.
Additionally, it's kind of a bummer that this mutex panics if the resource is taken, but I guess that was already decided based on the Mutex-Trait API.

Right, I have to move to UnsafeCell

What happens now if I lock the mutex while already holding it?

Ah right, now I remember the original issue around the implementation - thanks for pointing it out.
I'll take a another look the upcoming days.

Discussion from the meeting: Seems this has stalled out. Maybe this could be another focus project? If people are interested in joining such a group, please speak up.
The MSP430 team is considering taking over the current implementation from bare-metal to not keep unneeded dependencies around.

I'm triaging Cortex-M issues, I think this has been solved with critical-section.  Feel free to re-open if there's still something to discus here!


Add label-import

Would it be possible to add a label import feature that could import the labels that have been exported to a CSV? This would help if labels have to be the same across multiple PCEs. Please let me know if this already exists. Thanks.

Thanks Brian! I appreciate you implementing my suggestion.


updated First-Look-at-DP notebook

Closes #1269

Current dependencies on/for this PR:

main

PR #1270   👈

This stack of pull requests is managed by Graphite.

I'm going to take the updated notebook content here, and make a PR against docs-IN-PROGRESS (where it is in RST instead of a notebook). That branch currently has TODOs on the corresponding page.
This PR could still be merged, if we want something in sooner.

With #1278 merged, I'd suggest closing this, and getting docs-IN-PROGRESS merged to main. This is a really clear explanation, and I didn't make many changes translating it to RST.

Thanks for adapting this @mccalluc!


xxe

HI！
I found that there are many places in ibm-cos-sdk-java that handle xml without disabling xml external entities, which may lead to xml external entity injection vulnerability.Take XmlUtil.java as an example：

The same problem still exists elsewhere：
parseRegionMetadata.java  lline 118 ;
XpathUtils.java  line 116;
parseXmlInputStream.java  line 142;

Internal ticket reference: CSAFE-54086

@360CodeSafe how are you analysing the code? I see an issue within XpathUtils.java which needs patched and the related classes which use it. Howevere parseRegionMetadata & parseXmlInputStream are more difficult to determine

We use the internal static code auditing tool (Qianxin Code Guardian) to do static code analysis and then manually review it.
The following is the data flow of our engine analysis：
1.parseRegionMetadata.java:

2.parseResponseSaxParser.java(Sorry, I may have made a mistake before.)

Because I don’t know much about the project, whether the input point is controlled by the attacker needs the developer’s own judgment.

@QiAnXinCodeSafe  this issue has been resolved in the latest release of the SDK, version 2.5.0. Please review and let us know if this issue can be closed.


How to implement CSS-in-JS with updated server code?

The current docs/example does not match up to the current default entry.server.{js|tsx} file so we're not sure how to implement in the latest code. Seems like a lot of juice-goodness in the new code we don't want to loose by just replacing that file with the example code.
Going to try my hand at figuring it out, but would love if someone who knows how to get it to work with the full default code could provide an update here. I'm happy to put a PR in, but just need to know how to get it to work.
Current example entry.server
https://github.com/remix-run/examples/blob/main/styled-components/app/entry.server.tsx#L1-L29
Current default entry.server
https://github.com/remix-run/remix/blob/main/templates/remix/app/entry.server.tsx#L1-L111

Looks like a dupe of https://github.com/remix-run/examples/issues/28
Closing...


Add whatsnew.rst

Similarly to pandas
https://pandas.pydata.org/docs/whatsnew/index.html

For now we are happy with the CHANGELOG.md file introduced by 8c83db88c792da066f5155596284c4421670c404


Cannot find module 'calendar-heatmap'

I got an error when I try to build a production build.
..../src/$$_gendir/node_modules/angular2-calendar-heatmap/dist/calendar-heatmap.ngfactory.ts (10,21): Cannot find module 'calendar-heatmap'.
So I made a fresh ng environment and try it again. But still same issue.

Hi, can you provide an example of your setup? I just did a clean install with angular-cli to get a new project and it would build without any issues.
Also, make sure you import the heatmap from angular2-calendar-heatmap, like so:
import { CalendarHeatmap } from 'angular2-calendar-heatmap';

And include it in your NgModule declarations:
@NgModule({
  declarations: [
    CalendarHeatmap,
    ...
  ],
...
})

here I attach a test that I done
https://drive.google.com/open?id=0Bx7NyKVVCxWrTUFMQnFsU2NUYmc
and im doing production build
ng build --target=production --environment=prod

Hello again, I was able to reproduce this error (after adding a missing .angular-cli.json file and installing the main dependencies (d3, moment and angular2-calendar-heatmap).
I found some related issues on github and I'm looking into what exactly causes this error.
As a workaround for now you can try to build without aot:
ng build --target=production --environment=prod --aot=false

Ok good. Thanks, But I want to build my ap with AoT.
Waiting for the fix. (Y)

I'm still looking into this one, I'll let you know as soon as it's fixed :)

Hi again, sorry for the late reply, I've double checked and found that moduleId declared inside tsconfig.json was inappropriately set. I hope that fix takes care of your issue, please let me know if you run into anything else! :)
v0.1.4

Hi, checking in to see if this was fixed already :)
Let me know if you run into more issues!

Closing this for now, please reopen if this is still an issue ^


Disabling the "enter" key

the plugin works well when choosing a location with a click. however, when there's only one answer, a normal UX would be to press ENTER to choose it. This break the app.

thanks for the issue, will take a look what i can do. Its more likely google-autocomplete stuff, not sure if will be able

Using the example page, I'm adding a callback function like so:
new L.Control.GPlaceAutocomplete({
  callback: function(location) {
    map.panTo(location);
  }
}).addTo(map);

But getting an error:

caught TypeError: Cannot read property 'lat' of null

Any ideas?

Hey @edprince it seems they changes signature a bit, which is weird.
instead of location you are probably getting place object, to fix that try this
            new L.Control.GPlaceAutocomplete({
                callback: function(place){
                    var loc = place.geometry.location;
                    map.panTo([loc.lat(), loc.lng()]);
                }
            }).addTo(map);