systemd: Replace User=nobody with DynamicUser=yes

systemd warning:

Special user nobody configured, this is not safe!

DynamicUser [1] seems to be the recommended approach now. See also [2].
[1] https://www.freedesktop.org/software/systemd/man/systemd.exec.html#DynamicUser=
[2] https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=976858

#428
Before we change it, we must notify the packagers of Linux distributions.

Processes running as nobody can ptrace each other, so there is a loss of security if more than one thing is running as that user. Ideally, individual users/DynamicUser would be used in this case.
Also, according to LSB, the user "nobody" is used by NFS as a placeholder for "unmapped" users.

It seems that only Arch-based Linux distros is affected by this change, and considering that Arch Linux users are generally more professional, I think this change can be merged. @felixonmars, what do you think about this?

cc. @IceCodeNew

When was this option introduced into the systemd?
Did you tested it with distros like Debian 10 (August 1st, 2022) to see if there is any problem?

just a kindly ping
@Frederick888 @AkinoKaede

ping @Frederick888 @AkinoKaede

I would suggest closing this PR since not many users have shown concern about this problem.
On the other hand, there is a high likelihood that users will encounter some new failures.

Sorry for not showing up earlier. Generally, I'm in favor of these types of changes, but I never really figured out how to, for example, associate DynamicUser with a specific path configured 700 (so that it's not readable by everyone).

Sorry for not showing up earlier. Generally, I'm in favor of these types of changes, but I never really figured out how to, for example, associate DynamicUser with a specific path configured 700 (so that it's not readable by everyone).

That is exactly the case. Limiting file access within Docker containers is generally considered easier and more reliable compared to implementing similar restrictions in systemd. Additionally, Docker allows for the limitation of Linux capabilities and provides other security features.
I believe that achieving similar security constraints using a tech stack other than Docker is possible. However, when it comes to systemd, users might have to refer to lengthy documentation where the relevant options are scattered throughout, making it more challenging to configure.
By suggesting the use of Docker containers, users can benefit from a more streamlined and centralized approach to security, thereby simplifying the implementation of necessary restrictions.
Here is a deployment in real life, I wrote the configuration within about 5-10 mins. I doubt anyone can do the same in systemd while taking time no longer than 1 hour.
  v2ray:
    cap_drop:
      - ALL
    command: [ "run", "-d", "/usr/local/etc/v2ray/conf.d/" ]
    container_name: <REDACTED>
    image: <REDACTED>
    init: true
    network_mode: "service:caddy"
    pull_policy: always
    read_only: true
    restart: always
    sysctls:
        # mitigate TIME-WAIT Assassination hazards in TCP
      - net.ipv4.tcp_rfc1337=1
        # SACK is commonly exploited and rarely used
      - net.ipv4.tcp_sack=0
      - net.ipv4.tcp_dsack=0
      - net.ipv4.tcp_fack=0
        # SSR could impact TCP's performance on a fixed-speed network (e.g., wired)
      - net.ipv4.tcp_slow_start_after_idle=0
    ulimits:
      nproc: 16384
      nofile:
        soft: 16384
        hard: 16384
      memlock:
        soft: 8192
        hard: 16384
    volumes:
      - type: bind
        source: ./v2ray/conf.d/
        target: /usr/local/etc/v2ray/conf.d/
        read_only: true

Limiting file access within Docker containers is generally considered easier and more reliable compared to implementing similar restrictions in systemd. Additionally, Docker allows for the limitation of Linux capabilities and provides other security features.
I believe that achieving similar security constraints using a tech stack other than Docker is possible. However, when it comes to systemd, users might have to refer to lengthy documentation where the relevant options are scattered throughout, making it more challenging to configure.

Sorry, but I think your opinion is highly biased. Just because you're more used to Docker doesn't mean that systemd is substantially harder. I wrote the following service in 3 minutes and I have been using it everyday for 2 years:
#<EMAIL_ADDRESS>[Unit]
Description=V2Ray instance for %i
Documentation=https://www.v2fly.org

[Service]
DynamicUser=yes
CapabilityBoundingSet=CAP_NET_ADMIN CAP_NET_BIND_SERVICE
AmbientCapabilities=CAP_NET_ADMIN CAP_NET_BIND_SERVICE
ConfigurationDirectory=v2ray
ConfigurationDirectoryMode=0700
LoadCredential=config:/etc/v2ray/%i.json

ExecStart=/usr/bin/v2ray run -config "${CREDENTIALS_DIRECTORY}/config" -format jsonv5
Restart=on-failure
RestartPreventExitStatus=23

ProtectSystem=strict
ProtectHome=yes
PrivateDevices=yes
PrivateUsers=yes
ProtectHostname=yes
ProtectClock=yes
ProtectKernelTunables=yes
ProtectKernelModules=yes
ProtectKernelLogs=yes
ProtectControlGroups=yes
LockPersonality=yes
MemoryDenyWriteExecute=yes

LoadCredential= only passes the selected config into service, so it's more secure than bind mounting the whole config dir. Also, this integrates better with the service manager, allowing for more precise job ordering.

Limiting file access within Docker containers is generally considered easier and more reliable compared to implementing similar restrictions in systemd. Additionally, Docker allows for the limitation of Linux capabilities and provides other security features.
I believe that achieving similar security constraints using a tech stack other than Docker is possible. However, when it comes to systemd, users might have to refer to lengthy documentation where the relevant options are scattered throughout, making it more challenging to configure.

Sorry, but I think your opinion is highly biased. Just because you're more used to Docker doesn't mean that systemd is substantially harder. I wrote the following service in 3 minutes and I have been using it everyday for 2 years:
#<EMAIL_ADDRESS>[Unit]
Description=V2Ray instance for %i
Documentation=https://www.v2fly.org

[Service]
DynamicUser=yes
CapabilityBoundingSet=CAP_NET_ADMIN CAP_NET_BIND_SERVICE
AmbientCapabilities=CAP_NET_ADMIN CAP_NET_BIND_SERVICE
ConfigurationDirectory=v2ray
ConfigurationDirectoryMode=0700
LoadCredential=config:/etc/v2ray/%i.json

ExecStart=/usr/bin/v2ray run -config "${CREDENTIALS_DIRECTORY}/config" -format jsonv5
Restart=on-failure
RestartPreventExitStatus=23

ProtectSystem=strict
ProtectHome=yes
PrivateDevices=yes
PrivateUsers=yes
ProtectHostname=yes
ProtectClock=yes
ProtectKernelTunables=yes
ProtectKernelModules=yes
ProtectKernelLogs=yes
ProtectControlGroups=yes
LockPersonality=yes
MemoryDenyWriteExecute=yes

That is cool. I am glad you find you way out and willing to share it.
For your argument, I do not think we are talking in the same language. The reason I prefer to recommend users to use docker is as following:

However, when it comes to systemd, users might have to refer to lengthy documentation where the relevant options are scattered throughout, making it more challenging to configure.

Here is a example:
read_only: true

VS
> ProtectSystem=strict
> ProtectHome=yes
> PrivateDevices=yes
> PrivateUsers=yes
# PrivateTmp= ?
# RestrictFileSystems= ?

I am quite confidence about how I am proficient in systemd configurations, but I am afraid there are more options to fill the gap between the docker configurations and systemd configurations, only in the term of restricting file access. It is just what I can recall of in a fraction of time.
And all of those options are scattered throughout a lengthy documentation
https://www.freedesktop.org/software/systemd/man/latest/systemd.exec.html
(189 options with a roughly count)

VS
https://docs.docker.com/compose/compose-file/05-services/
(84 options with a roughly count)

PrivateTmp= ?
RestrictFileSystems= ?

The former is implied by DynamicUser=yes. I don't think there's any need to use latter. The process won't have privilege to mount extra file systems anyway.

If you are interested, you may refer to: https://prefetch.net/blog/index.php/2017/11/27/securing-systemd-services-with-seccomp-profiles/

No need if you check my GitHub profile...


Fix callbacks

