[Keyboard Manager] Win→Alt does not always work

Microsoft PowerToys version
0.49.1
Running as admin

[X] Yes

Area(s) with issue?
Keyboard Manager
Steps to reproduce
(1) I mapped Win to Alt and Alt to Win (left to left, right to right).

(2) I then tried to map Win (right) to Esc

✔ Expected Behavior
For (1), I wanted to use "Alt+F" / "Alt+B" to jump a word forward/backward in WSL2 in Windows Terminal (and also VS Code with Emacs Keymapping, etc.)
For (2), I wanted to check if "Esc+B" key works.
❌ Actual Behavior
For (1): However, only "Alt+F" (by typing "Win+F") works like expected. "Alt+B" (by typing "Win+B") does nothing.
For (2): Typing "Win (right)" to emulate "Esc" leads to a painful caveat. I cannot hold "Win (right)" key and type "B" to jump backward multiple times. It only works for the first time I press "B" key. The next time when I press "B" key (while holding "Win (right)" key), it became an input of letter "b".
Other Software
Windows Terminal v1.11.2921.0
VS Code v1.61.2

To add a bit more info: after mapping "Win (left)" to "Alt (left)", when I press "Alt (left)" + "R", instead of the Run command dialog, Xbox starts recording.
The shortcut to trigger Xbox recording is actually "Win + Alt + R".
It's really interesting both "Win" and "Alt" are triggered in this case.

To add a bit more info: after mapping "Win (left)" to "Alt (left)", when I press "Alt (left)" + "R", instead of the Run command dialog, Xbox starts recording. The shortcut to trigger Xbox recording is actually "Win + Alt + R". It's really interesting both "Win" and "Alt" are triggered in this case.

Some of the features from Windows are not possible to override to the method we are employing. Game bar features are good examples of this, Windows+G will always activate game bar, for example, even if it's reassigned. I think you are observing the same for "Alt+R" (Windows game bar ends up detecting both "Windows" and "Alt" and starts recording.
Windows+Alt+B is the Broadcast key for the Windows game bar and that might be the issue you're observing for (1), as well.

does this issue still happen with v0.73.0? /needinfo


Leetcode contest solutions

Hi, @tanus786 please assign this to me. I will do that

Yeah go for it👍✨

kindly assign this issue to me, I can work on it.

i want to add more solutions, kindly assign me this

hi @tanus786 , please assign me this issue


No suggestions being generated inside/outside of panel

This was working for me for some time but recently stopped working. Attached is the log I get from LspLog with trace on. Any ideas would be helpful. Copilot works for me in vscode and using copilot.vim, seems to just fail with this plugin. I removed all traces of copilot and re-auth'd but had the same error. Went back a few commits and saw the same behavior.
Neovim 0.10.0
GitHub Copilot Language Server 1.197.0
Node.js 20.10.0

test.log

I finally found that an autocommand I had that inserted some text to the top of .py files was preventing copilot from generating suggestions. No clue why, but probably outside of the scope of this repo.


runtime(tutor): portable Makefile for GNU and BSD

Continuation: #15493
In the Makefile from "runtime/tutor", the variable $< has been replaced with $? in explicit rules.

thanks


Errors is systemd-tmpfiles

Dec 05 09:14:37 beaglebone systemd-tmpfiles[1177]: Failed to open directory /var/tmp: Too many levels of symbolic links

Is this on master?
Flasher images or non-flasher images?
On what board was this observed?

@michal-mazurek ^

The image we tested, 1.22.1. Regular OS, not the flasher. On the BBB.

I never saw this error again. I'm keeping my eye out for it.

I have seen the message again. 1.X branch of resin-beaglebone. Flasher image, no config.json.

In case this may help, I suspect that that comment from systemd-tmpfiles is from the cleaning instance (systemd-tmpfiles cleaning mode) where /var/tmp is a symlink, usually we open paths when we do cleaning with the O_NOFOLLOW flag, which may result into an ELOOP error  'Too many levels of symbolic links'  ...


rgb image usage vs cmyk

would love to know the usage rate of cmyk images compared to rgb images.
My company wants to do some custom work related to supporting scraping cmyk images from the web... i have a feeling it's not worth the time but haven't found data to support my feelings.

How would this be done?

A quick search and I think it could possibly be detected by reading the PhotometricInterpretation value from the EXIF tags.  http://www.sno.phy.queensu.ca/~phil/exiftool/TagNames/EXIF.html shows the acceptable values as:
0 = WhiteIsZero
1 = BlackIsZero
2 = RGB
3 = RGB Palette
4 = Transparency Mask
5 = CMYK
6 = YCbCr
8 = CIELab
9 = ICCLab
10 = ITULab
32803 = Color Filter Array
32844 = Pixar LogL
32845 = Pixar LogLuv
34892 = Linear Raw

We don't have access to the EXIF tags.


Use Vite in the React example

Description
Recently,  the new React documentation became available (blog post), and the new docs don't recommend using create-react-app anymore (see https://github.com/reactjs/react.dev/pull/5487 for a full discussion and reasoning).
Also, create-react-app is not actively maintained anymore (the last release was ~1 year ago at the time of writing this).
To bootstrap React applications, the community often turns to Vite, so this PR has done just that:

[x] use vite tooling for bootstrapping a client-only version of the React example for the SDK usage

