create_user: Use transaction.atomic as decorator with do_reactivate_user.

This PR changes the do_reactivate_user such that the complete function
is called inside an atomic transaction and events are called after the
transaction is commited using on_commit helper. This is a prep commit
for unsubscribing the bots of unaccessible private streams when reactivating
them (#22109).

Self-review checklist

[x] Self-reviewed the changes for clarity and maintainability
(variable names, code reuse, readability, etc.).

Communicate decisions, questions, and potential concerns.

[x] Explains differences from previous plans (e.g., issue description).
[x] Highlights technical choices and bugs encountered.
[x] Calls out remaining decisions and concerns.
[x] Automated tests verify logic where appropriate.

Individual commits are ready for review (see commit discipline).

[x] Each commit is a coherent idea.
[x] Commit message(s) explain reasoning and motivation for changes.

Completed manual review and testing of the following:

[ ] Visual appearance of the changes.
[ ] Responsiveness and internationalization.
[ ] Strings and tooltips.
[ ] End-to-end functionality of buttons, interactions and flows.
[ ] Corner cases, error conditions, and easily imagined bugs.

I added a commit to use transaction.atomic decorator for do_create_user and to have all its events inside on_commit.
In this added commit, we also use on_commit for sending message events and this requires some changes in tests which requires events and push notifications code to be executed and thus we have to use captureOnCommitCallbacks.
Though we could add captureOnCommitCallbacks  with execute=True inside the send_stream_message, send_personal_message and send_huddle_message helpers itself but in test_events these helpers are sometimes called with verify_action which already encloses action() call inside captureOnCommitCallbacks  with execute=True and thus the send_events calls are executed twice. One possible solution can be to pass a parameter like execute_on_commit_callbacks as False inside those helpers function which means that though captureOnCommitCallbacks will be used twice for some particular tests but those callbacks will be executed only once.

Replied to some of the questions above, will make the changes for adding durable=True and adding helper functions for tests by tommorrow.

Can work on things suggested by Alex like this as a follow-up probably.

I think I follow why these changes alter the tests.  If this argument is convincing to @timabbott, we should figure out how to encode it in a concise and compelling way into the commit message.
Previously, if the code:

Starts a transaction when the test file starts
The test calls starts a self.captureOnCommitCallbacks(execute=True) block
The test calls do_create_user
Within that, the with transaction.atomic() starts a sub-transaction
Something calls transaction.on_commit(lambda: send_event(...)) -- call this Event A
The with transaction.atomic() block ends.
Something else calls send_event(...) directly -- call this Event B
The self.captureOnCommitCallbacks(execute=True) block ends.

Those events are seen by the test as Event B, then Event A -- because Event A only gets run at step 8.  In production, these are seen as Event A, Event B, since Event A runs at step 6.
This PR is moving step 7 to above step 6, inside the do_create_user transaction, and placing it in a transaction.on_commit.  This means that in tests, the result will now be Event A, and then Event B -- both run at step 8.
The fewer things happen between the end of the transaction.atomic() block and the end of the self.captureOnCommitCallbacks block, the closer the test will be to mimic'ing production.

Great -- can you synthesize that into the middle commit message, and maybe a nod to it (e.g. "As with the previous commit, this changes tests, as the events are inserted in closer-to-real order; see previous commit for reasoning.") in the last?
Anything dealing with transactions is messy, and I'm 100% sure that I won't remember all of the details of this reasoning in the future, so I'd love to be able to dig it out of a commit message. :)

That is consistent with my understanding. My thought on reading this is that if we can do a relatively simple refactor to make Event B be also inside the transaction.atomic block, then we could avoid having the test behave out of order with respect to reality -- is that something we can do? I don't feel like I understand which event is being done outside the transaction here such that I could try to investigate that myself.
It's probably the case that doing so would be correct -- As I understand it, the point of this pull request is to have the entire "reactivate a user" action be a single atomic transaction and with all its send_event calls being inside that transaction...

Oh, though is the event transaction that's having the reordering issues "create a data export", not "reactivate a user"? Maybe that's the source of my confusion.

As another thought -- if we do merge this as written, we want the explanation of this ordering issue to go in a comment next to the test, not in the commit message, because the code will be confusing when read without that explanation.

As the current state of this PR, there is no ordering issue in events in tests and the sequence is same as it would happen in original code. The middle commit changes the order of events in tests to be different than real life but the last commit fixes it again to be same. So, it would probably be better to just explain it in the commit messages.
And after reading your comment about exporting realm inside a transaction, we add @transaction.atomic for export_realm in zerver/views/realm_export.py and the only database write operation in that function is creating RealmAuditLog object and as per my understanding of export code, the main exporting part happens in deferred_work queue for which queue_json_publish is called inside transaction.on_commit.

The middle commit changes the order of events in tests to be different than real life but the last commit fixes it again to be same. So, it would probably be better to just explain it in the commit messages.

I'm confused -- the full diff from main contains changes like this -- can you explain for that particular example
     def test_create_bot(self) -> None:
         action = lambda: self.create_bot("test")
         events = self.verify_action(action, num_events=4)
-        check_realm_bot_add("events[1]", events[1])
+        check_realm_bot_add("events[3]", events[3])

         action = lambda: self.create_bot(
             "test_outgoing_webhook",
             full_name="Outgoing Webhook Bot",
             payload_url=orjson.dumps("https://foo.bar.com").decode(),
             interface_type=Service.GENERIC,
             bot_type=UserProfile.OUTGOING_WEBHOOK_BOT,
         )
         events = self.verify_action(action, num_events=4)
         # The third event is the second call of notify_created_bot, which contains additional
         # data for services (in contrast to the first call).
-        check_realm_bot_add("events[1]", events[1])
+        check_realm_bot_add("events[3]", events[3])

         action = lambda: self.create_bot(
             "test_embedded",
             full_name="Embedded Bot",
             service_name="helloworld",
             config_data=orjson.dumps({"foo": "bar"}).decode(),
             bot_type=UserProfile.EMBEDDED_BOT,
         )
         events = self.verify_action(action, num_events=4)
-        check_realm_bot_add("events[1]", events[1])
+        check_realm_bot_add("events[3]", events[3])

Can you explain this outcome? Is the story that pre-this-branch, the tests were verifying an incorrect order? (I guess this specific test is unusual in that it only runs a validator on one of the 4 events -- usually we validate them all.)
If so, then yeah, the commit message explaining that sort of detail is probably appropriate.

Yes, before this branch, the tests were verifying the incorrect order. The realm_bot/add event is sent from notify_created_bot function which is called here after do_create_user which sends the first three events.

I noticed one more thing. This PR adds transaction.on_commit block for realm_bot/add event but notify_created_bot is not called inside a transaction here, so order could be different in production code. We may want functions like add_service and set_bot_config to be inside a transaction, but not upload_avatar_image.

Fixed the above transaction.on_commit cases pointed out by Alex. Also checked other on_commit instances added in the PR once more.

This is great, merged, thanks for the work on this and explaining that we'd been tested an incorrect event order for some time :).
The loop closure issue that Alex noticed is really subtle and the kind of thing that ideally we'd figure out a way to avoid via our coding patterns; may be worth a #backend discussion on whether we want to adjust the lambda construction -- I feel like there's some risk that a future change moves one of these blocks into a loop or inlines a function and accidentally causes all the events to use a value from the last item in the loop.
(I could imagine either always closing on all parameters in these send_event lambdas, or just having dedicated event sending functions)

🎉
Thank you for doing all this gnarly transaction work, @sahil839!


🐞 - TS2415: Class 'TuiItemsWithMoreService' incorrectly extends base class 'Observable'

Which @taiga-ui/* package(s) are the source of the bug?
core
Please provide a link to a minimal reproduction of the bug
https://taiga-ui.dev/stackblitz
Is this issue blocking you?
Blocking
Description
Error: node_modules/@taiga-ui/kit/components/items-with-more/items-with-more.service.d.ts:5:22 - error TS2415: Class 'TuiItemsWithMoreService' incorrectly extends base class 'Observable'.
Property 'max' is private in type 'TuiItemsWithMoreService' but not in type 'Observable'.
5 export declare class TuiItemsWithMoreService extends Observable {

Angular version
14.2.7
Taiga UI version
3.15.0
Which browsers have you used?

[ ] Chrome
[ ] Firefox
[ ] Safari
[ ] Edge

Which operating systems have you used?

[X] macOS
[ ] Windows
[ ] Linux
[ ] iOS
[ ] Android

fixed by v3.16


The issue of cells randomly jumping.

When dragging from the bottom upwards, the cell jumps. Is there a solution to this issue?

Please tell me the details.


Collection autosuggest

Adds a collection autosuggest widget. Can't really test it since only the kotka api has a working endpoint and not the laji api (at least for now). I also removed the use of "fullName" property in the organization autocomplete since it's not in the schema and it might better if it's not included to the API response.

I also removed the use of "fullName" property in the organization autocomplete since it's not in the schema and it might better if it's not included to the API response.

It's not in the schema, but it's in the swagger doc of the API, which should be the source of truth for API users. API responses aren't always identical to the schema, as API has it's own modeling though it's very close to the schema.
Otherwise looks good!

Ok, I guess it's ok to have to the fullName property there then


self-hosted gitlab webhook with one month free got error and no any other infomation

❯ curl -X POST http://mytest.example.com/api/v1/gitlab_webhooks
"Unauthorized: Secret is not valid"%
❯ curl -X POST -H 'Content-Type: application/json' -H "X-Gitlab-Token: 88da24e896aec8dd9519ae31f014128c"  http://mytest.example.com/api/v1/gitlab_webhooks
"Oops!! Something Went Wrong. Please try again after some time"%
❯ curl -X POST -H 'Content-Type: application/json' -H "X-Gitlab-Token: 88da24e896aec8dd9519ae31f014128c"  http://mytest.example.com/api/v1/gitlab_webhooks
"Oops!! Something Went Wrong. Please try again after some time"%
❯ curl -X POST -H 'Content-Type: application/json' -H "User-Agent: GitLab/17.2.1-ee" -H "X-Gitlab-Event: Merge Request Hook" -H "X-Gitlab-Webhook-UUID: d9c303c5-9ddd-4d7c-8355-0f2f63c4fd99" -H "X-Gitlab-Token: 88da24e896aec8dd9519ae31f014128c" -H "X-Gitlab-Event-UUID: 63ab84ed-f9a7-419a-a8d5-7eb2dd4e5e06" --json @gitlab-mr-body.json http://mytest.example.com/api/v1/gitlab_webhooks
"Oops!! Something Went Wrong. Please try again after some time"%

./bito-cra.sh service start bito-cra.properties
Starting the CRA...
Bito Code Review Agent is running as: server
hex string is too long
invalid hex key value
Use below as Gitlab and Github Webhook secret:
88da24e896aec8dd9519ae31f014128c
Running command: docker pull bitoai/cra:latest
latest: Pulling from bitoai/cra
Digest: sha256:f41b7bc805c250c1ed8777ff4fa6873e2e44886033ae575711adb28d12d52e02
Status: Image is up to date for bitoai/cra:latest
docker.io/bitoai/cra:latest
Docker image pulled successfully.
Running command: eval docker run --rm -it -p ${server_port}:${server_port} -d ${docker_repo}:${cra_version} --mode=server --code_feedback=True --bee.path=/automation-platform --bee.actn_dir=/automation-platform/default_bito_ad/bito_modules --git.provider=GITLAB --git.access_token=code-git--zSnHYKfu2hFj7ZHsu_b --bito_cli.bito.access_key=1monthFREE24H4 --review_comments=INLINE --static_analysis.fb_infer.enabled=True --static_analysis_tool=fb_infer,astral_ruff,mypy --exclude_branches='main,master' --exclude_files='.xml,.json,.properties,.gitignore,.yml,*.md' --exclude_draft_pr=True --dependency_check.enabled=False --server_port=10051 --code_context=True --cr_event_type=automated --posting_to_pr=True ${docker_enc_params} > "/root/.bitoai/bitocra.cid"

Hi,
Please refer to the self-hosted details at:
https://docs.bito.ai/bito-dev-agents/ai-code-review-agent/getting-started/install-run-as-a-self-hosted-service/install-run-via-webhooks-service
Reference: https://docs.gitlab.com/ee/user/project/integrations/webhooks.html#configure-a-webhook-in-gitlab
Once the "./bito-cra.sh service start bito-cra.properties", you would need to configure GitWebhook instead of making curl calls.
Are all the steps mentioned in above document are followed to configure GitLab webhook?
Please let us know.
Thanks.

Hi,
Please refer to the self-hosted details at: https://docs.bito.ai/bito-dev-agents/ai-code-review-agent/getting-started/install-run-as-a-self-hosted-service/install-run-via-webhooks-service Reference: https://docs.gitlab.com/ee/user/project/integrations/webhooks.html#configure-a-webhook-in-gitlab
Once the "./bito-cra.sh service start bito-cra.properties" is executed, you would need to configure GitLab Webhook instead of making curl calls.
Are all the steps mentioned in above document are followed to configure GitLab webhook? Please let us know.
Thanks.

I got the curl calls info from gitlab webhook request, I wonder if there is some problem other than the webhook request.

HI,
Please note below points:

We realized that the Bito workspace associated with email<EMAIL_ADDRESS>is on free plan and to use code review agent, please upgrade to paid plan. We are happy to give you a free 1 month trial of the 10x Developer Plan (paid plan), which includes our AI Code Review Agent. Please use this code during the checkout process: 1monthFREE24H4 . You will need to enter your payment info, but this will give you a full 1 month free of the $15 base charge. You can upgrade by clicking Upgrade by going to https://bito.ai/ & clicking Sign In in the top navbar, go to Billing and Plans in the left navbar, and then upgrading your workspace there. You can cancel at any time.

Once the the workspace is on paid plan, please make sure that these 3 parameters are configured correctly in file bito-cra.properties i> git.provider=GITLAB ii> git.access_token iii> bito_cli.bito.access_key. Please refer to https://docs.bito.ai/account-and-settings/access-key for how to create Bito Access Key. If these parameters are not configured correctly then WebHook won't get expected response.

After configuration all the required parameters in bito-cra.properties as mentioned in point no.2 , execute "./bito-cra.sh service restart bito-cra.properties". It will give you the web-secret in encrypted format under the tag "Use below as Gitlab and Github Webhook secret:".

Further it will give Code Review Agent URL: http://<IP_ADDRESS>:10051/
Note: Use above URL to configure GITLAB/GITHUB web-hook by replacing IP adderss with the IP address or Domain Name of your server. The final URL to be used for GITLAB web-hook https://<domain name/ip-address>/api/v1/gitlab_webhhooks (We are assuming that http://mytest.example.com/api/v1/gitlab_webhooks is a valid URL.)

Configure the GITLAB webhook as stated in the document link shared earlier using secret and URL as mentioned above.

Other commands to check/stop/start/restart self-hosted Code Review Agent:

./bito-cra.sh service restart bito-cra.properties. ==> To restart the self-hosted Code Review Agent
./bito-cra.sh service stop bito-cra.properties ==> To stop the self-hosted Code Review Agent
./bito-cra.sh service stop bito-cra.properties ==> To start the self-hosted Code Review Agent
/bito-cra.sh service status bito-cra.properties ==> To check status of the self-hosted Code Review Agent

Please let me know if you face any issues and I will be happy to get on the call.
Thanks.

I am using the code 1monthFREE24H4  from the page https://alpha.bito.ai/home/welcome. Because I have tried to get code from this from https://share.hsforms.com/15v5GKpm5QNmC7mjC3hfSVwnibfq from page https://docs.bito.ai/bito-dev-agents/ai-code-review-agent, but I get nothing, it never send me anything.
So the main problem at present is the code is not on paid plan? But it seems like a general code.

HI,
Please note below points:

We realized that the Bito workspace associated with email<EMAIL_ADDRESS>is on free plan and to use code review agent, please upgrade to paid plan. We are happy to give you a free 1 month trial of the 10x Developer Plan (paid plan), which includes our AI Code Review Agent. Please use this code during the checkout process: 1monthFREE24H4 . You will need to enter your payment info, but this will give you a full 1 month free of the $15 base charge. You can upgrade by clicking Upgrade by going to https://bito.ai/ & clicking Sign In in the top navbar, go to Billing and Plans in the left navbar, and then upgrading your workspace there. You can cancel at any time.
Once the the workspace is on paid plan, please make sure that these 3 parameters are configured correctly in file bito-cra.properties i> git.provider=GITLAB ii> git.access_token iii> bito_cli.bito.access_key. Please refer to https://docs.bito.ai/account-and-settings/access-key for how to create Bito Access Key. If these parameters are not configured correctly then WebHook won't get expected response.
After configuration all the required parameters in bito-cra.properties as mentioned in point no.2 , execute "./bito-cra.sh service restart bito-cra.properties". It will give you the web-secret in encrypted format under the tag "Use below as Gitlab and Github Webhook secret:".
Further it will give Code Review Agent URL: http://<IP_ADDRESS>:10051/
Note: Use above URL to configure GITLAB/GITHUB web-hook by replacing IP adderss with the IP address or Domain Name of your server. The final URL to be used for GITLAB web-hook https://<domain name/ip-address>/api/v1/gitlab_webhhooks (We are assuming that http://mytest.example.com/api/v1/gitlab_webhooks is a valid URL.)
Configure the GITLAB webhook as stated in the document link shared earlier using secret and URL as mentioned above.
Other commands to check/stop/start/restart self-hosted Code Review Agent:

./bito-cra.sh service restart bito-cra.properties. ==> To restart the self-hosted Code Review Agent
./bito-cra.sh service stop bito-cra.properties ==> To stop the self-hosted Code Review Agent
./bito-cra.sh service stop bito-cra.properties ==> To start the self-hosted Code Review Agent
/bito-cra.sh service status bito-cra.properties ==> To check status of the self-hosted Code Review Agent

Please let me know if you face any issues and I will be happy to get on the call. Thanks.

I got the code 1monthFREE24H4 by sign in but not on paid plan and never get the free code from the popup form on page  https://docs.bito.ai/bito-dev-agents/ai-code-review-agent.
I installed the self-hosted cra with config

mode=server
pr_url=
code_feedback=True
bito_cli.bito.access_key=1monthFREE24H4
git.provider=GITLAB
git.access_token=code-git--xxx[replaced by real code]
git.domain=
static_analysis=True
static_analysis_tool=fb_infer,astral_ruff,mypy
review_scope=
dependency_check=False
code_context=True
dependency_check.snyk_auth_token=
review_comments=2
server_port=10051
cra_version=latest
exclude_branches=main,master
exclude_files=*.xml,*.json,*.properties,.gitignore,*.yml,*.md
exclude_draft_pr=True

start the service with

# ./bito-cra.sh service start bito-cra.properties
Starting the CRA...

Bito Code Review Agent is running as: server

hex string is too long
invalid hex key value
Use below as Gitlab and Github Webhook secret:
88da24e896aec8dd9519ae31f014128c

Running command: docker pull bitoai/cra:latest
latest: Pulling from bitoai/cra
Digest: sha256:f41b7bc805c250c1ed8777ff4fa6873e2e44886033ae575711adb28d12d52e02
Status: Image is up to date for bitoai/cra:latest
docker.io/bitoai/cra:latest
Docker image pulled successfully.
Running command: eval docker run --rm -it -p ${server_port}:${server_port} -d ${docker_repo}:${cra_version} --mode=server --code_feedback=True --bee.path=/automation-platform --bee.actn_dir=/automation-platform/default_bito_ad/bito_modules --git.provider=GITLAB --git.access_token=code-git--zSnHYKfu2hFj7ZHsu_b --bito_cli.bito.access_key=1monthFREE24H4 --review_comments=INLINE --static_analysis.fb_infer.enabled=True --static_analysis_tool=fb_infer,astral_ruff,mypy --exclude_branches='main,master' --exclude_files='.xml,.json,.properties,.gitignore,.yml,*.md' --exclude_draft_pr=True --dependency_check.enabled=False --server_port=10051 --code_context=True --cr_event_type=automated --posting_to_pr=True ${docker_enc_params} > "/root/.bitoai/bitocra.cid"

Check the service

# ./bito-cra.sh service status bito-cra.properties
Checking the CRA...
CRA is running.

Run the service with local hosts. But failed even with full gitlab merge request webhook request.

❯ curl -X POST http://mytest.example.com/api/v1/gitlab_webhooks

"Unauthorized: Secret is not valid"%

❯ curl -X POST -H 'Content-Type: application/json' -H "X-Gitlab-Token: 88da24e896aec8dd9519ae31f014128c" http://mytest.example.com/api/v1/gitlab_webhooks

"Oops!! Something Went Wrong. Please try again after some time"%

❯ curl -X POST -H 'Content-Type: application/json' -H "X-Gitlab-Token: 88da24e896aec8dd9519ae31f014128c" http://mytest.example.com/api/v1/gitlab_webhooks

"Oops!! Something Went Wrong. Please try again after some time"%

❯ curl -X POST -H 'Content-Type: application/json' -H "User-Agent: GitLab/17.2.1-ee" -H "X-Gitlab-Event: Merge Request Hook" -H "X-Gitlab-Webhook-UUID: d9c303c5-9ddd-4d7c-8355-0f2f63c4fd99" -H "X-Gitlab-Token: 88da24e896aec8dd9519ae31f014128c" -H "X-Gitlab-Event-UUID: 63ab84ed-f9a7-419a-a8d5-7eb2dd4e5e06" --json @gitlab-mr-body.json http://mytest.example.com/api/v1/gitlab_webhooks

"Oops!! Something Went Wrong. Please try again after some time"%

hi @rawbin-
Sorry for the confusion.
Please follow below steps to get a Trial -

go to page https://alpha.bito.ai/home/bito-premium/change-plan and click on Upgrade button
It will open page https://checkout.stripe.com/. On the page please enter the promotion code "1monthFREE24H4" and click on Apply.
Enter the payment details. Please note, this will not charge you now but only after trial is over [after 1 month].

Thanks,
Nisha

Also setting the "bito_cli.bito.access_key=1monthFREE24H4" in bito-cra.properties is not correct.
Please refer to the below instructions in my previous reply.
================================================================================
Once the the workspace is on paid plan, please make sure that these 3 parameters are configured correctly in file bito-cra.properties i> git.provider=GITLAB ii> git.access_token iii> bito_cli.bito.access_key. Please refer to https://docs.bito.ai/account-and-settings/access-key for how to create Bito Access Key. If these parameters are not configured correctly then WebHook won't get expected response.

@adhirpotdarbito @nisha-bito thank you very much for you kindness.
I did the following steps:

upgraded the plan
created an access key from https://alpha.bito.ai/home/advanced
configure the key above to bito_cli.bito.access_key in bito-cra.properties
restart the service
send the request with the new token in the starting output. But I got the same result(the curl request is tested ok on another webhook api):

# curl -X POST -H 'Content-Type: application/json' -H "User-Agent: GitLab/17.2.1-ee" -H "X-Gitlab-Event: Merge Request Hook" -H "X-Gitlab-Webhook-UUID: d9c303c5-9ddd-4d7c-8355-0f2f63c4fd99" -H "X-Gitlab-Token: b76c3b67ae97a3c54b35985e2c155818" -H "X-Gitlab-Event-UUID: 63ab84ed-f9a7-419a-a8d5-7eb2dd4e5e06" -d @gitlab-webhook-mr-body.json http://<IP_ADDRESS>:10051/api/v1/gitlab_webhooks
"Oops!! Something Went Wrong. Please try again after some time"

Hi @rawbin-
This error comes when GITLAB webhook body JSON is not having all required parameters, i.e. in your case it is file "gitlab-webhook-mr-body.json" used in curl call with -d option. Can you please share this JSON file?
Alternatively, instead of curl call, I would suggest to configure the webhook, create a new PR to trigger the code review session.
Thanks.

Hi @rawbin-
This error comes when GITLAB webhook body JSON is not having all required parameters, i.e. in your case it is file "gitlab-webhook-mr-body.json" used in curl call with -d option. Can you please share this JSON file?
Alternatively, instead of curl call, I would suggest to configure the webhook, create a new PR to trigger the code review session.
Thanks.

The request body is copied from gitlab webhook log page, It's params for gitlab webhook tests.  I replace some info for sensibility reason but with full structure.
{
  "object_kind": "merge_request",
  "event_type": "merge_request",
  "user": {
    "id": 348,
    "name": "userA",
    "username": "userA",
    "avatar_url": "https://domainA.com/avatar/aaaa?s=80&d=identicon",
    "email"<EMAIL_ADDRESS>  },
  "project": {
    "id": 114,
    "name": "projectA",
    "description": "项目A",
    "web_url": "https://gitlab.example.com/arch/path/projectA",
    "avatar_url": null,
    "git_ssh_url": "git@gitlab.example.com:arch/path/to/project/projectA.git",
    "git_http_url": "https://gitlab.example.com/arch/path/to/project/projectA.git",
    "namespace": "projectNamespace",
    "visibility_level": 0,
    "path_with_namespace": "arch/path/to/project/projectA",
    "default_branch": "master",
    "ci_config_path": "",
    "homepage": "https://gitlab.example.com/arch/path/to/project/projectA",
    "url": "git@gitlab.example.com:arch/path/to/project/projectA.git",
    "ssh_url": "git@gitlab.example.com:arch/path/to/project/projectA.git",
    "http_url": "https://gitlab.example.com/arch/path/to/project/projectA.git"
  },
  "object_attributes": {
    "assignee_id": 63,
    "author_id": 126,
    "created_at": "2024-09-24 20:35:53 +0800",
    "description": "提交信息描述",
    "draft": false,
    "head_pipeline_id": null,
    "id": 139339,
    "iid": 11288,
    "last_edited_at": null,
    "last_edited_by_id": null,
    "merge_commit_sha": "4a1bd95af2f081d843f9b97fd6aa457c0f94d96c",
    "merge_error": null,
    "merge_params": {
      "force_remove_source_branch": null
    },
    "merge_status": "can_be_merged",
    "merge_user_id": null,
    "merge_when_pipeline_succeeds": false,
    "milestone_id": null,
    "source_branch": "feature_activity_dashboard_923",
    "source_project_id": 114,
    "state_id": 3,
    "target_branch": "release_testnet",
    "target_project_id": 114,
    "time_estimate": 0,
    "title": "提交信息",
    "updated_at": "2024-09-24 20:36:05 +0800",
    "updated_by_id": null,
    "prepared_at": "2024-09-24 20:35:54 +0800",
    "assignee_ids": [63],
    "blocking_discussions_resolved": true,
    "detailed_merge_status": "not_open",
    "first_contribution": false,
    "human_time_change": null,
    "human_time_estimate": null,
    "human_total_time_spent": null,
    "labels": [],
    "last_commit": {
      "id": "8837fb22fe8ac4655cbd3bc090a25b5f794330c4",
      "message": "feat: 提交信息\n",
      "title": "feat: 提交信息",
      "timestamp": "2024-09-24T20:35:17+08:00",
      "url": "https://gitlab.example.com/arch/path/to/project/projectA/-/commit/8837fb22fe8ac4655cbd3bc090a25b5f794330c4",
      "author": {
        "name": "userB",
        "email"<EMAIL_ADDRESS>      }
    },
    "reviewer_ids": [],
    "source": {
      "id": 114,
      "name": "projectA",
      "description": "项目A",
      "web_url": "https://gitlab.example.com/arch/path/to/project/projectA",
      "avatar_url": null,
      "git_ssh_url": "git@gitlab.example.com:arch/path/to/project/projectA.git",
      "git_http_url": "https://gitlab.example.com/arch/path/to/project/projectA.git",
      "namespace": "projectNamespace",
      "visibility_level": 0,
      "path_with_namespace": "arch/path/to/project/projectA",
      "default_branch": "master",
      "ci_config_path": "",
      "homepage": "https://gitlab.example.com/arch/path/to/project/projectA",
      "url": "git@gitlab.example.com:arch/path/to/project/projectA.git",
      "ssh_url": "git@gitlab.example.com:arch/path/to/project/projectA.git",
      "http_url": "https://gitlab.example.com/arch/path/to/project/projectA.git"
    },
    "state": "merged",
    "target": {
      "id": 114,
      "name": "projectA ",
      "description": "项目A",
      "web_url": "https://gitlab.example.com/arch/path/to/project/projectA",
      "avatar_url": null,
      "git_ssh_url": "git@gitlab.example.com:arch/path/to/project/projectA.git",
      "git_http_url": "https://gitlab.example.com/arch/path/to/project/projectA.git",
      "namespace": "projectNamespace",
      "visibility_level": 0,
      "path_with_namespace": "arch/path/to/project/projectA",
      "default_branch": "master",
      "ci_config_path": "",
      "homepage": "https://gitlab.example.com/arch/path/to/project/projectA",
      "url": "git@gitlab.example.com:arch/path/to/project/projectA.git",
      "ssh_url": "git@gitlab.example.com:arch/path/to/project/projectA.git",
      "http_url": "https://gitlab.example.com/arch/path/to/project/projectA.git"
    },
    "time_change": 0,
    "total_time_spent": 0,
    "url": "https://gitlab.example.com/arch/path/to/project/projectA/-/merge_requests/11288",
    "work_in_progress": false,
    "approval_rules": [
      {
        "id": 46157,
        "created_at": "2024-09-24 20:35:53 +0800",
        "updated_at": "2024-09-24 20:36:05 +0800",
        "merge_request_id": 139339,
        "approvals_required": 0,
        "name": "All Members",
        "rule_type": "any_approver",
        "report_type": null,
        "section": null,
        "modified_from_project_rule": false,
        "orchestration_policy_idx": null,
        "vulnerabilities_allowed": 0,
        "scanners": [],
        "severity_levels": [],
        "vulnerability_states": ["new_needs_triage", "new_dismissed"],
        "security_orchestration_policy_configuration_id": null,
        "scan_result_policy_id": null,
        "applicable_post_merge": true,
        "project_id": 114,
        "approval_policy_rule_id": null
      }
    ],
    "action": "open"
  },
  "labels": [],
  "changes": {},
  "repository": {
    "name": "projectA ",
    "url": "git@gitlab.example.com:arch/path/to/project/projectA.git",
    "description": "项目A",
    "homepage": "https://gitlab.example.com/arch/path/to/project/projectA"
  },
  "assignees": [
    {
      "id": 63,
      "name": "userB",
      "username": "userB",
      "avatar_url": "https://domainA.com/avatar/bbbb?s=80&d=identicon",
      "email"<EMAIL_ADDRESS>    }
  ]
}

Thanks and we will check & get back to you.

Hi @rawbin-
We see below issue in a curl call:
curl -X POST -H 'Content-Type: application/json' -H "User-Agent: GitLab/17.2.1-ee" -H "X-Gitlab-Event: Merge Request Hook" -H "X-Gitlab-Webhook-UUID: d9c303c5-9ddd-4d7c-8355-0f2f63c4fd99" -H "X-Gitlab-Token: b76c3b67ae97a3c54b35985e2c155818" -H "X-Gitlab-Event-UUID: 63ab84ed-f9a7-419a-a8d5-7eb2dd4e5e06" -d @gitlab-webhook-mr-body.json http://<IP_ADDRESS>:10051/api/v1/gitlab_webhooks
"Oops!! Something Went Wrong. Please try again after some time"
X-Gitlab-Token: b76c3b67ae97a3c54b35985e2c155818 is not valid token, please use the secret provided by the bash script under the tag "Use below as Gitlab and Github Webhook secret:".
Please repair and try out the curl call again.
Note: We will put fix in future release such that instead of "Oops!! Something Went Wrong", we will give proper error.
Thanks

Hi @rawbin-
Just following up on the previous message. Were you able to update the curl call with the correct X-Gitlab-Token?
Please make sure to use the secret provided by the bash script under the tag "Use below as Gitlab and Github Webhook secret:".
Let us know if you need any further assistance.
Thanks!

Hi @rawbin-
We see below issue in a curl call:
curl -X POST -H 'Content-Type: application/json' -H "User-Agent: GitLab/17.2.1-ee" -H "X-Gitlab-Event: Merge Request Hook" -H "X-Gitlab-Webhook-UUID: d9c303c5-9ddd-4d7c-8355-0f2f63c4fd99" -H "X-Gitlab-Token: b76c3b67ae97a3c54b35985e2c155818" -H "X-Gitlab-Event-UUID: 63ab84ed-f9a7-419a-a8d5-7eb2dd4e5e06" -d @gitlab-webhook-mr-body.json http://<IP_ADDRESS>:10051/api/v1/gitlab_webhooks "Oops!! Something Went Wrong. Please try again after some time"
X-Gitlab-Token: b76c3b67ae97a3c54b35985e2c155818 is not valid token, please use the secret provided by the bash script under the tag "Use below as Gitlab and Github Webhook secret:".
Please repair and try out the curl call again.
Note: We will put fix in future release such that instead of "Oops!! Something Went Wrong", we will give proper error.
Thanks

I am exactly using the token from the staring up output。

Hi @rawbin-
Thank you for getting back to us. Could you please check the value set in bito_cli.bito.access_key and let us know whether your Git access token is classic or fine-grained? This will help us verify if the Git access token and Bito access key have been provided correctly.


Synchronize zh to en: move admin

authorization/_index.md is moved to content/zh/docs/reference/access-authn-authz/authorization.md now.
daemon.yaml, high-availability/_index.md and ovs-networking.md are useless.
Other files are moved to a new location according to the en directory

Just curious, does this issue exist in release-1.14? If yes, we should sync there first? If no, I am fine with the change.

@chenrui333 Thanks for review.
Some file has move to the new position, such as abac.md, in the commit 1f557bde2ca62f22954a9ec3345094d07e5e0dda.
And we will sync the file changes with the verison of en.

@chenrui333 Another migration job is https://github.com/kubernetes/website/pull/14843. I think it is fine to all versions

cc @kubernetes/sig-docs-zh-reviews

@rainingmaster, ideally (for the next time), it would be good to submit an issue first and track down the work across different languages. :)
Nice job!

/approve


Update strings-localization.md

places to placed

@kwygant : Thanks for your contribution! The author(s) have been notified to review your proposed change.


how to get getPeaks from java application server

@katspaugh   hi, how to get getPeaks from java application server,
i want to get getPeaks from server,like this
  /**
     * Compute the max and min value of the waveform when broken into
     * <length> subranges.
     * @param {Number} How many subranges to break the waveform into.
     * @returns {Array} Array of 2*<length> peaks or array of arrays
     * of peaks consisting of (max, min) values for each subrange.
     */
    getPeaks: function (length) {
        if (this.peaks) { return this.peaks; }

        var sampleSize = this.buffer.length / length;
        var sampleStep = ~~(sampleSize / 10) || 1;
        var channels = this.buffer.numberOfChannels;
        var splitPeaks = [];
        var mergedPeaks = [];

        for (var c = 0; c < channels; c++) {
            var peaks = splitPeaks[c] = [];
            var chan = this.buffer.getChannelData(c);

            for (var i = 0; i < length; i++) {
                var start = ~~(i * sampleSize);
                var end = ~~(start + sampleSize);
                var min = 0;
                var max = 0;

                for (var j = start; j < end; j += sampleStep) {
                    var value = chan[j];

                    if (value > max) {
                        max = value;
                    }

                    if (value < min) {
                        min = value;
                    }
                }

                peaks[2 * i] = max;
                peaks[2 * i + 1] = min;

                if (c == 0 || max > mergedPeaks[2 * i]) {
                    mergedPeaks[2 * i] = max;
                }

                if (c == 0 || min < mergedPeaks[2 * i + 1]) {
                    mergedPeaks[2 * i + 1] = min;
                }
            }
        }

        return this.params.splitChannels ? splitPeaks : mergedPeaks;
    }

could you help me ?

@15838028035 ask on stackoverflow.


Kill entire ChildProcess tree on cancellation

https://github.com/vezel-dev/cathode/blob/3464a162077b3c1313fd86a3c8c9f73bae2c87a4/src/core/Processes/ChildProcess.cs#L128-L141

Decided not to make it configurable as I think this is a very reasonable default. Am open to adding a configuration knob if a real use case turns up.


Feature Request: Add support for "canary-by-header-pattern" for Nginx Ingress canary matching

Nginx Ingress controller has support for canary-by-header-pattern annotations but flagger does not support this when defining the match configuration inside of the canary resource.
https://kubernetes.github.io/ingress-nginx/user-guide/nginx-configuration/annotations/#canary
So then something like this could be possible when using Nginx as the ingress provider:
    match:
      - headers:
          cookie:
            regex: "^(.*?;)?(type=insider)(;.*)?$"

@rutigs there is no cookie regex support, see https://github.com/kubernetes/ingress-nginx/blob/master/test/e2e/annotations/canary.go
As for canary-by-header-pattern what NGINX ingress version should support this? I've tested it with v0.30.0 and it doesn't work.

Since you requested this feature I assume you are running a custom build of https://github.com/kubernetes/ingress-nginx/pull/5114
I would appreciate if you could test Flagger and confirm that works, the container image is  weaveworks/flagger:nginx-header-regex.


Drag with page zoomed

Hi,
First would like to thank you guys for the awesome work put on this draggable-droppable.
I would like to ask if you guys can think anyway to overcome an issue i'm having, basically I have a component similar to a page, where you can add controls inside. Then you should be able to move the controls around. In that component I have a zoom, where the user can zoom in and zoom out, what the zoom is doing is set the css property zoom using percentage. When the page is zoomed and i drag and move, the mouse is more sensitive so the control moves fast and lost the mouse cursor, If I move really slow it kinda works ok, but if you try to move in a normal speed, it really gets hard to use it.
For you be able to reproduce, just open your demo https://mattlewis92.github.io/angular-draggable-droppable/demo/ and add a css zoom: 200% to the div with id="demo".

I found a similar issue using Jquery Draggable, the guy manage to fix it. https://stackoverflow.com/questions/2930092/jquery-draggable-with-zoom-problem
Please let me know,
Thanks a lot.
Abner

One way to get around this could be to set ghostDragEnabled=[false] and then implement the logic yourself for moving the element around that respects the zoom property.


Try to avoid reserving words in resource handler

This is generally followed throughout relatus, but the inputmanager does not follow this!

For now this is resolved, but this issue may come up in the future!


WIP: fbdev: add functions for getting screen resolution

This can be used for creating generic app where you don't know what screen resolution user will have.

Thanks!

Marking as WIP, would like to make it more consistent with PR above.

Marking as WIP, would like to make it more consistent with PR above.

Done.

Great! Can I merge it now?


Health Kit

Is the Health kit up to date with latest version released by Apple?

Thanks for submitting an issue and we apologize for the delayed response. The requested updates haven't been made since the creation of the issue, and the timeline for resolution may vary based on resourcing, so the issue is being moved to an internal repo to better track it.


WSL2 can not connect

Type: Bug
My vscode can not connect to my WSL today, the log is as below:
[2023-05-05 01:22:25.270] + CODE_PROFILE=/home/gao/.vscode-server-insiders/server-env-setup
[2023-05-05 01:22:25.270] + printf 'Setting up server environment: Looking for %s. ' /home/gao/.vscode-server-insiders/server-env-setup
[2023-05-05 01:22:25.270] + '[' -f /home/gao/.vscode-server-insiders/server-env-setup ']'
[2023-05-05 01:22:25.270] + echo 'Not found.'
[2023-05-05 01:22:25.270] + VSCODE_REMOTE_BIN=/home/gao/.vscode-server-insiders/bin
[2023-05-05 01:22:25.270] ++ uname -r
[2023-05-05 01:22:25.270] + WSL_VERSION=<IP_ADDRESS>-microsoft-standard-WSL2
[2023-05-05 01:22:25.270] + echo 'WSL version: <IP_ADDRESS>-microsoft-standard-WSL2 Arch'
[2023-05-05 01:22:25.270] ++ dirname '/mnt/c/Users/Eason Gao/.vscode-insiders/extensions/ms-vscode-remote.remote-wsl-0.78.4/scripts/wslServer.sh'
[2023-05-05 01:22:25.270] + '/mnt/c/Users/Eason Gao/.vscode-insiders/extensions/ms-vscode-remote.remote-wsl-0.78.4/scripts/wslDownload.sh' 2c73d2651cc525b27fc697b820743098a204ec01 insider /home/gao/.vscode-server-insiders/bin
[2023-05-05 01:22:25.270] + '[' '!' -d /home/gao/.vscode-server-insiders/bin/2c73d2651cc525b27fc697b820743098a204ec01 ']'
[2023-05-05 01:22:25.270] + RC=0
[2023-05-05 01:22:25.270] + '[' 0 -ne 0 ']'
[2023-05-05 01:22:25.270] + echo 'WSL-shell-PID: 334'
[2023-05-05 01:22:25.270] + echo 'Node executable: /home/gao/.vscode-server-insiders/bin/2c73d2651cc525b27fc697b820743098a204ec01/node'
[2023-05-05 01:22:25.270] + echo 'Starting server: /home/gao/.vscode-server-insiders/bin/2c73d2651cc525b27fc697b820743098a204ec01/bin/code-server-insiders --host=<IP_ADDRESS> --port=0 --use-host-proxy --without-browser-env-var --disable-websocket-compression --accept-server-license-terms --log=trace --disable-telemetry --telemetry-level=off'
[2023-05-05 01:22:25.270] + '[' -f /etc/alpine-release ']'
[2023-05-05 01:22:25.270] ++ uname -m
[2023-05-05 01:22:25.270] + '[' x86_64 = aarch64 ']'
[2023-05-05 01:22:25.270] + ulimit -c unlimited
[2023-05-05 01:22:25.270] + /home/gao/.vscode-server-insiders/bin/2c73d2651cc525b27fc697b820743098a204ec01/bin/code-server-insiders --host=<IP_ADDRESS> --port=0 --use-host-proxy --without-browser-env-var --disable-websocket-compression --accept-server-license-terms --log=trace --disable-telemetry --telemetry-level=off
[2023-05-05 01:22:25.271] VS Code Server for WSL closed unexpectedly.
[2023-05-05 01:22:25.271] For help with startup problems, go to https://code.visualstudio.com/docs/remote/troubleshooting#_wsl-tips
[2023-05-05 01:22:25.271] Run: C:\Windows\System32\wsl.exe -d Arch -e kill 334
[2023-05-05 01:22:25.280] WSL Daemon exited with code 0

VS Code version: Code - Insiders 1.79.0-insider (2c73d2651cc525b27fc697b820743098a204ec01, 2023-05-04T22:11:08.187Z)
OS version: Windows_NT x64 10.0.22621
Modes:
Sandboxed: Yes
Connection to 'WSL: Arch' could not be established  VS Code Server for WSL closed unexpectedly.
Check WSL terminal for more details.

System Info

Item
Value

CPUs
AMD Ryzen 9 7950X 16-Core Processor             (32 x 5350)

GPU Status
2d_canvas: enabledcanvas_oop_rasterization: disabled_offdirect_rendering_display_compositor: disabled_off_okgpu_compositing: enabledmultiple_raster_threads: enabled_onopengl: enabled_onrasterization: enabledraw_draw: disabled_off_okvideo_decode: enabledvideo_encode: enabledvulkan: disabled_offwebgl: enabledwebgl2: enabledwebgpu: enabled

Load (avg)
undefined

Memory (System)
63.14GB (48.27GB free)

Process Argv

Screen Reader
no

VM
0%

Connection to 'WSL: Arch' could not be established  VS Code Server for WSL closed unexpectedly.
Check WSL terminal for more details.
Extensions: none

This issue has been closed automatically because it needs more information and has not had recent activity. See also our issue reporting guidelines.
Happy Coding!


Auto change artifact version in action.yml

Fixes #315

The jbang run command  uses automatically the correct artifact version for the action
The jbang shortcut for Maven Central was changed to simply central
Updated the approval tests

@gsmet Is there a way to create a QuickStart from the locally changed version of the extension?

@gsmet Thank you for your thoughts.
I completely understand, if you don't want to go down this route, this was simply the first solution that came to mind, mitigating the problem. Please understand it as food for thought for how to get a handle on the issue.
You're probably right, not wanting to add to the initialisation cost generally, and keeping the QuickStart as simple as possible.
For me it was just a bit surprising to deploy a new version of an action, and not having it stick.
To prevent a similar experience for others, we could keep the QuickStart as is, but add a paragraph to the developer reference detailing versioning. Here we could offer a yet to be agreed upon example, on how to adjust the QuickStart to handle versioning. I'll definitely have a look at your idea with the release plugin.
Regarding the versioning, I would proceed as follows:

Using a detailed version (e.g. v1.0.2) for each release
Using a major version (eg. v1) pointing to the latest 1.x.x release

As far as I understand it, we should be able to avoid the above mentioned problem

Meaning you cannot be in the following situation:

the action.yml is in a branch and has been updated
the jar is not there so the action will fail

by first releasing the minor version, and updating the tag for the major version only, when the release of the new artifact is completed. This results in the following scenario:

If the client references the minor version directly, then there is no conflict
If the client references the major version, it will keep referencing the previous version, until the tag is changed

This is how I understand it, but please keep in mind, I'm in no way an expert for GitHub generally, nor GitHub-Actions in particular. Any insights, on how to best get a grip on this problem are highly welcome.

So there are some thoughts about how to handle things here: https://docs.quarkiverse.io/quarkus-github-action/dev/push-to-production.html but as you have experienced it, the situation is far from being ideal...
I really think we should try the maven-release-plugin + workflow route.
What is going to be a bit annoying are the branches as you basically have two sorts of branches:

the branches for your code - i.e. at the code level, you want to create and maintain a branch
the branches for your action

What I'm wondering is if the following would work:

when creating a branch, we could update the action.yml to point to the current snapshot of this branch
when releasing a version, we update the action.yml to the released version (I think the Maven release plugin will only push the tag/branch to the origin repo on completion so that might work) - see the completionGoals idea and SO link above
we don't update action.yml when updating to the new snapshot version so that the branch actually points to the currently released bits: so as soon as you have released something for a given branch, you switched to release mode and you only point to properly tagged artifacts

Because all in all, the action.yml is the only thing that needs to point to the released version in the branch.
If you're interested in pursuing this, I think it would have a lot of value. This thing has been bothering me for quite a while, I totally agree it's in the way of having an experience that is in line with what people expect from GitHub Actions.
Not sure if my plan is clear?

I see, where you're aiming at.
I'll definitively look further into this.
Please understand, I can't tell you exactly, when I can make time, to follow this through. I'll write any advances I make or questions I have here.

This PR version offers support for automatic release versioning via the maven release-plugin.
The versioning scheme for the action should follow the smantic versioning specification (major.minor.incremental):

new major versions for breaking changes
new minor versions for new features
new incremental versions for patches

You should create a new branch for each release, that isn't a patch release.
Before creating a new release, the main branch should be pushed to GitHub.
To release a new version create a new branch named releases/<version_identifier> and push it to GitHub:

git switch -c releases/v1.0
git push -u origin releases/v1.0

To release a patch for an existing version, simply add the changes to the respective releases/* branch and push them to GitHub. If appropriate, merge them back to main.
When releasing a new version, a new incremental SNAPSHOT version is created in the releases/* branch and project.next.version in the main branch is set to the next minor version.
After the release workflow has finished you can fetch the new updates with git fetch --tags --force. --force is necessary to update the major version tag, that references the latest action for this major version.
The full version tags have the format v<major>.<minor>.<incremental>, e.g. v1.2.3. The major version tag has the format v<major>, e.g. v1.
The major version tag is changed after the artifact is deployed, therefore the client alwas references a valid version of the action.

Some additional observations:

The maven release plugin sets the tag in release:prepare before deploying the artifact in release:perform.
Using the release:branch goal to create a new branch is not possible, because it's missing the necessary extension points  (completionGoals, preparationGoals) release:prepare has, to modify action.yml before commiting.
In the long run it could be beneficial, to write a dedicated maven plugin for the release process.

@gsmet If time permits, could you have a look, if that‘s the direction you‘d want to take this issue?


travis test at pinned environments

What is the problem / what does the code in this PR do
See:

https://github.com/AxFoundation/strax/pull/383,
https://github.com/XENONnT/straxen/commit/bde58e97fe2487a6abc5aa62879d344630a4a4e1
https://github.com/AxFoundation/strax/issues/229
https://github.com/XENONnT/base_environment/issues/404

Can you briefly describe how it works?
See links above

@ershockley , I guess you have been busy, I'm merging it because I need to make some other changes and I don't want to have to resolve conflicts

@ershockley , I guess you have been busy, I'm merging it because I need to make some other changes and I don't want to have to resolve conflicts


Added E1 papers

Added E1 papers and deleted sample papers

Can I merge it ?

@Parulshandilya you may merge it after approving.


feat(radio): initial version

#4477

I think you may need to git pull --rebase origin master and run npm run lint:js on this code.

Looks like this branch needs a git pull --rebase but besides that LGTM 💎 👍 🔥 💯

Thanks Travis!


WailsV2 not availble

Describe the bug
I grabbed the Wails repo to build WailsV2 which compiled but it does not have the "-p" flag need in the Surge "wails build -p"
Desktop (please complete the following information):

OS: Windows 11 (x64)

Is there a way to build Surge natively with Golang without using WailsV2?

Sadly not out of the box, however there are very few dependencies between /backend/ and /frontend/ most of which are event based, it should be fairly straightfoward to only take the native golang /backend/ folder, remove the frontend and clean up main.go to build without wails.
With regards to building with wails itself it's best to follow the getting started tutorial on their website if you still plan on giving that another go.

Hello, and Thanks for your response.
Maybe I can start by working through your basic build using WailsV2.
When I tried, I found that the "-p" flag was not recognized. Maybe I was somehow using V1 instead of V2.
Can you please tell me the process that you used to install and compile your WailsV2 from their sources and maybe I can replicate your steps.
I will try again with as I could have missed something else as well:
go install github.com/wailsapp/wails/v2/cmd/wails@latest

I just want to get the Windows (initially) version to build from your basic instructions and once that is successful then I can think about modifying the codebase towards my goal.
Thanks again and have a great day

Maybe if you could give me the steps that you used to make the surge-portable version (windows) then I could try to replicate then here.
Thanks

Solved in Discord - Repo is working, problems could be solved by updating dev environment


Unable to detect noxplayer emulator

I've tried to run the app on the Nox emulator. It seems like the SDK is not able to detect the nox emulator. Below is the system information of the emulator:
Nox version: <IP_ADDRESS>33-9.0900220715
Android version: Android 9(64 bit)
System version: Windows10-64bit-4cpu
Computer model: MSI-MS-7850
CPU: Intel(R) Core(TM) i5-4570 CPU @ 3.20GHz
Total memory: 15.9 GB
Available memory: 10.0 GB
CPU VT: Enabled
Rendering mode: OpenGL+
OpenGL version: 4.3.0 - Build <IP_ADDRESS>24
OpenGL rendering: Intel(R) HD Graphics 4600
Discrete graphics: Enabled
Graphics card1: Intel(R) HD Graphics 4600
Firewall: Enabled(Recommend to disable)
Installation path: D:\Program Files\Nox\bin
Log Path: C:\Users\KK\AppData\Local\Nox
Emulator disk space: total  128G, available 116G

Hello KKChong,
you are right, the SDK is not yet able to detect the Nox emulator. The feature will be added in upcoming releases. Thank you!
Kind regards,
Talsec team

Hi @KKChong ,
We have great news! We will roll out a new freeRASP with improved emulator detection (including Nox). Stay tuned for new freeRASP release :) !
King regards,
Talsec Team

Hello @KKChong ,
A new version (https://github.com/talsec/Free-RASP-Android/releases/tag/v6.0.0) has been released, which detects the Nox emulator.
Kind regards,
Matúš, Talsec developer


improve filenames

Hi @poer-sophia please check this in particular, where I just commented out code which was causing a syntax error. Thanks
https://github.com/MHH-RCUG/haybaler/pull/63/commits/fde6a95932bd449b57f561882c0a8f44f9287fd5


CRUD

[x] Create / Add
[x] Retrieve / Detail
[x] Update / Edit
[x] Delete / Remove

We use names that are on the right side.
Create should be called Add (because it's more neutral).
Delete – Remove and so on...

Done


App\User cannot implement Bican\Roles\Traits\HasRoleAndPermission - it is not an interface

I am trying to attach a role. I am having error below.
FatalErrorException in User.php line 21:
App\User cannot implement Bican\Roles\Traits\HasRoleAndPermission - it is not an interface

There is mistake in documentation, it's solved by replacing:
use Bican\Roles\Contracts\HasRoleAndPermission as HasRoleAndPermissionContract;
with
use Bican\Roles\Contracts\HasRoleAndPermissionContract;

Thanks! I'll try this if decided to add this package again, Currently trying Laravel's Authorization for now.


updated Katacoda link other than en

Fix the broken link by following issue #34428

/hold
PRs should update at most one localization. You can open a PR for each localization you want to update @windsonsea and then the teams who manage each of those localizations can fit that into their workflow.
It's frustrating for this kind of change but this seems like the least bad option.

/hold
PRs should update at most one localization. You can open a PR for each localization you want to update @windsonsea and then the teams who manage each of those localizations can fit that into their workflow.
It's frustrating for this kind of change but this seems like the least bad option.

Sorry to confuse you. I will close this and re-submit them one by one.


Get the delete button on main workout plan page working

This seems to have been an issue related to casting. I did a few tests in a non-casting environment and it all worked great. I'll assume this is good, but I can re-open this issue if it's replicated by anyone else.


small visuals

Thank you for your contribution to the Koda - Generative Art Marketplace.
👇 __ Let's make a quick check before the contribution.
PR Type

[ ] Visual touch-up

Needs Design check

@exezbcz please review

Context

[x] Closes #9862

Did your issue had any of the "$" label on it?

[x] My DOT address: Payout

Screenshot 📸

[x] My fix has changed something on UI; a screenshot is best to understand changes for others.

Thanks!
pay 30 usd

😍 Perfect, I’ve sent the payout
💵 $30 @ 9.1 USD/DOT ~ 3.297 $DOT
🧗 1cAsKZYNRb8dkSCpn4eVkEn6ycNZTGoDo5dGDgB8J1UUWK8
🔗 0xee04ec398c211b2c5e109af03fbb51ac05732bfba4c7a00a34fc60898c4f1319
🪅 Let’s grab another issue and get rewarded!
🪄 github.com/kodadot/nft-gallery/issues


[GLUTEN-7484][CH]Fix element_at diff

What changes were proposed in this pull request?
(Please fill in changes proposed in this fix)
(Fixes: #7484)
How was this patch tested?
UT

The problem described in issue: https://github.com/apache/incubator-gluten/issues/7484 is already fixed by https://github.com/apache/incubator-gluten/pull/7242/files, here we continue to fix the bug when input map parameter's key is null.


POD render cache

While static site rendering is out of scope for now as it's incompatible with a useful site search, the step of rendering POD to HTML and munging the resulting DOM can be prerendered, stored in either filesystem or database, and then the results directly inserted into the template at request time.

This is now partially implemented in https://github.com/Grinnz/perldoc-browser/commit/f4780b97ac0a5e8474482ec008d18e72c5e7caf6 and https://github.com/Grinnz/perldoc-browser/commit/6a0a4ec5c9ea85140f6e2f59419178aa93fed5b1, for all standard pods. Individual function and variable pages, and the functions and modules index pages, are not pre-rendered yet.


.d.json.ts file (allowArbitraryExtensions) not working correctly when importing from ESM file with node16/nodenext module setting

🔎 Search Terms
allowArbitraryExtensions, import, JSON, d.json.ts, nodenext, node16, mjs, mts, "type": "module"
🕗 Version & Regression Information

This is the behavior in every version I tried, and I reviewed the FAQ for entries

⏯ Playground Link
https://codesandbox.io/p/devbox/json-import-bug-frj89p
💻 Code
tsconfig.json
{
  "compilerOptions": {
    "target": "esnext",
    "module": "nodenext",
    "resolveJsonModule": true,
    "allowArbitraryExtensions": true,
    "noImplicitAny": true
  }
}

foo.json
["foo", "bar", "baz"]

foo.d.json.ts
// In this contrived example we're declaring it as a tuple since TS otherwise infers it as string[]
declare const data: ["foo", "bar", "baz"];
export default data;

index.mts, or index.ts with "type": "module" in package.json
import data from "./foo.json" with { type: "json" };

// Apparently not an array, these all error!
const x = data satisfies any[];
data.forEach((item) => console.log(item));
type Item = (typeof data)[number];

// TS thinks it lives on .default
const x2 = data.default satisfies any[];
data.default.forEach((item) => console.log(item));
type Item2 = (typeof data.default)[number];

🙁 Actual behavior
The compiler/intellisense thinks the JSON value lives on the .default property, as if the import were a CommonJS/"synthetic" ES module.
🙂 Expected behavior
It should know that the "base" (actual default) import holds the JSON value, which is the behaviour when there isn't a .d.json.ts file present and most importantly the runtime behaviour.
Additional information about the issue
I tried renaming to *.d.json.mts but then the file simply doesn't get picked up.
The motivation for using this feature in the first place is because I'm importing a big JSON array of objects that causes a long delay every time autocompletion is invoked or something is hovered and generally makes things unbearably sluggish, and fails to infer the type anyway. Some people reporting the same thing in this issue: #48364
Side note: if you're messing around in the CodeSandbox sometimes the intellisense won't update unless you do something like modify the import path to trigger it. Also if you use the terminal you should use npx tsc because the globally installed version (at the time of writing) is 5.2 which complains about import attribute syntax. So I recommend testing locally.

I tried renaming to *.d.json.mts but then the file simply doesn't get picked up.

This worked for me -- the import got treated correctly, the file appears in --listFiles, and errors appear if I introduce an error into it. Can you verify?
Anyway I think the desired behavior here is that for a .d.whatever.ts file, we treat it as CJS/ESM depending on the package.json's type field

This worked for me -- the import got treated correctly, the file appears in --listFiles, and errors appear if I introduce an error into it. Can you verify?

@RyanCavanaugh Can't replicate (just tested on 5.4.0-beta). If the json file is present then intellisense just uses the inferred type from that, and when compiling the .d.json.mts appears to be treated as a standard TS file rather than a definition file, e.g: it outputs a "foo.d.json.mjs" file, and with the --declaration flag also "foo.d.json.d.mts" (notice two "d"s). My hunch is that's what you're seeing. Also if I delete the json file then I get error TS2307: Cannot find module './foo.json' or its corresponding type declarations.
Compare that to when it's named .d.json.ts: there's no output for it when compiling, and if I delete the json file there's no error (because the declaration file is being picked up).

Made an interesting discovery. If I disable resolveJsonModule and allowArbitraryExtensions, and instead create an ambient module declaration like so:
declare module '*/foo.json' {
  declare const data: ["foo", "bar", "baz"];
  export default data;
}