Fixes the onChange() and onInvalid() callbacks, which were never called (#1)
Allows empty fields that are not required to blur

Nothing in dist/ or demo/ is included in this PR to keep things clean. I assume you'll handle updating the build at release time.


Missing sentiment analysis link and example code for Go

"Reference documentation and code samples" is missing a link to Go docs and example code. This should be possible using the official Azure SDK for Go.
Document Details
⚠ Do not edit this section. It is required for learn.microsoft.com ➟ GitHub issue linking.

ID: e36387b4-693b-913b-e54e-f36ab7772780
Version Independent ID: b9c51560-66d1-5e83-81e6-013aad3fd631
Content: What is sentiment analysis and opinion mining in the Language service? - Azure AI services
Content Source: articles/ai-services/language-service/sentiment-opinion-mining/overview.md
Service: cognitive-services
Sub-service: language-service
GitHub Login: @aahill
Microsoft Alias: aahi

@chrbsg
Thanks for your feedback! We will investigate and update as appropriate.

@aahill
could you please review this and update as appropriate.

@chrbsg
I've delegated this to @aahill, a content author, to review and share their valuable insights.

Thanks for reaching out. I've asked our SDK team and currently while there is a Go package, it's quite out of date and not currently being prioritized for update. We recommend using one of the other language listed, or utilizing the REST API.
I've forwarded this GitHub issue to the team for future consideration.
#please-close


Add descriptions to settings options

Short Description
Provide some additional detail about what each setting does to the user.
More Details
This will probably involve a slight redesign to the settings page, since there's not really a great place to put a description. I think moving the menu to the left and providing the details (and possibly a slightly longer name) for the selected option.

Yes, and this is a perfect use case for the SideLayoutMenuHandle and InfoAware pattern.


:recycle: :boom: Store mlflow configuration in a context attribute to simplify interactive workflow

Description
Close #310
Development notes

remove get_mlflow_config function and love its code to MlflowHook.after_context_created
access configuration through context.mlflow everywhere in tests and docs

Checklist

[X] Read the contributing guidelines
[ ] Open this PR as a 'Draft Pull Request' if it is work-in-progress
[X] Update the documentation to reflect the code changes
[X] Add a description of this change and add your name to the list of supporting contributions in the CHANGELOG.md file. Please respect Keep a Changelog guidelines.
[X] Add tests to cover your changes

Notice

[X] I acknowledge and agree that, by checking this box and clicking "Submit Pull Request":

I submit this contribution under the Apache 2.0 license and represent that I am entitled to do so on behalf of myself, my employer, or relevant third parties, as applicable.

I certify that (a) this contribution is my original creation and / or (b) to the extent it is not my original creation, I am authorised to submit this contribution on behalf of the original creator(s) or their licensees.

I certify that the use of this contribution as authorised by the Apache 2.0 license does not violate the intellectual property rights of anyone else.

Codecov Report

Merging #322 (1df4b22) into master (fbf7ce8) will not change coverage.
The diff coverage is 100.00%.

@@            Coverage Diff            @@
##            master      #322   +/-   ##
=========================================
  Coverage   100.00%   100.00%
=========================================
  Files           29        28    -1
  Lines          922       906   -16
=========================================
- Hits           922       906   -16

Impacted Files
Coverage Δ

kedro_mlflow/config/kedro_mlflow_config.py
100.00% <ø> (ø)

kedro_mlflow/extras/extensions/ipython.py
100.00% <100.00%> (ø)

kedro_mlflow/framework/cli/cli.py
100.00% <100.00%> (ø)

kedro_mlflow/framework/hooks/mlflow_hook.py
100.00% <100.00%> (ø)

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 fbf7ce8...1df4b22. Read the comment docs.


Migrate first two custom cops from Tenjin (LogWithData and UnlessNotEqual)

Seeing @jcarres-mdsol mentioned the custom cop LogWithData in Tenjin in the Sumo Logic knowledge sharing session motivated me to migrate it the right place! 😎
Changes Summary
User-facing

Migrated two cops from Tenjin: log_with_data and unless_not_equal
Renamed them under mdsol namespace (or "Department" in RuboCop's language)
Updated README and CHANGELOG (quite minimum, may need to add more later)

The skeleton was generated with https://github.com/rubocop/rubocop-extension-generator. I briefly reviewed the changes but there may be odd or unneeded code in there. 🙏
Dev-related

Set up Travis to run rubocop and rspec since now we have ruby files for the custom cops
Set up the .rubocop.yml as the configuration for this repo
Bumped from Ruby 2.4 to 2.5 spec.required_ruby_version = ">= 2.5.0"

TODO

[ ] Fix CI for Ruby 2.5

@jcarres-mdsol @mdsol/architecture-enablement @mdsol/team-10 A quick spike to get it started. ⚽  🚗  💨  Still have rough edges but would like to get some early feedback. 🙂
There are other two custom cops in Tenjin that I haven't imported yet. They inherit from rubocop-rspec base class, which needs extra setup to make it work, so I kicked the can this time.


IGAPP-1008: Upgrade dependencies

This pull request belongs to an issue on our bugtracker.
You can find it there by looking for an issue with the key which is mentioned in the title of this pull request.
It starts with the keyword IGAPP.

@SteffiStuffel @f1sh1918 I think I fixed it, at least it works for me now again. I just added htmlparser2 as web dependency and not it seems to work. I guess I missed it because I upgraded htmlparser2 to v8.0.1, tested it on web where everything worked, tested on native and had to downgrade to v7.2.0 again because it didn't work and didn't test web again.


Error Retrieving device & "DB closed" errors

Describe the bug
Seems the issue from last week is back with the latest Firmware upgrade... 🤷🏻♂
zendure-solarflow.0
2024-03-01 19:31:15.529	error	Retrieving device failed!
But seems to work so far even with this issue.

Got some more errors today...

`zendure-solarflow.0
2024-03-03 18:53:00.593
error
DB closed

zendure-solarflow.0
2024-03-03 18:53:00.592
error
Error: DB closed at Redis.sendCommand (/opt/iobroker/node_modules/ioredis/built/redis/index.js:636:24) at Redis.get (/opt/iobroker/node_modules/ioredis/built/commander.js:122:25) at ObjectsInRedisClient._getObject (/opt/iobroker/node_modules/@iobroker/db-objects-redis/build/lib/objects/objectsInRedisClient.js:2413:37) at Immediate. (/opt/iobroker/node_modules/@iobroker/db-objects-redis/build/lib/objects/objectsInRedisClient.js:2460:33) at process.processImmediate (node:internal/timers:478:21)

zendure-solarflow.0
2024-03-03 18:53:00.589
error
unhandled promise rejection: DB closed

zendure-solarflow.0
2024-03-03 18:53:00.586
error
Unhandled promise rejection. This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch().

zendure-solarflow.0
2024-03-03 18:53:00.580
error
DB closed

zendure-solarflow.0
2024-03-03 18:53:00.579
error
Error: DB closed at Redis.sendCommand (/opt/iobroker/node_modules/ioredis/built/redis/index.js:636:24) at Redis.get (/opt/iobroker/node_modules/ioredis/built/commander.js:122:25) at StateRedisClient.setState (/opt/iobroker/node_modules/@iobroker/db-states-redis/build/lib/states/statesInRedisClient.js:521:40) at ZendureSolarflow._setState (/opt/iobroker/node_modules/@iobroker/js-controller-adapter/build/lib/adapter/adapter.js:5537:76)

zendure-solarflow.0
2024-03-03 18:53:00.578
error
unhandled promise rejection: DB closed

zendure-solarflow.0
2024-03-03 18:53:00.577
error
Unhandled promise rejection. This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch().

zendure-solarflow.0
2024-03-03 18:53:00.574
error
DB closed

zendure-solarflow.0
2024-03-03 18:53:00.573
error
Error: DB closed at Redis.sendCommand (/opt/iobroker/node_modules/ioredis/built/redis/index.js:636:24) at Redis.get (/opt/iobroker/node_modules/ioredis/built/commander.js:122:25) at StateRedisClient.setState (/opt/iobroker/node_modules/@iobroker/db-states-redis/build/lib/states/statesInRedisClient.js:521:40) at ZendureSolarflow._setState (/opt/iobroker/node_modules/@iobroker/js-controller-adapter/build/lib/adapter/adapter.js:5537:76) at runNextTicks (node:internal/process/task_queues:60:5) at process.processImmediate (node:internal/timers:447:9)

zendure-solarflow.0
2024-03-03 18:53:00.566
error
unhandled promise rejection: DB closed

zendure-solarflow.0
2024-03-03 18:53:00.559
error
Unhandled promise rejection. This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch().`

Seems this issue is also existing in 1.1.14...

	Zeit

Nachricht

zendure-solarflow.0
2024-03-05 18:44:00.577	error	DB closed

zendure-solarflow.0
2024-03-05 18:44:00.576	error	Error: DB closed at Redis.sendCommand (/opt/iobroker/node_modules/ioredis/built/redis/index.js:636:24) at Redis.get (/opt/iobroker/node_modules/ioredis/built/commander.js:122:25) at StateRedisClient.setState (/opt/iobroker/node_modules/@iobroker/db-states-redis/build/lib/states/statesInRedisClient.js:521:40) at ZendureSolarflow._setState (/opt/iobroker/node_modules/@iobroker/js-controller-adapter/build/lib/adapter/adapter.js:5537:76)

zendure-solarflow.0
2024-03-05 18:44:00.574	error	unhandled promise rejection: DB closed

zendure-solarflow.0
2024-03-05 18:44:00.571	error	Unhandled promise rejection. This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch().

Releasing a new version this moment. I think I fixed this...

And a new one...

zendure-solarflow.0
2024-03-07 18:55:16.594
error
[onReady] Logon error at Zendure cloud service! Error: [login] Failed to login to Zendure REST API!

zendure-solarflow.0
2024-03-07 18:55:16.590
error
AxiosError: timeout of 10000ms exceeded

@nograx 1.1.18 nearly instantly goes red in adapters here...

zendure-solarflow.0
2024-03-08 10:24:07.496
error
[onReady] Logon error at Zendure cloud service! Error: [login] Failed to login to Zendure REST API!

zendure-solarflow.0
2024-03-08 10:24:07.491
error
AxiosError: Request failed with status code 400

@nograx 1.1.18 nearly instantly goes red in adapters here... A few seconds green, then turns to red with below mentioned error.
zendure-solarflow.0	2024-03-08 10:24:07.496	error	[onReady] Logon error at Zendure cloud service! Error: [login] Failed to login to Zendure REST API!
zendure-solarflow.0	2024-03-08 10:24:07.491	error	AxiosError: Request failed with status code 400

Login Daten komplett neu eingeben hat bei mir geholfen.

Seid aber schnell beim Updaten... eventl mal mit der 1.1.20 versuchen. Oder Daten neu eingeben...

Jap kann ich glaub ich bestätigen, Kennwort neu eingegeben und aktuell kein Error 400 mehr, mit 1.1.20 getestet.

DB Closed ist mit 1.1.20 noch vorhanden seh ich grad.

Error retrieving device seems gone now.


mlflow - dagster integration

Which issue does this PR close?
Closes #.
Rationale for this change
What changes are included in this PR?
Are there any user-facing changes?

Current dependencies on/for this PR:

main

PR #220

PR #221   👈

This comment was auto-generated by Graphite.

Codecov Report

Merging #221 (4a75a28) into main (8ff5748) will decrease coverage by 0.02%.
The diff coverage is 0.00%.

@@            Coverage Diff             @@
##             main     #221      +/-   ##
==========================================
- Coverage   70.90%   70.88%   -0.03%
==========================================
  Files          36       36
  Lines        3441     3438       -3
==========================================
- Hits         2440     2437       -3
  Misses       1001     1001

Impacted Files
Coverage Δ

rust/flight-fusion/src/service.rs
56.95% <0.00%> (ø)

rust/artifact-store/src/lib.rs
65.13% <0.00%> (-0.63%)
:arrow_down:

rust/flight-fusion/src/handlers/delta.rs
84.26% <0.00%> (-0.25%)
:arrow_down:

rust/area-store/src/store/basic.rs
86.76% <0.00%> (-0.20%)
:arrow_down:

rust/fusion-planner/src/query_tree.rs
79.56% <0.00%> (-0.11%)
:arrow_down:

rust/area-store/src/store/writer.rs
80.88% <0.00%> (-0.07%)
:arrow_down:

rust/fusion-planner/src/lib.rs
1.63% <0.00%> (+0.02%)
:arrow_up:

rust/flight-fusion/src/handlers/dataset.rs
95.20% <0.00%> (+0.02%)
:arrow_up:

rust/flight-fusion/src/handlers/query.rs
97.50% <0.00%> (+0.03%)
:arrow_up:

:mega: Codecov can now indicate which changes are the most critical in Pull Requests. Learn more


API call counts and dropdown connection select

This PR adds two features:

UI elements to notify the user about API call limits as well as where they stand with regard to the limits
Refactors connection selection UI into a dropdown instead of selecting one of many static logos

closes #519

Looking hot!
Comments on the new functionality:

[ ] let's change the "N/10,000 API calls" and just say "N API calls per day" (I don't want to have to change Falcon if we change our plan limits)
[ ] could we have the calls/day appear as a tooltip in the list view when hovering on the "runs at"?
[ ] could we sort by API calls/day?

New feedback that could/should have been added to the previous PR, but I'm seeing now:

[ ] could we have the absolute time as a tooltip in the list view and then just always show up in the modal, right after the relative time?
[ ] could the absolute time be in ISO format? for operational uses it needs to be more precise/less ambiguous, so seconds and timezones are needed :)
[ ] could we remove the "manage tags"  linkfrom the main list view, and just leave it in the edit modal? it feels like it clutters up the list view
[ ] could we turn the "clear current search" link into an 'x' or something within the search box? or at least make it smaller and move it right below the search box? I don't love its current placement/prominence

[ ] I have a query that's currently "every 5 min" and it correctly shows 288 calls/day in the preview modal. In the edit modal, however, it assumes that saving it will add another 288 calls to the current total, whereas in fact saving it won't change anything because it's already contributing 288.

[ ] Right now the API usage shows the number of API calls made per connection per day. Ideally it would show the total among all the connections but it should at least make it clear that the number reflects the calls per connection. Maybe add to @nicolaskruchten's suggestion above "N calls per day from this connection"

Agreed on the “for this connection” text
On Thu, Oct 4, 2018 at 10:49 michaelbabyn<EMAIL_ADDRESS>wrote:

Right now the API usage shows the number of API calls made per
connection per day. Ideally it would show the total among all the
connections but it should at least make it clear that the number reflects
the calls per connection. Maybe add to @nicolaskruchten
https://github.com/nicolaskruchten's suggestion above
https://github.com/plotly/falcon/pull/524#issuecomment-426685276 "N
calls per day from this connection"

—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/plotly/falcon/pull/524#issuecomment-427048096, or mute
the thread
https://github.com/notifications/unsubscribe-auth/AAMbA9H3knCSlG6338LZq7SVhj7MCpA4ks5uhh_hgaJpZM4XEib7
.

@nicolaskruchten this should be up to date with the latest feedback

I love it, thanks!
I had a few issues that I can't always replicate but I thought I'd mention:

[ ] the preview modal sometimes gets out of sync and doesn't say "currently running" but rather "scheduled to run a few seconds ago".

[ ] Sometimes the tooltips in the list view on the "runs every 5 min" don't show up (after i've played with the filter settings, adding and clearing them etc it seems to happen)