Vite setup (https://github.com/foursquare/unfolded-sdk-examples/pull/57/commits/35ae4026d89604a620851a9c0ea529f0fb5b02e4)

[x] additional cleanup to better focus on the exact demo goal of the example

clean up (deprecated) web vitals reporting (https://github.com/foursquare/unfolded-sdk-examples/pull/57/commits/5174cfd2fe352996fa4366a22bcaec439e43f401)
clean up unused testing setup and config (https://github.com/foursquare/unfolded-sdk-examples/pull/57/commits/e05d232f29335c8cb038389488dc401b9d4d681d)
switch deprecated packages to newer alternatives (https://github.com/foursquare/unfolded-sdk-examples/pull/57/commits/c1fb8f9a5536570de4d6fad1b24a41e22e62df6c)

There are no functional or stylistic changes to the demo itself, the only changes are around tooling.
Future work
And while the React documentation favors developing full-stack React apps instead of client-only apps (see https://github.com/reactjs/react.dev/pull/5487#issuecomment-1474435706), that's not always possible, nor always desired. In fact, that opens an opportunity of creating a similar, full-stack example of using the SDK, with something like Next.js. Having two examples (one React and one Next.js e.g.), would enable a natural way to show the differences between the client-only and the full-stack applications (if there are any) and provide more possible entry points for people consuming these docs and examples.
This PR avoided bumping the React major (from 17 to 18) and the SDK minor (1.1 to 1.6), as that wasn't the primary focus of the change but still should be considered for future work on these examples.

@abstractalgo This looks awesome. Yes we should go through all our examples and make sure they work with latest versions of libraries, tooling etc.
I added a couple of React experts as reviewers.
I like you idea for a Next.js example, is there any good environment like codepen that can demo SSR app in action? you may want to chat with @ilyabo who has a lot of experience with next.js and similar environments.

I agree both CodeSandbox and StackBlitz are great options. I haven't used WebContainers, but looks pretty awesome. Would be cool if it we could build an interactive demo of the SDK with it.
A full-stack demo app could I guess load some data from a database and maybe run parameterized queries. For that, Next.js would be a good option indeed.

Yes one of the problems with such sandboxes is maintenance of the uploaded code. If we can keep all the code in our repo, and populate the sandboxes from that code it is better.
vscode has a number of interesting integrations that we might also be able to leverage.


assign user with given password or check existing one

Problem
reset-password subcommand generates a password, but in a CI context is should be interesting to check if an existing user matches a given password, to decide if it must be updated, and force it to a given value if needed
Suggestion

allow an option --password on reset-password subcommand
add a check-password subcommand returning a status

Alternatives Considered
source to input required password may be stdin or a prompt

After I've taken a look at kafkactl code, it appears it needs a ns4kafka evolution before reporting it in kafkactl.
In fact, I suppose assigning a password should be implemented by applying a "KafkaUser" spec, containing a password or not.

If a password is given, apply command must check if it's valid, and if yes, return a "unchanged" status, else if must apply new password.
If not, apply method must return an updated spec containing the password, as it's done by reset-password command today. Then, caller must store back this modified file.

Hey @piif,
To sum up, you'd like to:

Have the possibility to assign a given password to a Kafka principal, instead of generating a random one ?
Get the Kafka principal matching a given password ? Or at least checking there is a match ?

Point 1 can be interesting. As you mentioned the whole business logic is held by the Ns4Kafka API. But:

What do you mean by "apply command must check if it's valid". How do you determine a password is valid ?
The "unchanged" status in case of a given password not respecting some rules is not appropriate. In Ns4Kafka, the status returned after applying a resource is computed against the last state of the resource. An "unchanged" status means the applied resource is in the same state than the previous one. Currently, we do not store any password in Ns4Kafka (and not sure we really want to do that), so compute a status of a given password against a previous one is not possible. A more appropriate response would be throwing a ResourceValidationException in case of invalidity.
Handling KafkaUser as a resource is a breaking change and is questionable considering the spec payload can be empty for generating a random password. Maybe giving the password as a query param of the /{user}/reset-password endpoint would be sufficient

Hi @loicgreffier ,
what I mean by "valid password" is "does the given password is the current one or a modified one".
Without storing current password, it should be verified by trying to connect with this password and check if it is accepted by kafka server.
In this way, its possible to return an "unchanged" status when applying a KafkaUser resource.
By the way, when you say KafkaUser resource would be a breaking change, I don't fully agree since it does not exists today.
Thus it's a new feature, but it doesn't break existing code
I agree with the idea of a /{user}/reset-password payload to specify required password, and this PI should return a "not modified" status if given password matches current one (again by simply testing to connect with)

@piif
A KafkaUser resource is a breaking change on the reset-password endpoint path:

The POST /api/namespaces/{namespace}/users/{user}/reset-password would be changed to give way to a POST /api/namespaces/{namespace}/users callable from the Kafkactl apply subcommand. Unless both endpoints live, but I don't think it's possible considering resource endpoints access is granted by role bindings (which is not currently the case for {user}/reset-password)

Could you provide more information regarding your CI use case for password reset to challenge if a User resource would be valuable ?
Anyway, with the current implementation:

The password given as query parameter on /{user}/reset-password would be a nice improvement. Backward compatible because optional. The status can be computed as you mentioned:

Unchanged if authenticated call returned 200 (meaning the given password is the current one). No reset to perform in this case.
Changed if authenticated call is 401 (meaning the password is not the current one). Reset to perform with the new password.

With Kafkactl, password can be given with a --password option.

➡ Agree with that ?

Does a check-password subcommand still make any sense if the validation is performed by the reset subcommand ?

Hello @loicgreffier , sorry for the delay, I had to work on another task.

About /reset-password : I fully agree with your proposal .

About "user  resource" idea: Now, I understand the breaking change problem.
Maybe we could workaround it with a "principal" entrypoint & resource instead.
In this case, check-password maybe achieved by a call to "diff" command.

About our CI : We currently use a CI to deploy topics, connectors and so on, containing "diff" and "apply" jobs.
Our inventory contains passwords in vaulted files.
I currently work on migrating this thru ns4kafka (at least I'm trying to validate it's possible in our context).
If there's no "user resource" with ability to call "diff" and "apply" on it, we need to check passwords, thus "check-password" is required.

@piif
Right now I'm reconsidering that a KafkaUser resource could be a good option, especially for permanently aligning the cluster password.
POST /{user}/reset-password will be preserved for backward compatibility reason
Which approach would suit you the best ? Would you want to contribute to the KafkaUser resource approach ?

KafkaUser resource is clearly my first choice, but I don't know micronaut and didn't code in java for several years :-)
I will see if some of my colleagues can help you

Hi,
I'm back with this issue and began to work on a first implementation.
Before trying to define and implement the "apply" version (which need a lot a changes in code I fear), I implemented set-password api on ns4kafka side and started to work on "check-password" one : https://github.com/piif/ns4kafka/tree/issue/91
This seems to work despite a strange behavior : defining to method with @Put or @Patch is accepted during compile time, but at runtime, I get this response :
"Method [PATCH] not allowed for URI [/api/namespaces/.../users/.../set-password]. Allowed methods: [POST]"
And calling with a post method actually works ?!

I began to look at "apply" solution, but I've several questions :

reset-password returns a KafkaUserResetPassword object with a newPassword field
"apply" should accept a KafkaUser object with an optionnal password field
Thus, should we duplicate code to handle a KafkaUser class or rename KafkaUserResetPassword one (but this implies a breaking change in object returned by reset-password) ?

Do you think we have to store KafkaUser objects in ns4kafka backend, like other objects, or do we consider there's nothing more to store than the related namespace, thus namespace storage is enough to keep memory about users ?
The second solution implies to create each namespace before its related user, but avoids to create a full data stack just to store a key (since password will not be stored on ns4kafka side, there's nothing more to store).
This question implies also to decide if namespace deletion must imply to cascade user deletion.
Last question : do you think "apply" API must require password field ? if this field is omitted, should it mean to keep current password, or to reset and return a new one ?
My opinion is to require password, since it's the only goal to this API, but I'm open to suggestions.

PATCH /api/namespaces/[namespace]/users/[user]/set-password with new password as body ; returns same result than reset-password (open to discussion : it may just return a status ?)

@piif I would be in favor of having a single endpoint for that. What I suggest is:

Keeping the reset-password endpoint.
Adding a @Body for the given password.
@Body might be empty. In this case, a random password is generated as it is done right now.

This would minimize changes from Kafkactl.

POST /api/namespaces/[namespace]/users/[user]/check-password with new password as body ; return 200 is password matches current one, 401 else

A HTTP 401 could let think the user is not allowed to call the check-password endpoint. What do you think about returning a status instead? Something like "SUCCESS/FAIL"?

Password check has a much cleaner solution. I strongly recommend using this instead.
Works for SCRAM only.
Step 1: Pull out the SCRAM server fields from Kafka using AdminClient
# kafka-configs --describe --entity-type users
# Configs for user-principal 'post_install_test_producer' are producer_byte_rate=102400,SCRAM-SHA-512=salt=MTZlcmNvbmtoZWpxOWR3OGdzNWFqYm81YnI=,stored_key=JXOkH3OQyWB2mmsYTHkCeTPf9ozDslgzLvinG2z9AJEizOpZDgxCdxkOfmtWyfxXe3vouBAcgtXoV8NU4aC/5Q==,server_key=9oAYdMDGr7g1rH5TertR0vFj6lf0O4U68WMoAV1O2uP7e3hLuP1P0vwzS+skCwzc+Q6GCXQQSYNpIojXkXkPJA==,iterations=4096,consumer_byte_rate=102400
# Configs for user-principal 'perf_test' are producer_byte_rate=104857600,SCRAM-SHA-512=salt=cTFlM3AybWlrOGlrcndpeXJwcWcyNHFtNg==,stored_key=kAVpmVasCKPRrnrxvHgqXxHyxFR2kYlRj5lkCNsjU6YTjbKfb6L41PCWNFUSAv1ge7ENu1s1AucyUzUvTo4U3g==,server_key=USLipj1qt9XjdjZl+VQLJwBBEtIQUEHFwSUNK1v3DmTdrDxl9CqxoH5pZCCsABR3o7BYXOnjQUYrSurBKrmk0A==,iterations=4096,consumer_byte_rate=104857600

Step 2: Compare with clear password
from passlib.hash import scram
import hmac
import hashlib
import base64

class Scram_Check:
    @staticmethod
    def SamePassword(clear_password, broker_password_config, algorithm='sha-512'):

        if not broker_password_config:
            return False

        _algorithms = {"sha-512": hashlib.sha512, "sha-256": hashlib.sha256}

        salt = base64.b64decode(broker_password_config["salt"])
        iterations = int(broker_password_config["iterations"])
        expected_server_key = broker_password_config["server_key"]

        salted_hash = scram.derive_digest(clear_password, salt, iterations, algorithm)
        calc_server_key = hmac.new(salted_hash,
                                'Server Key'.encode('utf-8'),
                                _algorithms[algorithm]
                                ).digest()

        result = base64.b64encode(calc_server_key).decode('utf-8')
        return result == expected_server_key


Request for Performance Dataset (Not an Issue)

@AngusJohnson
I am writing to request what random intersecting polygon generator algorithm you used for the performance so that I can compare performance on my end.
I apologize as the Issues system is not the best way to contact someone , but I don't see any other method to contact you since there not discussions enabled for the project.

        private static Point64 MakeRandomPt(int maxWidth, int maxHeight, Random rand)
        {
          Int64 x  = rand.Next(maxWidth);
          Int64 y = rand.Next(maxHeight);
          return new Point64(x,y);
        }

        public static Path64 MakeRandomPath(int width, int height, int count, Random rand)
        {
          rand.Next();
          Path64 result = new Path64(count);
          for (int i = 0; i < count; ++i)
            result.Add(MakeRandomPt(width, height, rand));
          return result;
        }

        //code entry
        const int displayWidth = 800, displayHeight = 600, edgeCnt = 1000;
        Random rand = new Random();
        Stopwatch stopwatch = new Stopwatch();
        Paths64 subj = new Paths64();
        Paths64 clip = new Paths64();
        Paths64 solution = new Paths64();

        subj.Add(MakeRandomPath(displayWidth, displayHeight, edgeCnt, rand));
        clip.Add(MakeRandomPath(displayWidth, displayHeight, edgeCnt, rand));

        stopwatch.Start();
        Clipper c = new Clipper();
        c.AddSubject(subj);
        c.AddClip(clip);
        c.Execute(ClipType.Intersection, FillRule.NonZero, solution);
        stopwatch.Stop();

However I'm still not sure why Clipper2 C# is doing so porrly.


Please update aws-cli to 1.18.136

https://github.com/jakejarvis/s3-sync-action/blob/7ed8b112447abb09f1da74f3466e4194fc7a6311/Dockerfile#L14
Please update to 1.18.136 (See https://github.com/aws/aws-cli/blob/master/CHANGELOG.rst#118136)

Even better, please make the version configurable 😄

#43 This should help


Don't display warning if the watcher discovers a temp file

What is the purpose of this PR?
During a MIBI run, numerous temp files may appear. These are generally prefixed with . and are used as intermediate steps (ex. to the final .bin file). While the watcher may pick up on these files, they should not be reported as extraneous files to the user.
How did you implement your changes
Add a check at the beginning of check_run_condition that immediately returns out with False if the filename detected starts with a ..
Remaining issues
This does not completely solve an issue @ngreenwald ran into where the watcher did not ever report the corresponding .bin file. However, this may be related, as .bin files can also be originally written out in the format .fov-{fov_num}-scan-{scan_num}.bin.{6_letter_hash} before being copied over in its final .bin state.

@ngreenwald did the watcher identify FOV files correctly on your run with a smaller image size?


Add a create button to obs, fx, cdf fx listings

Adds a button to the listing pages without site. "Create" buttons drop people on the Sites listing page with the query parameter create=<type> where type is 'observation', 'forecast' or 'cdf_forecast_group'
. Each Site's title will link to a creation form of the given type for that Site.

Seems that we should have updated the text on the home page too:
Use the links on the left to access your data.
The Sites link will list the sites available to you. From this menu, you explore Sites and their associated data. Selecting a Site will display its metadata and present options to list or create Observations, Forecasts and Probabilistic Forecasts associated with the Site. ~This is currently the only menu from which you can create new Sites, Forecasts, Observations and Probabilistic Forecasts.~
The Observations, Forecasts and Probabilistic Forecasts links will list all of the items you have access to regardless of their Site association. ~However, you will not be able to Create new items from these pages.~
add: See documentation for more details.


purgecss-webpack-plugin Example

In the controlling file size docs I was unable to get the PurgeCss example working using either a PostCss mix or a Sass mix. However, when I used this Spatie package [laravel-mix-purgecss (https://github.com/spatie/laravel-mix-purgecss) it worked straight away.
I'm not sure if others have had any trouble but it might be worth mentioning the package in the docs as an alternative solution.
Thanks

I've been playing around with Webpack, Tailwind and Purgecss.
Have a look here: https://github.com/azdanov/tailwind-starter

Gonna close this as not an issue with the framework, if anything a PR suggesting any improvements to the docs if there's a mistake would be great 👍
https://github.com/tailwindcss/docs

Same issue. Spent an hour trying to make the example from the docs work. Spatie package sorted me out in 2 minutes.

Seems like it was a change in Mix 2.1 that caused it to stop working, trying to find out how you're supposed to add Webpack plugins to Mix now... The Spatie package works and uses a different class-based Mix API for extending it (https://github.com/spatie/laravel-mix-purgecss/blob/master/src/index.js), but for the docs example that seems like overkill.
My current suspicion is that mix.webpackConfig({ ... }) just doesn't work anymore at all, but hopefully that's not the case.

For what it’s worth I just tried it with a fresh Laravel installation (Mix 2.1.11) and the example in the docs works absolutely fine.

So did I and it didn't work at all 😅

Link to a repo that reproduces it not working for me:
https://github.com/adamwathan/mix-purgetest

Ah, okay. The difference I didn’t have any JS. Your example didn’t work for me, but if I remove .js('resources/assets/js/app.js', 'public/js') it does.

Now that's really bizarre 🤔


Add Copyright for ticket: ZQS-1162

Description
This PR updates the missing copyright notices.

Codecov Report

Merging #24 (9a66ffc) into main (ca46875) will decrease coverage by 0.00%.
The diff coverage is n/a.

@@            Coverage Diff             @@
##             main      #24      +/-   ##
==========================================
- Coverage   97.21%   97.20%   -0.01%
==========================================
  Files          26       26
  Lines         861      859       -2
==========================================
- Hits          837      835       -2
  Misses         24       24

Impacted Files
Coverage Δ

...orquestra/opt/optimizers/scikit_quant_optimizer.py
91.42% <ø> (ø)

src/orquestra/opt/api/optimizer_test.py
93.97% <0.00%> (-0.15%)
:arrow_down:

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


Can this module use with Magento2 Downloadable products?

Hey @magestyle,
No sorry, I haven't tested that scenario. It might work but it also might not!
I'll add it to the list of things to build.
Regards,
Thai


Scan configurations not taking from config file

Describe the bug
Scan and intercept configurations not taking from config file
I want to add new resource pool config for my future scans and turn off the intercept
Below is my config file:
`
{
    "target":{
            "scope":{
                    "advanced_mode":false,
                    "exclude":[],
                    "include":[
                            {
                                    "enabled":true,
                                    "prefix":"http://localhost"
                            }
                    ]
            }
    },
    "scanner":{
            "active_scanning_engine":{
                    "concurrent_request_limit":20,
                    "do_throttle":true,
                    "follow_redirects":true,
                    "number_of_retries_on_failure":3,
                    "pause_before_retry_on_failure":2000,
                    "throttle_interval":500,
                    "throttle_random":false
            }}

,
"proxy":{
"intercept_client_requests":{
"automatically_fix_missing_or_superfluous_new_lines_at_end_of_request":false,
"automatically_update_content_length_header_when_the_request_is_edited":true,
"do_intercept":false,
"rules":[
{
"boolean_operator":"and",
"enabled":true,
"match_condition":"(^gif$|^jpg$|^png$|^css$|^js$|^ico$)",
"match_relationship":"does_not_match",
"match_type":"file_extension"
},
{
"boolean_operator":"or",
"enabled":false,
"match_relationship":"contains_parameters",
"match_type":"request"
},
{
"boolean_operator":"or",
"enabled":false,
"match_condition":"(get|post)",
"match_relationship":"does_not_match",
"match_type":"http_method"
},
{
"boolean_operator":"and",
"enabled":false,
"match_relationship":"is_in_target_scope",
"match_type":"url"
}
]
}
}
}
`
Expected behavior
New scans should be run with these new resource pool config and intercept should be off
@adracea @ikkisoft any comments?

In Burp UI under User Options -> Misc -> Proxy Interception -> Enable Interception at Startup save the User Options file and load it through the rest api using --user-config-file= .

I tried this t @thing adracea but it came up with below exception
`
org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'burpService' defined in URL [jar:file:burp-rest-api-master/b
urp-rest-api-master/burp-rest-api-2.1.0.jar!/BOOT-INF/classes!/com/vmware/burp/extension/service/BurpService.class]: Bean instantiation via constructor failed; nested excepti
on is org.springframework.beans.BeanInstantiationException: Failed to instantiate [com.vmware.burp.extension.service.BurpService]: Constructor threw exception; nested excepti
on is java.lang.NullPointerException
`

Thanks @adracea ,it workerd. Can we set the  new resource pool config for my future scans?
Sometimes my scan got paused due to consecutive items got failed. I dont want it to get paused as it will hinder the process.

Not sure about the resource pool , I think that can be configured via a scan configuration which is saved in the scan config library but I'm not sure how that works in Burp itself . These are mostly burp suite configs and not related to API usage .

@ikkisoft  I have loaded my  config file with foll configuration. I want to pause the task if 100 consecutive items to be paused. But after loading the file also, pause_task_failed_audit_item_count is getting set to 10.
"scanner":{
            "error_handling":{
                    "consecutive_audit_check_failures_to_skip_insertion_point":2,
                    "consecutive_insertion_point_failures_to_fail_audit_item":2,
                    "number_of_follow_up_passes":1,
                    "pause_task_failed_audit_item_count":100,
                    "pause_task_failed_audit_item_percentage":0
            }
    }

@ikkisoft
Unfortunately, we cannot currently set a default configuration for the scan in Burp Pro for all the scans.
We can have the scan config option while performing the scan where we can load config json for that particular scan.
So can we take this as feature?

@hardikrana437 I just took a quick look at burp's extender API and it doesn't really look like it sadly . I think they only expose this option via burp's own rest api when starting a scan . The downside of their own api is the fact that it can only do crawl and audit scans , ignoring all of the sitemap data provided by automated tests .

@adracea so it's not possible to have this configure feature at scan level with this project?

@hardikrana437 Burp Suite doesn't expose Scanner 2.0 via the extender API , it used to be scanner configs were part of the Project Options and not a separate thing .

Also there is an option to load config files via the API which you could try to leverage . Like
PUT Configs -> Start Scan -> Finish ->Put 2nd Configs -> Start 2nd Scan ...

@adracea  Yes I have tried that thing but it didn't work
My config file is :
`
{
    "target":{
            "scope":{
                    "advanced_mode":false,
                    "exclude":[],
                    "include":[
                            {
                                    "enabled":true,
                                    "prefix":"http://mysite.com"
                            }
                    ]
            }
    },
    "scanner":{
            "active_scanning_engine":{
                    "concurrent_request_limit":100,
                    "do_throttle":false,
                    "follow_redirects":true,
                    "number_of_retries_on_failure":3,
                    "pause_before_retry_on_failure":2000,
                    "throttle_interval":500,
                    "throttle_random":false
            },
            "audit_optimization":{
                    "consolidate_passive_issues":true,
                    "follow_redirections":true,
                    "maintain_session":true,
                    "scan_accuracy":"normal",
                    "scan_speed":"normal",
                    "skip_ineffective_checks":true
            },
            "error_handling":{
                    "consecutive_audit_check_failures_to_skip_insertion_point":2,
                    "consecutive_insertion_point_failures_to_fail_audit_item":2,
                    "number_of_follow_up_passes":1,
                    "pause_task_failed_audit_item_count":100,
                    "pause_task_failed_audit_item_percentage":0
            }
    }

}
`
The scope is getting set with the url but when I went to burp UI and has naviagted to scan's configuration, the default configs are there instead of new one.(i.e pause_task_failed_audit_item_count is set with value 10 which is default one).

@hardikrana437 If this is the case...could you try using the rest api with a burp 1.7.X jar ? That might solve your issue here I guess

@adracea Unfortunately, I have only Burp version 2020.5 jar with me. Has this project needs to be updated to deal with that?

Plus is there any way @adracea that we can get the status of scan whether its running, paused or finished and if it is paused we can resume it after particular duration.

You can download older jar files from portswigger . Sadly the extender is not exposing such a thing , we can get the status and number of errors but we can't pause/resume a scan , we can only remove it/cancel it . The project currently works with everything that burp exposes through the extender , the fact that Burp doesn't expose extender API details for scanner 2.0 is an understandable probably intentional lapse on the developer's side since they now provide the "Enterprise" edition as well .

@adracea I tried with burp 1.7 with --headless.mode=false. I observed in scan queue tab all the tasks are has waiting status and there is Paused status at the botton. Plus there is no error_handling option in burp 1.7. However if I resume by double clicking on Pause, scan is getting started.
Can you tell the reason why scan is getting paused as there is no reason in event log.
Then I tried with headless mode and trigger the scan by /burp/scanner/scans/active. It is giving me the correct scan percentage but after few minutes when I am retrieving the scan status, /burp/scanner/status api is trying to fetch percentage but not coming out of loop. After some time it is throwing the error: Not able to fetch the response.


Fix ASN.1 integer decoding

Treat ASN.1 encoded integers with a leading zero byte and the MSB of the second byte set as non-negative

@freerdp-bot can you also test that fix ?

@freerdp-bot test

Ok the fuzzer caught a legitimate bug when the integer retrieval function is used to grab a len and with the modified function we return a negative value that pass the test of length that we do but fails later.

@freerdp-bot can you test again please ?

Ok the fuzzer caught a legitimate bug when the integer retrieval function is used to grab a len and with the modified function we return a negative value that pass the test of length that we do but fails later.

Not sure what you're referring to so didn't do anything about it (sorry). But do feel free to make the changes yourself!

Not sure what you're referring to so didn't do anything about it (sorry). But do feel free to make the changes yourself!

Forget my remark I was wrong.


Apply prettier

Add prettier and apply to the codebase. This should keep the codebase looking nice.

@blackmad i think tabs inside markdown doc examples is pretty iffy, it indents things a lot and makes them hard to read. In a code editor it’s easy to configure tabspaces=2, not sure how GitHub or other markdown renders handle the legibility issues

For me the primary issue is just having a .prettierrc here so when I save source code files in my editor, I don’t produce a big diff


Typo in syntax/javascript.vim

Dear othree,
Thank you for your great syntax file. It's the most updated js syntax for vim. I really love it and am porting your syntax to typescript.
I found a typo here https://github.com/othree/yajs.vim/blob/master/syntax/javascript.vim#L272, where javascriptClassBLock should be javascriptClassBlock, a minor typo.
Thanks for your plugin!!

Thanks


Configurable default language

Wagtail has its own notion of default language, but what we need here is the language that is shown when the user visits the page for the first time. For example, if the default language is English, a user visiting central.iogt.site is redirected to central.iogt.site/en/
In addition with #798 (which allows us to hide English from the page altogether if needed), these are the two behaviors we need to make another language than English the default language, without changing Wagtails' default language (which might have other unwanted implications).

Can this be done through slugs? ie in iogt-showcase currently here are the slug names for the homepages
English - home
Arabic - home-1
French - home-2
This also corresponds to the order of languages in the selector.

a couple of observations

Wagtail (actually Django) allows changing primary language here
when we open central.iogt.site (without locale), we are automatically redirected to the browser default locale version of the site here, e.g., if browser default locale is Spanish and we open the central.iogt.site, we will be automatically redirected to central.iogt.site/es/,  if browser default locale is English and we open the central.iogt.site, we will be automatically redirected to central.iogt.site/en/
we can change browser (chrome) locale from here

The potential workaround to this is to write a custom locale redirection middleware. Using that, we can specify a single locale (set in site settings) to redirect to whenever we receive a request without a locale in the URL.
Do we want to proceed with that?

Thanks @sheralim012.

Wagtail (actually Django) allows changing primary language here

We don't necessarily want the language of the Admin Panel to change, it's a bit frustrating that the user and Admin Panel languages are tied.

when we open central.iogt.site (without locale), we are automatically redirected to the browser default locale version of the site here, e.g., if browser default locale is Spanish and we open the central.iogt.site, we will be automatically redirected to central.iogt.site/es/,  if browser default locale is English and we open the central.iogt.site, we will be automatically redirected to central.iogt.site/en/

We do still want to keep this behavior.

The potential workaround to this is to write a custom locale redirection middleware. Using that, we can specify a single locale (set in site settings) to redirect to whenever we receive a request without a locale in the URL.

Let's discuss how much work this is. The behavior we would want is:

If there is a locale in the URL then direct to the Page in the locale
If there is no locale in the URL and the Page is available in the user's browser locale, then direct to that Page in the browser locale
If there is no locale in the URL and the Page is not available in the user's browser locale, then direct to the Page in the default locale

But - is there any scenario other than the homepage where a user will arrive on a Page where there is no locale in the URL? Right now I can only imagine this will happen if someone deliberately removes the locale from the URL.


App login: Fix check for public key

Bug reported here: https://github.com/near/near-wallet/issues/1539
This bug has not reached production yet. Reproducible on testnet.

sorry to bud in on this. But it may be better to fix the order of the dispatched actions here: https://github.com/near/near-wallet/blob/master/src/actions/account.js#L499
right now its:
dispatch(selectAccount(accountId)) // sets the account back to the initial state which doesn't include url
await dispatch(refreshAccount()) // introduces a race condition that can make it so the account.loader state may become true thus allowing PrivateRoutes to display
dispatch(handleRefreshUrl()) // re-adds the account.url state that was removed by selectAccount

May be better to do this:
export const switchAccount = (accountId) => async (dispatch, getState) => {
    dispatch(selectAccount(accountId))
    dispatch(handleRefreshUrl())
    dispatch(refreshAccount())
}

account to initial state
re add acount.url state
get account information making it possible to display PrivateRoutes

sorry to bud in on this. But it may be better to fix the order of the dispatched actions here: https://github.com/near/near-wallet/blob/master/src/actions/account.js#L499
right now its:
dispatch(selectAccount(accountId)) // sets the account back to the initial state which doesn't include url
await dispatch(refreshAccount()) // introduces a race condition that can make it so the account.loader state may become true thus allowing PrivateRoutes to display
dispatch(handleRefreshUrl()) // re-adds the account.url state that was removed by selectAccount

May be better to do this:
export const switchAccount = (accountId) => async (dispatch, getState) => {
    dispatch(selectAccount(accountId))
    dispatch(handleRefreshUrl())
    dispatch(refreshAccount())
}

account to initial state
re add acount.url state
get account information making it possible to display PrivateRoutes

Really appreciate the input @mehtaphysical!


[SPARK-6545][SQL][WIP] Minor changes

In HashedRelation, we'd better always return a valid CompactBuffer, particularly an empty CompactBuffer instead of null for a given key, this will be great helpful for the multiway join of the future  improvement.

Test build #29203 has started for   PR 5199 at commit 84d15d5.

This patch merges cleanly.

Test build #29210 has started for   PR 5199 at commit 645b9be.

This patch merges cleanly.

Test build #29203 has finished for   PR 5199 at commit 84d15d5.

This patch fails Spark unit tests.

This patch merges cleanly.

This patch adds no public classes.

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

Test build #29210 has finished for   PR 5199 at commit 645b9be.

This patch fails Spark unit tests.

This patch merges cleanly.

This patch adds no public classes.

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

Thank you @marmbrus , @srowen it was part of Multi-way Join, but since we are not going to implement that, I am tend to close this for now.


fix: handle errors from Tesseract

Certain regions of a document are failing ocr with this error:
pytesseract.pytesseract.TesseractError: (-8, 'Estimating resolution as 1250') (for some value)
When I try the same region on the CLI, I get:
$ tesseract bad_tile.jpeg output
Estimating resolution as 1813
Floating point exception

Whatever the root cause, let's catch this error and return an empty string.

Looks like those ingest tests have been failing on main for a while, so I'm assuming we can ignore here.

Looks like those ingest tests have been failing on main for a while, so I'm assuming we can ignore here.

Yeah, that just indicates the current version of unstructured-inference would produce different outputs if the ingests tests are run. Hopefully, they are good different outputs!


installing command throws a compile error

~$ go get -u github.com/itchyny/gojq/cmd/gojq
# github.com/itchyny/gojq/cli
Workspaces/go/src/github.com/itchyny/gojq/cli/error.go:81:12: er.Position undefined (type participle.Error has no field or method Position)
Workspaces/go/src/github.com/itchyny/gojq/cli/error.go:86:47: er.Position undefined (type participle.Error has no field or method Position)
Workspaces/go/src/github.com/itchyny/gojq/cli/error.go:87:37: er.Position undefined (type participle.Error has no field or method Position)
Workspaces/go/src/github.com/itchyny/gojq/cli/error.go:91:45: er.Position undefined (type participle.Error has no field or method Position)
Workspaces/go/src/github.com/itchyny/gojq/cli/error.go:92:29: er.Position undefined (type participle.Error has no field or method Position)

How about GO111MODULE=on go get github.com/itchyny/gojq/cmd/gojq ?

Yep, that's it!
Updating alecthomas/participle to the latest version also worked. Should I submit that as a pull request?

I expect the user to enable Go modules on installing but also fixed the implementation in 7990d591a2c4573d39aa2815e189898e66fff8dd, closing.


Analyzer fails to give error for implicitly disallowed enum names

According to section 13 ("Enums") of the Dart language spec:
"""The declaration of an enum of the form metadata enum E { id0, . . . idn−1}; has the same effect as a class declaration
metadata class E {
  final int index;
  const E(this.index);
  static const E id0 = const E(0);
  . . .
  static const E idn−1 = const E(n - 1);
  static const List<E> values = const <E>[id0 . . . idn−1];
  String toString() => { 0: ‘E.id0’, . . ., n-1: ‘E.idn−1’}[index];
}"""
Therefore, if an enumerated value is called "values", "toString", "noSuchMethod", "hashCode", or "runtimeType", or matches the enum name, this should result in a compile-time error.
Analyzer doesn't report a compile-time error in any of these circumstances.
The VM and Dart2js report the expected errors.

This is still an issue for analyzer. It will complain about the values value, but not the others given.

@scheglov fixed the "matches the enum name" part in https://github.com/dart-lang/sdk/commit/3d19be30b5c6783c6d5b6520a0aac750f33b3819.


CI: cilium.log cut off too early

Looking at master build regression https://jenkins.cilium.io/job/cilium-ginkgo/job/cilium/job/master/705/testReport/junit/(root)/runtime/RuntimeValidatedPolicies_L3_Dependent_L7_Egress/:
Failing test command is given in the above log as:
�[1mSTEP�[0m: Client "app3" attempting to curl public URL on httpd1
time="2018-04-23T11:28:51Z" level=debug msg="running command: docker exec -i  app3 curl -s --fail --connect-timeout 5 --max-time 5 http://<IP_ADDRESS>:80/public"

However, in the build artifacts the last logs in cilium.log are:
Apr 23 11:28:45 runtime cilium-agent[2652]: level=debug msg="level=debug msg=\"external/envoy/source/server/listener_manager_impl.cc:30]     name: envoy.http_connection_manager\" subsys=envoy-config thread=10093"
Apr 23 11:28:45 runtime cilium-agent[2652]: level=debug msg="level=debug msg=\"external/envoy/source/server/listener_manager_impl.cc:33]   config: {\"stat_prefix\":\"proxy\",\"route_config\":{\"virtual_hosts\":[{\"domains\":[\"*\"],\"routes\":[{\"match\":{\"prefix\":\"/\"},\"route\":{\"cluster\":\"cluster1\"}}],\"name\":\"default_route\"}]},\"http_filters\":[{\"config\":{\"denied_403_body\":\"\",\"access_log_path\":\"/var/run/cilium/access_log.sock\",\"policy_name\":\"<IP_ADDRESS>\"},\"name\":\"cilium.l7policy\"},{\"config\":{},\"name\":\"envoy.router\"}]}\" subsys=envoy-config thread=10093"

Basically cilium.log is missing the critical output right before and during the test command.

The regression in the test is that L3-dependent L7 policy does not take effect. The last policy for the endpoint that is visible in the logs does not have L7 at all, but we see from the very last line of the log that a L7 redirect/listener is being installed to Envoy. This should only happen if there is a L7 policy for that endpoint. Due to logs being cut off we don't see of such L7 policy is installed, and what the timing of that is in relation to the test command.

The way the logs end tells me that they are somehow cut off, as the test log has evidence that cilium-agent was running after the logs end (e.g., successful cilium policy wait 17). That happening would have more logs indicating the xDS ACKs, etc.
Another thing that may explain this is some kind of log rotation on, but do we have it on the cilium logs?

@jrajahalme in an effort to do some ticket cleanup, I'm closing this since #4054 was merged. We can reopen if we see this again.


[Question] Documenting multiple packages

I hope this isn't the wrong place to ask such a question, apologies if it is.
I'm looking to use Sami to document a bunch of internal packages at work, and I was wondering if Sami can handle documenting and navigating between all of those packages?
General example, but if we have a security and a support package can Sami document both and be able to navigate between the two packages? Or would I need to build out each packages docs, and build something to tie them all together?

If can configure Sami to inspect different branches/tags in same repository and the switch between them as different version of same project. However if you have different repositories that you want to connect together I'm afraid that it's impossible.

Yea this is for different repositories. Basically want to do the same thing Laravel does for all of its individual Illuminate packages, without having to have a giant repo containing every single one of our internal packages.

You can generate API docs for several packages, but then, you won't be able to use the Git integration and generate different versions automatically.


Support large data

http request will crash and no throw exception on large data
ex:
//fetch 2GB block
    const blocId = "00000000000000000a6c169c14cf8474b0bc32f3c800de64a9a5cef1526be815";
    console.log(blocId)

   await client.getBlock(blocId, 0)

support rest


fix(backend-github): don't create new commits on empty diff when rebasing

Empty commits could have been created before https://github.com/netlify/netlify-cms/pull/3306 was merged and published.
This fixes rebasing of entries created with empty commits.

Should we add some test coverage for this case?
Sent with GitHawk

Should we add some test coverage for this case?

This is quite an unusual case reflected by another bug.
I've been meaning to add edge cases scenarios to our e2e testing (e.g. out of sync forks, larger that 250 commits diffs). I'll add that to the list.

Context https://github.com/netlify/netlify-cms/issues/3373


Company Class

Must Contain:

[ ] name field
[ ] id field
[ ] platforms array field
[ ] addPlatform method

[ ] name parameter

[ ] getPlatform method

[ ] name parameter

Closed to make more accurate of meaning.


Issues with symbols in for-comprehension

I was not able to minimize this, but here's an example:
Given this code:
// ...
  override def logins(): F[List[SaltedgeLogin]] = {
    for {
      json <- httpClient.expect[Json](saltedgeRequest(baseUri / "logins"))
      logins <- IO.fromEither(json.hcursor.downField("data").as[List[SaltedgeLogin]]).to[F]
    } yield logins
  }

  override def transactions(): F[List[SaltedgeTransaction]] =
    for {
      logins <- logins
      transactions <- logins.parTraverse(transactionsByLogin).map(_.flatten)
    } yield transactions
// ...

I found two issues:

no definition is found for logins in <- logins in transactions(). The interesting bit is that it's found when making it logins()

the definition for logins in logins.parTraverse is wrong: it takes me to ParallelSyntax#catsSyntaxParallelTraverse in the cats library.

The full project can be found here: https://github.com/gabro/finanzio.
The snippet above is taken from https://github.com/gabro/finanzio/blob/master/finanzio/src/main/scala/finanzio/SaltedgeService.scala

Here's a minimized test case
  targeted(
    """package a
      |import scala.language.implicitConversions
      |class Ops[A](target: A) {
      |  def map(fn: A => A): A = fn(target)
      |}
      |object ops {
      |  implicit def toOps[A](target: A)(implicit tc: Ops[A]): Ops[A] = new Ops[A](target)
      |}
      |object Main {
      |  import ops._
      |  implicit val intOps: Ops[Int] = ???
      |  def number: Int = 42
      |  for {
      |    n <- <<number>>
      |  } yield n + 1
      |}
    """.stripMargin, {(doc, opsMap) =>
      pprint.log(opsMap) // prints "a/ops.toOps()."
    }
//    ""
  )

Changing number into number() fixes the problem and prints "a/Main.number()."


Refactored Touch Screen Input Source to Device Manager

Overview

Refactors the Touch Screen input source to a device manager.
Added Touch Screen Input Device Manager to Mixed Reality Manager.
Moved Unity Device Manager to be registered on any platform (Should be cross platform by default).
Added manipulation events
Added Input Source Position Updated with current touch position
Added ability to add missing controller types in the Controller Config Profile

Changes

Related to #2680

Blocked by https://github.com/Microsoft/MixedRealityToolkit-Unity/pull/2695

Not that I'm aware of.

I forgotten some files

That's not possible. The unity device manager only updates controllers when the joystick array is updated. Touch screen and mouse input are not part of that array.

@StephenHodgson, what is blocking this PR?

#2695


[d3d9] Respect D3DLOCK_NOOVERWRITE for pools other than DEFAULT

Should hopefully improve #1730
Konosuba uses a big buffer and locks part of that with NOOVERWRITE before almost every draw call.

This breaks Halo CE (flickering).
I can't reproduce the performance problems on either Nvidia or AMD in the Konosuba game.

(I checked HaloCE and Halo 2 and all their D3DPOOL_SYSTEMMEM buffers are D3DUSAGE_WRITEONLY | D3DUSAGE_DYNAMIC)
I'll need to go through and check if renaming the exe/changing the hash breaks this on native. Maybe they have a hack for it.

Maybe it's based on the usage instead of the pool?


Eri9600/open scene

@TADraeseke Open Scene with a portal item sample, shown here: https://devtopia.esri.com/runtime/common-samples/issues/566

@TADraeseke I have made the suggested changes. Let me know if everything is good.

@TADraeseke Added the comments you suggested. Merging now.


Added previous Mithra overrides from GLEW project

Added previous Mithra overrides from GLEW project

It might be best to split this across multiple PRs.

I think the code looks good now. Please squash your commits and I'll merge.

Commits have been squashed to . Please let me know if anything else is needed.

merged. thanks for the contribution :smile:


Need Conversion Function from FormlyFieldConfig Schema to JSON Schema

I'm submitting a ...  (check one with "x")
[ ] bug report => search github for a similar issue or PR before submitting
[ x] feature request
[ ] support request

Current behavior

FormlyFieldConfig schema could not be used to validate the model before binding.
Since it is not JSON, it is difficult to pass from API to UI and difficult to manipulate.
Expected behavior

If there is a conversion function like below, would be grate help.
formlyJsonschema.toFieldConfig(this.jsonSchema)

Since there is designer  for FormlyFieldConfig, it is easy to build schema.
but could not find any such tool for JSON Schema.
if we define manually, we are not sure key name is correct and would convert properly to FormlyFieldConfig, etc.
For instance, we extend many type like tab, accordion, etc and don't know how to define the same in JSON schema.
Minimal reproduction of the problem with instructions

Feature Request.
What is the motivation / use case for changing the behavior?

Would be grate help for developer to covert FormlyFieldConfig Schema to JSON schema.
Please give some some sample/document for mapping between FormlyFieldConfig schema to JSON Schema.
I know we can use JSON schema but need to know the mapping between these two.
Please tell us about your environment:

Windows 10

Angular version: 2.0.X

Angular 8

Browser: [all | Chrome XX | Firefox XX | IE XX | Safari XX | Mobile Chrome XX | Android X.X Web Browser | iOS XX Safari | iOS XX UIWebView | iOS XX WKWebView ]

Language: [all | TypeScript X.X | ES6/7 | ES5]

Node (for AoT issues): node --version =

added a note in https://github.com/ngx-formly/ngx-formly/issues/1459


Built-in Treminal. Keyboard layout does not switch, does not switch to another language

The built-in terminal does not switch to another input language.
Clean installation of KUbuntu 24.04, clean installation of VSCode, two languages installed: English and Russian. Other applications switch languages normally.
If you switch to Russian in the built-in terminal and press CAPS LOCK, you will enter large Cyrillic letters, if you unpress CAPS LOCK, you will enter Latin characters, if you press SHIFT, you will also enter large Cyrillic letters.
About VSCode and system
Version: 1.90.2
Commit: 5437499feb04f7a586f677b155b039bc2b3669eb
Date: 2024-06-18T22:33:48.698Z
Electron: 29.4.0
ElectronBuildId: 9728852
Chromium: 122.0.6261.156
Node.js: 20.9.0
V8: 12.2.281.27-electron.0
OS: Linux x64 6.8.0-36-generic
Operating System: Kubuntu 24.04
KDE Plasma Version: 5.27.11
KDE Frameworks Version: 5.115.0
Qt Version: 5.15.13
Kernel Version: 6.8.0-36-generic (64-bit)
Graphics Platform: X11
Processors: 6 × AMD Ryzen 5 3600 6-Core Processor
Memory: 5,2 GiB of RAM
Graphics Processor: llvmpipe
Manufacturer: innotek GmbH
Product Name: VirtualBox
System Version: 1.2

Maybe VSCode doesn't work properly with fcitx
https://fcitx-im.org/wiki/Fcitx_5


After recovery: RabbitAdmin manual declarabes are not being declared

Back port of issue https://github.com/spring-projects/spring-amqp/pull/2429

Closed by 61f535b7d


.github/workflows/ci.yml: update outdated actions

Github is moving on from these action versions, several of them seem to have stopped working (or at least cause PRs to fail qa checks).  Time to update.
Background
While preparing another PR for this repo, I saw errors like this from CI about outdated github actions:
"The following actions uses Node.js version which is deprecated and will be forced to run on node20: actions/setup-go@v4. For more info: https://github.blog/changelog/2024-03-07-github-actions-all-actions-will-run-on-node20-instead-of-node16-by-default/ "
This PR is the minimal set of changes to get rid of those warnings, plus a related one (actions/artifact-download@v4) that will be deprecated soon.
Checklist

[x] Git commit messages conform to community standards.
[x] Each Git commit represents meaningful milestones or atomic units of work.
[x] Changed or added code is covered by appropriate tests.

Merged in 0ef413510bd1a58f8b7a301cbaebb89ddf8e6b97


Remove the !!! caution from the markdown

There are elements in the markdown that use !!! caution and they don't render very well.

I believe there's something broken with that particular instance of !!! caution. It's used by mkdocs to render blocks like this one

https://microsoft.github.io/AzureTRE/tre-developers/api/

Now resolved per @jjgriff93 fix
see: https://microsoft.github.io/AzureTRE/tre-admins/setup-instructions/pre-deployment-steps/


UpdateRemotePlugins fails with an exception

While I try to use the deoplete or unite plugin and use UpdateRemotePlugins I get the following exception:
Vim(if):Channel was closed by the client
Error detected while processing function <SNR>18_UpdateRemotePlugins..<SNR>18_RegistrationCommands..remote#host#Require..<SNR>18_RequirePythonHost:
line   21:
E605: Exception not caught: Failed to load Python host. You can try to see what happened by starting Neovim with the environment variable $NVIM_PYTHON_LOG_FILE set to a file and opening the generated log file. Also, the host stderr will be
 available in Neovim log, so it may contain useful information. See also ~/.nvimlog.
Error detected while processing function <SNR>18_UpdateRemotePlugins..<SNR>18_RegistrationCommands..remote#host#Require:
line   10:
E171: Missing :endif
Error detected while processing function <SNR>18_UpdateRemotePlugins:
line    5:
E171: Missing :endif

Example init.nvim:
call plug#begin('~/.config/nvim/bundle')
Plug 'Shougo/deoplete.nvim'
call plug#end()

or:
call plug#begin('~/.config/nvim/bundle')
Plug 'Shougo/unite.vim'
call plug#end()

The ~/.nvimlog file does not contain any related messages.

@PonderingGrower I believe you may have been a bit quick to blame us. Message says you are missing the required python host. Reading deoplete, the plugin requires the python3 hosr. I imagine then if you start nvim and do :echo has('python3') it returns 0. So try doing (assuming debian based) sudo apt-get install python3-pip && sudo pip3 install neovim.
If that resolves it, please close. Just a warning, but remember that nvim is still alpha and so is that plugin, we aren't responsible for either.

I guess I should have mentioned that as well. No, I get 1 when I run :echo has('python3') with either of those minimal configs.
And I already did all the things you mentioned.

I did make an issue for neovim (https://github.com/neovim/neovim/issues/3749) but I closed it since I figured it's probably more related to this plugin. I might be wrong.

To be clear, we don't maintain UpdateRemotePlugins either, that's a command exported by neovim.

Really? Then why when I run nvim -u NONE and try to use UpdateRemotePlugins I get:
E492: Not an editor command: UpdateRemotePlugins

@PonderingGrower Well I just tried the deoplete plugin with nvim using vim-plug and it seems to register fine :/. Seems to be a local issue on your machine. I'd recommend purging the python3 pip package and reinstalling. Also, try clearing your nvim folder and starting fresh.
Regarding UpdateRemotePlugins, see :h remote-plugin-manifest. The Command in question is exported by vimscript sourced on init but provided by neovim.

I just did what you suggested.

Removed neovim pip package,
Installed it again.
Created new empty ~/.config/nvim
Created this minimal init.vim
call plug#begin('~/.config/nvim/bundle')
"Plug 'Shougo/deoplete.nvim'
Plug 'Shougo/unite.vim'
call plug#end()
Installed unite using PlugInstall.
Resterted neovim
Tried using UpdateRemotePlugins:

And I get:
Vim(if):Channel was closed by the client Error detected while processing function <SNR>22_UpdateRemotePlugins..<SNR>22_RegistrationCommands..remote#host#Require..<SNR>22_RequirePythonHost:
line   21:
E605: Exception not caught: Failed to load Python host. You can try to see what happened by starting Neovim with the environment variable $NVIM_PYTHON_LOG_FILE set to a file and opening the generated log file. Also, the host stderr will be
 available in Neovim log, so it may contain useful information. See also ~/.nvimlog.
Error detected while processing function <SNR>22_UpdateRemotePlugins..<SNR>22_RegistrationCommands..remote#host#Require:
line   10:
E171: Missing :endif
Error detected while processing function <SNR>22_UpdateRemotePlugins:
line    5:
E171: Missing :endif

I think it might make more sense to reopen the neovim issue I created in the first place considering UpdateRemotePlugins really is a neovim command. The thing is it's loaded only if there's at least an empty init.vim. It's not available with nvim -u NONE.

@PonderingGrower This is the expected behavior from vim. The sourcing of the command is part of default initializations.
Excerpt of man vim:
-u {vimrc}  Use the commands in the file {vimrc} for initializations.  All the other initializations are
                   skipped.  Use this to edit a special kind of files.  It can also be used to  skip  all  ini‐
                   tializations  by  giving  the  name  "NONE".  See ":help initialization" within vim for more
                   details.

As to the continuing neovim plugin problem, I can't say I'd be much help. I'm not a major neovim user. I'd say reopen the neovim ticket or even make another, you might ping shougo since he''s done a lot of work on the python host. Sorry couldn't fix it.

It's cool, you helped me figure out that this is not vim-plug specific. I'm closing this. Cheers!

For anyone that came here looking for a solution to this problem, I ended up finding out that my python-neovim plugin, installed with pip3, was at version 0.2.0, which is incompatible with deoplete, as per their documentation


user settings - scheduled/manual refresh from within the settings dialog doesn't work properly

If user settings dialog is open and no changes were done by the user but a property was changed not by the current browser (other browser or via rest) and a refresh is activated to fetch backend data (manual or scheduled)  ->
then instead of updating the dialog relevant fields based on backend values , the 'save' button becomes enabled. Only leaving and re-entering the settings dialog will update the fields as it should.
We should either block manual/scheduled refreshes while settings dialog is opened or just fetch all data from backend and update ui fields. if no changes were done on ui (so no conflicts). As it is now- it seems strange.
We can also consider adding a message so that the user will know and suggest him to re-enter the dialog.

it was discussed a long time ago - this is such a corner case it's really not worth the effort, the whole "background refresh" shouldn't have been implemented....

@michalskrivanek Exactly, so I suggest to block the refresh while dialog is opened. Current scenario is that once one of the backend properties were changed, the 'save' button suddenly becomes enabled without a reason. The user won't know why and leaving the dialog requires applying that all user changes are discarded which is even more strange since nothing was triggered by the user on 1st place

i don't midn the current behavior either tbh. it will never happen in reality anyway.

i don't midn the current behavior either tbh. it will never happen in reality anyway.

OK, I agree it's a corner case but it's also easy to fix (if current page is settings -> skip refresh).
We are not planning on handling it for 4.4.7 anyway.


Automated Kubernetes version update 1.27.1 1.26.4 1.25.9 1.24.13 1.23.17 1.22.17

Automated changes by the cron-kubernetes-update GitHub action
Adds [Kubernetes](https://kurl.sh/docs/add-ons/kubernetes) version(s) 1.27.1 1.26.4 1.25.9 1.24.13 1.23.17 1.22.17.

This is blocked. First need to fix kubeadm conf version issue.

Blocked by SC-71648

Ref: SC-74454


Rename ArangoDB VERSION file (3.7)

VERSION file rename to avoid Apple SDK #include <versions> possible problem.
oskar PR: https://github.com/arangodb/oskar/pull/318
http://jenkins01.arangodb.biz:8080/job/arangodb-ANY-packages/23/

Unrelated failures in tests only.


Can't find libjvm.so without help?

I did this on a Linux system:
conda create -n jtest r-base=3.4.3 r-rjava openjdk
conda activate jtest
R

then enter
library("rJava")

I received this error:
Error: package or namespace load failed for ‘rJava’:
 .onLoad failed in loadNamespace() for 'rJava', details:
  call: dyn.load(file, DLLpath = DLLpath, ...)
  error: unable to load shared object '/home/builder/miniconda3/envs/jtest/lib/R/library/rJava/libs/rJava.so':
  libjvm.so: cannot open shared object file: No such file or directory

But if I look for libjvm.so within that PREFIX, I get this:
./lib/lib/amd64/server/libjvm.so
./jre/lib/amd64/server/libjvm.so

I'm a little surprised by the lib/lib, but regardless, this should have worked, right? Setting LD_LIBRARY_PATH to one of those directories solves the problem.
cc: @mingwandroid

rJava is a huge pain. It only supports system Java detected at build time so I have patches that makes this search and load happen dynamically.
Seems that upstream changes break my patches every other release, roughly.

OK. Alas on Ubuntu at least my VM doesn’t have Java by default, and neither of the two Java packages I installed were detected.

I do notice that your patch tries to be flexible, but what if we force it to detect only Java installed in the environment instead? Then we can make Java a dependency.

Well, I need to figure out what's broken and fix it really. We need our jdk/jvm used at build time to be compatible with any future jdk/jvm the user may have installed at runtime and that means using the CentOS6 one at build time. It's messy but it's on my radar. I don't actually want to make any jdk a requirement here because I believe it would preclude using a custom java stack and I believe that is very important to some enterprise customers (I implemented this dynamic behaviour based on a customer support request, having already done the same thing - and upstreamed it - with python's javabridge: https://github.com/LeeKamentsky/python-javabridge/pull/117)


tests: sys_sem: add k_thread_join() calls

There is a race condition between the child threads
exiting, and the child threads getting re-used in the
next scenario. This reproduces more often on SMP systems.
Close the race by joining on the child threads before
exiting any test scenario.
Signed-off-by: Andrew Boie<EMAIL_ADDRESS>

Hi, may I understand more about this, does the "k_thread_abort( )" also work here too?

Yes that can work too! Both ensure that the thread is no longer running, which fixes the race condition.


allow processing of multiple steps in load case

thinking of multiple eccentric load cases in particular. Plot all steps as overlay on plot and maybe include an envelope one as well.

Thanks Jacob. I have a question into CSI outlining some of the issues I am running into with the API regarding autoseismic and autowind  steps.
https://www.eng-tips.com/viewthread.cfm?qid=516549

making progress

Full Functionality added for ASCE 7-16 and ASCE 7-22 load patterns.


Change GitHub workflows 🚀

Description
Pull request
Opened / reopened

test
build

Closed
✅ PR is merged:
if: github.event.pull_request.merged == true

Create git tag and create GitHub Release as draft.
Git Tag name is:
Increase minor version: PR has feature label.
Increase patch version: PR has bug, docs, chore, dependencies, ...
❌ PR is not merged:
Do nothing
Push
branch: main

test
build

https://docs.github.com/en/actions/learn-github-actions/contexts#github-context

https://github.com/bbonkr/next-version-proposal-action


TOBEDISCUSSED mandatory linkcheck for deployment

linkcheck is important but blocks from time to time a deployment.

I was just discussing this with @tkimnguyen in Discord not too long ago. He mentioned that he had some problems setting up the local dev environment to build the docs and run make linkcheck, but did not elaborate on how to improve our setup docs.
Anyway, I think that the test GitHub Action should be broken into two different tasks: linkcheck and spellcheck. It will make finding mistakes easier. It will also run jobs in parallel, speeding up the test processes.
I see two questions:

What do we do when a link breaks?
a. Nothing. This leads to bitrot. I do not like this option.
b. Update the link to something useful, even if it is on https://archive.org/.
c. Delete the link.

Who is responsible for maintaining the links when they break?
a. Original author who wrote the link, using git blame. This option is not good. It could mean hunting down someone who might have moved on and has no interest in updating it (for example, the WSGI training).
b. Core Training docs maintainers. We already do too much!
c. Person submitting a PR where broken links are exposed, either as part of their PR or not. If the person submitting the PR breaks a link, they should definitely fix it. But if their PR is unrelated to the broken link, it sure would be nice for them to also update the broken links while they are in there. This helps spread the burden of maintaining links.

Unfortunately we have a culture in Plone of doing nothing when links break. Do we want to change that? Am I the only person who cares enough to do anything about it?

I just hadn't gotten around to figuring out what my local setup problem was. I didn't follow the page of setup instructions you referred to. I just tried to setup sphinx and the required myst parser the way I usually do: stumbling...
I dislike the links to external information because of bistrot. So many blog posts etc we currently point to in the main docs are now gone. I think if the information being linked to is important, we should include it right in our own material (and leave the link as a credit/reference).

Great input and base for discussion. That's why I opened the issue and Plone is evolving. Please let's think about and come back to it.
Now I need to maintain the training docs. And the linkchecker is in my way. So will disable the linkcheck now, temporarily.

So many blog posts etc we currently point to in the main docs are now gone. I think if the information being linked to is important, we should include it right in our own material (and leave the link as a credit/reference).

I think we already do this, but we should definitely include this point in our Authors Guide.
As far as what kinds of links go bad:

Blog posts
Deep links to specific sections in external documentation
VirtualBox.org, again!
Rate limiting (GitHub especially)

I could write something up that is more guideline-ish for the Authors Guide.
What is your opinion about links that exist and go bad? Who should fix them?

Anyway, I think that the test GitHub Action should be broken into two different tasks: linkcheck and spellcheck. It will make finding mistakes easier. It will also run jobs in parallel, speeding up the test processes.

See PR #578.

I could write something up that is more guideline-ish for the Authors Guide.

Actually I already did this: https://training.plone.org/5/contributing/authors.html#all-links-must-be-valid
As far as any other actionable items in this issue, the only one is to restore the enforcement of linkcheck when @ksuess is done with her work.

@stevepiercy, please reopen if you think it is still relevant.

Nope, we're good. linkcheck is re-enabled.
One more thing to notice, I made some changes to the Sphinx configuration in Documentation that are worth consideration for Training.  What do you think about changing the Training config?

yes, good idea. I just now experienced the case that a merge in main failed on link checks, but succeeded on a re-run. So, yes, a linkcheck_retries=2 is an enhancement.


Enable Apple Silicon CI runner

no free tier yet: https://github.com/actions/runner-images/issues/8439#issuecomment-1743526558

Hi @michalk8 ,
You can try FlyCI's M1 and M2 runners. They are on average 2x faster and 2x cheaper than GitHub's AND we have a free tier for OSS projects (see below).
Install Instructions

Install FlyCI app and
Easily replace one line of code and start using FlyCI runners:

jobs:
 ci:
-    runs-on: macos-latest
+    runs-on: flyci-macos-large-latest-m1
   steps:
   - name: 👀 Checkout repo
     uses: actions/checkout@v4

500 mins/month Free for Public Repos
Since your repo is public, FlyCI offers 500 mins/month of free M1 runner usage with the flyci-macos-large-latest-m1 runner for public projects.
Don't hesitate to contact us in case the free tier doesn't suit your needs or you experience any issues with the runners. Our team is here to support you!
Best Regards,
Veselina Radeva
Product Manager at FlyCI


Focus next field on enter in plant community actions and indicator plants

Relates to #169 and #177

@calebissharp all yours, i'm going to axe the pending deployments in jenkins to speed things up

@micheal-w-wells Sounds good, thanks.


Make website publically accessible

Set document title to post title
Add custom login page
Reload content after logging in or out

There's a small bug currently that after logging out some data is still available in Pinia, but as it is removed in IndexedDB it will not be visible on reload. Didn't fix this as we want to refactor away from heavy Pinia usage so this will probably be fixed then.

On the custom login page, when hovering over the "Login as guest" button, the shade should perhaps get a bit darker. At the moment the button feels a bit "dead".

When selecting "Login as guest" it still shows the BCC login.
Not sure if it is possible to change that?

AFAIK not, it's also this way for the current website.

Logging out does not do a global Auth0 logout either

That is because that is a separate login instance that we're redirecting the user to. We would need to integrate with BCC's system to do a logout of their system, which I don't think we want to do.


with local access point, workers pinging leader is slow

ping leader.local is slow
ping -n leader.local is fine
ping <ip> is fine
publish(..., hostname="leader.local") is slow
https://serverfault.com/questions/978557/ping-is-very-slow-to-start-if-hostname-is-provided-even-though-dns-resolution-ha
https://serverfault.com/questions/287971/ping-with-long-delay-but-short-reported-time
https://superuser.com/questions/753803/why-does-it-take-longer-to-ping-by-hostname-than-by-ip-address

I can also solve this by specifying leader_address to be the static IP, but that feels not great.

I needed to change the IPs to DNS providers in the leader from the defaults (<IP_ADDRESS>, etc), to the AP machine. This is specified in  /etc/dnsmasq.d/090_wlan0.conf. After doing this, and restarting the host machine, everything is fast on the clients (after reconnecting).
You can check that this local DNS is being used by checking /etc/resolv.conf


Question about customize serialization/deserialization

Hi, there.
I already have a client/server protocol communicating using msgpack, I'm trying to re-implementing the server using RUST, but have had some problems recently with how to customize the serialization using serde.
For each message, the sender side will first send an integer id to indicate the message type, and then with the real message, that's the opposite for the other part.
Message define:
use serde::{Deserialize, Serialize};

#[derive(Deserialize, Serialize, Debug, Clone)]
pub struct LoginReq {
    pub username: String,
    pub password: String,
 }

#[derive(Deserialize, Serialize, Debug)]
pub struct LoginRsp {
    pub ret: u32,
 }

#[derive(Deserialize, Serialize, Debug)]
pub enum Msg {
    LoginReq(LoginReq),
    LoginRsp(LoginRsp),
}

By default, type Msg will encode into a map, which is not compatible with the current protocol, so I want to implement a customize serializer/deserializer:
impl Serialize for Msg {
    fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
    where
        S: serde::Serializer,
    {
        match *self {
            Msg::LoginReq(ref msg) => {
                // HOW TO DO IT?
                let mut sv = serializer.serialize_struct("LoginReq", 2)?;
                sv.serialize_field("username", &msg.username)?;
                sv.serialize_field("password", &msg.password)?;
                sv.end()
            }
            Msg::LoginRsp(ref msg) => {
                let mut sv = serializer.serialize_struct_variant("Msg", 0, "LoginRsp", 1)?;
                sv.serialize_field("code", &msg.code)?;
                sv.end()
            }
        }
    }
}

Take LoginReq for example, I want to first send a primitive id equal to 0, and then the real object, how can I do that? serialize_struct have to take ownership of serializer so I can't use it to do two serialization in one call.

Hi @tubzby, sorry that no one was able to provide guidance here. If this is still an issue, you could try taking this question to any of the resources shown in https://www.rust-lang.org/community. This library is one of the most widely used Rust libraries and plenty of people will be able to provide guidance about it.


How can I pass --from-platforms using plain Jib CLI?

In Gradle it's possible:
./gradlew -Djib.from.platforms="linux/amd64,linux/arm64"

But when I use CLI (I really use CLI in one of the projects):
jib ... --from-platforms="linux/amd64,linux/arm64"

this fails with
Unknown option: '--from-platforms=linux/amd64,linux/arm64'
Possible solutions: --from-credential-helper, --from-username, --from-password, --from
Usage: jib jar [-hV] [--allow-insecure-registries]
               [--send-credentials-over-http]
               [--base-image-cache=<cache-directory>] [--console=<type>]
               [--creation-time=<creation-time>] [--from=<base-image>]
               [--image-format=<image-format>]
               [--image-metadata-out=<path-to-json>] [--mode=<mode>]
               [--name=<image-reference>] [--project-cache=<cache-directory>]
               -t=<target-image> [-u=<user>] [--verbosity=<level>]
               [--additional-tags=<tag>[,<tag>...]]...
               [--entrypoint=<entrypoint>[\s+<entrypoint>...]]...
               [--environment-variables=<key>=<value>[,<key>=<value>...]]...
               [--expose=<port>[,<port>...]]... [--jvm-flags=<jvm-flag>[,
               <jvm-flag>...]]... [--labels=<key>=<value>[,
               <key>=<value>...]]... [--program-args=<program-argument>[,
               <program-argument>...]]... [--volumes=<volume>[,<volume>...]]...
               [--credential-helper=<credential-helper> |
               [--username=<username> --password[=<password>]] |
               [[--to-credential-helper=<credential-helper> |
               [--to-username=<username> --to-password[=<password>]]]
               [--from-credential-helper=<credential-helper> |
               [--from-username=<username> --from-password[=<password>]]]]]
<EMAIL_ADDRESS><jarFile>

Looking at CommonContainerConfigCliOptions, jib-cli doesn't seem to have a command-line parameter for it.
Unfortunately, the only workaround I can think of is to use the jib build command and specify platforms in jib.yaml.
from:
  image: "ubuntu"
  # set platforms for multi architecture builds, defaults to `linux/amd64`
  platforms:
    - architecture: "arm"
      os: "linux"
    - architecture: "amd64"
      os: "darwin"

@chanseokoh thank you for the quick response, I thought so according to the documentation, and I will try the yaml approach. I will close the issue with this resolution, but I have just a question maybe you know
Do you have any defaults in jib.yaml to set? Let's say I have my CLI command with N parameters, if I set all of them as yaml fields will it be enough, or should I default something else? I could reverse but frankly, I don't have time for this

I just realized that I use jar command and not build and the first doesn't support the jib.yaml file. So I have to either use build command or get back to the Gradle plugin here


pybluetooth initial commit

Note: this is a public repo!
This is mostly the same code as in my other, internal PR.
I'll leave some comment in the code where I changed things compared to the other PR.
@chrisc11 @cpattenden @tyhoff @dethredic @Hexxeh

🚢


Add delivery date to OMIS order

This adds a delivery_date field to the order model and related endpoints.
The format is ISO 8601 e.g. 2017-12-30.

Codecov Report

Merging #386 into develop will increase coverage by <.01%.
The diff coverage is 100%.

@@             Coverage Diff             @@
##           develop     #386      +/-   ##
===========================================
+ Coverage    95.85%   95.85%   +<.01%
===========================================
  Files           70       70
  Lines         2704     2705       +1
  Branches       243      243
===========================================
+ Hits          2592     2593       +1
  Misses          79       79
  Partials        33       33

Impacted Files
Coverage Δ

datahub/omis/order/serializers.py
100% <100%> (ø)
:arrow_up:

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 1d42d56...d621a7c. Read the comment docs.


Add proper error message for MSVC incompatibility

Makes it obvious to the user that they should use the GNU ABI rust build instead of the MSVC ABI build

Thanks for the PR! In the interest of maintaining backwards compatibility, could the existing signature of target_supported stay the same?

Done

Thanks!


Layout invalidated when referencing missing search param

Describe the bug
I have a layout that loads some data based on a search param. If the search param is not provided, I expect the layout to not be re-run on navigation to child routes. However, it appears that the layout will be re-run on every child route change, despite the search param never being provided.
Reproduction
https://stackblitz.com/edit/sveltejs-kit-template-default-dkhony?file=src%2Froutes%2F%2Blayout.server.js
Logs
No response
System Info
System:
    OS: Linux 5.0 undefined
    CPU: (8) x64 Intel(R) Core(TM) i9-9880H CPU @ 2.30GHz
    Memory: 0 Bytes / 0 Bytes
    Shell: 1.0 - /bin/jsh
  Binaries:
    Node: 16.20.0 - /usr/local/bin/node
    Yarn: 1.22.19 - /usr/local/bin/yarn
    npm: 9.4.2 - /usr/local/bin/npm
    pnpm: 8.6.10 - /usr/local/bin/pnpm
  npmPackages:
    @sveltejs/adapter-auto: ^2.0.0 => 2.1.0
    @sveltejs/kit: ^1.20.4 => 1.22.4
    svelte: ^4.0.5 => 4.1.2
    vite: ^4.4.2 => 4.4.9

Severity
blocking an upgrade
Additional Information
Something else to note is that I'm using a wildcard route.

Possibly the same/related? Although I'm seeing the invalidation happen even when there is no searchParams.
https://github.com/sveltejs/kit/issues/8403

It's indeed a duplicate of #8403, closing in favor of that. Your use case is the same: You listen to searchParams, which means as soon as anything happens with the URL the layout is rerun, which you don't want. #8403 would solve that.

Got it and thanks for the info.
Here's the docs that need to be updated to match the behavior: https://kit.svelte.dev/docs/load#rerunning-load-functions-when-do-load-functions-rerun
"It references a property of url (such as url.pathname or url.search) whose value has changed."
In my case the search param is not set, which means the value of url.searchParams hasn't changed, even though url.pathname has.


Create cache / offline support e.g. with .m2

I love this build system.
Would be nice to have the possibilities to use the .m2 or .gradle or a new .blb global folder

Thanks @YunaBraska.
bld uses the .m2 directory, just add MAVEN_LOCAL to your list of repositories.
You can also publish your artifacts to the .m2 repository using:
./bld compile publish-local

Ah cool, must have missed it in the documentation

ah, cool, that wasn't clear to me. thx.


Tooling fails on windows

Using path.posix creates paths that don't work on windows. Details can be found here: https://github.com/LaxarJS/laxar/issues/484

Fixed on master (v2.0.2).


Process PublicEvent properly

The PublicEvent occurs when someone makes a private repository public. This isn't too frequent, but it's also not uncommon. Thus, I'd like to display this properly on the live feed.
To resolve this, you'll need to:

Inspect the structure of a PublicEvent; see the Activity API for GitHub's REST API, the Public Event, and the dump of the REST Endpoint that we hit
Add a case statement for PublicEvent in GitHubEventAction.tsx
Process the relevant parameters for the statement that we'd like to generate. I would like to see something like:

@mattxwang made uclaacm/website public

(which is hard, since the current component doesn't support this format, and thus would require a bit of refactoring. I'm open to this as well!)
or, more easily,
@mattxwang made a new repository public: uclaacm/website

Where the author and the repository are linked.
See #10 for a related issue and resolving PR!
Artifacts / Relevant Pointers
The relevant file is here:
https://github.com/uclaacm/opensource/blob/7c44795e44d802be8422e79b7ba42f8ab42f8398/components/GitHubEventAction.tsx#L12
The current behaviour is here:

And here is the JSON that renders those two events:
  {
    "id": "18372859076",
    "type": "PublicEvent",
    "actor": {
      "id": 8324381,
      "login": "uclaacm",
      "display_login": "uclaacm",
      "gravatar_id": "",
      "url": "https://api.github.com/users/uclaacm",
      "avatar_url": "https://avatars.githubusercontent.com/u/8324381?"
    },
    "repo": {
      "id": 389225887,
      "name": "uclaacm/studio-creative-tutorials-f21",
      "url": "https://api.github.com/repos/uclaacm/studio-creative-tutorials-f21"
    },
    "payload": {

    },
    "public": true,
    "created_at": "2021-10-11T03:26:36Z",
    "org": {
      "id": 8324381,
      "login": "uclaacm",
      "gravatar_id": "",
      "url": "https://api.github.com/orgs/uclaacm",
      "avatar_url": "https://avatars.githubusercontent.com/u/8324381?"
    }
  },
  {
    "id": "18372852273",
    "type": "PublicEvent",
    "actor": {
      "id": 8324381,
      "login": "uclaacm",
      "display_login": "uclaacm",
      "gravatar_id": "",
      "url": "https://api.github.com/users/uclaacm",
      "avatar_url": "https://avatars.githubusercontent.com/u/8324381?"
    },
    "repo": {
      "id": 387991465,
      "name": "uclaacm/studio-beginner-tutorials-f21",
      "url": "https://api.github.com/repos/uclaacm/studio-beginner-tutorials-f21"
    },
    "payload": {

    },
    "public": true,
    "created_at": "2021-10-11T03:25:37Z",
    "org": {
      "id": 8324381,
      "login": "uclaacm",
      "gravatar_id": "",
      "url": "https://api.github.com/orgs/uclaacm",
      "avatar_url": "https://avatars.githubusercontent.com/u/8324381?"
    }
  },

Hi, can I work on this?


Fix warning message not colored in yellow

Closing, not every arg we log is a string. Forgot about that 🙈


mWeb - Room - Admin room doesn't show messages about members invited to public room

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

Version Number: 1.4.62
Reproducible in staging?: Y
Reproducible in production?: Y
If this was caught during regression testing, add the test name, ID and link from TestRail: N/A
Email or phone of affected tester (no customers):
Logs: https://stackoverflow.com/c/expensify/questions/4856
Expensify/Expensify Issue URL:
Issue reported by:
Slack conversation:
Action Performed:

Go to https://staging.new.expensify.com/home
Tap fab--- start chat --- room
Create a room with public visibility
Tap header --- members
Invite a member
Navigate to admin room and note invited message not shown
Navigate to public room created
Using suggestions, invite user to room
Navigate to admin room and note invited message is not shown

Expected Result:
From room created with public visibility, if users are invited, then invited message must be displayed in admin room
Actual Result:
From room created with public visibility, if users are invited, then invited message is not displayed in admin room
Workaround:
Unknown
Platforms:

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

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

Screenshots/Videos
Add any screenshot/video evidence

https://github.com/Expensify/App/assets/78819774/f4ec0bea-71b8-439a-a743-c56a8043e556
View all open jobs on GitHub

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

We think that this bug might be related to #vip-vsp

Don't think this is a bug. Discussing.


Remove missing action method - [closed]

In GitLab by @wknet123 on Apr 11, 2018, 09:07
Merges dev-fix-missing-case -> dev

In GitLab by @wknet123 on Nov 13, 2019, 10:48
The test coverage for backend is  %   and for frontend is 38.11%   check console log

In GitLab by @wknet123 on Nov 13, 2019, 10:48
the it is failed check console log

In GitLab by @wknet123 on Nov 13, 2019, 10:48
closed


Bump sdk

What

Bumps the sdk
Ignores lower lever target dirs.
Removes testutils (I don't understand yet why this used to work, but if you run make test, you'll see a failure about a missing testutils feature.)

The make test step in build-and-test job completed fine. Not sure why it stopped at the post action rust-cache step.

The make test step in build-and-test job completed fine. Not sure why it stopped at the post action rust-cache step.

I ran the action again to see if the last run was just a fluke.


Sync missed milestones

Description
Chronicle should request and store milestones from the past that are available.
Requirements

On startup, an actor should be started which will send message requests to the InxWorker.
The range of milestones to request should be configurable.
If messages are not available because they have been pruned, that milestone can be skipped.
We should spawn multiple syncers and request in chunks, to avoid the situation where large swaths are unavailable and block requesting newer milestones.

Open questions

Should we request in forward or backward order?
This actor may need to be work-limited, so that it does not slow down the system.

Are you planning to do it yourself in a pull request?
No

Closed by #121


Add no-store, no-cache in Cache-Control headers

Changes

Removed the logic to never use cache if either of no-cache/no-store was present
Instead they work as follows
no-cache: doesn't use cache even if the value is present but stores the response in the cache
no-store: can use cache if present but will not add/update to cache
If both are passed, it will neither store nor use the cache. Will remove the max-age and ETag as well.
Test cases

Associated Issue: https://github.com/long2ice/fastapi-cache/issues/144

Can I do something to help merging the PR ? I need it in one of my project.

Can I do something to help merging the PR ? I need it in one of my project.

@zozoh94 the owner @long2ice seems to be inactive. Probably adding more 👍 (+1) to the PR by community will help.

Hey @long2ice do you have time to review and push thru this fix please?

@Bharat23 @zozoh94 can anyone rebase and resolve conflicts?

Thanks! Please resolve conflicts.

@long2ice resolved the conflict.

@long2ice can you please take a look again?

@Bharat23 @zozoh94 I think we need to make tests pass, thanks to @long2ice for enabling auto merge.

@Bharat23 @zozoh94 I think we need to make tests pass, thanks to @long2ice for enabling auto merge.

I'll take care of them.

Thanks @Bharat23

@Bharat23 @zozoh94 I think we need to make tests pass, thanks to @long2ice for enabling auto merge.

@sultaniman @long2ice
Had to alter and remove some test cases as they were breaking due to the change introduced in this PR

@long2ice can you please check again once you have time?

@Bharat23 can you please ignore mypy warnings for line 26 and 30, I can't push changes into your repo, otherwise I would do it.

@Bharat23 can you please ignore mypy warnings for line 26 and 30 in tests/test_decorator.py, I can't push changes into your repo, otherwise I would do it.

@sultaniman I didn't understand. I am not seeing any mypy issue on 26 and 30. Can you point me to how/where I can see that and what specific error should I ignore?

@Bharat23 I meant the linter failed in test/test_decorator.py I suggested to use per line ignore instead of a global ignore.

@sultaniman done

@sultaniman @long2ice, can we get this merged please? Thanks

I would also be happy to get this PR done, only @long2ice can merge it.

@Bharat23 looks like the datetime dependency has minor upgrade and it no longer has to_atom_string method
/home/runner/work/fastapi-cache/fastapi-cache/tests/test_decorator.py
  /home/runner/work/fastapi-cache/fastapi-cache/tests/test_decorator.py:37:16 - error: Type of "to_atom_string" is partially unknown
    Type of "to_atom_string" is "Unknown | (() -> str)" (reportUnknownMemberType)
  /home/runner/work/fastapi-cache/fastapi-cache/tests/test_decorator.py:37:20 - error: Cannot access attribute "to_atom_string" for class "Date"
    Attribute "to_atom_string" is unknown (reportAttributeAccessIssue)
  /home/runner/work/fastapi-cache/fastapi-cache/tests/test_decorator.py:37:20 - error: Cannot access attribute "to_atom_string" for class "Time"
    Attribute "to_atom_string" is unknown (reportAttributeAccessIssue)
  /home/runner/work/fastapi-cache/fastapi-cache/tests/test_decorator.py:37:20 - error: Cannot access attribute "to_atom_string" for class "Duration"
    Attribute "to_atom_string" is unknown (reportAttributeAccessIssue)
4 errors, 0 warnings, 0 informations
WARNING: there is a new pyright version available (v1.1.381 -> v1.1.383).

@Bharat23 looks like the datetime dependency has minor upgrade and it no longer has to_atom_string method
/home/runner/work/fastapi-cache/fastapi-cache/tests/test_decorator.py
  /home/runner/work/fastapi-cache/fastapi-cache/tests/test_decorator.py:37:16 - error: Type of "to_atom_string" is partially unknown
    Type of "to_atom_string" is "Unknown | (() -> str)" (reportUnknownMemberType)
  /home/runner/work/fastapi-cache/fastapi-cache/tests/test_decorator.py:37:20 - error: Cannot access attribute "to_atom_string" for class "Date"
    Attribute "to_atom_string" is unknown (reportAttributeAccessIssue)
  /home/runner/work/fastapi-cache/fastapi-cache/tests/test_decorator.py:37:20 - error: Cannot access attribute "to_atom_string" for class "Time"
    Attribute "to_atom_string" is unknown (reportAttributeAccessIssue)
  /home/runner/work/fastapi-cache/fastapi-cache/tests/test_decorator.py:37:20 - error: Cannot access attribute "to_atom_string" for class "Duration"
    Attribute "to_atom_string" is unknown (reportAttributeAccessIssue)
4 errors, 0 warnings, 0 informations
WARNING: there is a new pyright version available (v1.1.381 -> v1.1.383).

@sultaniman the method exists, this is mypy issue. There is a mismatch between how the local vs github workflow env is configured because they contradict each other. Ultimately I had to add 2 ignores to satisfy both. Hopefully this is the last commit before this can be merged.

@Bharat23 @sultaniman Just looking at this PR now ... as it's a change to existing behaviour I'm minded to roadmap this for 1.0.0 which I'll be working on as soon as 0.3.0 is out the door. But happy to be persueded otherwise

+1; this brings the package in line with the RFC.


looping on rows columns functionality [Updated]

as the golint recommends :

exported xlsxRow
change the receiver from a generic name

deleted the generated xlsx from the test/

code sample  :
package main

import (
	"fmt"
	"github.com/NaySoftware/excelize"
	"os"
)

func main() {
	xlsx, err := excelize.OpenFile("WorkBook.xlsx")
	if err != nil {
		fmt.Println(err)
		os.Exit(1)
	}

	rows, err := xlsx.GetRows("Sheet1")
	if err != nil {
		fmt.Println(err)
	}

	for _, row := range rows {
		for _, colCell := range row.C {
			val, _ := colCell.GetValueFrom(xlsx)
			fmt.Print(val, "\t\t")
		} // cols
		fmt.Println()
	} // rows

	fmt.Println()
} // main

I see you have already merged the changed (manually)  from the previous pull,
I'm closing this pull


4.0.0: Custom Rail Connector

Adds a new item called the Custom Rail Connector that acts as a normal rail but its speed can be configured from anything between 1 and 300. It also can be set to one way. Both of these things are done in a screen that can be accessed while crouching and pressing rmb when holding the item.

Finally supports 4.0.0!

Related to #373


Moved JS code to JS file

Moved Ishan's JavaScript code from the HTML file to a new .JS file

Rejected as per Lachie's request


ci: spin up dremio using docker compose

Fixes #558

Hmm, maybe you want to rebase and see if any subsequent R changes have fixed this?

@paleolimbot do you have an idea of what's going on with R here?

Thanks, no rush.
I'll merge this for now and we can follow up for R.