I get the same issue with the value only being recognized on .default. Naming the referenced declaration file *.d.ts or *.d.mts doesn't make a difference, neither does changing the type field in package.json.
So apparently the issue isn't limited to the aforementioned features, which implies it's something integral to the nodenext/node16 resolution mode. Setting moduleResolution to classic, or module to esnext (with any of the other resolution modes) makes it behave correctly, just to make it clear.

Alright, so for the sake of argument, I have given this a try over here, and instantly I got... very confusing test results and inscrutable behaviors due to the interplay of various formats and interop behaviors. I assumed some changes in behavior, and even those assumptions weren't quite right.

Anyway I think the desired behavior here is that for a .d.whatever.ts file, we treat it as CJS/ESM depending on the package.json's type field

After looking at it, I don't think this is a great idea - in fact, I've bamboozled you in the above statement, it's not a new behavior for us to adopt, it's our current behavior - the above change is a noop - a .d.*.ts file has  .ts extension, so already falls into the package-json-dependent-format codepath.  I think .d.*.ts files should really be forced to cjs format. That way the right way to write the declaration file for
["foo", "bar", "baz"]

is always just
declare const data: ["foo", "bar", "baz"];
export = data;

regardless of context - this gives the likely intended behavior for both esm and cjs consumers (the whole export='d object is available as the default import in esm, or the result of require in cjs). And that you can find here.


IDS alerts page navigation items not updated correctly

Describe the bug
The IDS alerts page (Services: Intrusion Detection: Administration: Alerts) navigation items at the bottom are not beeing updated correctly or behave correctly.
To Reproduce
Steps to reproduce the behavior:

Go to "Services: Intrusion Detection: Administration: Alerts"
Select "500" (same for other values) for max visible entries per page (i have 512 entries)
Click on the query button at the top right to update the results (see screenshot)

Bug 1: Navigation widget at the bottom left: The mouse cursor is missing the "clickable" icon indicator on hover (Firefox + Chrome)
Bug 2: Navigation widget at the bottom left: Click on ">>" button: It wont jump to the last page
Bug 3: While changing the max visible entries per page the navigation widget (available page numbers) and the info text ("Showing 1 to 7 of 512 entries") is not beeing update correctly
Screenshots

Environment
OPNsense 20.1.4 (amd64, OpenSSL).

duplicate https://github.com/opnsense/core/issues/756 ?

yes probably a duplicate, at least bug 2 and 3.

explanation why this can't be solved within the boundaries we have can be found in the other ticket.

@AdSchellevis It's probably a technical constraint right. From a user perspective it's odd the system shows a control which actually is incorrect. Can you save the pagination settings? I don't like I have set it EVERY time I visit this page. First time wrong, future probably right. Or render everything client-side..

@myradon yes, you have to read the whole file to know its size, which would lead to sloppy user response.  In most components we save the number of entries selected in the browser data, if that doesn't work here,  feel free to open a ticket (using our template) and file a feature request.

The feature request, which is UX related, best approach is to be based on feedback/input more users.
Many logs with pagination are not correct. Look at the Unbound screendump below. The system "State" is showing the entries 1 to 20 of 21. At least that is what the text says. What happens when you select the next page the total just increases. It provides the user false information and doesn't make sense.

Suricata the same;

No offense to al the hard work from you guys, but pagination really can have an improvement.
If you want I can help you guys out with UX/ Interaction Design related stuff because it's my profession.

@myradon feel free to create a pull request, as far as I can think of this can't be solved without parsing the whole file to count line endings (which will kill performance) or remove/hide the buttons/pagination.  Most of the logs use a single template and backend handling, so if one can come up with a sensible solution, it would be easy to make sure all are handled equally.
No offence taken, but the UX design part only makes sense if it can operate within the technical boundaries which exists. (we don't know the number of rows in a file and can't guess them when knowing its size).

All roads leads to Rome. How come you don't know the amount of entries when user selects a link to show some log file? How about also storing a counter? I don't know if that fixes the root problem. How many entries can/do an OPNsense firewalls run in the wild?

we're circling back, log files usually don't come with row counters. When designing database applications, this question is usually pretty simple (add an index, request a row count), when dealing with flat files things are very different.
A lot of these files can grow big, sometimes very big and change while being viewed. So a better solution which makes it more obvious what's going on would be highly appreciated, changing the technical constraints is a no go area when impacting performance too much.

We are looking at it from 2 different perspectives.
Are you saying GUI shows flat text logfiles? OPNsense reads "set amount by user/default" from a logfile and serve in the GUI? So GUI is more like a "shift register"? Otherwise you have to read the entire file and then cut into chunks. Is that what you are saying?

@myradon I'll gladly provide you the pointers so you can come to your own conclusions, unfortunately I don't have enough time to explain the architecture and design of OPNsense in this ticket (best check our docs https://docs.opnsense.org/development/architecture.html).
https://github.com/opnsense/core/blob/e690ff6fec3de90949cae42c7620ae6ec6b8beb0/src/opnsense/mvc/app/controllers/OPNsense/IDS/Api/ServiceController.php#L171-L209
configd configuration:
https://github.com/opnsense/core/blob/e690ff6fec3de90949cae42c7620ae6ec6b8beb0/src/opnsense/service/conf/actions.d/actions_ids.conf#L37-L41
script parsing the log:
https://github.com/opnsense/core/blob/master/src/opnsense/scripts/suricata/queryAlertLog.py

This issue has been automatically timed-out (after 180 days of inactivity).
For more information about the policies for this repository,
please read https://github.com/opnsense/core/blob/master/CONTRIBUTING.md for further details.
If someone wants to step up and work on this issue,
just let us know, so we can reopen the issue and assign an owner to it.


doc: Tactic.Common notes about missing tactics

We might consider rearranging these tactics so they can be imported in Tactic.Common, and their extensions are then created at the first relevant point.

bors r+


Iotssl 591 glue layers

Improve documentation and error messages around the "semi-portable" parts.

Reviewed and merged.


Fix SIGSEGV crash related to map of state changes

See https://github.com/juanfont/headscale/issues/1114#issuecomment-1373698441 (probably caused by race conditioning)

Great! Thanks!


evaluation problems

def t2i(images, captions, npts=None, measure='cosine', return_ranks=False):
"""
Text->Images (Image Search)
Images: (5N, K) matrix of images
Captions: (5N, K) matrix of captions
"""
if npts is None:
npts = int(images.shape[0] / 5)
ims = numpy.array([images[i] for i in range(0, len(images), 5)])
why  divide 5？

For datasets used, there is always exactly 5 captions per image. These are made into 5N pairs where every 5 consecutive pair has the same image.

Thank you very much.
IN our datasets,there is always exactly 1 captions per image.should I just devide 1?

Sure. Make sure you change all other places where this assumption is used. Search for the number 5 in the code.

OK, thanks for your help.


Find feed data by name and id.

Feed data is currently stored in dictionaries keyed on name (case sensitive). Links across EDDB data files often use an internal ID rather than the name as keys. A better solution would provide case-insensitive name matching (assuming no conflicts) and allow finding by ID with the same data structure.
Hunch: Longer term, maybe MongoDB. Shorter term, DataFrame.

Working on Issue #7 has validated the pandas DataFrame approach.  SQL-like joins, projections, and restrictions enable searching and combining the different feeds.

Notebooks don't appear to be valid refactoring targets for changes in a module they depend on, so Issue #9 is a prerequisite in the hopes that, as scripts, VSC refactoring will include them.

Renaming a variable for another issue did rename everything in the python interactive scripts.  Wrote a new notebook (core prices report) so that inline code and the need to refactor it is minimized.


[Question] My config doesnt have many entries including the custom command prefix.

Checks

[X] I confirm that I have searched for existing issues before reporting to avoid duplicate reporting.

Description
I am using MCDiscordChat-1.18-2.0.0-alpha.3 on quilt loader 0.17.0 1.18.2 and the config generated doesnt have a lot of the options I've seen added in previous versions.

Such as?

Generated config
{
  "generic": {
    "useEngInsteadOfChin": true,
    "botToken": "xxxx",
    "botPlayingStatus": "Minecraft",
    "botListeningStatus": "",
    "webhookUrl": "xxxx",
    "channelId": "xxxx",
    "consoleLogChannelId": "xxxx",
    "useUuidInsteadOfName": true,
    "avatarApi": "https://mc-heads.net/avatar/%player%.png",
    "broadcastCommandExecution": false,
    "allowMentions": true,
    "modifyChatMessages": true,
    "useServerNickname": true,
    "announceHighMspt": true,
    "msptCheckInterval": 5000,
    "msptLimit": 50,
    "mentionAdmins": true,
    "updateChannelTopic": true,
    "channelTopicUpdateInterval": 600000,
    "excludedCommands": [
      "/tell"
    ],
    "adminsIds": [
      "xxxx"
    ]
  },
  "multiServer": {
    "enable": false,
    "host": "<IP_ADDRESS>",
    "port": 5000,
    "name": "SMP",
    "botIds": []
  },
  "textsZH": {
    "unformattedResponseMessage": "    ┌──── <%name%> %message%",
    "unformattedChatMessage": "[%server%] <%name%> %message%",
    "unformattedOtherMessage": "[%server%] %message%",
    "formattedResponseMessage": [
      {
        "text": "    ┌──── ",
        "bold": true,
        "color": "dark_gray"
      },
      {
        "text": "<%name%> ",
        "bold": false,
        "color": "%roleColor%"
      },
      {
        "text": "%message%",
        "bold": false,
        "color": "dark_gray"
      }
    ],
    "formattedChatMessage": [
      {
        "text": "[%server%] ",
        "bold": true,
        "color": "blue"
      },
      {
        "text": "<%name%> ",
        "bold": false,
        "color": "%roleColor%"
      },
      {
        "text": "%message%",
        "bold": false,
        "color": "gray"
      }
    ],
    "formattedOtherMessage": [
      {
        "text": "[%server%] ",
        "bold": true,
        "color": "blue"
      },
      {
        "text": "%message%",
        "bold": false,
        "color": "gray"
      }
    ],
    "serverStarted": "**服务器已启动！**",
    "serverStopped": "**服务器已关闭！**",
    "joinServer": "**%playerName% 加入了服务器**",
    "leftServer": "**%playerName% 离开了服务器**",
    "deathMessage": "**%deathMessage%**",
    "advancementTask": "**%playerName% 达成了进度 [%advancement%]**",
    "advancementChallenge": "**%playerName% 完成了挑战 [%advancement%]**",
    "advancementGoal": "**%playerName% 达成了目标 [%advancement%]**",
    "highMspt": "**服务器 MSPT (%mspt%) 高于 %msptLimit%！**",
    "consoleLogMessage": "[%time%] [INFO] %message%",
    "offlineChannelTopic": ":x: 服务器离线 | 最后更新于：<t:%lastUpdateTime%:f>",
    "onlineChannelTopic": ":white_check_mark: %onlinePlayerCount%/%maxPlayerCount% 位玩家在线 | 服务器玩家总数：%uniquePlayerCount% | 服务器于 <t:%serverStartedTime%:R> 启动 | 最后更新于：<t:%lastUpdateTime%:f>",
    "onlineChannelTopicForMultiServer": ":white_check_mark: %onlinePlayerCount%/%maxPlayerCount% 位玩家在线 | 服务器玩家总数：%uniquePlayerCount% | %onlineServerCount% 个服务器在线 [%onlineServerList%] | 服务器于 <t:%serverStartedTime%:R> 启动 | 最后更新于：<t:%lastUpdateTime%:f>"
  },
  "textsEN": {
    "unformattedResponseMessage": "    ┌──── <%name%> %message%",
    "unformattedChatMessage": "[%server%] <%name%> %message%",
    "unformattedOtherMessage": "[%server%] %message%",
    "formattedResponseMessage": [
      {
        "text": "    ┌──── ",
        "bold": true,
        "color": "dark_gray"
      },
      {
        "text": "<%name%> ",
        "bold": false,
        "color": "%roleColor%"
      },
      {
        "text": "%message%",
        "bold": false,
        "color": "dark_gray"
      }
    ],
    "formattedChatMessage": [
      {
        "text": "[%server%] ",
        "bold": true,
        "color": "blue"
      },
      {
        "text": "<%name%> ",
        "bold": false,
        "color": "%roleColor%"
      },
      {
        "text": "%message%",
        "bold": false,
        "color": "gray"
      }
    ],
    "formattedOtherMessage": [
      {
        "text": "[%server%] ",
        "bold": true,
        "color": "blue"
      },
      {
        "text": "%message%",
        "bold": false,
        "color": "gray"
      }
    ],
    "serverStarted": "**Server started!**",
    "serverStopped": "**Server stopped!**",
    "joinServer": "**%playerName% joined the game**",
    "leftServer": "**%playerName% left the game**",
    "deathMessage": "**%deathMessage%**",
    "advancementTask": "**%playerName% has made the advancement [%advancement%]**",
    "advancementChallenge": "**%playerName% has completed the challenge [%advancement%]**",
    "advancementGoal": "**%playerName% has reached the goal [%advancement%]**",
    "highMspt": "**Server MSPT (%mspt%) is above %msptLimit%!**",
    "consoleLogMessage": "[%time%] [INFO] %message%",
    "offlineChannelTopic": ":x: Server offline | Last updated: <t:%lastUpdateTime%:f>",
    "onlineChannelTopic": ":white_check_mark: %onlinePlayerCount%/%maxPlayerCount% player(s) online | %uniquePlayerCount% unique player(s) ever joined | Server started <t:%serverStartedTime%:R> | Last updated: <t:%lastUpdateTime%:f>",
    "onlineChannelTopicForMultiServer": ":white_check_mark: %onlinePlayerCount%/%maxPlayerCount% player(s) online | %uniquePlayerCount% unique player(s) ever joined | %onlineServerCount% server(s) online [%onlineServerList%] | Server started <t:%serverStartedTime%:R> | Last updated: <t:%lastUpdateTime%:f>"
  }
}

It seems that you used to be a user of MCDC v1. MCDC v2 has been redesigned and some configuration options have been renamed or removed because they are no longer needed. As you said command prefix, the new version uses Discord's Slash (Application) Command function, so it is unified to use /. Discord needs some time to refresh application command, which takes about an hour.

I see, so generating a new config should help?

Yes. Generate a new one to avoid conflicts.

The available options are ofc the same, but the values are different. All your problems should be solved.

Oh sorry, just realized it's really the same, but the question is still answered.

The available options are the same because the mod read all the values and re-generate a new config with same-name variables inserted, but some of the values are different and cannot be updated, e.g. consoleLogMessage.
All your problems should be solved.

I just made some edits to my answer, hope this helps understanding better.


canvas cannot draw image and erase

Duplicate Check

[X] I have searched the opened issues and there are no duplicates

Describe the requested feature
canvas cannot draw image and erase
we want to use canvas to draw mask image for a picture ,then we need to load last complete mask image, or erase already exists part of line
Suggest a solution
No response
Screenshots

No response
Additional details
No response

Would also highly appreciate this feature  as I saw that the drawImage function from Flutter Canvas is not yet available

I also need this feature, but flet doesn't support it.


Add company info

This loads company info from JSON data and populates index.html. It
isn't fancy, but works for now.

Great addition! Thanks!


fix: missing to in 4844 conversion

Motivation
#365 and #343 were incompatible, and I didn't ensure CI was run before merging both of them
PR Checklist

[ ] Added Tests
[x] Added Documentation
[ ] Breaking changes

Semi-superseded by https://github.com/alloy-rs/alloy/pull/365, but I'll keep the docs


Integration tests for kubeadm

On going work to increase tests for kubeadm code base, focusing on integration tests.
Current PRs open working on this are https://github.com/kubernetes/kubernetes/pull/40175 and https://github.com/kubernetes/kubernetes/pull/40045

Waiting for review on kubernetes#40175
currently moved tests from cmd/kubeadm/test into test/integration/kubeadm
Although there is an argument that these are not integration tests, but 'command tests', so that we would actually have unit, cmd, integration, and e2e tests. This will have to be discussed in the SIG meeting.

Blocked by #10.


[General] NPM scripts and package.json file

https://docs.npmjs.com/cli/v7/commands/npm-ci#description


Redundant requests to the /health endpoint

One page load, three requests:

Probably only when the /health returns something other than 200. Are you making retries?

/health isn't exactly cheap.

Looks like this is only happening when we get a non 200 response.
Will take a look at why the 503 causes the extra hit.

We are retrying twice if we receive an error response. I can take out the retry for the /health end point, if you would prefer.

Hi @hannes-ucsc checkout the question above. Are you requesting that we remove the retry on the health check endpoint?
Cheers,
D

Are you requesting that we remove the retry on the health check endpoint?

Yes. There is no point in retrying the health check endpoint and it is actually expensive.

The update for this has been deployed through to staging.

Fixed. Took indexer down and only saw one 503 request:


xor

Hi, i would like to add a PR
an implementatoin of xor function

Thanks but this wouldn't really add any value for the average reader.


Phone Number retrieval and Testing

Problem description
The Test cases are not aligned with the new management of phone number in case of 2-legs and 3-legs authentications
Expected action
align the test cases
Additional context
https://github.com/camaraproject/CallForwardingSignal/issues/130

Fixed with: https://github.com/camaraproject/CallForwardingSignal/pull/121


Add Contributing file

https://github.com/blog/1184-contributing-guidelines

I've started a generic template as a starting file, you want me to do a pull or should the file just get added directly to the master and we can add to it as needed from there?

Do a PR to master and we can review it - thanks!

Thanks!


Seems that files with long filenames throw errors

DataError: value too long for type character varying(50)

{"document-title":"A Statistical Analysis of the USFSP Solar Parking Garage"... }

We should really catch this as a form error, although we could also just force-shorten it...


Travis: update CI matrix

This PR updates the CI matrix to

add Travis-preinstalled Ruby versions
use latest stable JRuby

One step forward: now, the test suite fails, it does not error.


Just updated the scroll-bar for the whole app. Small Enhancement.

@hkirat You can change the color that you want here. I have added some scroll bar changes for ui.
https://github.com/code100x/cms/assets/75634882/a285bc53-e781-4761-8c49-da9dcf25f5c5

Not needed I think native scrollbar is fine for now


History.push() and replace() not working in React while using<EMAIL_ADDRESS>

Duplicate of #803 / #805 / #811

Duplicate of #803 / #805 / #811
The break is pretty much intentional, just not documented in the release notes.

Is there any way I can work around it without going back to the previous stable version ?

What breaks is actually the way the listeners are called. Unless you can adapt whatever is listening to the new calling conventions, you either have to make some wrapper (by overriding .listen(), maybe?) or downgrade.
I tried to collect what I could about the technical changes in this gist: https://gist.github.com/StringEpsilon/47820cc961c8d82f3b71dc856b5cc616 Hope that helps.


Added python3.5 support to makefile

Makefile would fail on system with python 3.5 (but no other python3) installed.

By analyzing the blame information on this pull request, we identified @pallotron to be a potential reviewer.

@facebook-github-bot shipit

Thanks for importing. If you are an FB employee go to Phabricator to review.


How to parse the 'squeeze_net.caffemodel' to 'model.pkl' for python 3

I use the python 3,and train the squeeze net by use caffe
so can you help me for parse the '.caffemodel' to 'pkl'...Tks!

pkl just a file which save a python dict ,you can  read the caffemodel ,save it as dict and save it .
caffe_model = 'VGG16/VGG_ILSVRC_16_layers.caffemodel'
deploy = 'VGG16/VGG_ILSVRC_16_layers_deploy.prototxt'
net = caffe.Net(deploy, caffe_model, caffe.TEST)  # 加载model和network
caffe 参数本身的格式也是numpu.ndarray
weights 和bias要分开
_dict = {}
for k, v in net.params.items():
# print k, v[0].data.shape, v[1].data.shape
_dict[k + '_weights'] = v[0].data
_dict[k + '_bias'] = v[1].data
for k in _dict.keys():
print k, _dict[k].shape
with open('vgg16.pkl','w') as f:
pkl.dump(_dict, f, pkl.HIGHEST_PROTOCOL)
MODEL_PATH = 'data/VGG16/vgg16.pkl'

Hi guys,
Thanks for the question and the answer.
@wy1988 , if I understand correctly, you want to use caffe instead of tensorflow.
If that is the case, please consider use the original caffe model (https://github.com/DeepScale/SqueezeNet). model.pkl is the converted version for tensorflow to use.

thank you ,I got this

Another,how to understand the file like '8D5U5524_macbeth.txt'.
the value in the file what means!!tks

They should be coordinates of the chips on the color checker.

How to convert from .pkl format to .caffemodel format?


.github/workflows: Notify pull request authors when workflows have failed

Update the existing set of GHA workflows to notify PR authors when the workflow checks have failed. This job is triggered on non-draft PRs to avoid any rate limiting or spam notifications when iterating on WIP/draft PRs. Additionally, avoid using the same ci prefixed name. This can help better distinguish between individual workflows when interacting with the actions tab in the repositories github UI.

Ah, it looks like this may not work as we primarily use forks for opening pull requests :(
It's also entirely possible I'm misunderstanding the error message and all of this would be resolved by merging this PR first.
In any case holding.
/hold


Fix 404 error on landing pages

Promo pages-

[x] https://franklin.moleculardevices.com/en/assets/promotion/bpd/accelerate-your-cell-line-development-synthetic-biology-workflows (tabs)
[x] https://franklin.moleculardevices.com/en/assets/promotion/br/discovery-starts-here
[ ] https://franklin.moleculardevices.com/en/assets/promotion/dd/img/slas-eu-2022
[x] https://franklin.moleculardevices.com/en/assets/promotion/dd/img/add-another-dimension-to-your-research
[x] https://franklin.moleculardevices.com/en/assets/promotion/bpd/abm/tanvex/scale-up-biosimilar-pipelines-with-cell-line-development-automation
[x] https://franklin.moleculardevices.com/en/assets/promotion/bpd/abm/inovio/scale-up-dna-medicines-with-plasmid-cloning-automation
[x] https://franklin.moleculardevices.com/en/assets/promotion/br/real-discovery-starts-here
[x] https://franklin.moleculardevices.com/en/assets/promotion/br/automated-elisa-workcells
[x] https://franklin.moleculardevices.com/eu/assets/promotion/bpd/qpix-colony-picker
[x] https://franklin.moleculardevices.com/en/assets/promotion/general/bioincubator-solutions
[x] https://franklin.moleculardevices.com/en/assets/promotion/dd/img/high-throughput-organoid-imaging-and-screening
[x] https://franklin.moleculardevices.com/en/assets/promotion/bpd/accelerate-your-cell-line-development-synthetic-biology-workflows-de (tabs)
[x] https://franklin.moleculardevices.com/en/assets/promotion/bpd/accelerate-your-cell-line-development-synthetic-biology-workflows-fr (tabs)
[x] https://franklin.moleculardevices.com/en/assets/promotion/bpd/accelerate-your-cell-line-development-synthetic-biology-workflows-it (tabs)
[x] https://franklin.moleculardevices.com/en/assets/promotion/bpd/accelerate-your-cell-line-development-synthetic-biology-workflows-es (tabs)
[x] https://franklin.moleculardevices.com/en/assets/promotion/bpd/accelerate-your-cell-line-development-synthetic-biology-workflows-nl (tabs)
[x] https://franklin.moleculardevices.com/en/assets/promotion/bpd/optimize-your-high-value-cell-lines-de
[x] https://franklin.moleculardevices.com/en/assets/promotion/bpd/optimize-your-high-value-cell-lines-fr
[x] https://franklin.moleculardevices.com/en/assets/promotion/bpd/optimize-your-high-value-cell-lines-it
[x] https://franklin.moleculardevices.com/en/assets/promotion/bpd/optimize-your-high-value-cell-lines-es
[x] https://franklin.moleculardevices.com/en/assets/promotion/bpd/optimize-your-high-value-cell-lines-nl
[x] https://franklin.moleculardevices.com/en/assets/promotion/dd/img/streamline-your-path-to-drug-development (tabs)
[ ] https://franklin.moleculardevices.com/en/assets/promotion/dd/img/pegs-europe
[x] https://franklin.moleculardevices.com/en/assets/promotion/dd/img/high-throughput-organoid-imaging-analysis-and-screening
[ ] https://franklin.moleculardevices.com/en/assets/promotion/dd/img/slas-2023   ( This page redirecting to the homepage currently but should not )
[x] https://franklin.moleculardevices.com/en/assets/promotion/bpd/colony-picking-automation
[ ]

Other pages-

[x] https://franklin.moleculardevices.com/en/assets/ebook/dd/img/generate-application-specific-high-content-imaging-and-analysis
[x] https://franklin.moleculardevices.com/en/assets/scientific-posters/dd/img/bio-printed-3d-liver-model-and-high-content-imaging-for-assessment-of-compound-toxicity-effects
[x] https://franklin.moleculardevices.com/en/assets/app-note/br/quantify-tnfa-secretion-thp-1-derived-macrophages-with-alphalisa-assay

Closing as part of clean up as well.


texmacs: unset QT_SCREEN_SCALE_FACTORS

Description of changes
https://github.com/NixOS/nixpkgs/pull/261441#pullrequestreview-1690880627
Things done

Built on platform(s)

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

For non-Linux: Is sandboxing enabled in nix.conf? (See Nix manual)

[ ] sandbox = relaxed
[ ] sandbox = true

[ ] Tested, as applicable:

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

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

[ ] (Package updates) Added a release notes entry if the change is major or breaking
[ ] (Module updates) Added a release notes entry if the change is significant
[ ] (Module addition) Added a release notes entry if adding a new NixOS module

[ ] Fits CONTRIBUTING.md.

Telegram has the same situation:  https://github.com/NixOS/nixpkgs/issues/239814

Given the discussion surrounding this topic, should we make this flag contingent on the version of QT being 5?


arcgisimage doesn't work

I tried to use arcgisimage to plot a background map, but found it not working any way. And the example/testarcgis.py is also not working.  Any help with this? Thanks
matplotlib version: 3.6.2
basemap version: 1.2.2 (same issue with 1.3.8)
these are the print information when runing testarcgis.py
http://server.arcgisonline.com/ArcGIS/rest/services/ESRI_Imagery_World_2D/MapServer/export?bbox=-5156.620156177409,1718.8733853924696,-3437.746770784939,3437.746770784939&bboxSR=4326&imageSR=4326&size=400,400&dpi=96&format=png32&transparent=true&f=image
HTTPError                                 Traceback (most recent call last)
/var/folders/_m/wrfhq7ws5lj9_z9rjlf9bp6d_ll1t2/T/ipykernel_9229/3229385272.py in <cell line: 13>()
11 m=Basemap(projection='cyl',llcrnrlon=-90,llcrnrlat=30,urcrnrlon=-60,urcrnrlat=60,resolution='i')
12 # default 'blue marble' image.
---> 13 m.arcgisimage(verbose=True)
14 m.drawmeridians(np.arange(-180,180,10),labels=[0,0,0,1],color='y')
15 m.drawparallels(np.arange(-90,90,10),labels=[1,0,0,0],color='y')
~/opt/anaconda3/envs/mti/lib/python3.8/site-packages/mpl_toolkits/basemap/init.py in arcgisimage(self, server, service, xpixels, ypixels, dpi, verbose, **kwargs)
4271         if verbose: print(basemap_url)
4272         # return AxesImage instance.
-> 4273         return self.imshow(imread(urlopen(basemap_url)),ax=ax,
4274                            origin='upper')
4275
~/opt/anaconda3/envs/mti/lib/python3.8/urllib/request.py in urlopen(url, data, timeout, cafile, capath, cadefault, context)
220     else:
221         opener = _opener
--> 222     return opener.open(url, data, timeout)
223
224 def install_opener(opener):
~/opt/anaconda3/envs/mti/lib/python3.8/urllib/request.py in open(self, fullurl, data, timeout)
529         for processor in self.process_response.get(protocol, []):
530             meth = getattr(processor, meth_name)
--> 531             response = meth(req, response)
532
533         return response
~/opt/anaconda3/envs/mti/lib/python3.8/urllib/request.py in http_response(self, request, response)
638         # request was successfully received, understood, and accepted.
639         if not (200 <= code < 300):
--> 640             response = self.parent.error(
641                 'http', request, response, code, msg, hdrs)
642
~/opt/anaconda3/envs/mti/lib/python3.8/urllib/request.py in error(self, proto, *args)
561             http_err = 0
562         args = (dict, proto, meth_name) + args
--> 563         result = self._call_chain(*args)
564         if result:
565             return result
~/opt/anaconda3/envs/mti/lib/python3.8/urllib/request.py in _call_chain(self, chain, kind, meth_name, *args)
500         for handler in handlers:
501             func = getattr(handler, meth_name)
--> 502             result = func(*args)
503             if result is not None:
504                 return result
~/opt/anaconda3/envs/mti/lib/python3.8/urllib/request.py in http_error_302(self, req, fp, code, msg, headers)
753         fp.close()
754
--> 755         return self.parent.open(new, timeout=req.timeout)
756
757     http_error_301 = http_error_303 = http_error_307 = http_error_302
~/opt/anaconda3/envs/mti/lib/python3.8/urllib/request.py in open(self, fullurl, data, timeout)
529         for processor in self.process_response.get(protocol, []):
530             meth = getattr(processor, meth_name)
--> 531             response = meth(req, response)
532
533         return response
~/opt/anaconda3/envs/mti/lib/python3.8/urllib/request.py in http_response(self, request, response)
638         # request was successfully received, understood, and accepted.
639         if not (200 <= code < 300):
--> 640             response = self.parent.error(
641                 'http', request, response, code, msg, hdrs)
642
~/opt/anaconda3/envs/mti/lib/python3.8/urllib/request.py in error(self, proto, *args)
567         if http_err:
568             args = (dict, 'default', 'http_error_default') + orig_args
--> 569             return self._call_chain(*args)
570
571 # XXX probably also want an abstract factory that knows when it makes
~/opt/anaconda3/envs/mti/lib/python3.8/urllib/request.py in _call_chain(self, chain, kind, meth_name, *args)
500         for handler in handlers:
501             func = getattr(handler, meth_name)
--> 502             result = func(*args)
503             if result is not None:
504                 return result
~/opt/anaconda3/envs/mti/lib/python3.8/urllib/request.py in http_error_default(self, req, fp, code, msg, hdrs)
647 class HTTPDefaultErrorHandler(BaseHandler):
648     def http_error_default(self, req, fp, code, msg, hdrs):
--> 649         raise HTTPError(req.full_url, code, msg, hdrs, fp)
650
651 class HTTPRedirectHandler(BaseHandler):
HTTPError: HTTP Error 400: Bad Request

Hi @Jinyin-Hu! Can you recheck that your issue occurs with basemap 1.3.8 and it is not a problem related to the local environments? Your issue is caused by the sunsetting of "ESRI_Imagery_World_2D" in ArcGIS, which used to be the default link used by Basemap.arcgisimage. This default link was changed for basemap 1.3.4 (https://github.com/matplotlib/basemap/pull/548) so that it uses "World_Imagery" instead.
Your traceback shows an URL pointing to "ESRI_Imagery_World_2D", so I would expect that the script was run with a basemap version before 1.3.4.
You can check with the following minimal example:

import sys
import numpy as np
import matplotlib.pyplot as plt
from mpl_toolkits import basemap
from mpl_toolkits.basemap import Basemap

print("Python version:", sys.version_info)
print("Basemap version:", basemap.__version__)

bmap = Basemap(projection="cyl", resolution="i",
               llcrnrlon=-90, llcrnrlat=30,
               urcrnrlon=-60, urcrnrlat=60)

bmap.arcgisimage(verbose=True)
bmap.drawmeridians(np.linspace(-180, 180, 37),
                   labels=[0, 0, 0, 1], color="y")
bmap.drawparallels(np.linspace(-90, 90, 19),
                   labels=[1, 0, 0, 0], color="y")
plt.savefig("example.png")

In my case I get the following:
Python version: sys.version_info(major=3, minor=11, micro=2, releaselevel='final', serial=0)
Basemap version: 1.3.8

Hi @Jinyin-Hu! Did you have time to check my example?

Hi @molinav, it works when using the same versions of python and basemap as yours. Yeah! thanks so much for your reply. I

Hi @Jinyin-Hu! Did you have time to check my example?

Nice to hear it! I am closing this issue then.


The "Official Language Bindings" Story

The issue: sort out which languages/ bindings should be kept in-source as part of VLSIR.
(@growly thinks "none", we know.)
There are two languages that are kinda special, because we have co-authored downstream projects which depend on them:

VlsirTools depends on the Python bindings
Layout21 depends on the Rust bindings

All the other languages are more debatable.
The published C++ bindings, for example, are used by no one that we know of. Arya's BFG uses the schema, in C++, but compiles them in its own build process, which needs to be customized for a variety of reasons. The other languages are probably not in direct formal use anywhere.
Proposal: we make the others "recommended recipes". We are not really using or testing these bindings; we should not represent that we do. Building these "recipes" in CI seems a fine step, as does publishing the build script "recommendations". But we should probably drop the generated code itself.

agree 👍

Done via #48


stat tables more appealing

propose: colorized svgs, in future animated

Current tables look plain and outdated.
A more innovative look and additional Info would make the tables more appealing.
Idea here is to use colorized svgs to demonstrate additional Infos about the tableentries. Something like

bars that represent percentage of all bugfix-occasions and could be animated later or
colors to represent filetypes and folder-affiliation
additional ideas welcome


If the branch name is long, Dev Spaces button overlaps other content

In the example below, the Dev Spaces button covers the "About" title.

To reproduce this issue, install the sideload the extension, log into GitHub and view https://github.com/redhat-developer/devspaces/tree/devspaces-3-rhel-8.

Some possibilities to fix this issue are:

Replace "Dev Spaces" text in the button with the Dev Spaces logo when the branch name is too long.

Focus on the popup UI method (Idea 3 from this discussion: https://github.com/redhat-developer/try-in-dev-spaces-browser-extension/issues/72#issuecomment-1604761659)

cc @ibuziuk