[ ] I have a query that runs "every 1 hour" but the tooltip says "0 api calls"

[ ] overall I find that the UI is a bit weird for "every minute" queries... it always seems to say "just now" or "in a few seconds" or "a few seconds ago" or "moments ago" and because the query is very quick, it's not clear when it's in progress vs the refresh hasn't occurred yet. Is it possible to up the refresh rate or add like a countdown-till-refresh somewhere?

This looks great, thank you, sorry for the delay in reviewing!
The 0 calls thing is still present on my end:

I'll Slack you the connection file that causes it.


getViolations method is not working with xpath selectors

With current implementation getViolations  method is noly working with the css selectors and not xpath
for xpath it is throwing error "frame.evaluate: DOMException: Failed to execute 'querySelectorAll' on 'Document': '//button[text()='Submit']' is not a valid selector"
Please refer below screenshot for same:

could you please help us to resolve issue

@abhinaba-ghosh you should not be using xpath selectors with playwright. Especially for something as simple as a submit button


Module 1.1 Assignment

Given what you have learned about Git, why would you want to use Git in your classroom?

I want use Git in my classroom to collaborate making more people passionate for software developer and they can obtain a first job in tech


Autoprefixer support?

There is already support?

Hi @CezarLuiz0,
it is currently not planned to add autoprefixr support. We want to stay as "bare bone" as possible with this generator. In fact, it should not be too hard to include it. Just include https://github.com/passy/autoprefixer-loader into your project and adjust the basic webpack configuration (in the cfg folder) for css files like this:
loader: 'css-loader!autoprefixer-loader'

This should add autoprefixr support for all css files. If you use less, sass, ..., then just add the autoprefixer-loader for those settings


changed holt_winters examples and descr. Fixes #1242

Interesting lesson on forecasting.  Fixes #1242

In the diff I noticed that my editor changed some CRLF characters at the ends of lines.  This probably should not be an issue.


TCNN backend does not work

I get the following error, when trying to train with the tcnn backend. I have PyTorch 2.0.1+cu118, Python 3.10, tinycudann 1.7. I've tried all versions of tinycudann down to 1.4:
Traceback (most recent call last):
  File "/scratch/instant-nsr/train_nerf.py", line 116, in <module>
    trainer.train(train_loader, valid_loader, 200)
  File "/scratch/instant-nsr/nerf/utils.py", line 434, in train
    self.train_one_epoch(train_loader)
  File "/scratch/instant-nsr/nerf/utils.py", line 635, in train_one_epoch
    self.scaler.scale(loss).backward()
  File "/usr/local/lib/python3.10/dist-packages/torch/_tensor.py", line 487, in backward
    torch.autograd.backward(
  File "/usr/local/lib/python3.10/dist-packages/torch/autograd/__init__.py", line 200, in backward
    Variable._execution_engine.run_backward(  # Calls into the C++ engine to run the backward pass
  File "/usr/local/lib/python3.10/dist-packages/torch/autograd/function.py", line 274, in apply
    return user_fn(self, *args)
  File "/usr/local/lib/python3.10/dist-packages/tinycudann/modules.py", line 145, in backward
    doutput_grad, params_grad, input_grad = ctx.ctx_fwd.native_tcnn_module.bwd_bwd_input(
RuntimeError: DifferentiableObject::backward_backward_input_impl: not implemented error

Similar problem.


Migrate GCE to use cloud-config.yml a la AWS

Including:

making sure the module load order is the same as AWS
making sure the user generation per-instance scripts run correctly so that SSH access is possible via per-user accounts instead of ubuntu user

Might be looking into this as part of https://github.com/travis-pro/team-blue/issues/454.

Totes done!


separate beziers from the main pkg

I'm currently working on spiffy and we have problem with beziers.
This repo has a ready-to-use implementation of beziers calculations so I'd love to have it without need to import this whole module.

ok, its just 1 function so I'll copy it :D


[incubator/kubeless] Update to version v1.0.3

Signed-off-by: Marlon Gehringer<EMAIL_ADDRESS>
What this PR does / why we need it:
Updated image tags of controller and http-trigger
Kubeless introduced CORS support in version 1.0.3
Which issue this PR fixes
Special notes for your reviewer:
Release notes:
https://github.com/kubeless/kubeless/releases/tag/v1.0.3
https://github.com/kubeless/kubeless/releases/tag/v1.0.2
Checklist
[Place an '[x]' (no spaces) in all applicable fields. Please remove unrelated fields.]

[x] DCO signed
[x] Chart Version bumped
[x] Variables are documented in the README.md

@marlongehringer There is one check failing because you did not sign the commit. Can you fixed as it is explained at https://github.com/helm/charts/pull/12488/checks?check_run_id=84132272

@tompizmor I used the wrong email, it's fixed now.

/ok-to-test
/lgtm


Cannot use gui

if add --gui, then
Glfw Error 65544: X11: The DISPLAY environment variable is missing Glfw Error 65537: The GLFW library is not initialized Glfw Error 65537: The GLFW library is not initialized Glfw Error 65537: The GLFW library is not initialized Glfw Error 65537: The GLFW library is not initialized python: /home/runner/work/DearPyGui/DearPyGui/thirdparty/glfw/src/window.c:533: glfwSetWindowPos: Assertion window != NULL' failed.
Aborted (core dumped)
`
How to solve this problem? Thank you!

@zhaomingheyuhan This problem seems to be related to dearpygui, maybe you could run their examples first.

Thank you! I solved this problem, which seems to only happen on the terminal of pycharm. No error will be reported when I run with cmd.


[Idea] Version dropdown

YARDoc server will expose various versions of known gems on a system with yard server --gems, but requires a breadcrumb or manually editing the URL to switch versions. Would it be of interest to introduce a version switcher dropdown that could take care of this on page?

@baweaver yes! That would actually be a really nice addition.


[BEAM-1504] Remove the nose-parameterized dependency

R: @sb2nov

LGTM thanks

Coverage decreased (-0.01%) to 69.308% when pulling 5c21d08d5343c9d0dac0bc672351bd2e82e22c50 on aaltay:dep into d44f5b84fbd7eefbbb96c115517d8050b593ced0 on apache:master.


No space left on disk corrupt/erase files

VSCode Version: 1.41
OS Version: Windows 10 1903

When I saved my files with no space left, Visual Studio crashed and erased the file in the source directory, now I have a 0 byte file 😥
Logs => renderer.log
Steps to Reproduce:

Start VScode
Edit files
Fill your HDD
Save your files

Does this issue occur when all extensions are disabled?: Yes

Maybe VSCode could check the space on disk before saving a file?
Maybe it could also rename the file to MyFile.backup, create a new MyFile, erare the MyFile.backup

/duplicate https://github.com/microsoft/vscode/issues/34915


question : swrv and keep-alive

setup () {
   // ...
    const url = ref(`/teacher/classes?class_id=${query.class_id}`)
    const options = reactive({
      cache: new LocalStorageCache(),
      shouldRetryOnError: false
    })
    const { data, isValidating } = useSWRV(url.value, fetcher, options)
}

When navigating from page to page (back and forth)  it seems that the cache is not retrieving its correct key, despite having a unique one. Have data from previous page before revalidation, then once revalidation done, its ok.
Does the searchParams are omitted when getting cached data ? I use keep-alive at page level, maybe it's related ?

Yea keep alive means you're not getting any of the reactivity of the component re-rendering. Is query reactive? You should pass the ref directly into the key or wrap it in a function since swrv keys are just watchers. e.g. () => /url?${query.value} as the swrv key. Excuse the brevity I'm typing this from my phone.


memory/file option callbacks should be optional

Commit fe64fc0677fdabba124cbc5af319a366e27e7f3f  changed
    alloc: ?fn (?*anyopaque, usize) callconv(.C) ?*anyopaque,
    free: ?fn (?*anyopaque, ?*anyopaque) callconv(.C) void,
    read: ?fn ([*c]const MemoryOption, [*c]const FileOption, [*c]const u8, [*c]usize, [*c]?*anyopaque) callconv(.C) Result,
    release: ?fn ([*c]const MemoryOption, [*c]const FileOption, ?*anyopaque) callconv(.C) void,

to
    alloc: fn (*anyopaque, usize) callconv(.C) ?*anyopaque,
    free: fn (*anyopaque, *anyopaque) callconv(.C) void,
    read: fn (*const MemoryOption, *const FileOption, [*:0]const u8, [*c]usize, [*c]?*anyopaque) callconv(.C) Result,
    release: fn (*const MemoryOption, *const FileOption, ?*anyopaque) callconv(.C) void,

However, I think these should remain optional. It is valid to pass null into these fields (and is done in the example of cgltf's readme), otherwise there is no option to use cgltf's default behavior. I don't see why this option should be removed, unless there  are makeDefaultMemoryOption(alloc : std.mem.Allocator) and makeDefaultFileOption() that the bindings can provide.

Hi, thank for the suggestion. It just a results from 30 min of works. So it's may only correct on some of the function i use. The rest is base on feeling. A pr would be welcome

There are some other missing optionals like
    skin: ?*Skin,
    mesh: ?*Mesh,
    camera: ?*Camera,
    light: ?*Light,

in Node (a node doesn't need to have any of these properties), i'll look for other missing optionals & see if I can do a PR

Thank you, really appreciated. Use seem have more knowledge than me with cgltf. I can give you write access to this repo. And we can maintain the repo together.

@AODQ  Hi I just updated the repo https://github.com/maxxnino/cgltf-zig/commit/652a23708811b0e501db5ec51cdabcb4a14d6c4a. I'm using gltf 2.0 spec as reference. But there are some items cgltf have but gltf 2.0 spec is missing

Nice, this looks good. Yes some stuff like Light, some materials, draco compression, etc won't be available on the glTF spec because they are extensions https://github.com/KhronosGroup/glTF/tree/main/extensions

Thank you, will take a look when I need it


Super key menu

The Menu that is opened by the super key does not give recommendations for what you typed in the text box. Opening applications with it works.

It is not supposed to do that


Add Numpy video question.

Checklist:

[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] All the files I changed are in the same world language, for example: only English changes, or only Chinese changes, etc.

Closes #XXXXX

Hi Beau, can you create a fresh PR from your fork. This one got solied while I was preping the next branch.
Also you should use a fork if you can.
Here is the commit that you need: https://github.com/freeCodeCamp/freeCodeCamp/pull/38619/commits/a7679b90611682e30404c206b6554540207077d2

Hi @beaucarnes
I have added some docs on how to resolve this here


fix(behavior_velocity_planner): clean up expired intersection/merge_from_private/traffic_light

Description
I fixed the way to get expired module in intersection/merge_from_private/traffic_light modules to consider each scene_modules's id respectively.
Related links
Prior Lane change feature in intersection: https://github.com/autowarefoundation/autoware.universe/pull/2720
Tests performed
Intersection
Before this PR the marker of intersection module remained even after ego passed through it. After this PR this does not remain. In the below image orange polygon marker is coming from outdated intersection module which does not appear with this PR.

Traffic light
Before
The nearest traffic light module with uuid [32, 238, 103, ...] still remains when ego passed the lane.

After
The nearest traffic light module with uuid [114, 113, 40, ...] disappears ego passed the lane.

Pre-review checklist for the PR author
The PR author must check the checkboxes below when creating the PR.

[X] I've confirmed the contribution guidelines.
[X] The PR follows the pull request guidelines.

In-review checklist for the PR reviewers
The PR reviewers must check the checkboxes below before approval.

[X] The PR follows the pull request guidelines.
[X] The PR has been properly tested.
[X] The PR has been reviewed by the code owners.

Post-review checklist for the PR author
The PR author must check the checkboxes below before merging.

[X] There are no open discussions or they are tracked via tickets.
[X] The PR is ready for merge.

After all checkboxes are checked, anyone who has write access can merge the PR.

@tkimura4 @rej55 I checked that the corresponding intersection/traffic light module remains/disappears before/after this PR.


Add mappings for media keys

Fixes #1725, at least for this repository. The three media keys available on my keyboard now work (using Xvnc session type).
Related: neutrinolabs/xorgxrdp#303
TODO:

[x] Initial implementation
[x] Add more media keys
[x] Add last two media keys
[x] Refactor genkeymap to generate correct keysyms for media keys
[x] Regenerate keymaps stored in repository
[x] Fix overflow
[x] Remove dependency on linux header
[x] Fix remaining media keys
[x] Remove debug code
[x] Squash commits

List of rdp codes
List of xorg keycodes xmodmap -pk
List of keysyms

rdp code
keycode
keysym
tested/works

16
173
XF86AudioPrev
+

25
171
XF86AudioNext
+

32
121
XF86AudioMute
+

34
172
XF86AudioPlay
+

36
174
XF86AudioStop
+

46
122
XF86AudioLowerVolume
+

48
123
XF86AudioRaiseVolume
+

50
180
XF86HomePage
+

101
225
XF86Search
+

102
164
XF86Favorites
+

103
181
XF86Reload
+

104
136
Cancel
+

105
167
XF86Forward
+

106
166
XF86Back
+

108
163
XF86Mail
+

109
234
XF86AudioMedia
+

110
156
XF86Launch1
+

111
157
XF86Launch2
+

Hi @sasha0552
Thanks for this, particularly the references.
I'm going to run out of time to review this before I have to spend some family time next week I'm afraid. This isn't an area I'm that familiar with so it may take me a while. @jsorg71 - do you have some time to look at this?
One immediate question I have is your scancodes, particularly that for XF86Favorites. My understanding of the protocol is that this value is out of range. From https://x.org/releases/X11R7.7/doc/xproto/x11protocol.html:-

Min-keycode and max-keycode specify the smallest and largest keycode values transmitted by the server. Min-keycode is never less than 8, and max-keycode is never greater than 255. Not all keycodes in this range are required to have corresponding keys.

The same document only allows a CARD8 for the keycode in the on-wire protocol, even though the XKeyEvent allows an unsigned int.
Where are you getting these values from?

Hi @matt335672.
I got the Xorg scancodes from the /usr/share/X11/xkb/keycodes/evdev file. There are scancodes up to 708.
$ cat /usr/share/X11/xkb/keycodes/evdev
// translation from evdev scancodes to something resembling xfree86 keycodes.

default xkb_keycodes "evdev" {
...
        <I707> = 707;           // #define KEY_KBD_LCD_MENU4       699
        <I708> = 708;           // #define KEY_KBD_LCD_MENU5       700
        // End of autogenerated key codes
...
};

I believe Xorg can handle scancodes up to unsigned int. However, there just aren't that many scancodes, so I decided to use uint16 instead of uint8 in the code, and allow up to 1024 definitions in the keymap file.

However, it does not send full keycodes to X11 clients.
xev (on remote machine via xrdp + freerdp, on local machine xev gives the same keycode):
KeyRelease event, serial 44, synthetic NO, window 0x3000001,
    root 0x309, subw 0x0, time 951717947, (-437,-296), root:(270,13),
    state 0x10, keycode 164 (keysym 0x1008ff30, XF86Favorites), same_screen YES,
    XLookupString gives 0 bytes:
    XFilterEvent returns: False

xmodmap says:
$ xmodmap -pk
There are 7 KeySyms per KeyCode; KeyCodes range from 8 to 255.

    KeyCode     Keysym (Keysym) ...
    Value       Value   (Name)  ...

      8
      9         0xff1b (Escape) 0x0000 (NoSymbol)       0xff1b (Escape)
...

@sasha0552
Again, I've not spent any significant time on this yet, but regarding the key code limit of 255, this is very much not a solved problem. Here are a couple of links:-

https://bugs.freedesktop.org/show_bug.cgi?id=11227
https://gitlab.freedesktop.org/xorg/xserver/-/issues/260

Also, if you have a closer look at /usr/share/X11/xkb/keycodes/evdev you'll find these interesting lines:-
maximum = 255;

and:-
        <I253> = 253;           // #define KEY_DISPLAY_OFF         245
        <I254> = 254;           // #define KEY_WWAN                246
        <I255> = 255;           // #define KEY_RFKILL              247

        // Key codes below cannot be used in X

        <I256> = 256;           // #define KEY_MICMUTE             248
        <I360> = 360;           // #define KEY_OK                  352
        <I361> = 361;           // #define KEY_SELECT              353

I think I've got a lot of mugging up to do on the existing code before I can give your PR the attention it deserves. I'll try to write it up on the wiki.

@matt335672
I can just delete XF86Favorites if necessary.
Although I think xrdp is passing scancodes, not keycodes.
KeyRelease event, serial 44, synthetic NO, window 0x3000001,
    root 0x309, subw 0x0, time 951717947, (-437,-296), root:(270,13),
    state 0x10, keycode 164 (keysym 0x1008ff30, XF86Favorites), same_screen YES,
    XLookupString gives 0 bytes:
    XFilterEvent returns: False

The keycode in xev is the same on the local session and on the xrdp session. Meanwhile, there is no such keycode in the xrdp code. Only 372, which is not only keycode, but also is scancode.
<keycode name> = scancode;
        <I372> = 372;           // #define KEY_FAVORITES           364
In addition, this key is fully functional with the current code as listed in the table (I tested each key with + manually using either a key on the keyboard, or programmatically using xdotool key keysym.).

I mean, xrdp doesn't even transmit scancodes.
The way it looks to me is that:

Converts the rdp code to some internal value (not necessary a real scancode or keycode)
Converts the internal value to keysym directly using keymap file

I ever worked on around keyboard. I can look in to this but it takes time to remember.

I've had a bit of time today to do some reading up on the code, and I've got a better idea of what's going on within xrdp.

Within xrdp, the xrdp scancodes are mapped to a set of X11 keycodes using this hard-coded table:-
https://github.com/neutrinolabs/xrdp/blob/e73f26c7c1ce817c57c0999cf724c34c318967c3/xrdp/lang.c#L38
The X11 keycodes are mapped to X11 keysyms (and characters) in the keymaps.
The keymaps are only used by the login screen and the VNC backend. xorgxrdp does its own mapping.

I'm hoping to be able to get a proper review of this done next week.

Right, I think I'm up to speed on what's going on in this area. Here's a summary of the current architecture:-
https://github.com/neutrinolabs/xrdp/wiki/Keyboard-mappings
First of all; @sasha0552 - thanks for your patience and for the changes you've made to your initial proposal. Things look a lot better now. I'm going to make a couple of other suggestions based on the above link. Please consider these and get back to me with any comments.
This patch removes unmapped keys from the keymap files, which makes the diffs easier to follow:-
diff --git a/genkeymap/genkeymap.c b/genkeymap/genkeymap.c
index bc5ddba7..51c05b11 100644
--- a/genkeymap/genkeymap.c
+++ b/genkeymap/genkeymap.c
@@ -148,6 +148,10 @@ int main(int argc, char **argv)
                 e.keycode = i;
             }
             nbytes = XLookupString(&e, text, 255, &ks, NULL);
+            if (ks == NoSymbol)
+            {
+                continue;
+            }
             text[nbytes] = 0;
             char_count = mbstowcs(wtext, text, 255);
             unicode = 0;
diff --git a/xrdp/lang.c b/xrdp/lang.c
index a998805d..edb03b68 100644
--- a/xrdp/lang.c
+++ b/xrdp/lang.c
@@ -189,6 +189,7 @@ km_read_section(int fd, const char *section_name, struct xrdp_key_info *keymap)
     values = list_create();
     values->auto_free = 1;

+    g_memset(keymap, '\0', sizeof(*keymap));
     if (file_read_section(fd, section_name, names, values) == 0)
     {
         for (index = names->count - 1; index >= 0; index--)

This one explicitly uses evdev rules for generating the keymaps, regardless of the X server being used:-
--- a/genkeymap/dump-keymaps.sh
+++ b/genkeymap/dump-keymaps.sh
@@ -6,6 +6,11 @@ then
   exit 1
 fi

+OLD_SETTINGS=$(setxkbmap -query -verbose 4 | sed "s/^\([a-z]\+\):\s*\(.*\)$/-\1 \2/;s/^-options/-option \"\" -option/;s/,/ -option /g" | xargs -d \\n)
+
+# Use evdev rules for these mappings
+setxkbmap -rules evdev
+
 # English - US 'en-us' 0x00000409
 setxkbmap -model pc104 -layout us
 ./xrdp-genkeymap ../instfiles/km-00000409.ini
@@ -15,7 +20,6 @@ setxkbmap -model pc104 -layout dvorak
 ./xrdp-genkeymap ../instfiles/km-00010409.ini

 # English - US 'dvp' 0x19360409
-OLD_SETTINGS=$(setxkbmap -query -verbose 4 | sed "s/^\([a-z]\+\):\s*\(.*\)$/-\1 \2/;s/^-options/-option \"\" -option/;s/,/ -option /g" | xargs -d \\n)
 setxkbmap -rules xfree86 -model pc105 -layout us -variant dvp -option "" -option compose:102 -option caps:shift -option numpad:sg -option numpad:shift3 -option keypad:hex -option keypad:atm -option kpdl:semi -option lv3:ralt_alt
 ./xrdp-genkeymap ../instfiles/km-19360409.ini
 setxkbmap ${OLD_SETTINGS}
@@ -52,5 +56,5 @@ setxkbmap -model pc104 -layout se
 setxkbmap -model pc104 -layout pt
 ./xrdp-genkeymap ../instfiles/km-00000816.ini

-# set back to en-us
-setxkbmap -model pc104 -layout us
+# set back to entry settings
+setxkbmap ${OLD_SETTINGS}

@matt335672 Thanks for the patches, they look good to me. I have applied them.
Can you also take a look at neutrinolabs/xorgxrdp#303?

@sasha0552 - If I check out your PR, and run dump-keymaps.sh in my environment I get different keymap files. I'm just running on the console of an Ubuntu 22.04 machine.
How are you running the script on your end?
We need to understand why there's a difference, or it's difficult to have any confidence in the script itself.
I get the following from setxkbmap -layout us -model pc104 ; setxkbmap -v 10:-
Setting verbose level to 10
locale is C
Trying to load rules file ./rules/evdev...
Trying to load rules file /usr/share/X11/xkb/rules/evdev...
Success.
Applied rules from evdev:
rules:      evdev
model:      pc104
layout:     us
Trying to build keymap using the following components:
keycodes:   evdev+aliases(qwerty)
types:      complete
compat:     complete
symbols:    pc+us+inet(evdev)
geometry:   pc(pc104)

As far as neutrinolabs/xorgxrdp#303 goes, I think if we can get evdev keycode support working reliably here, we can probably do a lot of the mapping work in xrdp itself. Let's come back to that when we've bottomed this one out.

That's useful - thanks.
I'll update the script to incorporate that. Patch on the way...

I think we are using the base rules not evdev.  I've seen these defined in evdev but not all in base.  We can just add them in Xorg that is not a problem.  The problem I've seen is mstsc does not send them.  @sasha0552 when you say 'tested/works', what client is that.

@jsorg71 I'm using FreeRDP (xfreerdp).

@jsorg71 - I'm thinking that moving to evdev-based keycodes would be a good idea in any case. They're the default on Linux and FreeBSD, and it should make a lot of use-cases simpler to support. What are your thoughts on that? You've got a lot more experience in this area than I have.

We can implement this even if it's not standard but it would be nice to confirm these freerdp rdp scancodes are correct either with a MS client for some MSDN documentation.

@sasha0552 - here's a patch which should make things a bit more consistent:-
--- a/genkeymap/dump-keymaps.sh
+++ b/genkeymap/dump-keymaps.sh
@@ -1,9 +1,22 @@
 #!/bin/sh

-if ! command -v setxkbmap >/dev/null
-then
-  echo "error, setxkbmap not found"
-  exit 1
+# Run the keymap extraction in a clean X session
+if [ "$1" != _IN_XVFB_SESSION_ ]; then
+    # All commands available?
+    ok=1
+    for cmd in setxkbmap xvfb-run xauth; do
+        if ! command -v $cmd >/dev/null
+        then
+          echo "Error. $cmd not found" >&2
+          ok=
+        fi
+    done
+    if [ -z "$ok" ]; then
+        exit 1
+    fi
+
+    xvfb-run --auto-servernum $0 _IN_XVFB_SESSION_
+    exit $?
 fi

 OLD_SETTINGS=$(setxkbmap -query -verbose 4 | sed "s/^\([a-z]\+\):\s*\(.*\)$/-\1 \2/;s/^-options/-option \"\" -option/;s/,/ -option /g" | xargs -d \\n)

Do you get the same keymaps for it?
@jsorg71 - I can look at mstsc.exe tomorrow, UK time. I've got a Windows laptop and a USB keyboard with Audio Up/Down/Mute keys on it. That should give us a clue whether we're looking in the right area or not.

@matt335672
Thanks for the patch. Yes, the keymaps are the same. Nice that now we can just do ./dump-keymaps.sh without launching xvfb or using xvfb-run separately.

I've done a bit of testing this morning with a UK laptop manufactured by Acer. It's running Windows 10 and mstsc.exe
First I applied this patch so I could see what was coming over from the RDP client:-
--- a/xrdp/xrdp_wm.c
+++ b/xrdp/xrdp_wm.c
@@ -1573,7 +1573,9 @@ xrdp_wm_key(struct xrdp_wm *self, int device_flags, int scan_code)
     int msg;
     struct xrdp_key_info *ki;

-    /*g_printf("count %d\n", self->key_down_list->count);*/
+    LOG_DEVEL(LOG_LEVEL_DEBUG,
+              "xrdp_wm_key: RDP scancode:0x%04x, flags: 0x%04x",
+              scan_code, device_flags);
     scan_code = scan_code % 128;

     if (self->popup_wnd != 0)

mstsc.exe was configured as follows:-

full-screen.
('Local resources' tab), Windows key combinations applied 'Only when using the full screen'.

The laptop keyboard is compact, but has media keys accessed via a key marked '[Fn]':-

The useful keys appear to be raise volume, lower volume, play, stop, previous, next.
The '[Fn]' key is invisible to the RDP protocol and is probably handled by the hardware, or by the keyboard driver.
I got the following results from this keyboard:-

Key
RDP scancode
Key down flags
Key up flags

Raise Volume
0x30
0x4100
0x8100

Lower Volume
0x2e
0x4100
0x8100

Play
0x22
0x4100
0x8100

Stop
0x24
0x4100
0x8100

Previous
0x10
0x4100
0x8100

Next
0x19
0x4100
0x8100

Next I plugged in a USB keyboard. This is a cheap Dell keyboard. At a previous job we used to get crates of these when we took delivery of a bunch of Optiplex machines. We didn't need them. This keyboard also has media keys. Some of these are accessed via an Fn key and some aren't. Again the Fn key is not visible at an RDP protocol level:-

Useful keys on this keyboard are search, previous, play, next, mute, lower volume, raise volume.
I got the following results from this keyboard:-

Key
RDP scancode
Key down flags
Key up flags

Search
0x65
0x4100
0x8100

Previous
0x10
0x4100
0x8100

Play
0x22
0x4100
0x8100

Next
0x19
0x4100
0x8100

Mute
0x20
0x4100
0x8100

Lower Volume
0x2e
0x4100
0x8100

Raise Volume
0x30
0x4100
0x8100

Both of these are consistent. Also, putting them together, I can match them up with @sasha0552's table above:-

Key
RDP scancode (hex)
RDP scancode (decimal)
evdev KeySym

Previous
0x10
16
XF86AudioPrev

Next
0x19
25
XF86AudioNext

Mute
0x20
32
XF86AudioMute

Play
0x22
34
XF86AudioPlay

Stop
0x24
36
XF86AudioStop

Lower Volume
0x2e
46
XF86AudioLowerVolume

Raise Volume
0x30
48
XF86AudioRaiseVolume

Search
0x65
101
XF86Search

In conclusion there appears to be some sort of standard at work here.

There's a table of scancodes with references at
https://deskthority.net/wiki/Scancode#Media_keys
AIUI the Fn key is special and not sent to the OS by itself, only in combination with other "functional" keys.

I get minor differences on Ubuntu 22.04 when I run the dump script, but nothing significant.
FreeBSD 14 doesn't have xvfb-run (it's GNU-specific) but if I copy it over and hack it about, I get the same results as 22.04. So I think the dump script is now stable.
As regards evdev vs base keymaps, there are three places which need to be aware of the RDP scancode to keycode map currently:-

The key processing in lang.c
The genkeymap utility
xorgxrdp

That's two too many. I think we should have one place where the scancode to keycode map is stored. This can be hard-coded, or externally located in a file. Both are good. Having one location addresses the issue of which mapping to use as we can easily change it.
That said, I'd be happy to merge this as-is and then work on unifying the maps.
Thoughts?

I see now why I've never seen these keys work with mstsc.  You need to be full screen or you need to set 'Keyboard | Apply Windows key combinations' to 'On the remote computer'.  Strange that these keys are considered like Alt Tab.

That's possibly it.
I had a slight 'duh' moment yesterday with the laptop keyboard when it took me a couple of minutes to realise why the brightness keys weren't being passed through to xrdp! In my defence, it was before my normal morning coffee.
My current thoughts on where we go from this are:-

Merge this shortly. I've got at least one comment to add for review.
I'll produce a mapping module in 'common' which maps RDP scancodes to keycodes - initially just evdev.
Use 2) in the genkeymap utility to change the mapping files to map RDP scancodes direct to KeySym / Unicode values. This means at runtime for login and VNC we've taken keycodes completely away.
Work with @sasha0552 and use 2) in xup to pass both RDP scancodes and keycodes to xorgxrdp

If we then need to use base mappings on platforms without evdev we just need to update 2)
Thoughts/objections anyone? I know this is a complicated area However, if we're going to get these maps sorted out I need to really be on top of it as we'll potentially have a few user issues to triage when it goes live.

I was going to add a review comment about some of the keyboards not being auto-generated, but having looked into this there seems to be a significant issue here which I don't think we can address in this PR.
The following keyboards in the instfiles directory are not currently autogenerated:-

Code (see [MS-LCID]
Language
Attempted command

0x00000406
Danish 'da-DK'
setxkbmap -model pc105 -layout dk

0x0000040a
Spanish 'es-ES_tradnl'
setxkbmap -model pc105 -layout es

0x0000040b
Finnish 'fi-FI'
setxkbmap -model pc105 -layout fi

0x0000040c
French 'fr-FR'
setxkbmap -model pc105 -layout fr

0x00000412
Korean 'ko-KR'
setxkbmap -model pc105 -layout kr

0x00000414
Norwegian 'nb-NO'
setxkbmap -model pc105 -layout no

0x00000416
Brazilian 'pt-BR'
setxkbmap -model pc105 -layout br

0x00000807
German - Swiss 'de-CH'
setxkbmap -model pc105 -layout ch

0x0000080a
Spanish - Mexico 'es-MX'
setxkbmap -model pc105 -layout latam

0x0000080c
French - Belgian 'fr-BE'
setxkbmap -model pc105 -layout be -variant oss

0x00000813
Dutch - Belgian 'nl-BE'
setxkbmap -model pc105 -layout be

0x0000100c
French - Swiss 'fr-CH'
setxkbmap -model pc105 -layout ch -variant fr

Having tried to add these, I'm getting significant differences around some of the keys, in particular AE11, AE12, AD11 and AD12.
It's possible these files were generated on a different X server, or the users weren't bothered about these keys as they were only using the keymaps to log in - I can't tell which. However, at the moment it seems these keymap files are unmaintainable.
I'll sweep these up when I regenerate the files to map directly from RDP scancodes.

@sasha0552 - sorry it's taking a while to merge this, but I'm still exploring this area in general.
I've done a bit more testing with the generated keymaps, and I've found another potential snag for the future which is related to a change in the delivered XKB config.
When I re-run the dump-keymaps.sh script on a 22.04 LTS system (rather than 20.04), I get different settings for keys 79-91. I did some digging around and found this which was been applied to the XKB config in 22.04.
https://gitlab.freedesktop.org/xkeyboard-config/xkeyboard-config/-/merge_requests/229/diffs
Before that patch, Shift and NumLock had the same effect on the keypad. After the patch, Shift no longer produces the same results.
Why does this matter? There's some code in lang.c to cope with num lock being pressed:-
https://github.com/neutrinolabs/xrdp/blob/0a0a39380ee30804d4c872b582cd289895ed8382/xrdp/lang.c#L87-L98
In the fragment above, index contains a X11 keycode (from base) which maps as follows:-

X11 keycode
RDP Scancode
KeySym

79
0x47
KP7

80
0x48
KP8

81
0x49
KP9

82
0x4A
KPSU

83
0x4B
KP4

84
0x4C
KP5

85
0x4D
KP6

86
0x4E
KDAD

87
0x4F
KP1

88
0x50
KP2

89
0x51
KP3

90
0x52
KP0

91
0x53
KPDL

If I take (for example) the '[noshift]' and '[shift]' sections from km-00000809.ini I get this:-
[noshift]
...
Key79=65429:0
Key80=65431:0
Key81=65434:0
Key82=65453:45
Key83=65430:0
Key84=65437:0
Key85=65432:0
Key86=65451:43
Key87=65436:0
Key88=65433:0
Key89=65435:0
Key90=65438:0
Key91=65439:0

...
[shift]
...
Key79=65463:55
Key80=65464:56
Key81=65465:57
Key82=65453:45
Key83=65460:52
Key84=65461:53
Key85=65462:54
Key86=65451:43
Key87=65457:49
Key88=65458:50
Key89=65459:51
Key90=65456:48
Key91=65454:46

You can see that these are different, and the code above generates different results when NumLock is pressed.
On an Ubuntu 22.04 system, if I run ./dump_keymaps.sh, I get the same codes for the keypad keys in both sections, and as a result the NumLock keys stop working.
It seems likely that moving forward we will need to generate a separate NumLock section in the keymaps.

@tim-gromeyer - I'm working through a bit of a backlog at the moment but this is on the list.
Be aware that this PR and #3039 will get media keys working for VNC-based sessions. For xorgxrdp-based sessions there's a bit more work to do. #3039 centralises the RDP scancode -> X11 keycode mappings in xrdp itself, and makes these available to xorgxrdp. We also need to modify xorgxrdp to make use of these.

Thanks @sasha0552, and sorry about the delay.
I've rebased #3039, and after running it through CI checks will merge that too. That should let us get on with finishing off neutrinolabs/xorgxrdp#303 as well.


move exec tracker file to its own branch

create exec tracker and commit only on that branch

problems with conflicts when rebasing to the main branch


Drop the "objectid" column from the geometry_data table

For the same reason we dropped the "type" column with #206, we should drop the "objectid" column from geometry_data. All information is available from the "geometry_properties" JSON. Dropping the column helps to avoid redundancy and - even worse - inconsistency.

done with 8b5c1299


Update connection-monitor-create-using-portal.md

The following should be clearly stated in the doc for clarity:
"For cross-region usage of Connection Monitor, you need to deploy it on both regions."
PS: this and all my PRs follow Microsoft Certification Exam – Candidate Agreement and other relevant NDAs.

@halkazwini
Can you review the proposed changes?
Important: When the changes are ready for publication, adding a #sign-off comment is the best way to signal that the PR is ready for the review team to merge.
#label:"aq-pr-triaged"
@MicrosoftDocs/public-repo-pr-review-team

@halkazwini
Can you review this old PR and determine whether it needs to be closed or merged?

I sent an email to the content owner today.

Hi @azarboon,
Thank you for your contribution!
The note you're suggesting is not necessary.
#please-close


HTTP 405 status code

Hello,
The api supports two versions. Version 2 is the latest version and Version 1 is the deprecated version. One of the end point which is POST method only supports api version 1. When I try to call the end point with api version other than 1 it returns HTTP 405 status code. But, according to my understanding it should return 400. As the documentation said
" If no implemented API versions match the HTTP request method, then status code 405 (Method Not Allowed) is returned; otherwise, status code 400 (Bad Request) is returned. "
Since there is already an implemented HTTP request POST method implemented but which is different version though, it should return 400.
Is this unexpected behavior or am i missing something?

It appears this sufficiently answered you question. If not or you're still having trouble feel free to re-open or open a new issue. Thanks.


feat: theme generator support radius configuration

🤔 这个 PR 的性质是？

[ ] 日常 bug 修复
[x] 新特性提交
[ ] 文档改进
[ ] 演示代码改进
[ ] 组件样式/交互改进
[ ] CI/CD 改进
[ ] 重构
[ ] 代码风格优化
[ ] 测试用例
[ ] 分支合并
[ ] 其他

🔗 相关 Issue

💡 需求背景和解决方案

related pull requests:

https://github.com/Tencent/tdesign-common/pull/648
https://github.com/Tencent/tdesign-common/pull/666

📝 更新日志

feat: 主题配置新增圆角面板 支持圆角配置 @mingrutough1 @uyarn

[ ] 本条 PR 不需要纳入 Changelog

☑ 请求合并前的自查清单
⚠ 请自检并全部勾选全部选项。⚠

[x] 文档已补充或无须补充
[x] 代码演示已提供或无须提供
[x] TypeScript 定义已补充或无须补充
[x] Changelog 已提供或无须提供

Codecov Report

Merging #1432 (4cce7fc) into develop (8a9ef3a) will increase coverage by 1.84%.
The diff coverage is 48.44%.

@@             Coverage Diff             @@
##           develop    #1432      +/-   ##
===========================================
+ Coverage    61.00%   62.84%   +1.84%
===========================================
  Files         1030     1031       +1
  Lines        17933    17916      -17
  Branches      4121     4095      -26
===========================================
+ Hits         10940    11260     +320
+ Misses        6993     6656     -337

Impacted Files
Coverage Δ

src/alert/_example/operation.jsx
60.00% <0.00%> (-40.00%)
:arrow_down:

src/collapse/_usage/index.jsx
0.00% <0.00%> (ø)

src/config-provider/_example/global.jsx
100.00% <ø> (ø)

src/date-picker/DatePicker.tsx
14.66% <ø> (ø)

src/date-picker/DatePickerPanel.tsx
12.90% <ø> (ø)

src/date-picker/DateRangePicker.tsx
10.00% <ø> (ø)

src/date-picker/DateRangePickerPanel.tsx
10.29% <0.00%> (-0.08%)
:arrow_down:

src/date-picker/_example/panel.jsx
33.33% <0.00%> (-16.67%)
:arrow_down:

src/date-picker/base/Header.tsx
42.66% <0.00%> (-1.17%)
:arrow_down:

src/date-picker/base/Table.tsx
60.52% <ø> (ø)

... and 62 more

Help us with your feedback. Take ten seconds to tell us how you rate us. Have a feature suggestion? Share it here.


Graphics.prototype.clear doesnt correcly update boundsDirty

try this example
graphics.html.zip

actually fix doesnt seems to work
i'm going to open a new issue


google-cloud-sdk: 323.0.0 -> 325.0.0

Motivation for this change
Things done

[ ] Tested using sandboxing (nix.useSandbox on NixOS, or option sandbox in nix.conf on non-NixOS linux)
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)
[x] Tested compilation of all pkgs that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review wip"
[x] Tested execution of all binary files (usually in ./result/bin/)
[ ] Determined the impact on package closure size (by running nix path-info -S before and after)
[x] Ensured that relevant documentation is up to date
[x] Fits CONTRIBUTING.md.

This is a semi-automatic executed nixpkgs-review with nixpkgs-review-checks extension. It is checked by a human on a best effort basis and does not build all packages (e.g. lumo, tensorflow or pytorch).
If you have any questions or problems please reach out to SuperSandro2000 on IRC.
Result of nixpkgs-review pr 111626 run on x86_64-darwin 1

1 package built:

google-cloud-sdk (google-cloud-sdk-gce)


Support for RV32EC (embedded) configuration?

I love the minimal no-nonsense approach of this project (which I found when looking for a Risc-V assembler FORTH and finding Derzforth) and it seems a great fit for embedded development on small Risc-V microcontrollers. There are now some interesting, and very low cost, Risc-V chips and development boards available which use the RV32EC configuration (rather than the fuller RV32IMAC) such as the CH32V003 "ten cent" chip which has caught a lot of media attention. I would love to be able to use bronzebeard to develop software for these as well as the more expensive Longan and SiFive boards which you support.
Would you consider adding RV32EC support in bronzebeard?

I did a blinky on CH32V003 chip with bronzebeard and was successful

DID a sample usart TX with bronzebeard for CH32V003 and was successful. crude code in my repository


Publish all components, not just plugins.

Signed-off-by: dblock<EMAIL_ADDRESS>Description
Include components such as common-utils into the distribution manifest, without a path since there are no bundled binaries.
Issues Resolved
Closes https://github.com/opensearch-project/opensearch-build/issues/1703
Check List

[x] Commits are signed per the DCO using --signoff

By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.
For more information on following Developer Certificate of Origin and signing off your commits, please check here.

Codecov Report

Merging #1705 (55cdb4c) into main (543ef57) will increase coverage by 5.23%.
The diff coverage is n/a.

:exclamation: Current head 55cdb4c differs from pull request most recent head c4a776f. Consider uploading reports for the commit c4a776f to get more accurate results

@@              Coverage Diff              @@
##               main     #1705      +/-   ##
=============================================
+ Coverage     94.76%   100.00%   +5.23%
=============================================
  Files           168         6     -162
  Lines          3512       105    -3407
  Branches         26        19       -7
=============================================
- Hits           3328       105    -3223
+ Misses          181         0     -181
+ Partials          3         0       -3

Impacted Files
Coverage Δ

src/assemble_workflow/bundle.py

src/assemble_workflow/bundle_recorder.py

src/manifests/bundle_manifest.py

src/run_assemble.py

src/run_integ_test.py

src/run_sign.py

src/build_workflow/builder.py

src/test_workflow/test_args.py

.../jenkins/jobs/PromoteArtifacts_actions_Jenkinsfile

src/sign_workflow/sign_artifacts.py

... and 152 more

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 543ef57...c4a776f. Read the comment docs.


Event.url field + Referrer header

Added new url field for io.jenkins.plugins.generic.event.Event
Added "Referrer" header for case when required to distinguish several Jenkins instances

[ ] Make sure you are opening from a topic/feature/bugfix branch (right side) and not your main branch!
[x] Ensure that the pull request title represents the desired changelog entry
[x] Please describe what you did
[ ] Link to relevant issues in GitHub or Jira
[ ] Link to relevant pull requests, esp. upstream and downstream changes
[ ] Ensure you have provided tests - that demonstrates feature works or fixes the issue

@JohnNiang can you accept or give feedback?

@JohnNiang can you accept or give feedback?

Sorry for the lack of response. I will take some time to review this PR recently. Please wait for a moment.

@JohnNiang can you merge pr and deploy release?

@JohnNiang Hello! Can you deploy the package? cd failed

Thank you for reminding me! I'm trying to fix it.

Hi @ant1dot , the CD has been run successully, please see https://github.com/jenkinsci/generic-event-plugin/actions/runs/3327734111/jobs/5502911312#step:4:176 and https://github.com/jenkinsci/generic-event-plugin/releases/tag/40.v080de468d609.

Great! Thank you!


Why the original CP-Voxel is more efficient than CP-Pillar?

Hi,
It's very counterintuitive that the original CP-Voxel model achieves better performance as well as less flops and memory than the CP-Pillar model which makes pillar-based method looks like useless. The pillar-based models should be more efficient than voxel-based models since 3D sparse conv operations have higher computational cost according to my emprical experience. Apart from what you explained in the paper that CP-Pillar has more layers in BEV encoder part, are there any other reasons that you design two types of models like this. Have you try to make modules after PFE layer all the same for both pillar& voxel-based model. So, it would be a fair comparison for both pillar-based and voxel-based method although it is not the main focus of your paper.

I recommand you to read the appendix about the inference time analysis first if you haven't read before. That part should answer some of your questions here.

Cool! That's exactly what I'm looking for, thx!


feat: add unitor functor for product of categories

left and right unitor functors for product of categories

The implementation is copying from the same file for the associator. I am not sure if the category "1" , i.e., Discrete Punit should take universe parameter or not, and if it should have some notation like U+1D7CF 𝟏 or something else.

Thanks for the contribution! If you think this PR is ready for review please add the "awaiting-review" label. While you're at it, adding the "t-category-theory" tag also helps the discoverability of the PR. Also see this page for more info.

As the file is named Associator.lean, could you move the new code to a new file Unitor.lean.

You may have to update the root file Mathlib.lean so that all files (including the new one) are imported.

Thanks!
bors merge


make date parsing working for latest JDK16 again

Fixes #2186
Breaking change as we have to use a different Locale.

Why is this a breaking change?

Breaking in the sense that the method is public and someone could use it and rely on the Locale.UK.
In general I'm unsure what to do now as using Locale.US could break soon too.

And this is mainly (only?) relevant when parsing dates from OSM? Don't we have to use a certain formatter according to the OSM format anyway? If its unclear what we should use maybe make it configurable?

Don't we have to use a certain formatter according to the OSM format anyway?

Yes, basically that is what we do. We create a simple formatter and parse dates:
new SimpleDateFormat("yyyy MMM dd", Locale.UK).parse("2015 Sep 30");
And with JDK16 they intend to throw an exception because "Sep" will no longer be parsed (as well as "Jul" and "Jun" I think).
Making this configurable does not help, because if Locale.US is also not working it will no longer parse all conditional tags with 3 letter months.

Does OSM use a consistent date format like 2015 Sep 30? If not how are we supposed which format to expect when parsing it?

We use a chain of parsers to handle multiple scenarios. But yes, for months they seem to use 3 letters (or all). See our DateRangeParser.

Maybe I did not understand the problem yet.

surely the date formatter must depend on the Locale

Why? I thought whatever we use to parse the dates must work with the dates in our data/OSM, but why does it have to depend on the locale?

Sorry, I probably misunderstood your question. In our DateRangeParser we use fixed Locale to parse the existing IMO all English dates in OSM.
(But in general the date parser depends on the Locale to parse dates in different languages.)

but not on how JDK interprets date strings.

Yes, sure! We can build our custom date parser but the easiest way to parse date strings in Java was to use the SimpleDateFormat with a fixed Locale.UK. I would have never expected that they change the behaviour and break existing applications. I mean in principle they are correct and the docs only say that the pattern MMM means "abbreviated month" and not "3 letter month". But search the internet for "java 3 letter month parser" and you'll see that this is a very widespread misunderstanding :). They argue that we could set  -Djava.locale.providers=COMPAT to keep backward compatibility, but this is not a sane solution for our case.
So for now I would use Locale.US (or ROOT or ENGLISH) and if they later also break we would have to rename certain months from 3 characters to 4 characters before we parse them?

Ok this makes sense. I'm also surprised by such a change. Is this final yet?

have to rename certain months from 3 characters to 4 characters before we parse them?

Yes, or maybe have a look if there is a parser that addresses this issue since we won't be alone.

Ok this makes sense. I'm also surprised by such a change. Is this final yet?

It seems so according to the JDK bug tracker - it is "resolved" already.

I would have never expected that they change the behaviour and break existing applications.

I think they do it because they consider Locales data, not code. Locale.UK means: "Default for what we currently (!) think dates should be formatted in the UK."
I'm sure many people use it like we do and use it to parse a fixed format. But I think that wasn't the exact intention.
Theres another constructor, maybe we can use that instead?
public SimpleDateFormat(String pattern, DateFormatSymbols formatSymbols)

I would have never expected that they change the behaviour and break existing applications.

I think they do it because they consider Locales data, not code. Locale.UK means: "Default for what we currently (!) think dates should be formatted in the UK."
I'm sure many people use it like we do and use it to parse a fixed format. But I think that wasn't the exact intention.
Theres another constructor, maybe we can use that instead?
public SimpleDateFormat(String pattern, DateFormatSymbols formatSymbols)

There's another constructor, maybe we can use that instead?

Unfortunately this will still use some locale under the hood and even worse it seems as it is using the default Locale (not what we want):

System.out.println(Locale.getDefault(Locale.Category.FORMAT));
System.out.println(Locale.getDefault());

There's another constructor, maybe we can use that instead?

Unfortunately this will still use some locale under the hood and even worse it seems as it is using the default Locale (not what we want):

System.out.println(Locale.getDefault(Locale.Category.FORMAT));
System.out.println(Locale.getDefault());

Weird.

Weird.

@michaz I tried this DateFormatSymbols and it worked. The problem is still that the default locale is used, but if we use this only for this use case it should be fine.
In general the change to use Locale.ENGLISH already fixes the issue but to avoid surprises in the future (e.g. later JDKs might change the CLDR again) and so the explicit usage of the short month name list makes this a more stable solution (I hope :))


i18n(zh-cn): Update svelte.mdx

Description (required)
Update svelte.mdx
Related issues & labels (optional)

#10002
Suggested label: i18n

Lunaria Status Overview
🌕 This pull request will trigger status changes.

Learn more
By default, every PR changing files present in the Lunaria configuration's files property will be considered and trigger status changes accordingly.
You can change this by adding one of the keywords present in the ignoreKeywords property in your Lunaria configuration file in the PR's title (ignoring all files) or by including a tracker directive in the merged commit's description.

Tracked Files

File
Note

zh-cn/guides/integrations-guide/svelte.mdx
Localization changed, will be marked as complete.

Warnings reference

Icon
Description

🔄
The source for this localization has been updated since the creation of this pull request, make sure all changes in the source have been applied.


DocuSign send the document from David Deal account

Summary
DocuSign is sending the document email using David Deal's account
Background
During the signature process, We send am email to the contributor or signatory with the DocuSign information, this is currently being sent from David Deal's account.
Expected behavior
The information should be sent from LF Engineering
Screenshots

Environment
Please complete the following information:

Environment:

[ ] ALL
[ ] DEV
[ ] STAGING
[x] PROD

Browser:

[x] Chrome/Brave
[ ] Firefox
[ ] Opera
[ ] Vivaldi
[ ] LibreWolf
[ ] SRware Iron
[ ] Dissenter
[ ] Slimjet
[ ] Midori
[ ] Edge
[ ] Lynx

@mlehotskylf @nickmango - we may need to adjust the DocuSign integration to leverage/use the LF user_id instead of my DocuSign account (my account was used to create the new integration).
Please review and confirm the following configuration settings:

User ID: c2d31780-94da-4948-94a7-e9ec84fed103 (ddeal)
User ID: 8597969e-e099-4d82-80c1-1ed9aadfe624 (LF Admin)

Thank you @dealako for your comment. We are currently using ddeal's User ID (c2d31780-94da-4948-94a7-e9ec84fed103) and we will replace it with LF Admin's ID 8597969e-e099-4d82-80c1-1ed9aadfe624 in AWS Parameter Store.

Thank you @dealako for your help with this issue. I have working User ID now, but this issue is not resolved yet, because I don't have permission to update it in SSM in PROD. We also need to manually update this value for each 25+ EasyCLA lambdas, or simply re-deploy EasyCLA's lambdas to pickup updated SSM value. I already sent heads to
Chandrasekhar from DevOps and asked him if he can update it as a first thing on Monday morning IST. Once it is updated I will ask @thakurveerendras to validate it in PROD.

I just want to add that we will be using User ID *****ad9fe6 which is for the user<EMAIL_ADDRESS>I tested it in Postman and it works file.

@dealako we updated User ID in AWS Parameter Store but the problem is that new User ID belongs to "CLA Integration User - PROD" and this name is showing up now. Although this naming is an improvement over the previous one, I believe this name should be more "human friendly".
@WillsonHG I believe you helped us to accept "consent" and you have access to this CLA Integration User - PROD user<EMAIL_ADDRESS>in DocuSign, do you know if it is possible to rename it?
Thank you both for your help!!!

Hello @mlehotskylf  The current name for that user is "CLA User", so I don't think it's pulling from the profile name.

Regardless, I've changed it to LFX EasyCLA since that's more appropriate.

@mlehotskylf , @dealako
LFX Integration EasyCLA appears while expected LFX EasyCLA, Kindly review

@thakurveerendras This should be adjusted and name should not include word Integration anymore, and it should be just "LFX EasyCLA". Can you please verify?

Tested issue on prod and found that proper "LFX EasyCLA" appears at DocuSign page

This is done, closing.


Series of improvements to the logger

Series of improvements to the logger:

Add Makefile with targets test, lint and test-coverage
Initialize all logger configuration to sane defaults
Set maximumLevel = VerboseLevel instead of explicit value
Do not check if a log file already exists.
Explicitly close file descriptor for isLogFileWritable
Return and use error message from resolvePath
Allow logging to stderr only
Improve test suite
Add structured logging
Add unit tests for structured logging

Fixes #11
Fixes #12

@adrianchiris @SchSeba PTAL :-)

I also threw in a unit-tests.yml workflow:
https://github.com/andreaskaris/cni-log/actions/runs/5620912068
It's a slightly modified copy from https://github.com/k8snetworkplumbingwg/sriov-network-device-plugin/blob/master/.github/workflows/build-test-lint.yml

I pushed one tiny last change to the panic functions, see the last commit. I think it's ready now, though   (things can still be improved though, e.g. the StructuredPrefix stuff would likely benefit from inspection to properly print non-string values


Feature request: Expose onCheckedChange for SwitchPreference

We have the following use case for SwitchPreference:
When the switch is clicked (value changes), we display a dialog explaining that the preference change will only take effect when the app exits and re-enters the foreground state.
If SwitchPreference supported "onCheckedChange", we could then support showing a Dialog to provide that information to the user.
Thanks!

You can use the SwitchPreference overload that allows you to pass in your own onValueChanged. You may need to duplicate some code from the other easier-to-use overloads, but that's the trade-off I had to take between easy-to-use and extensibility and the reason I provided the three overloads :P
https://github.com/zhanghai/ComposePreference/blob/24c035bac7765cbf52214bcbb0f10d331c429638/library/src/main/java/me/zhanghai/compose/preference/SwitchPreference.kt#L85-L94

This works great! Thanks for the clarification, all good!


Update deprecated analysis options

Replaces deprecated analysis options with their modern equivalents.
Part of https://github.com/flutter/flutter/issues/76229

test-exempt: configuration change


Make the DuckDB API consistent with the polars API

Everything is now properly typed and documented.

Codecov Report

Merging #35 (ac9c5b2) into main (e777ccd) will not change coverage.
The diff coverage is 100.00%.

@@            Coverage Diff            @@
##              main       #35   +/-   ##
=========================================
  Coverage   100.00%   100.00%
=========================================
  Files            7         7
  Lines          861       870    +9
  Branches       216       213    -3
=========================================
+ Hits           861       870    +9

Impacted Files
Coverage Δ

src/patito/sql.py
100.00% <ø> (ø)

src/patito/duckdb.py
100.00% <100.00%> (ø)

src/patito/polars.py
100.00% <100.00%> (ø)

src/patito/pydantic.py
100.00% <100.00%> (ø)

:mega: We’re building smart automated test selection to slash your CI/CD build times. Learn more


Embedding scene in react application does not work

Hey guys,
I am having trouble getting a simple aframe scene into my react application. I simply want to depict .gltf files in my app to preview them and click on Full Screen to walk around in it. I used a simple example from aframe-react to insert a basic scene:
<Scene embedded={true}>
        <Entity geometry={{primitive: 'box'}} material={{color: 'red'}} position={{x: 0, y: 0, z: -5}}/>
        <Entity particle-system={{preset: 'snow'}}/>
        <Entity light={{type: 'point'}}/>
        <Entity gltf-model={{src: 'virtualcity.gltf'}}/>
        <Entity text={{value: 'Hello, WebVR!'}}/>
</Scene>

(The gltf-model part is pointing to a file I do not own. I can comment this part out and it still works.)
Without the embedded tag, I see the Scene on my page. It is in front of the other elements and I can only click the scene to interact with. That is why I want to embed it in a smaller window. But as soon as I include the embedded tag, the scene is not displaying anymore and I get some errors which I can't solve:
THREE.WebGLShader: Shader couldn't compile.
THREE.WebGLProgram: shader error:  0 35715 false gl.getProgramInfoLog
WebGL: INVALID_OPERATION: useProgram: program not valid
THREE.WebGLRenderer: Context Lost.
The development server has disconnected.
Refresh the page if necessary.

Can someone help with this? Maybe has a different idea to get a preview of a scene? Like I mentioned before, I want to depict .gltf files instead of plain code.
Thank you!

having the same issue

Hi,
This is a pretty old issue but I came across a solution.
The problem is that when the scene is embedded, it uses the height from the parent component. But if this height is a div with a percentage for example, it will not get a proper set height and will set its own height to zero, which explains that you can't see it.
Setting a parent div with a height and width in px will display the scene.
Hope it fixes your problem


This is COOL !!!

This is a cool project !! I ran the .exe file and whoa, it runs on my low-end PC as well ( 4GB RAM, 4th gen Intel Pentium [1.7GHz])! The smooth running of the game is worthy of a big round of applause. I tried a Python version by someone, but yours fare better than that guy's.
The only things that made me a bit disappointed:

I can't change my controls to a more comfortable configuration, like the arrow keys instead of WASD keys.
It doesn't have mobs. It will be cool if you add them! (maybe you were trying to make the Minecraft with creative mode only; in that case, sorry).
The clouds didn't seem much like those in Minecraft, but yes, that is not of very much concern ':D
If players can see their hands etc. as it would be in the real Minecraft, it will be cool. Also, menus for crafting and all that will surely add to the beauty of the game.
I dunno what I got to do with the following recurring error that came in the window of the executable file, so maybe you can edit it:

OpenGL Error in Line 86 and in File : Core\Renderer\Renderer.cpp
        Error : INVALID_OPERATION

I would like to have the HUD (where we see the materials at hand , lives, armour, etc.) seen as well, and I have no idea how to toggle it.

If these are added, then I say that this project's gonna be damn cool!!
I feel proud of my fellow Indian!!

Haha thanks! I dont really work on this project anymore :(
I'm currently working on 2 new voxel engines, one path traced and the other one rasterized and aims at realism! L(
I do plan on adding gameplay to it at some point tho :)


Can't download old version from https://owncloud.org/changelog/

Hi!
I have 5.0.12 version of OwnCloud. I want to update it to higher versions.
Some users said that it must be - 5.0.12 - 5.0.19 - 6.0.9 - 7.0.15 - etc.
But at this page https://owncloud.org/changelog i can't download versions 5.0.19 & 6.0.9 (The requested URL /community/owncloud-6.0.9.zip was not found on this server.)
Maybe someone can share this versions for me? (for windows)
Thx.

Windows has been discontinued as a server platform for ownCloud. Please see https://owncloud.org/blog/owncloud-server-8-1-will-not-support-windows-as-server-platform-natively/ for alternatives.

Aside from the unsupported windows the old releases should be put up again. That was already requested in https://github.com/owncloud/core/issues/23885


implement default settings

Closes #6

Codecov Report

Merging #8 (8ecb7f8) into main (78f5643) will increase coverage by 0.22%.
The diff coverage is 100.00%.

@@            Coverage Diff             @@
##             main       #8      +/-   ##
==========================================
+ Coverage   95.62%   95.84%   +0.22%
==========================================
  Files          12       13       +1
  Lines         274      289      +15
  Branches       34       34
==========================================
+ Hits          262      277      +15
  Misses          6        6
  Partials        6        6

Impacted Files
Coverage Δ

log_outgoing_requests/datastructures.py
100.00% <ø> (ø)

log_outgoing_requests/admin.py
100.00% <100.00%> (ø)

log_outgoing_requests/conf.py
100.00% <100.00%> (ø)

log_outgoing_requests/formatters.py
87.50% <100.00%> (ø)

log_outgoing_requests/models.py
100.00% <100.00%> (ø)

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

:mega: We’re building smart automated test selection to slash your CI/CD build times. Learn more


set max date

how to set the max date  for the picker ?

Hi there!
First take a look at Wiki (Usage) on how to access the datePicker property of any RMDateSelectionViewController. After having obtained the UIDatePicker itself, you probably want to call maximumDate and/or minimumDate on it.
If this answers your question, feel free to close the ticket 🙂.
Best regards,
Roland


Folder Names Differences Between MSI and Zip

Question
The 21.0.4+7-LTS .msi installs a folder named "jdk-<IP_ADDRESS>-hotspot" but the .zip folder for the same version contains a folder named "jdk-21.0.4+7". This means that we have to rename the .zip folder name to "jdk-<IP_ADDRESS>-hotspot" to be consistent. Why are these named different?
For reference, we are using the zip because you can't have the .msi for 21.0.2+13-LTS and 21.0.4+7-LTS installed at the same time.
Context
Java version:
21.0.4+7-LTS
Your operating system and platform:
Windows 10

Might be a hangover from the adoptopenjdk days where we had  a non-hotspot version and this would allow you have both installed.


⚠ Fortnite has degraded performance

In e2fa34d, Fortnite (https://fortnite.com) experienced degraded performance:

HTTP code: 200
Response time: 1533 ms

Resolved: Fortnite performance has improved in 857f0c5.


Use a more specific condition for debug output.

When someone uses visionmedia/debug for logging he has to set process.env.DEBUG for enabling his own log messages.
He always sees the following output, because node-notifier only checks for the presence of the env var (if (process.env.DEBUG)):
node-notifier debug info (fileCommandJson):
[notifier path] [...]/node_modules/node-notifier/vendor/terminal-notifier.app/Contents/MacOS/terminal-notifier
[notifier options] -title "xyz" -message "🎉 some message here" -json "true"

Instead of checking for the presence you could check for the package name inside of the env var. Then someone could enable debug logging for node-notifier with setting the env var to something like this:
process.env.DEBUG = 'some-other,notifier';

Hi. Thanks for this. Didn't think would be an issue. Do you know, is it common to do DEBUG with operations like this, or would a better way to do e.g. process.env.NODE_NOTIFIER_DEBUG = true?

Hi, Yes I would say that this is a common usage. See the usage-section of visionmedia/debug. 😃

I'm merging this, but will have to do a major release as it is a major change. Will wait for the change in terminal-notifier as that is also a breaking change.

Thanks for your work 🎉

Yeah, sure! Will use the master branch until you released the major version!
Thanks for merging, keep up the great work! 🤘🏻


NavigationMenu (/Drawer Layout) testing items

So the android.support.design.widget NavigationView is a sidebar you can pull out on Android devices and can inflate with a menu of options (to later add click interaction)
However testing this in espresso can be nightmare and was hoping your test recorder would help me out, to no effect.
The problem is. if you have a longish menu and record the test on a highish resolution emulator, you click the hamburger menu to open the sidebar (fine) then click say option 9 (visible on screen) and generate this skeleton test code:
onView(nthChildOf(withId(R.id.toolbar), 2)).perform(click());
onView(nthChildOf(withId(R.id.design_navigation_view), 9)).perform(click());
Now the problem exists if you later test this espresso skeleton on a smaller resolution emulator (where 9th child of the sidebar is just out of view) apparently these options are not in the hierarchy until scrolled too.(Great navigation support library google?!) But yeah the test fails...
So I don't know if this is an issue with the nthChild matcher you generate, or something you can forsee/fix, but just a heads up. Might have explained this bad but if you need any more clarification let me know.

The error given by espresso should be that the item is not fully visible. If any View is not more than 90 percent visible, espresso throws an error.
You should always do scrollTo action and then click. In case of recorder, it should generate this code for every AdapterView or in case of support RecyclerView. There are already RecyclerViewActions.
Generating onData viewMatchers would be great improvement when AdapterView or RecyclerView can be detected.

@jrattray13  Thanks a lot for submitting this issue, we did not predict this behavior when generating child matcher. Let us think how to make this better and fix this (yes, maybe we shouild scroll to necessary view)
@lhoracek Thanks for the comments. We are generating "onData" statement for every AdapterView in recorder, so this is working fine and without scroll to. RecyclerView is not supported yet, thank you for pointing this out.  But NavigationView is not AdapterView so this is not working here. I think you are right and we should generate addition scroll to action in recorder to support this. Let us test this and fix.

@vpedak Last time I had dumped view hierachy from navigation view, it had RecyclerView inside its layout. So supporting RecyclerView will solve you two problems

@lhoracek thanks again for your comments, this is helping me a lot. I found out that navigation view has adapter inside, but it is impossible to use onData for it because NavigationMenuItem class is private but it should be used in onData. There is a bug about this in Espresso - https://code.google.com/p/android/issues/detail?id=187701. So I still think that "scroll to" is right solution. I will implement it soon and test.

Hi all,
I've uploaded new version to Plugins Repository (it is also available at site http://droidtestlab.com/AndroidTestsRecorder.zip).
Now special "scrollToPosition" action will be also generated when you are working with NavigationView. This action will scroll to necessary menu item, so if it is not visible it will become visible (before click at it).
@jrattray13  Please try it if you will have time and let me know if you have any problems. It should resolve your issue.
Thanks,
Slava

Works a charm, cheers :+1:  (Perfect for my small emulator!) Will let you know if I run into any issues. Great test recorder project.

Works great, but I think using RecyclerViewActions.scrollToPosition would do the trick and would not require defining new action inside the test - cleaner and more readable code.

yes, you are right but I was worry that RecyclerViewActions requires addition dependency to android.support.test.espresso.contrib and Studio Project might not have it. So generated test will not be compilable. I am worry that nobody will investigate why it is so and will simple think that Recorder generated something wrong. And I do not want to update project dependencies automatically from Recorder to resolve this automatically. So I've decided to generate my own action. Maybe I should generated a comment that this action can be replaced by RecyclerViewActions


Performance ZCL_ABAPGIT_GUI_PAGE_STAGE, method READ_LAST_CHANGED_BY

Looks like method READ_LAST_CHANGED_BY is called per file.
A object typically contains more files, so this can be optimized to only determine the changed by once per item.
Also pass IS_ITEM so
        lt_files_local = mo_repo->get_files_local( ).
        READ TABLE lt_files_local INTO ls_local_file WITH KEY file = is_file.

is not needed

merged, closing


Create a serverless endpoint to send the Toggl webhooks to

Bootstrap a new SAM project.
$ sam init

You can preselect a particular runtime or package type when using the `sam init` experience.
Call `sam init --help` to learn more.

Which template source would you like to use?
	1 - AWS Quick Start Templates
	2 - Custom Template Location
Choice: 1

Choose an AWS Quick Start application template
	1 - Hello World Example
	2 - Multi-step workflow
	3 - Serverless API
	4 - Scheduled task
	5 - Standalone function
	6 - Data processing
	7 - Infrastructure event management
	8 - Serverless Connector Hello World Example
	9 - Multi-step workflow with Connectors
	10 - Lambda EFS example
	11 - Machine Learning
Template: 1

Use the most popular runtime and package type? (Python and zip) [y/N]:

Which runtime would you like to use?
	1 - aot.dotnet7 (provided.al2)
	2 - dotnet6
	3 - dotnet5.0
	4 - dotnetcore3.1
	5 - go1.x
	6 - go (provided.al2)
	7 - graalvm.java11 (provided.al2)
	8 - graalvm.java17 (provided.al2)
	9 - java11
	10 - java8.al2
	11 - java8
	12 - nodejs18.x
	13 - nodejs16.x
	14 - nodejs14.x
	15 - nodejs12.x
	16 - python3.9
	17 - python3.8
	18 - python3.7
	19 - ruby2.7
	20 - rust (provided.al2)
Runtime: python3.9
Error: 'python3.9' is not one of '1', '2', '3', '4', '5', '6', '7', '8', '9', '10', '11', '12', '13', '14', '15', '16', '17', '18', '19', '20'.
Runtime: 16

What package type would you like to use?
	1 - Zip
	2 - Image
Package type: 1

Based on your selections, the only dependency manager available is pip.
We will proceed copying the template using pip.

Would you like to enable X-Ray tracing on the function(s) in your application?  [y/N]:

Would you like to enable monitoring using CloudWatch Application Insights?
For more info, please view https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/cloudwatch-application-insights.html [y/N]:

Project name [sam-app]: toggl-bridge

Cloning from https://github.com/aws/aws-sam-cli-app-templates (process may take a moment)

    -----------------------
    Generating application:
    -----------------------
    Name: toggl-bridge
    Runtime: python3.9
    Architectures: x86_64
    Dependency Manager: pip
    Application Template: hello-world
    Output Directory: .

    Next steps can be found in the README file at ./toggl-bridge/README.md

Commands you can use next
=========================
[*] Create pipeline: cd toggl-bridge && sam pipeline init --bootstrap
[*] Validate SAM template: cd toggl-bridge && sam validate
[*] Test Function in the Cloud: cd toggl-bridge && sam sync --stack-name {stack-name} --watch

Verify that the webhook is coming from Toggl. See Validating Received Events for more information.
Toggl sends a header x-webhook-signature-256:
{
  "host": "eo4sf6wa6nmc4w.m.pipedream.net",
  "content-length": "180",
  "content-type": "application/json",
  "x-webhook-signature-256": "sha256=c466be51dd6b98d0e8f7ce95bf0432da9a16665db925b8b11f2ae76801f115f9",
  "accept-encoding": "gzip",
  "user-agent": "Go-http-client/2.0"
}

Quick implementation:
def signature_is_valid(secret: str, body: str, signature: str):
    """
    Verify if the signature of a webhook request..
    Check https://developers.track.toggl.com/docs/webhooks_start/validating_received_events
    for more details.
    """
    digest = hmac.new(secret.encode("utf-8"), body.encode("utf-8"), hashlib.sha256).hexdigest()
    return hmac.compare_digest(signature, f'sha256={digest}')