Configuration changes require Istio GW restart

Describe the feature request
Currently changing mesh configuration (e.g. numTrustedProxies in gatewayTopology) does not take effect in a running Istio GW proxy. See:
https://istio.io/latest/docs/ops/configuration/traffic-management/network-topologies/#example-using-x-forwarded-for-capability-with-httpbin
After step 1 we need to restart all Istio gateways. This is quite inconvenient in a production environment.
The reason is that the configuration is read just once on a proxy start:
https://github.com/istio/istio/blob/master/pilot/cmd/pilot-agent/app/cmd.go#L113
Annotation approach do not work at all, also with a restart:
https://istio.io/latest/docs/ops/configuration/traffic-management/network-topologies/#configuring-network-topologies
Could you please provide an automated way for this configuration settings to be applied without restarting the GW pod. The ConfigMap is already mounted and up-to-date on the filesystem:
https://github.com/istio/istio/blob/master/manifests/charts/gateways/istio-ingress/templates/deployment.yaml#L237
Describe alternatives you've considered
When we rollout mesh configuration changes we need to tell the customer to manually restart Istio ingress, which is very unusual and inconvenient.
Affected product area (please put an X in all that apply)
[ ] Ambient
[ ] Docs
[ ] Installation
[x] Networking
[ ] Performance and Scalability
[ ] Extensions and Telemetry
[ ] Security
[ ] Test and Release
[x] User Experience
[ ] Developer Infrastructure
Affected features (please put an X in all that apply)
[x] Multi Cluster
[ ] Virtual Machine
[ ] Multi Control Plane
Additional context

Yes, this is documented https://istio.io/latest/docs/reference/config/istio.mesh.v1alpha1/#ProxyConfig
`Note: fields in ProxyConfig are not dynamically configured; changes will require restart of workloads to take effect.
`


Cannot access services on WireGuard server

I successfully connected to the WireGuard server, and the ping-test passed, but I cannot access the website (on port 80) and remote desktop service (on port 3389) on the WireGuard server.
My WireGuard server IP from router: <IP_ADDRESS>
Server configured WireGuard subnet: <IP_ADDRESS>/24
Client IP issued by WireGuard server: <IP_ADDRESS>
Passed ping test:

<IP_ADDRESS> -> <IP_ADDRESS>
WireGuard server -> <IP_ADDRESS>
Cannot access WireGuard with IPs: <IP_ADDRESS>, <IP_ADDRESS>

Server configuration:
Listen port: 51820
Allowed IPs: <IP_ADDRESS>/0
Endpoint: [xxxx:xxxx:xxxx:xxxx:xxxx:xxxx:xxxx:xxxx]:51820
Address: <IP_ADDRESS>/24
Private key: (generated)
Public key: (generated)

Client configuration:
Address: <IP_ADDRESS>
Allowed IPs: <IP_ADDRESS>/0
DNS: <IP_ADDRESS>, <IP_ADDRESS>
Private key: (generated)
Public key: (generated)

I have no idea why this problem happened, could you please do me a favour?

Did you set the WireGuard network to "Private" on your server? If not I would not be surprised to see Windows block RDP and HTTP requests.


[$1000] Web- Request Money - Deleting the IOU reply still shows "1 reply"

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

Action Performed:

Go to any report
Request some money
Go to the IOU chat
Click on the IOU preview to open its thread
Reply in the IOU thread
Delete the reply

Expected Result:
IOU preview does not show "1 reply"
Actual Result:
IOU preview shows "1 reply" even though there is no reply
Workaround:
Unknown
Platforms:

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

[ ] Android / native
[ ] Android / Chrome
[ ] iOS / native
[ ] iOS / Safari
[ ] MacOS / Chrome / Safari
[ ] MacOS / Desktop

Version Number: <IP_ADDRESS>
Reproducible in staging?: yes
Reproducible in production?: yes
If this was caught during regression testing, add the test name, ID and link from TestRail:
Email or phone of affected tester (no customers):
Logs: https://stackoverflow.com/c/expensify/questions/4856
Notes/Photos/Videos: Any additional supporting documentation
https://github.com/Expensify/App/assets/93399543/dbfeca15-3a06-41ab-9c84-456aa4dcd9a5
https://github.com/Expensify/App/assets/93399543/e9a4cf60-5da0-4e43-9a8f-86d030fa271b
Expensify/Expensify Issue URL:
Issue reported by: @adeel0202
Slack conversation: https://expensify.slack.com/archives/C049HHMV9SM/p1685006754281609
View all open jobs on GitHub
Upwork Automation - Do Not Edit

Upwork Job URL: https://www.upwork.com/jobs/~01b749d33ad94a9382
Upwork Job ID:<PHONE_NUMBER>389597696
Last Price Increase: 2023-05-30

Reproduced, adding external label.

Proposal
Please re-state the problem that we are trying to solve in this issue.
Request Money - Deleting the IOU reply still thread shows incorrect reply count in IOU report i.e. "1 reply"
What is the root cause of that problem?
We're not receiving correct value for childVisibleActionCount in report code here
Even after threads comment is deleted, it is counted as in visible child action count for parent report.

API returning incorrect value for parent report

API response of child report showing deleted comments in report actions

What changes do you think we should make in order to solve the problem?
Fix backend logic for childVisibleActionCount field to return correct value by filtering out deleted report actions.
What alternative solutions did you explore? (Optional)
None

I'm OOO all next week, so I'm going to assign another BZ member to manage.

I'm working on an internal fix for this

Not overdue.

Still working on the internal fix but not posting any details here since this is an issue on our external repo.

Internal PR is in review: https://github.com/Expensify/Auth/pull/8050

The internal fix has been merged. We can retest this once it's been deployed.

This seems to be fixed? It's not quite how it's described in the OP (it still shows 1 reply because the original request is now considered a reply) but it increases to 2 replies when I add a comment and decreases back to 1 when the comment is removed:
https://github.com/Expensify/App/assets/59587260/1aa33dac-c95b-48b2-9e71-22cd0ed94992

it still shows 1 reply because the original request is now considered a reply

Yes, that's expected. You'll have to create a thread from the IOU report.
I retested it on staging and I think we're good here!
https://github.com/Expensify/App/assets/12268372/6afbb1ba-caf3-463d-9ec5-a3b3fce9c12f

@kbecciv could you retest this and let us know if you find any issues?

Checking

No issue, work as expected.
https://github.com/Expensify/App/assets/93399543/81f0beb1-f7de-4e89-b2d3-d9c4de2e29c7

Awesome, thanks for fixing @MariaHCD!
@adeel0202 I just sent you an offer for reporting this bug.

@sakluger
This was previously labeled as External and Help wanted.
Though this was fixed by internal team after identitying backend issue, does participant with valid proposal get any componesation for their effort on analysis and identifying root cause?

Assigning as I'm going OOO, seems like you're on top of this Sasha!

@payal-lathidadiya if a contributor's proposal informed the solution significantly then we do consider conpensating. @MariaHCD did you use the research done by @payal-lathidadiya in your fix?

@sakluger, @payal-lathidadiya's proposal helped me get started in the right direction for the backend fix.

Thanks @MariaHCD. Would you say that @payal-lathidadiya's proposal reduced your work on this issue by 25%? 50%?

I would say 25%, the proposal helped me to look in the right place but I still had to do quite a bit of digging in the backend to identify the root cause.

Perfect, thanks! I paid out @adeel0202 for the reporting bonus, and sent an offer to @payal-lathidadiya for 25% of the contract amount for their help identifying the root cause. @payal-lathidadiya let me know once you've accepted, thanks.

@sakluger I accepted offer. thanks

Thanks everyone!


Allow multiple handlers for the same filetype

This pr add a custom user argument to run_code function, this allows users to specify multiple handlers for the same filetype using the specified argument as differentiator.
It also exposes run_mode so the user can benefit of this.
This is how I'm using it in deno, (one function for repl and one for running)
require('code_runner').setup({
    filetype = {
        typescript = function(arg)
            local filepath = vim.fn.expand("%:p")
            local commands = require("code_runner.commands")

            if not arg or arg == "run" then
                commands.run_mode("deno run -A --unstable " .. filepath, "deno run", "term")
            elseif arg == "repl" then
                commands.run_mode(
                    string.format(
                        [[deno repl --unstable --eval "import * as m from 'file:///%s';Object.entries(m).forEach(e=>window[e[0] ]=e[1])"]]
                        , filepath),
                    "repl",
                    "toggle"
                )
            end
        end,
        rust = "cargo r",
    },
})
vim.keymap.set('n', '<leader>x', function()
    local commands = require("code_runner.commands")
    local filetype = vim.api.nvim_exec("echo &filetype", true)
    commands.run_code(filetype, "run")
end, { noremap = true, silent = false })

vim.keymap.set('n', '<leader>r', function()
    local filename = vim.fn.expand("%:t")
    if filename:match("^crunner_repl") then
        vim.cmd("hide")
        return
    end
    local commands = require("code_runner.commands")
    local filetype = vim.api.nvim_exec("echo &filetype", true)

    commands.run_code(filetype, "repl")
end, { noremap = true, silent = false })

@sigmaSd  I still can't approve this pr, because reviewing the code I still don't see that the autocmd is corrected, correct that and I will accept the pr. On the other hand it is worth making this new argument optional because in most cases this argument will not be sent.

I thought its already optional, or did I miss something?
Is it ok if I change https://github.com/CRAG666/code_runner.nvim/blob/main/lua/code_runner.lua#L76 to *  ?

I add user commands.
I noticed a bug in the code when doing this, this https://github.com/CRAG666/code_runner.nvim/blob/main/lua/code_runner/commands.lua#L12 command() can actually be called multiple times in the same run_code invocation for example it can be executed here https://github.com/CRAG666/code_runner.nvim/blob/main/lua/code_runner/commands.lua#L218 and here https://github.com/CRAG666/code_runner.nvim/blob/main/lua/code_runner/commands.lua#L218 on the same run.

I add a commit to hopefully fix the aforementioned bug, it seems to work.


Add fixes to Blockly to address mutator performance

Fixes #959
Change-Id: I07a51181269adfd79b8db11a40cec66dc43a4ed9

@kkashi01 Can you test this and let me know whether it addresses your performance issues? You will need to run git submodule update to get the changes I made to Blockly core.

Relevant forum post for testing.

@Evan that's a good point. However I thought there is a timestamp that is
used which should overcome the caching issue.
On Oct 18, 2017 5:44 PM, "Evan W. Patton"<EMAIL_ADDRESS>wrote:

@kkashi01 https://github.com/kkashi01 Can you test this and let me know
whether it addresses your performance issues? You will need to run git
submodule update to get the changes I made to Blockly core.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/mit-cml/appinventor-sources/pull/960#issuecomment-337737157,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AIhYd4MjVQcgLWsfnfhlNc96A0qIk1U3ks5stnFPgaJpZM4P-ZqF
.

Note: I'll push "mitmaster" to our blockly repo when I merge this


[nrf fromlist] lib: os: cbprintf: Reduce stack usage when no optimization

Use single fixed size on stack array instead of compile time fitting.
When compiler is optimizing it can pick smallest array but with no
optimization there is an increased stack usage.
Upstream PR: https://github.com/zephyrproject-rtos/zephyr/pull/45575
Ref. NCSDK-15105
Signed-off-by: Krzysztof Chruscinski<EMAIL_ADDRESS>

Needs rebase


Image distortion in smaller windows

Hello,
In smaller browser windows (e.g., iPhones), images would shrink in width but maintain a minimum height, causing distortion. I've found a relatively easy css update to fix it, though I’m not sure if there’s a better way or not. My fix can be added to the poole-overrides.css file:
img {
  display: block;
  max-width: 100%;
  height: auto;
  margin: 0 0 1rem;
  border-radius: 5px;
}

Thanks!

I haven't seen this before.

That's interesting...I did some digging and here's what I found.
The problem was only happening on posts I'd imported from Wordpress using the Wordpress-to-Hugo exporter. Those images were inserted something like the graph in the following:
<img src = "http://www.foo.com/wp-content/uploads/YYYY/MM/imageName-1024x744.jpg" alt="altText" width="640" height="465" class="alignnone size-large wp-image-294>

And they would get distorted in small windows like this:

Add the fix I mentioned, and everything was undistorted:

However, when I write new posts, I don't typically specify an image width/height, and everything grows and shrinks appropriately regardless of whether or not I've set height: auto.
So I did some experimenting and believe that it's the act of specifying the height using "height =" that causes the problem. And that's the limit of my knowledge about this kind of stuff.
So I'm keeping the fix in my fork of the theme because I can't have all of my old images distorted. Hopefully these details will help you decide whether to incorporate the fix into the main branch.
-Stuart

Yeah, that'll be the extra properties on the img tag. Wherever possible you should use Hugo's figure shortcode and avoid specifying a fixed height/width on each image.
Maybe it's worth going through your exported posts and removing the fixed size attributes?

Thanks!
I don't typically specify fixed dimensions, but wordpress took the liberty for me. I have too many old posts and not enough regex knowledge to change my past posts, but at least I figured out what's going on and am confident that it won't happen in the future.

Awesome, glad it's sorted.


Add support for OpenAI API : offline batch(file) processing

Thank you for your contribution, we really appreciate it. The following instructions will help improve your pull request and make it easier to receive feedback. If there are any items you don't understand, don't worry. Just submit the pull request and ask the maintainers for help.
Motivation
I want to support this OpenAI batch API functionally OpenAI Batch API Doc .
Running example
In this PR, we can support SGlang backend running behind the example code provided by OpenAI in the provided link seamlessly.
The frontend code is
from openai import OpenAI
import openai
import time
import json
import os

class OpenAIBatchProcessor:
    def __init__(self, api_key):
        # client = OpenAI(api_key=api_key)
        client = openai.Client(base_url="http://<IP_ADDRESS>:30000/v1", api_key="EMPTY")

        self.client = client

    def process_batch(self, input_file_path, endpoint, completion_window):

        # Upload the input file
        with open(input_file_path, "rb") as file:
            uploaded_file = self.client.files.create(file=file, purpose="batch")

        # Create the batch job
        batch_job = self.client.batches.create(
            input_file_id=uploaded_file.id,
            endpoint=endpoint,
            completion_window=completion_window,
        )

        # Monitor the batch job status
        while batch_job.status not in ["completed", "failed", "cancelled"]:
            time.sleep(3)  # Wait for 3 seconds before checking the status again
            print(
                f"Batch job status: {batch_job.status}...trying again in 3 seconds..."
            )
            batch_job = self.client.batches.retrieve(batch_job.id)

        # Check the batch job status and errors
        if batch_job.status == "failed":
            print(f"Batch job failed with status: {batch_job.status}")
            print(f"Batch job errors: {batch_job.errors}")
            return None

        # If the batch job is completed, process the results
        if batch_job.status == "completed":

            # print result of batch job
            print("batch", batch_job.request_counts)

            result_file_id = batch_job.output_file_id
            # Retrieve the file content from the server
            file_response = self.client.files.content(result_file_id)
            result_content = file_response.read()  # Read the content of the file

            # Save the content to a local file
            result_file_name = "batch_job_chat_results.jsonl"
            with open(result_file_name, "wb") as file:
                file.write(result_content)  # Write the binary content to the file
            # Load data from the saved JSONL file
            results = []
            with open(result_file_name, "r", encoding="utf-8") as file:
                for line in file:
                    json_object = json.loads(
                        line.strip()
                    )  # Parse each line as a JSON object
                    results.append(json_object)

            return results
        else:
            print(f"Batch job failed with status: {batch_job.status}")
            return None

# Initialize the OpenAIBatchProcessor
api_key = os.environ.get("OPENAI_API_KEY")
processor = OpenAIBatchProcessor(api_key)

# Process the batch job
input_file_path = "input.jsonl"
endpoint = "/v1/chat/completions"
completion_window = "24h"

# Process the batch job
results = processor.process_batch(input_file_path, endpoint, completion_window)

# Print the results
print(results)

and the return result is
Batch job status: validating...trying again in 3 seconds...
Batch job status: in_progress...trying again in 3 seconds...
Batch job status: in_progress...trying again in 3 seconds...
batch BatchRequestCounts(completed=2, failed=0, total=2)
[{'id': 'batch_req_bee263f2-0734-44cb-96c4-7fb8c4ad1661', 'custom_id': 'request-1', 'response': {'status_code': 200, 'request_id': '2a93b0ea158c42faa4efb9578ad75064', 'body': {'id': '2a93b0ea158c42faa4efb9578ad75064', 'object': 'chat.completion', 'created':<PHONE_NUMBER>, 'model': 'gpt-3.5-turbo-0125', 'choices': [{'index': 0, 'message': {'role': 'assistant', 'content': "  Hello there! 👋 It's my pleasure to assist you. Here are three NBA players:\n\n1. LeBron James - He is a four-time NBA champion and four-time NBA Most Valuable Player (MVP) who has played for the Cleveland Cavaliers, Miami Heat, and Los Angeles Lakers.\n2. Stephen Curry - He is a three-time NBA champion and two-time NBA MVP who has played for the Golden State Warriors. He is known for his incredible shooting ability and has won multiple awards for his skills.\n3. Kevin Durant - He is a two-time NBA champion and two-time NBA MVP who has played for the Oklahoma City Thunder and Golden State Warriors. He is known for his scoring ability and is considered one of the best players in the NBA.\n\nI hope this helps! Let me know if you have any other questions. 😊"}, 'logprobs': None, 'finish_reason': 'FINISH_MATCHED_TOKEN: 2'}], 'usage': {'prompt_tokens': 37, 'completion_tokens': 203, 'total_tokens': 240}, 'system_fingerprint': None}}, 'error': None}, {'id': 'batch_req_db9eff3b-aead-4641-bb7b-8fba9fc2626c', 'custom_id': 'request-2', 'response': {'status_code': 200, 'request_id': '3c4bf3e052184f7a8f3e37dc71c79496', 'body': {'id': '3c4bf3e052184f7a8f3e37dc71c79496', 'object': 'chat.completion', 'created':<PHONE_NUMBER>, 'model': 'gpt-3.5-turbo-0125', 'choices': [{'index': 0, 'message': {'role': 'assistant', 'content': "  Hello there! As an assistant, I'm happy to help. Here are three capital cities:\n\n1. Tokyo, Japan\n2. New York City, USA\n3. London, United Kingdom"}, 'logprobs': None, 'finish_reason': 'FINISH_MATCHED_TOKEN: 2'}], 'usage': {'prompt_tokens': 34, 'completion_tokens': 44, 'total_tokens': 78}, 'system_fingerprint': None}}, 'error': None}]

Notes

Here we can also support text completion; this feature(Batch API) can work together with parallel sampling.

Beyond adding Batch API, we can further reorder/reschedule the request in the file to do further

The basic design now is that the output line order may not match the input line order. we can use the custom_id field which will be present in each line of the output file, and allow map requests in input to results in output.

Support managing loaded files in the server (eg, the implementation of @app.post("/v1/files") and @app.get("/v1/files/{file_id}") for creating and retrieving files in the server)

Modification

Add file and batch OpenAI API in python/sglang/srt/server.py
Implement the logic of creating/retrieving/querying the file/batch in python/sglang/srt/openai_api/adapter.py and manage the relationship between files and batch requests (main modification)
Add some data structure in python/sglang/srt/openai_api/protocol.py for convenience (all data structure/format  following Bacth API reference and File API Reference )
Refractor the code in python/sglang/srt/openai_api/adapter.py for function reuse
Add new parameters in python/sglang/srt/server.py to determine the file to store batch serving results in the server

cc @merrymercy @Ying1123 @hnyls2002 for CR
Checklist

Ensure pre-commit pre-commit run --all-files or other linting tools are used to fix potential lint issues.
Confirm that modifications are covered by complete unit tests. If not, please add more unit tests for correctness.
Modify documentation as needed, such as docstrings or example tutorials.

Finish accuracy and throughput test, it is ready to merge.


Make interactive prop truly toggle-able

Address the limitations of #7
Likely needed before making a PR to CDC.
The example app depends on some (undocumented?) magic in the form of a setInteractive() function (see setRuler and others), which is easy to provide (alongside a toggle switch in app/index.html) - but getting this to work is not trivial. An "early return" in the custom zoom function is not the answer because user zoom/pan transformations are still "remembered" and "replayed" when this.interactive is true again.

Sorted by #9  thanks @d-callan


Metadata issue

Hey, Everything works fine, except metadata name and token id inside. For exmp. When 5 image generation have completed I've got:
In image Folder: 1,2,3,4,5
In metadata Folder: 0,1,2,3,4 and all objects.
I have qustion if it's possible to match token id number to metadata number.
Thanks,
Petrre

Hey, Everything works fine, except metadata name and token id inside. For exmp. When 5 image generation have completed I've got:
In image Folder: 1,2,3,4,5
In metadata Folder: 0,1,2,3,4 and all objects.
I have qustion if it's possible to match token id number to metadata number.
Thanks,
Petrre

This behavior is not expected. I have just run an example on my local environment, and it is working as it should, generating images and metadata files with matching ids. Does your console throw any errors or warnings?

@PetreEP Steps to reproduce?

I'll need your configuration too

Fixed it! All good now! Thx for answer.
Sent from my iPhone

On May 2, 2022, at 22:11, Jonathan Becker @.***> wrote:

I'll need your configuration too
—
Reply to this email directly, view it on GitHub, or unsubscribe.
You are receiving this because you were mentioned.


File size limit increase request

Could you please increase the file size limit for
https://pypi.org/project/brendapy/
https://github.com/matthiaskoenig/brendapy
I have to package some large resources with the bundle making the pypi release ~120MB.

I could reduce the package size by loading online resources during runtime. Issue solved.


Feet/OIDC

Add feature of oidc provider service. The service is mounted on the route /oidc

@GuanyuTao Could you make sure that all the CI error are adressed before we progress this forward:
https://github.com/ideafast/ideafast-portal/runs/5538943834?check_suite_focus=true#step:5:15

Abandoned


isMemberOf Condition missing

Just encountered a case requiring the isMemberOf Condition. This seems currently not supported.
I guess it would be quite similar to https://github.com/rikbruil/Doctrine-Specification/blob/e61fb801c46107b0a9ce22086448557def7fa532/src/Condition/IsInstanceOf.php

Realized by https://github.com/rikbruil/Doctrine-Specification/pull/27, closing issue


Add the concept of entity "Owners"

This request is intended to propose a solution to a number of requests surrounding the permission system and the use of the "created_by" value on pages/chapters/shelves/books.
The Scenario
Currently we have various permissions and logic that take into account the creator of an entity. Within the role configuration screen these are shown as "Own" permissions. These use the "created_by" field. There is no way, outside of database access, for this altered between users in the system. When a user is deleted this value is nulled.
Implementation Idea
We would add a concept of "Owners" to the system for entities (Shelves/Books/Chapters/Pages). This would be implemented as follows:

A 'owned_by' field would be added to each of the entity tables.
On upgrade, database migrations would copy existing 'created_by' values to the 'owned_by' field.
Within the "Permissions" menu for an entity, A user that has permission to edit permissions will be able to change the "owner" to a single other individual.
When deleting a user from the system, the option to select a new owner will be provided, who will become the owner of everything that was previously owned by the deleted user.

Benefits

By changing the owner an admin could better utilise the "Own" role permissions as they could create a book for users then assign that to a user with "Own" permissions so they can control everything within. As of now, that user would currently also need to be able to create books.
We may be able to utilise this concept in the future for notifications.
By not altering the "created_by" field instead and having a separate field, we're keeping the database semantics correct while providing more accurate information to the user.

I think this would be a great step forward to ensure that a) content is not removed when a user is removed from the system and b) also introduces some workflow capabilities.
For example on workflow:
I am a user who is creating documentation yet I need to have it reviewed before actual publishing. I would create the content, and assign ownership to an individual (or group) to own the book/page/chapter. The owner would perform any edits, or request additional changes, before finalizing the document, removing the permissions of the "creator" and moving the content to a more public area. If there were ever modifications required to the document, the Owner could simply reapply permissions for the original creator to edit the content and follow through the same routine again before publishing. Essentially this introduces a Steward/Content Moderation workflow which would keep content creation inside the application as opposed to in say a separate word processing document (Google Docs/Office etc) which would have to be manually moved after approval.
I think this would be amazing.

I think is a great idea to have something like this. How long do you think it will take to be implemented in BookStack ?

I like this idea as well.

It's good for me. :+1:
By the way, I hope only  owner can edit Page Revisions`  .
In order to avoid edior clear all content of page and delete all Page Revisions  of page.
Example:

Delete Page Revisions
Edit Page

Editor

V

Owner
V
V

@csongs Sure, That kind of functionality won't be included as part of this work though, this will be done sooner.
Issue #1747 is much more closely related to that request (And will likely be dependant for entity-level owner permission overrides).


Update of 0.8.0 broke .bib bibliography

Description
Before the update I was able to compile without errors. Now without any changes to the files, I get the error the document does not contain a bibliography for the bibliography file.
I do not know how I can provide debug information here from the web interface. Feel free to guide me.
Reproduction URL
https://typst.app/project/re8lWAFWY209_nuYoX_6ab
Operating system
Web app
Typst version

[X] I am using the latest version of Typst

That's really strange. It seems to work if I remove the weak pagebreak in front of the bibliography.

Looks like it is caused by this PR: https://github.com/typst/typst/pull/1929

Fixed via https://github.com/typst/typst/pull/2141


Fix geometry engine torsion biases and MCSS overlap criteria

I've turned on writing of atom-by-atom PDBs for geometry proposals to debug what is going wrong with kinase inhibitors.
It looks like the torsion restraints are not actually biasing the placement of closed rings.  I don't know if there was somehow a reversion somewhere, since this was working before.

I've made two major changes in this PR that fix the geometry engine failures for kinase inhibitors:

MCSS criteria are modified to

        atomexpr = oechem.OEExprOpts_Aromaticity | oechem.OEExprOpts_RingMember | oechem.OEExprOpts_HvyDegree
        bondexpr = oechem.OEExprOpts_Aromaticity | oechem.OEExprOpts_RingMember

Torsion bias phase is mapped to [-pi,+pi) interval, which seems to be the domain OpenMM actually uses for torsion biases.  Previously, the domain was [0,2*pi), which was causing the torsion bias to be totally unreliable.

@pgrinaway : Can you review and merge?

When running python perses/tests/testsystems.py, I've noticed that the geometry-proposal-*-forward-initial.pdb structures look great, but the kinase-inhibitors-vacuum-geometry-proposals.pdb are terrible. I think there must be some topology corruption or mixup between the generation of these two files.

I can't figure out what is going on.  The atom-by-atom PDB files in _logp_propose look great now, but the resulting (topology_proposal.new_topology, geometry_new_positions) pair seems to be totally messed up:
https://github.com/choderalab/perses/blob/master/perses/samplers/samplers.py#L723-L731

The problem is just with the multi-model PDB files being read incorrectly by PyMOL. Trying to find a workaround.

I'm not sure how to fix the issues with PyMOL reading multi-model connectivity rendering, so for now, I am just concatenating PDB files into a single file. This renders in PyMOL as separate objects---one per frame---but the manual inspection of structures looks good at this point.
Should be ready to review and merge.

This looks fine to merge.


Unable to reproduce the results of advGLUE

How many shots do you use to test advGLUE?

Hi,
We use zero-shot

Hi,
We use zero-shot

Thanks for the reply. But during testing, I found that for each piece of data, the model tended to choose the first option. Have you ever encountered this problem?
The prompt and the inference results of the LLaMA2-7B are as follows:
Please identify whether the sentence answers the question. The answer should be exactly 'A. yes' or 'B. no'
Question: What other outfit did Apollo 1 test at besides Kennedy Space Center ?
Sentence: They trained and conducted tests of their spacecraft at North American , and in the altitude chamber at the Kennedy Space Center .
Answer: [0.5926666  0.40733343]
index:0	pred:0	label:0
Please identify whether the sentence answers the question. The answer should be exactly 'A. yes' or 'B. no'
Question: What does UMC stand for ?
Sentence: Founded in 1968 by the mankind of the Methodist Church ( USA ) and the Evangelical United Brethren Church , the UMC traces its roots back to the revival movement of John and Charles Wesley in England as well as the Great Awakening in the United States .
Answer: [0.74316794 0.25683197]
index:1	pred:0	label:1
Please identify whether the sentence answers the question. The answer should be exactly 'A. yes' or 'B. no'
Question: Where did the Exposition take space ?
Sentence: This World's Fair devoted a building to electrical exhibits .
Answer: [0.7310586  0.26894143]
index:2	pred:0	label:1
Please identify whether the sentence answers the question. The answer should be exactly 'A. yes' or 'B. no'
Question: What portion of Berlin's quartet spoke French by 1700 ?
Sentence: By 1700 , one - fifth of the city's population was French speaking .
Answer: [0.7310586  0.26894143]
index:3	pred:0	label:0

Hi,
Thanks for your careful observation. We did not notice this when we were running Llama2-7b (maybe it does exist). It may come from the position bias of LLMs. How about trying other LLMs to see whether there is such bias? We will check the original results of it and respond to you as soon as possible.

Hi,
Thanks for your careful observation. We did not notice this when we were running Llama2-7b (maybe it does exist). It may come from the position bias of LLMs. How about trying other LLMs to see whether there is such bias? We will check the original results of it and respond to you as soon as possible.

Thanks for the timely reply, would you please open source the code for obtaining model output? It seems that you use model.generate(input_ids) to get model's output and then match the keywords.  But I use
                    logits = model(
                        input_ids=input_ids,
                    ).logits[:,-1].flatten()

                    probs = (
                        torch.nn.functional.softmax(
                            torch.tensor(
                                [
                                    logits[tokenizer("A").input_ids[-1]],
                                    logits[tokenizer("B").input_ids[-1]],
                                    logits[tokenizer("C").input_ids[-1]],
                                ]
                            ).float(),
                            dim=0,
                        )
                        .detach()
                        .cpu()
                        .to(torch.float32)
                        .numpy()
                    )
                    pred = np.argmax(probs)


Bug: When using 'focus-left' and 'focus-right' on a secondary monitor, focus regularly gets sent back to primary monitor undesirably

Primary Monitor (Workspace 0): I have one application open, taking up the full screen.
Secondary Monitor (Workspace 1): I have multiple applications stacked horizontally.

When my focus is on Workspace 1 (Secondary Monitor) and I try to navigate between applications using the 'focus-left' and 'focus-right' keybinds, my focus unexpectedly shifts back to the Primary Monitor (Workspace 0).
This issue doesn’t happen every time—I can sometimes navigate a few times successfully—but it almost always redirects to the Primary Monitor within the first few attempts.
I’m loving the app! It’s made navigating macOS feel intuitive, and I just wish I’d tried it sooner. This minor issue is the only thing holding back my workflow.
aerospace CLI client version: 0.15.2-Beta b6cf82771f245ab7349a93baf8709e171537ff58
AeroSpace.app server version: 0.15.2-Beta b6cf82771f245ab7349a93baf8709e171537ff58

This appears to be resolved by disabling "displays have separate spaces".

displays have separate spaces

Where did you disable this?


restricting KMS permissions for cdkExecRole

Feature or Bugfix

Bugfix

Detail
This fix is to address the checkov failure issues for overly permissive cdkExecPolicy. This fix only addresses the KMS permissions. Glue/LF and SageMaker permissions are not yet restricted as they are pending on the resolution of the ticket - https://github.com/data-dot-all/dataall/issues/1189
Relates
https://github.com/data-dot-all/dataall/issues/1610
https://github.com/data-dot-all/dataall/issues/1189
Security
Please answer the questions below briefly where applicable, or write N/A. Based on
OWASP 10.

Does this PR introduce or modify any input fields or queries - this includes
fetching data from storage outside the application (e.g. a database, an S3 bucket)?

Is the input sanitized? N/A
What precautions are you taking before deserializing the data you consume? N/A
Is injection prevented by parametrizing queries? N/A
Have you ensured no eval or similar functions are used? N/A

Does this PR introduce any functionality or component that requires authorization? N/A

How have you ensured it respects the existing AuthN/AuthZ mechanisms? N/A
Are you logging failed auth attempts? N/A

Are you using or adding any cryptographic features? N/A

Do you use a standard proven implementations? N/A
Are the used keys controlled by the customer? Where are they stored? N/A

Are you introducing any new policies/roles/users? N/A

Have you used the least-privilege principle? How? Yes. We are restricting the KMS permissions to only the required resources.

By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.

@dlpzx
I tested this to address the KMS permissions for the ticket - https://github.com/data-dot-all/dataall/issues/1610. Could you please review and approve the change.
Tested the following.

Link / De-Link environments
Create Dataset
Glue Crawler runs


boards: opentitan: Update the SRAM layout

As Tock for OT has gotten larger the SRAM allocated for apps has moved
up in memory. Let's update the linker script to better match what Tock
is allocating.
Signed-off-by: Alistair Francis<EMAIL_ADDRESS>

Shameless plug for https://github.com/tock/elf2tab/pull/22

bors d+

bors r+

@alistair23 Is this compatible with tock kernel version 1.4.1? If not we should update the docs (and make also the other boards compatible with the newer kernel) or leave the layout as it is.

It won't work with 1.4.1 as there is no OT support in 1.4.1.

I can update the doc but I can't test the other boards. OT will work with 1.5. The HiFive and Apollo3 require Tock master.


contour exits immediately after running it

Contour Terminal version
0.3.10-master-634603d3 and tag v<IP_ADDRESS> and latest github appimage release and flatpak
Installer source
Github: source code cloned
Operating System
Debian 11
Architecture
x86-64
Other Software
Tested on xfce 4.16
Steps to reproduce
Run contour.
Expected Behavior
Expected contour window to pop up.
Actual Behavior
When trying to run from a freshly built binary(from master,634603d)
A window pops up and very quickly closes, then the process terminates with the following error:
libpng warning: iCCP: known incorrect sRGB profile
[error] freetype: Failed to set LCD filter. unimplemented feature
fish: “contour” terminated by signal SIGILL (Illegal instruction)

When running as root there's a slightly different error message:
QStandardPaths: XDG_RUNTIME_DIR not set, defaulting to '/tmp/runtime-root'
libpng warning: iCCP: known incorrect sRGB profile
PulseAudioService: pa_context_connect() failed
[error] Default output device doesn't support 16 Bit signed integer PCM
[error] freetype: Failed to set LCD filter. unimplemented feature
fish: “sudo contour” terminated by signal SIGILL (Illegal instruction)

When trying to run from a freshly built binary(from the latest tag I found, v<IP_ADDRESS>):
The quickly disappearing window is also present here, and when ran as root.
[error] Superfluous config key found: profiles.main.mouse.hide_while_typing
[error] Superfluous config key found: profiles.main.mouse
libpng warning: iCCP: known incorrect sRGB profile
[error] freetype: Failed to set LCD filter. unimplemented feature
fish: “contour” terminated by signal SIGILL (Illegal instruction)

And running as root:
[error] Superfluous config key found: profiles.main.mouse.hide_while_typing
[error] Superfluous config key found: profiles.main.mouse
QStandardPaths: XDG_RUNTIME_DIR not set, defaulting to '/tmp/runtime-root'
libpng warning: iCCP: known incorrect sRGB profile
PulseAudioService: pa_context_connect() failed
[error] Default output device doesn't support 16 Bit signed integer PCM
[error] freetype: Failed to set LCD filter. unimplemented feature
fish: “sudo contour” terminated by signal SIGILL (Illegal instruction)

When trying to run via flatpak:
A window quickly opens up and closes down.
Gtk-Message: 23:00:24.921: Failed to load module "xapp-gtk3-module"
Qt: Session management error: Could not open network socket
libpng warning: iCCP: known incorrect sRGB profile
[error] freetype: Failed to set LCD filter. unimplemented feature

When trying to run via appimage:
In contrast with running a home brewed binary and flatpak, running the appimage does not result in a window quickly opening up and then closing down.
[error] Superfluous config key found: profiles.main.mouse.hide_while_typing
[error] Superfluous config key found: profiles.main.mouse
This application failed to start because it could not find or load the Qt platform plugin "xcb"
in "".

Reinstalling the application may fix this problem.
fish: “./contour-<IP_ADDRESS>.x86_64.AppI…” terminated by signal SIGABRT (Abort)

Additional notes
Commands like contour version and contour help seem to work normally.

Good morning @anakimluke.
That's interesting and weird at the same time.
AppImage
The official AppImage is reported to have issues on some platforms. We're aware of it and there's actually one upstream bug (at appimage builder side) that needs fixing before we can finish fixing on our side. I should probably remove it from the release set until then. :)

This application failed to start because it could not find or load the Qt platform plugin "xcb"
in "".

THIS is the one to look out fore. Qt works on a variety of platforms. It seems to be unable to find an appropriate plugin. Are you on Wayland or on X11? It tries to load the "xcb" (X11) plugin but apparently no plugins are available. This is a packaging error on the tool we use to package contour for AppImage. It's reported upstream but (last time I checked) no fix yet. I'll update this ticket I guess when done (we also have a tracking ticket here).
Flatpak
I think you could have tested that one only through flathub, right? That's weird, because this is certainly better sandboxed than AppImage and it should work (at least on my tests and no other complaints so far). 🤔

Gtk-Message: 23:00:24.921: Failed to load module "xapp-gtk3-module"

this seems to be some desktop-thing. I've never seen that (so far).

Qt: Session management error: Could not open network socket

Never noticed that, but I can imagine that this is surely fixable (if needed) to get session management working. We want to improve on session restauration in the future anyways.

libpng warning: iCCP: known incorrect sRGB profile

Qt is using libpng for dealing with .png image files. Seems like some PNG files on your installation have a bad PNG header. This warning can apparently be ignored because libpng can deal with it. There's a good thread about here.

[error] freetype: Failed to set LCD filter. unimplemented feature

You must have a stripped down version of freetype that doesn't support LCD subpixel rendering. It's not the first time I am seeing that. But I don't think that should stop you from using Contour.
On Flatpak, there are some steps required to get OpenGL accelerated apps running:
christianparpart@fedora-arm64-vm ~> flatpak list | grep -w GL
Mesaorg.freedesktop.Platform.GL.default           21.3.9      21.08    system

You might be able to work around this by setting renderer.backend to software in ~/.var/app/org.contourterminal.Contour/config/contour/contour.yml (this is the config file used when running through Flatpak, otherwise it's in ~/.config/contour/contour.yml).
Freshly built binary from master

fish: “contour” terminated by signal SIGILL (Illegal instruction)

This is mind bogging. Okay, You say you're on an x86-64. Can you please paste the output of lscpu here?
Because Contour is (as of today) still using some advanced CPU instructions to speed up cache management, namely AES-NI. If you CPU doesn't have it, that might be the only reason that I can think of why ALL of your attempts failed.
We have a related tracker here: #741
I might be curious to see if that's the reason.

My CPU does not support AES-NI. I tested the flatpak on a CPU that does and it did work.

Okay, many thanks @anakimluke. I'm sorry for the inconveniences. We'll be working on non supporting hardware that doesn't provide crypto instructions ASAP. :)


Rotate when folio attached

https://stackoverflow.com/a/47218585

Rotation is implemented, but only on a button press.


Saved data filter is not loaded on startup

System information:

Operating system (distribution) and version: Windows 10
DBeaver version: <IP_ADDRESS>007051953
Additional extensions: office

Connection specification:

Database name and version: Oracle 12
Driver name: ojdbc19
Do you use tunnels or proxies (SSH, SOCKS, etc)?  no

Describe the problem you're observing:
When I save filter settings for a table in the table editor (with the top-right "Save filter settings" icon), those are not reloaded on startup. Only the ordering is restored, but not the where condition
I looked into the file saved-data-filter.xml, and the where condition is saved there, it's just not reloaded on startup.
Steps to reproduce, if exist:

Open a table with the table editor
Set a where condition
Order some columns
Save filter settings
Close DBeaver
Reopen DBeaver on the same table
Ordering is correctly restored. The where condition, however, is not.

thanks for the bug report
issue is reproducible only in case if where condition is set in Custom Filters. In case filter was set using icon near column name it is not reproducible for me

I believe it was fixed in #9145

verified


Updates the Plugin to work with Nativescript 4.0

In this PR, i do a couple of things.

i update the file-structure to fall inline with nativescript-plugin-seed.
i update the gradle file to remove the flavor dimension, as requested for nativescript 4.0
i add the prepare script.
i update both demos to nativescript 4.0 and have tested the changes on a Android Phone (OnePlus 3T)
update the readme file with additional steps needed for it to work.
adds package attribute to the android manifest.

unfortunately this update breaks backwards-compatibility, but can easily be restored by following the instructions in the readme.
I believe this solves #265, #262

Thanks @breningham for the PR!

@dapriett Wanted to confirm if these changes are in 2.6?


[WIP] frontend: Replace CRA with Vite

What I did
This PR is related to the issue #1282 Replace CRA.
Changes apply only to the /frontend directory and replace CRA with Vite 5 for development and production builds.
Thanks to Vite cold start is much faster and gives better DX.
Because of failing tests, this PR is still in progress.
Benchmarks:
CRA:
cold start: 1m 30s
build: 1m 50s
Vite:
cold start: 2.5s
build: 48s
Overview:

[x] Remove CRA (react-scripts)
[x] Integrate Vite 5 for development sever and production build
[x] Upgrade Storybook to v8 with Vite
[x] Optimize the production bundle by using smaller chunks
[x] Visualize dependencies (analysis.html produced after build via rollup-plugin-visualizer)
[ ] Fix tests - fails 11 of 19

Detailed migration steps:

[x] Remove react-scripts
[x] Remove %PUBLIC_URL%
[x] Rename REACT_APP_ environment variables to VITE_
[x] Install Vite and add vite.config.ts
[x] Install Jest and add jest.config.ts
[x] Update scripts section in package.json
[x] Replace process.env with import.meta.env and move envs to global constants
[x] Upgrade Storybook to v8 and setup Vite
[x] Get rid of imports via require

Known issues:

@storybook/addon-storyshots is deprecated. See migration guide.
Legacy dev server warnings
Failing tests - Vite and Jest do not work well together, it would be good to migrate to vitest.

Proposition of further steps:

Replace Jest with Vitest
Remove webpack (check relationships and potential impact)

Hi @tazo90 . Thanks for the PR. As indicated in #1282 , we still need to assess what should be the right project to replace CRA as there are also some implications in terms of how to do special builds (with branding, etc.). So we may take a while to review this PR.

Hi @joaquimrocha.
 I completely understand the need for a thorough assessment of the potential replacements for CRA.
It might be a good idea to wait for the final decision before improving Jest-based tests or introducing vitest.
I'm available for any further questions or discussions.


Dead code @ lines 118-120 of LoginSamlAuthenticationProvider.java

Relatively, minor housekeeping issue. Here are a reproduction of lines 112-120 of LoginSamlAuthenticationProvider.java
protected UaaUser getUser(UaaPrincipal principal) {
    String name = principal.getName();
    String email = null;
    String userId = Origin.NotANumber;
    String origin = principal.getOrigin()!=null?principal.getOrigin():Origin.LOGIN_SERVER;
    String zoneId = principal.getZoneId();
    if (name == null && email != null) {
        name = email;
    }

Note that the variable email is never assigned. Thus, the condition (name == null && email != null) is always false and therefore the whole conditional block is dead code.

hi @amiri-ge
Thanks for opening this. It is a symptom of a bigger issue, and that is that the UAA currently assumes that the username is an email address, and will actually fail if it isn't, even though SAML has the ability to provide email address in another attribute.
I will leave this issue open until we have addressed the bigger task at hand.

Hi @fhanik,
is there already a public gh issue for the "UAA assumes the username to be an email address" problem?
Cheers,
Thomas

https://www.pivotaltracker.com/story/show/80135224

New Story Added. https://www.pivotaltracker.com/story/show/105793904


Aqara switch pairing not successful

While trying to connect aqara switch WXXG01LM I keep getting error message: cannot get the node descriptor.

More details please

@itsmepetrov thanks for replying. What information is required

Device model/id, homebridge logs/pairing logs

You can try to pair it again, it’s know issue and I think it’s because device goes to sleep while pairing, so try to wake you device by clicking on button/buttons while pairing

I use Homebridge on Raspberry Pi 3 B+.
This is what I get while attempting to connect the switch in spite of keep clicking.
[2019-3-19 16:02:21] [ZigBee] error: Cannot get the Node Descriptor of the Device: 0x00158d00028a68bb (Error: Timed out after 10000 ms)
[2019-3-19 16:02:22] [ZigBee] [PermitJoinAccessory] time left: 87
[2019-3-19 16:02:23] [ZigBee] [PermitJoinAccessory] time left: 86
[2019-3-19 16:02:24] [ZigBee] [PermitJoinAccessory] time left: 85
[2019-3-19 16:02:25] [ZigBee] [PermitJoinAccessory] time left: 84
[2019-3-19 16:02:26] [ZigBee] [PermitJoinAccessory] time left: 83

Thanks for helping. I could mange to do the pairing after a lot of trying.


Feature Request: Provide Email Preview or let users customize the preview

Hi there,
I was really happy to find this project after spending quite some time for Solr, Datafari, manifoldcf, etc. PoCs. Finally something that works out of the box and allows me to crawl my local documents (using smb) and my emails.
I think it would be really helpful to have a preview functionality for .eml-Files as well. As I'm not sure if there are any suitable JS library to achieve that another helpful improvement could be to let the ambar admin customize the preview url. The approach to let google document viewer preview everything helps to get things up quickly, but fails if you want to show previews/documents using another software.
Cheers,
Alex

I like this idea, will include it to our internal roadmap

Hello @gewuerzgurke84 , in 1.2.0 release we've added text preview to every document, check it out.


GH-2381 : Support kafka parallel-consumer

Introduction
Hi, Spring Team.
This is chickenchickenlove, huge fan of you guys.
I saw this issue (Support kafka parallel-consumer), and this comment as well!

No plans currently; but contributions are welcome!

So, i'd like to implement that integrate Parallel Consumer to spring-kafka
This is skeleton code.
Please take a look when you have some free time. 🙇♂
Thank you for your time!
Background

Sometimes, Confluent Parallel consumer will be more helpful than kafka consumer, because parallel consumer have good parallel processing (If you want to know more, See this).
Thus, i think it will be good option to spring-kafka as well.

How To use
@EnableKafka
@EnableParallelConsumer
@SpringBootApplication
public class SpringkafkasampleApplication {

	public static void main(String[] args) {
		SpringApplication.run(SpringkafkasampleApplication.class, args);
	}
}

Annotated @EnableParallelConsumer to your Spring application. then, some spring bean related with parallel consumer, will be registered to ApplicationContext

@Component
public class MyTestClass implements ParallelConsumerCallback<String, String> {

    private final List<String> topics;
    public MyTestClass(List<String> topics) {
        this.topics = topics;
    }

    @Override
    public void accept(PollContext<String, String> context) {
        context.getConsumerRecordsFlattened().forEach(kvConsumerRecord -> System.out.println(kvConsumerRecord));
    }

    @Override
    public List<String> getTopics() {
        return this.topics;
    }
}

and then, you should implement interface ParallelConsumerCallback and register their concrete class as spring bean by annotating @Component or @Configuration.
then, ParallelConsumerFactory will start ParallelConsumer and ParallelConsumer process records with ParallelConsumerCallback concrete class.

ETC

How about follow the way like @KafkaListener?

IMHO, it is unnecessary. because AFAIK, ParallelConsumer can allow only one callback. thus, it is not suitable for ParallelConsumer.

Can we remove ParallelConsumerImportSelector?

Yes. if org.springframework.boot.autoconfigure.kafka.KafkaAutoConfiguration.java class support to register spring bean, ParallelConsumerImportSelector can be removed.

Update from Apr 27.

I added some interfaces for parallelConsumer.

Thank you for your time, Again.

@chickenchickenlove Please sign the Contributor License Agreement!
Click here to manually synchronize the status of this Pull Request.
See the FAQ for frequently asked questions.

@chickenchickenlove Thank you for signing the Contributor License Agreement!

@chickenchickenlove Thank you for the PR and the kind words. Next month, we will release the first RC version of 3.2.0. Since this is an entirely new feature and involves dependencies from io.confluent (as opposed to org.apache for the regular consumer), this needs a detailed review to come up with a plan for supporting parallel consumers. I think you are in the right direction, but we will have an internal discussion on this matter. Depending on how things go, we may have to defer this feature to the 3.3.x release, but we will let you know.

Hello, @sobychacko !
Thanks for your time 🙇♂
I see! however, that's sounds great.  👍
If after internal discussions, spring-kafka team decides to introduce ParallelConsumer to spring-kafka, and there is anything more to do, Please let me know. I'm more than willing to help.
Also, Please let me know in case of a decision not to introduce ParallelConsumer to spring-kafka!"
Thanks for your time, again 🙇♂

@tagorenathv We will look at this after the GA for 3.2.0 (this month) as part of the next minor version.

hello @sobychacko any plans to implement it in near future?

@BartlomiejSzczotka Yes, we will still look at this for the 3.3.0 version. It may not be possible for it to be ready in time for the upcoming M1 release, but it will likely be in the M2 timeframe. Thanks!

Hi, @sobychacko !
FYI, this PR is currently a draft because we haven't reached a consensus yet.
This means that it reflects only my perspective.
I believe there are better ways to support ParallelConsumer, and we can find them through discussion.
Also, i made new commits for improving code quality at April 27, 28!
So, Take your times and please feel free to talk anything, any thoughs!
Once we reach a consensus, i will write test codes for this feature as well!
Thanks a lot to look at this PR! 😃

Hi, @sobychacko .Gently ping. 🙇♂
It's been a while.
Is the integration of the parallel consumer still under review?
Please let me know 🙏

@chickenchickenlove For various reasons on our end, we decided to postpone this feature to either the next minor (3.4.0) or the next major release (4.0.0). Either way, we will start working on it in a few months.

Thanks checking 👍
I will be waiting for cue 😃


Cookie is invalid

I have trouble downloading the images as it seems my _U cookie is invalid. It says it couldn't find any collection with the given cookie. I am pretty sure it is (I went to a collection, went on inspect, went on Network tab and then on the cookie section, I used edge). I don't know if I can post my _U cookie here (I think i already did). Other things like the .env file, and requirements.txt are fine and the array is empty in the config.toml file ("[]").

@Gabriele007xx
You thankfully didn't post your _U cookie anywhere in the repo.
It's like an API token, so anyone using it could impersonate you. It's a secret.
You can also try the method from this repo.
Also make sure the .env looks like this (this cookie is generated randomly using the same scheme and doesn't work):
COOKIE=_U=FV3rABbRD686SNU6L0w6PDCjp4VA_rrgEPCDTgCtevG5JrTYBd87Lkuh8d467zzc5AFBRH41cMxqDaF_5ZH3Y86a2v15rE97vq636V4NZANn4P_ZNt0xcqAb9RcVQTayXP9HPmN7_yhnHbWrSt5ZHPXU2NNWMKaXJTGt8w7B5_J2ZGUVcx8hbBLZr4LCL1MYk7HQmBU2wNWUnzarN7y3t1H;
Also make sure the cookie is actually for the account that has the collection, if you have more than one account.

Starting today, I'm also having this same issue. Used it successfully yesterday, nothing changed in config or .env
I've double-checked everything is correct, and have even started fresh with the repo.
C:\Users\IBuyPower\Desktop\Bing-Creator-Image-Downloader-main>python ./main.py
2023-12-31 11:43:12,257 INFO Fetching metadata of collections...
Traceback (most recent call last):
File "C:\Users\IBuyPower\Desktop\Bing-Creator-Image-Downloader-main\main.py", line 631, in
asyncio.run(main())
File "C:\Users\IBuyPower\AppData\Local\Programs\Python\Python311\Lib\asyncio\runners.py", line 190, in run
return runner.run(main)
^^^^^^^^^^^^^^^^
File "C:\Users\IBuyPower\AppData\Local\Programs\Python\Python311\Lib\asyncio\runners.py", line 118, in run
return self._loop.run_until_complete(task)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Users\IBuyPower\AppData\Local\Programs\Python\Python311\Lib\asyncio\base_events.py", line 653, in run_until_complete
return future.result()
^^^^^^^^^^^^^^^
File "C:\Users\IBuyPower\Desktop\Bing-Creator-Image-Downloader-main\main.py", line 561, in main
await image_download.run()
File "C:\Users\IBuyPower\Desktop\Bing-Creator-Image-Downloader-main\main.py", line 79, in run
self.__images = self.__gather_image_data()
^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Users\IBuyPower\Desktop\Bing-Creator-Image-Downloader-main\main.py", line 110, in __gather_image_data
raise Exception('No collections were found for the given cookie.')
Exception: No collections were found for the given cookie.
Not sure if something was changed on Bing's end since yesterday (12/30) like cookie format, url, etc.

@HighDruidMotas Cookies aren't meant to last forever. Have you tried using a fresh cookie?

@Richard-Weiss yes
from multiple accounts

@HighDruidMotas Make sure it's from the right account and try the steps from the other repo.
You can theoretically paste the whole cookie value from that request, but the _U cookie is sufficient.

@Richard-Weiss
The correct _U cookie is being used for the correct account.
Same error.

@HighDruidMotas I just tried it with another account and pasted the whole cookie value from the request and it works.
Please try the steps describe in the Prerequisites section of this repo.
I can help you if you have difficulties with any step.

@Richard-Weiss I just did that, and got the same error, but will do it again I guess..

@Richard-Weiss Same error using the other repo's method

Will delete repo and start fresh again

@HighDruidMotas
There are only 4 reasons why that error might occur:

The cookie is invalid
The cookie value was not loaded into the environment variables
The associated account has no collections
The API is returning a 200 but not returning any collection for an unknown reason

Not sure what else I could suggest to you. I can't replicate this error across the 4 accounts I have.
Can you maybe try adding the line print(os.getenv('COOKIE')) after the line load_dotenv()?
Be sure not to share the output with me though, as it's a secret.
Just compare it with the value in the config file.
Deleting the repo will probably not help at this point.

@Richard-Weiss Doesn't appear to be printing anything to collection_dict_dump_debug or bing_image_creator logs

@HighDruidMotas I know, I thought about adding more debug information anyways.
I'll add some for this case.

@HighDruidMotas I've added a statement for it now.
Be sure to enable the debug mode again, it wasn't supposed to be on by default.

@Richard-Weiss Okay, not sure how or why, but it seems like the cookie was not being seen/read in the .env file
had to actually recreate a new .env from the example file
worked with my test account, will now run it on the main account.
Thank you for the time and effort to troubleshoot!


Fix typo in README.

Good catch. You saved the day.

Coverage remained the same at 90.709% when pulling 3dc7e27031926c2224e78bad1f2aa6af2afa1786 on akatsoulas:typo-readme into 447e8ad96c90f182b252aaea6001953a488563ea on mozilla:master.


[BUG] -  KES period not displayed in live view

Exernal
Release notes say KES will now be displayed in live view

System info (please complete the following information):
Clean fresh build

OS: [e.g. Ubuntu]
Version [e.g. 20.04]
Node version 1.19.0

Can confirm, the KES metrics are not present in live view even whether running as a block producer or not.

I believe this issue has the same cause as https://github.com/input-output-hk/cardano-node/issues/1742. Closing this one in favour of the older one.


Improve the title of Webpage

The title can be improved/beautified

Instructions to contribute:
[ ] Fork the repository
[ ] clone the forked repository
[ ] make the necessary changes on a new branch named issue #7
[ ]  Create a pull request

Hello Maintainers,
What we have to write at the place of old title? You will suggest title name or we have to write from ourself?

@amisha123prajapati the title should be the same Thankful.ly you have to beautify it so it looks good on the page

U can use name you want it Chang your font style
Also u use name u want thankyou

Okay,got it.

Ap kise bol rhe
And jis section mai ye topic wali portion
Hai if u want then u can assign me I can change the font

I am biginner student in hacktoberfest,so can you guide me step by step what i have to do then i will sure do it.

@ashwinexe  I would interested in changing the title and contributing more to UI/UX of the application.

@amisha123prajapati assigned. good luck. follow the updated steps mentioned in the issue. If you have any issues ask here :)

@ashwinexe  in how many time i have to complete it ,any deadline or it depends on me?

@ashwinexe in how many time i have to complete it ,any deadline or it depends on me?

It's an easy issue that can be done in a day or two. I'd prefer not to stay on the issue more than a week.

Please assign again to me by mistake i clicked on unassign

I want to work on it

Thankyou


Unable to disable Chalk coloured output

On line #12 of logger.js Chalk enabled is forced to true.

chalk.enabled = true;

This means it is not possible to turn off coloured output with flags chalk supports such as --no-colour.
Without being able to turn off coloured output, logs contain a lot of junk that is hard to pass.
If line #12 is removed, the client code would be able to determine if coloured output should be enabled or not (or Chalk would figure it out dynamically based on the TERM that is running the instance of node).

Might also be an idea to set morgan to use short logger in production.js. Dev format will have coloured ouput.

app.use(morgan('short'));

Hi @saintberry, we've included your fixes in our fork: tripviss/image-resizer#14
The maintainer of this project seems to be unresponsive, and we intend to continue maintaining it so do check out our fork.


Add lambda ARN to notification

The AWS lambda ARN should be added to the notification so that it is simple to identify precisely where a notification comes from.

@joeljwilliams might be worth considering this for your generic notification module also.


Fixed #24725 -- Allowed renaming of target models in ManyToMany relations

This is a regression caused by introducing rendered migration states in
1aa3e09c2043 and the _meta refactoring in fb48eb05816b.
https://code.djangoproject.com/ticket/24725

buildbot, test on oracle.


Retry won't pick a new proxy.

Hi,
I use a proxies list to run my spider. However, it failed to pick a new porxy when the connection failure happens.

2016-09-20 17:48:25 [scrapy] DEBUG: Using proxy http://xxx.160.162.95:8080, 3 proxies left
2016-09-20 17:48:27 [scrapy] INFO: Removing failed proxy http://xxx.160.162.95:8080, 2 proxies left
2016-09-20 17:48:27 [scrapy] DEBUG: Retrying <GET http://jsonip.com/> (failed 1 times): User timeout caused connection failure: Getting http://jsonip.com/ took longer than 2.0 seconds..
2016-09-20 17:48:29 [scrapy] INFO: Removing failed proxy http://xxx.160.162.95:8080, 2 proxies left
2016-09-20 17:48:29 [scrapy] DEBUG: Retrying <GET http://jsonip.com/> (failed 2 times): User timeout caused connection failure: Getting http://jsonip.com/ took longer than 2.0 seconds..
2016-09-20 17:48:31 [scrapy] INFO: Removing failed proxy http://xxx.160.162.95:8080, 2 proxies left
2016-09-20 17:48:31 [scrapy] DEBUG: Gave up retrying <GET http://jsonip.com/> (failed 3 times): User timeout caused connection failure: Getting http://jsonip.com/ took longer than 2.0 seconds..

Please help to fix this problem.
thanks a lot

the problem may cause by  this code
'
if 'proxy' in request.meta:
return
'
I changed the code to
'
def process_request(self, request, spider):
# Don't overwrite with a random one (server-side state for IP)
# if 'proxy' in request.meta:
#     return
'
and fixed the problem.
I think when you retry, you already have a proxy in your request.meta, so the middleware just pass away.

Same issue

same +1

@aivarsk any chance you can update us on this?

Same issue

HGYD solution works for me.

I have similar issue of selecting new proxy like mentioned above, with my code after finishing retry attempts the code executions stops. Please suggest some solution
Here is the back trace
2017-07-06 18:54:45 [scrapy.extensions.telnet] DEBUG: Telnet console listening on <IP_ADDRESS>:6042
2017-07-06 18:54:45 [scrapy.core.engine] INFO: Spider opened
2017-07-06 18:54:45 [scrapy.proxies] DEBUG: Using proxy http://<IP_ADDRESS>:87, 200 proxies left
2017-07-06 18:54:59 [scrapy.downloadermiddlewares.retry] DEBUG: Retrying <GET http://xyz.com> (failed 1 times): 403 Forbidden
2017-07-06 18:55:09 [scrapy.downloadermiddlewares.retry] DEBUG: Retrying <GET http://xyz.com> (failed 2 times): 403 Forbidden
2017-07-06 18:55:17 [scrapy.proxies] INFO: Removing failed proxy http://<IP_ADDRESS>:87, 199 proxies left
2017-07-06 18:55:17 [scrapy.downloadermiddlewares.retry] DEBUG: Retrying <GET http://xyz.com> (failed 3 times): [<twisted.python.failure.Failure twisted.internet.error.ConnectionLost: Connection to the other side was lost in a non-clean fashion.>]
2017-07-06 18:55:24 [scrapy.proxies] INFO: Removing failed proxy http://<IP_ADDRESS>:87, 199 proxies left
2017-07-06 18:55:24 [scrapy.downloadermiddlewares.retry] DEBUG: Retrying <GET http://xyz.com> (failed 4 times): [<twisted.python.failure.Failure twisted.internet.error.ConnectionLost: Connection to the other side was lost in a non-clean fashion.>]
2017-07-06 18:55:31 [scrapy.proxies] INFO: Removing failed proxy http://<IP_ADDRESS>:87, 199 proxies left
2017-07-06 18:55:31 [scrapy.downloadermiddlewares.retry] DEBUG: Retrying <GET http://xyz.com> (failed 5 times): [<twisted.python.failure.Failure twisted.internet.error.ConnectionLost: Connection to the other side was lost in a non-clean fashion.>]
2017-07-06 18:55:45 [scrapy.downloadermiddlewares.retry] DEBUG: Retrying <GET http://xyz.com> (failed 6 times): 403 Forbidden
2017-07-06 18:55:53 [scrapy.proxies] INFO: Removing failed proxy http://<IP_ADDRESS>:87, 199 proxies left
2017-07-06 18:55:53 [scrapy.downloadermiddlewares.retry] DEBUG: Retrying <GET http://xyz.com> (failed 7 times): [<twisted.python.failure.Failure twisted.internet.error.ConnectionLost: Connection to the other side was lost in a non-clean fashion.>]
2017-07-06 18:56:01 [scrapy.downloadermiddlewares.retry] DEBUG: Retrying <GET http://xyz.com> (failed 8 times): 403 Forbidden
2017-07-06 18:56:19 [scrapy.downloadermiddlewares.retry] DEBUG: Retrying <GET http://xyz.com> (failed 9 times): 403 Forbidden
2017-07-06 18:56:33 [scrapy.proxies] INFO: Removing failed proxy http://<IP_ADDRESS>:87, 199 proxies left
2017-07-06 18:56:33 [scrapy.downloadermiddlewares.retry] DEBUG: Retrying <GET http://xyz.com> (failed 10 times): [<twisted.python.failure.Failure twisted.internet.error.ConnectionLost: Connection to the other side was lost in a non-clean fashion.>]
2017-07-06 18:56:41 [scrapy.proxies] INFO: Removing failed proxy http://<IP_ADDRESS>:87, 199 proxies left
2017-07-06 18:56:41 [scrapy.downloadermiddlewares.retry] DEBUG: Gave up retrying <GET http://xyz.com> (failed 11 times): [<twisted.python.failure.Failure twisted.internet.error.ConnectionLost: Connection to the other side was lost in a non-clean fashion.>]
Traceback (most recent call last):
File "/usr/bin/scrapy", line 11, in
sys.exit(execute())
File "/usr/lib/python2.7/site-packages/scrapy/cmdline.py", line 149, in execute
_run_print_help(parser, _run_command, cmd, args, opts)
File "/usr/lib/python2.7/site-packages/scrapy/cmdline.py", line 89, in _run_print_help
func(*a, **kw)
File "/usr/lib/python2.7/site-packages/scrapy/cmdline.py", line 156, in _run_command
cmd.run(args, opts)
File "/usr/lib/python2.7/site-packages/scrapy/commands/shell.py", line 73, in run
shell.start(url=url, redirect=not opts.no_redirect)
File "/usr/lib/python2.7/site-packages/scrapy/shell.py", line 48, in start
self.fetch(url, spider, redirect=redirect)
File "/usr/lib/python2.7/site-packages/scrapy/shell.py", line 115, in fetch
reactor, self._schedule, request, spider)
File "/usr/lib64/python2.7/site-packages/twisted/internet/threads.py", line 122, in blockingCallFromThread
result.raiseException()
File "", line 2, in raiseException
twisted.web._newclient.ResponseNeverReceived: [<twisted.python.failure.Failure twisted.internet.error.ConnectionLost: Connection to the other side was lost in a non-clean fashion.>]

Use errbacks in Requests:
def start_requests(self):
    # ...
    yield scrapy.Request(url=url, callback=self.parse, errback=self.make_new_request)

def make_new_request(self, failure):
    return scrapy.Request(url=failure.request.url, callback=self.parse, errback=self.make_new_request, dont_filter=True)

What about setting a new proxy if a retry has happened? On line 81:
# Don't overwrite with a random one (server-side state for IP)
# But when randomizing every request, we do want to update the proxy on retry.
if not (self.mode == Mode.RANDOMIZE_PROXY_EVERY_REQUESTS and request.meta.get('retry_times', 0) == 0):
  if 'proxy' in request.meta:
    if request.meta["exception"] is False:
      return


Integration with Spatie/Laravel-Permission > v5.x don´t work

Bug description
Spatie/Laravel-Permission > v5.x don´t work
Access to undeclared static property Spatie\Permission\PermissionRegistrar::$cacheKey
The reason is te change of type in public property $cacheKey in Spatie\Permission\PermissionRegistrar to no static
Steps to reproduce
Install composer require laravel-permission
Expected behavior
Fix method to integrate new versions of Laravel Permission
Laravel version
8,9,10
stancl/tenancy version
3.x

Possible solution: get the class instance using the service container and set the property, instead of setting a static property:
// TenancyBootstrapped listener
$permissionRegistrar = app(\Spatie\Permission\PermissionRegistrar::class);
$permissionRegistrar->cacheKey = 'spatie.permission.cache.tenant.' . $event->tenancy->tenant->getTenantKey();

Or as a bootstrapper:
class SpatiePermissionsBootstrapper implements TenancyBootstrapper
{
    public function __construct(
        protected PermissionRegistrar $registrar,
    ) {}

    public function bootstrap(Tenant $tenant): void
    {
        $this->registrar->cacheKey = 'spatie.permission.cache.tenant.' . $tenant->getTenantKey();
    }

    public function revert(): void
    {
        $this->registrar->cacheKey = 'spatie.permission.cache';
    }
}

It would be nice to add this to the docs, had the same problem following the docs and this fixed the problem, thanks

Posted it here first to get some feedback. If there are no issues with the approach above, I'll add it to the docs 👍🏻

https://github.com/stancl/tenancy-docs/commit/49941b625d0dc06fb37426f7c0a931b8e349b487


count exercise: no parrots collection

My code is almost exactly like the solution code, but returns no documents. Going into the mongo console I ran show collections. The only collections were docs, system.indexes, and users, but no parrots. I restarted mongod in one terminal (mongod --port 27017 --dbpath=./data --nojournal), and mongo in the next terminal and parrots did show up.
If anyone else is having this issue you may need to restart the db.

I'm working on the count exercise. My own soluction I think is correct, I see no errors but it just wont run. I even copied the solution code Evan Lucas provides in my js file and I still can't run it. EMs all over the place and each time I see something about 'db.collection('parrots').remove({}, function(err) {' blablabla. Remove? I did that exercise or am I not getting it?  All I know is fcc, I'm very very new at this. I think I have restarted that db several times. (I repeat exercise 2). I always get 'sucessfully installed' and that's it. Maybe it's my pc.

I'm having this issue with the Find exercise I think. I tried running a find that would get everything, just to test if things were working, but the array printed is blank.


How to remove Task ?

In order to save the capacity of redis, I need to delete the task that has been successfully run, but it seems that there is no method such as task.remove or queue.remove(taskId) in the api to call, only find a setDeadline, can setDeadline (0) delete all data of task in redis ? or would you add remove method ?

https://github.com/nodeca/idoit#registertaskoptions-registertaskname--cron-process
See .track. Que has gc.
I'd suggest to inspect code, if you wish to dive deep.


Field propagator uses wrong path length

In TestEm3 with magnetic field and 10 GeV electrons, we see too short charged track lengths and lower energy deposit in most layers. Most importantly, the problem is worst for the middle layers with the most particles (so highest statistics) and highest energy deposit, that should agree the most with Geant4.

After discussions on the recent PRs, I'm not sure anymore that my analysis of the helix stepper using the straight line distances is actually correct (my understanding now is that this only happens for the last chord step that hits a boundary). So I've rephrased the summary to describe the actual problem in verification that needs to be fixed. I've tried @agheata's fix for the last step (from #148), but did not see any measurable change.

To get the ball rolling again, I've started to look into this and what is actually causing the discrepancies in an even easier setup. This turns out to be low-energy electrons (10MeV) shot at a relatively thin, but dense layer (for example 1mm of PbWO4) in magnetic field (Bz=1T). For this, TestEm3 from G4HepEm yields:
      0        1.341704e+00        1.338786e+00

while AdePT outputs:
    0        1.338217e+00        1.335303e+00

As the setup is so simple, we can run many millions of particles to get very good statistics with very stable mean values and observe differences up to 0.3%.
The underlying reason is not physics (as also evidenced by the very good agreement without magnetic field), but only the fact that MSC changes the direction after every single step and this badly interacting with field propagation. It's possible to observe the very same problem when disabling all physics interactions and applying an isotropic direction after each step as defined by the MSC step limit. In that case, the difference of the "energy deposit" goes up to 3% (even though it has no physical meaning)! (For comparison, the values agree to 0.07% when disabling the magnetic field for this fake "isotropic direction" setup.)

I've managed to produce the discrepancy without any involvement from the physics processes in G4HepEm: In every step,

propose a constant "physics" step limit of 0.5mm;
let geometry and possibly field propagation determine how far the track actually goes;
lose up to 10% of the kinetic energy; if the track encountered a boundary, this ratio is scaled according to track.GetStepLength() / ProposedStepLength (for the Geant4 case);
set the direction to an isotropic vector in the unit sphere (code stolen from annihilation at rest).

Without magnetic field, the values of the track length and the deposited energy agree to well below half per-mill. With Bz = 1T, the track length is wrong by 1.5% and the deposited energy by 0.5% (the lower error on the latter makes sense since the energy loss follows an exponential distribution, so errors in later steps have a smaller magnitude).

2. let geometry and possibly field propagation determine how far the track actually goes;

I'm not getting the possibly field propagation part. In the physics case, magnetic field just limits the length of the internal virtual steps made to reach either the proposed physics step or a boundary, it should not impose a step limitation by itself, right? The energy is deposited at the end of the step based on the total travelled distance (corrected by MSC) and this should be independent on the way the final point is reached..
I think that randomizing isotropically the direction increases the probability of getting boundary crossings near-parallel to the surface, which enhances the differences due to the way boundaries get crossed in the 2 cases (push versus more advanced iterative search). So maybe we have to apply the same 1 to 4 points after patching at least our boundary crossing to be more close to the one in G4?

I'm not getting the possibly field propagation part.

What I wanted to say is that there's obviously no field propagation in the case without magnetic field, which I always use to verify that I actually implemented the same "physics" on both sides.

In the physics case, magnetic field just limits the length of the internal virtual steps made to reach either the proposed physics step or a boundary, it should not impose a step limitation by itself, right?

Well, I consider "hitting a boundary" a step limitation as well because it shortens the distance traveled, which influences the energy deposit.

after patching at least our boundary crossing to be more close to the one in G4

I did this in October, and as discussed numerous times around every week in the past months, this had zero effect. Unless you have some new ideas here, it doesn't help to bring back the same claims over and over again.

Is it too difficult to put in this patch that may have had no impact in the previous testing conditions, but which is clearly a (major) divergence point to eliminate as we expose the bug/feature to different testing? I don't claim any new ideas here, just trying to figure out why you get these results and give my input.  And in addition I understood that you already have this code, which only improves the precision of the crossing point. But if you consider this opinion as noise you can simply ignore it.

No, it's not difficult and it was one of the first things I already checked yesterday. I just tried it again with the setup described in https://github.com/apt-sim/AdePT/issues/145#issuecomment-1028792921 and it still shows the inverse effect at a smaller scale, ie the track length and deposited energy decrease even more. This is well understood, as also discussed in the past. Once we solve this issue and are not satisfied with the precision (ie, we get too high energy deposits instead of it being too low right now), we can re-evaluate if we need some of the iterative corrections that Geant4 makes.
I'm currently working on simplifying the setup even more. It might be possible to completely eliminate energy loss from the equation, but then we might need to go to even lower energies (1MeV, which we currently reach with enough steps) and higher statistics. I'm still testing before I post a definitive update.

A couple of oddities that I found so far:

PR https://github.com/apt-sim/AdePT/pull/95 introduced and used momentumXYMag as follows:
https://github.com/apt-sim/AdePT/blob/fba5bd2373a67ffcf2478aec1d93a0d9e07171ba/magneticfield/inc/fieldPropagatorConstBz.h#L78-L91
If there is no z-direction, ie direction[2] = 0, then momentumXYMag = momentumMag. Otherwise, and especially as direction[2] approaches 1 or -1, momentumXYMag will get smaller and smaller. This leads to an increasing value for curv and a decreasing value of safeLength. So in essence, the more a track is flying in z-direction and the less it is influenced by the constant field in z-direction, the shorter safeLength will get and the more chord steps magnetic field propagation will do. That is ... counter-intuitive, but maybe I'm missing something in here? I don't think that's a problem for correctness, only performance.
During my experiments, I found that AdePT's field propagation was sometimes much more precise and found "touching" intersections that Geant4's propagation didn't. It is possible that this happened when the track was flying strongly in z-direction and this is actually related to the first point, I'll have to check the logs. Anyway, again no problem for correctness I think.
The really important and worrying issue is that particles can get stuck on boundaries during field propagation, if they curl such that they re-enter the volume that they just exited within one chord step. What will happen in such cases is that endPosition is "behind" the particle's position, so propagation along chordVec will return a distance of 0 and the track won't move. Because of the way we make progress in navigation, the track will temporarily enter the volume, only for relocation to find out that this wasn't correct because the direction is actually pointing to the other volume. That way, the track ends up in the same state as in the beginning of the step and will never make progress. It will eventually be killed by the looping detection system (once only electrons are left over that don't produce any secondary particles for 200 steps) and its energy as well as any charged step length that it would have traveled are lost, leading to the difference compared to Geant4 described originally. We need to handle this case in AdePT, probably sub-dividing the step; I'll need to check what Geant4 does in this case.

Hi Jonas, about your first point. Your observation is correct, the current approximation only takes into account the bending in the XY plane, ignoring the displacement in the Z direction. I have already fixed for this in my local branch, not yet in the master because it was not overall ready. The more correct way to approximate is:
  double dirXY = sqrt((1. - direction[2]) * (1. + direction[2]));
  double invdirXY = 1. / (dirXY + 1.e-30);
  // Curvature in the XY plane
  double curv = std::fabs(ConstBzFieldStepper::kB2C * charge * BzValue) * invdirXY / momentumMag;
  double safeLengthD = invdirXY * sqrt(2 * gEpsilonDeflect / curv);

For a track having almost zero XY component, safeLengthD gets correctly a very large value (since it goes like sqrt(invdirXY)). I realize however that the calculation done as above may have numerical problems when dirZ goes to +/-1, safeLengthD formula should probably expand inside the curv expression and do the reduction of invXY in the square root.
As you say, this is affecting performance, so it should be done right.

I think your third point is a not-so-unlikely scenario leading to tracks being killed, and I agree that sub-dividing the final step could help.

The more correct way to approximate is:

With a bit of basic variable replacement, the code is equivalent to:
double dirXY = sqrt((1. - direction[2]) * (1. + direction[2]));
// Curvature in the XY plane
double curv = std::fabs(ConstBzFieldStepper::kB2C * charge * BzValue) * (dirXY + 1.e-30) / momentumMag;
double safeLengthD = sqrt(2 * gEpsilonDeflect / curv);

Put differently, you're proposing to replace division by dirXY with a multiplication? That appears to not explode in the edge case of dirXY = 0, but is rather hand-wavy overall...

It doesn't look you did the replacement right, it should read:
double curv = std::fabs(ConstBzFieldStepper::kB2C * charge * BzValue) * invdirXY / momentumMag; // note the *inv*

and dirXY does not reduce completely when replacing it in:
double safeLengthD = invdirXY * sqrt(2 * gEpsilonDeflect / curv); // invdirXY corrects for the real arc length
// and after replacement
double safeLengthD = sqrt(2 * gEpsilonDeflect * momentumMag * invdirXY / std::fabs(ConstBzFieldStepper::kB2C * charge * BzValue));

So safeLengthD goes eventually like 1/sqrt(dirXY), i.e. tracks along Z (dirXY=0) have large deflection safety. This correction is not at all hand-wavy, it just geometrically corrects for the real length along the helix trajectory rather than using only the XY projection. Of course there is an approximation for safeLengthD because the formula stands only for small deflection angles, but the above correction does not introduce any extra approximation.

My code above is correct, please read it again: I moved the invdirXY from the calculation of safeLengthD into the sqrt (making it invdirXY ** 2) and then into curv, where it cancels with one invdirXY. And replacing a multiplication with a division smells hand-wavy to me.

The formula you quote:
// Curvature in the XY plane
double curv = std::fabs(ConstBzFieldStepper::kB2C * charge * BzValue) * (dirXY + 1.e-30) / momentumMag;

is wrong, because in master it reads like this which divides by dirXY.

Now you're saying your own code from https://github.com/apt-sim/AdePT/issues/145#issuecomment-1032445431 is wrong.
master has
double momentumXYMag = momentumMag * sqrt((1. - direction[2]) * (1. + direction[2]));
double curv = std::fabs(ConstBzFieldStepper::kB2C * charge * BzValue) / (momentumXYMag + 1.0e-30);
double safeLength = sqrt(2 * gEpsilonDeflect / curv);

which we agree is wrong because it makes tiny steps for large direction[2].
You write in https://github.com/apt-sim/AdePT/issues/145#issuecomment-1032445431 that we should instead do
double dirXY = sqrt((1. - direction[2]) * (1. + direction[2]));
double invdirXY = 1. / (dirXY + 1.e-30);
// Curvature in the XY plane
double curv = std::fabs(ConstBzFieldStepper::kB2C * charge * BzValue) * invdirXY / momentumMag;
double safeLengthD = invdirXY * sqrt(2 * gEpsilonDeflect / curv);

which I claim is equivalent to
double dirXY = sqrt((1. - direction[2]) * (1. + direction[2]));
// Curvature in the XY plane
double curv = std::fabs(ConstBzFieldStepper::kB2C * charge * BzValue) * (dirXY + 1.e-30) / momentumMag;
double safeLengthD = sqrt(2 * gEpsilonDeflect / curv);

(note that I changed both curv and safeLengthD, getting rid of using dirXY twice). Do we agree on that?
If yes, then

Put differently, you're proposing to replace division by dirXY with a multiplication?

The value of curv is not, but getting the right value of safeLength should be sufficient, no? Maybe I'm missing something here...

In the method as implemented now curv is not reused, so your replacement is sufficient (I didn't get this fast enough due to missing coffee...), but as soon as we will want to optimize based on the helix geometric properties, all results will be wrong. For example, to implement some cut we may want to use the total length of the helix done in one full turn:  const double turn_step = 2. * M_PI * invdirXY / curv; and this will be wrong. So IMO we should not alter variables having a property that we might reuse.

Yes, that would need to become const double turn_step = 2. * M_PI * dirXY / curv;. As you write regarding stability, I think it's not desirable that the code you originally proposed multiplies very large values with very tiny values, only saved from 0 and infinity by the addition of 1e-30. The code I provided avoids this, but was mostly meant as an illustration what is effectively changed.

Sure we agree on that, the implementation should be both numerically stable and try to minimize the number of square roots and divisions. But we should try to put this in since as you correctly observed the version in the master is flawed.

Okay, I was confused yesterday because I did not reproduce the real problem, which involves physics. Here are two additional steps of a stuck electron, with additional verbosity output:
pos: (-5.700000, -0.826631, 0.754389)
dir: (0.000988, 0.127977, -0.991777)
volume ID: 75
geometricalStepLengthFromPhysics = 0.023182
chord end position: (-5.699987, -0.823664, 0.731398)
geometryStepLength = 0.000000
onBoundary: true, volume ID: 74
after relocation, volume ID: 76

step 2:
pos: (-5.700000, -0.826631, 0.754389)
dir: (0.000988, 0.127977, -0.991777)
volume ID: 76
geometricalStepLengthFromPhysics = 0.121848
chord end position: (-5.700163, -0.811038, 0.633543)
geometryStepLength = 0.000000
onBoundary: true, volume ID: 74
after relocation, volume ID: 75

Because the volumes are filled with different materials, the geometricalStepLengthFromPhysics is different and consequently the chord end positions in both cases end up in the "other" volume, making the navigator toggle between the two. I think that Geant4 remembers the last attempted chord step length to get the same chord end position in this case, but maybe @jonapost can confirm?


Investigate whether we can compile the library to WASM with the C++ FFI

@kevaundray would you be able to give some pointers on how to go about your recommendation above and build for wasm32-unknown-unknown.
Naively disabling features would result in compilation errors, starting with please specify a backend to compile with.

Hey, I'm currently working on this, just have not committed the changes. Indeed just disabling things will give a compilation error (We want to compile noir without a backend)
Currently I have compiled the noir compiler to a wasm binary using wasm-bindgen which is being called from typescript.
Do you want me to ping you when I push the changes?

Please do.

This can now be closed and is now under the responsibility of the tooling team led by @kobyhallx


Update example and tests for simple-linked-list

This exercise was implemented in a way that really deviated from the README in the problem-specifications repo.
The README is very simple in its requirements:

Implement List and Element classes.
Implement the List class so that it can:
a) be reversed
b) return an array of element values
c) accept an array as initial data

There's nothing about pop, shift, etc. The existing implementation is relatively complicated compared to these requirements, as is the test suite, which requires validation that isn't specified in the metadata.
This exercise is already a bit of a mind-bender without all the extra complications-- let's make it simpler by focusing on the core problem.  There are two other exercises that focus on list implementations, so I think we're pretty well covered here.

Do we have to expose Element class to users in tests? Can we have list.add(1) directly?
I think that will give users flexibility to have some other way of implementing the exercise. eg. Instead of class, one could use plain JS object with two properties value and next - or even arrays for that matter, though I would not treat the later as linked list.

@tejasbubane I exposed the Element class and used it in tests because the README requires implementing it.
Normally I would agree that this implementation detail should be hidden from consumers of List, but because of both the limited scope of the exercise and the explicit call out of the requirement in the README, I thought it should be like this.
Does that make sense?

Ok it makes sense after reading the README. 👍


python311Packages.python-roborock: 0.8.3 -> 0.9.0

Diff: https://github.com/humbertogontijo/python-roborock/compare/refs/tags/v0.8.3...v0.9.0
Changelog: https://github.com/humbertogontijo/python-roborock/blob/0.9.0/CHANGELOG.md
Description of changes

Things done

Built on platform(s)

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

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

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

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

Changelog URI=https://github.com/humbertogontijo/python-roborock/blob/v0.9.0/CHANGELOG.md

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

4 packages built:

python310Packages.python-roborock
python310Packages.python-roborock.dist
python311Packages.python-roborock
python311Packages.python-roborock.dist


Update ssis-devops-standalone.md

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

#sign-off


Staying connected (or reconnecting) for background processes

My system involves accessing network data when the app is in background. After a while trying to work out the problem, it turns out the socket connection drops once a user enters background. I've been struggling to find a successful work around. Is there anything in Starscream that would help?

Same here. I'm updating an app that used to work without problems in background but now it stop sending "keep alive" messages when the app goes boackground. Any workaround for this?

The standard app lifecycle will cause the socket connection drop when entering the background. Nothing "official" can be done to prevent that. In the past people use to abuse the VOIP background mode to allow this (see #309 for more details), but Apple frowned on this as it isn't the intend use case. As that issue notes, this restriction is now strictly enforced in iOS 10. The recommend course of action is to have a server that does all the processing and wakes the app up with push notifications with the new data you need.


Singly linked list _search is not working, get_next() doesnot exists.

Fix is in this PR : https://github.com/OmkarPathak/pygorithm/pull/89


Correct  idp-entity-id Value

Hello, there is an issue in the page.  Per FortiNet's documentation here: https://docs.fortinet.com/document/fortigate-public-cloud/7.0.0/azure-administration-guide/584456/configuring-saml-sso-login-for-ssl-vpn-web-mode-with-azure-ad-acting-as-saml-idp
set -idp entity-id should be the Azure login URL, not the Azure AD Identifier.

Document Details
⚠ Do not edit this section. It is required for docs.microsoft.com ➟ GitHub issue linking.

ID: 675b6583-259f-1135-6443-b9aa40258163
Version Independent
ID: 28e01c75-b130-260c-4aa6-75a1cba20558
Content: Tutorial: Azure AD SSO integration with FortiGate SSL VPN - Microsoft Entra
Content Source: articles/active-directory/saas-apps/fortigate-ssl-vpn-tutorial.md
Service: active-directory
Sub-service: saas-app-tutorial
GitHub Login: @jeevansd
Microsoft Alias: jeedes

@urbndude
Thanks for your feedback! I've assigned this issue to the author who will investigate and update as appropriate.


[HttpClient] Details about metrics

There is documentation for networking telemetry at https://learn.microsoft.com/en-us/dotnet/fundamentals/networking/networking-telemetry
This document is quite long and covers many topics. Work that should happen here:

Split it up. Counters, EventListener, and distributed tracing can each be there own page.
Add details about metrics counters. Metrics content should take priority over event counters.

@karelz I've assigned to you. Delegate as needed.


document cat mempool

Cat Mempool
Note: 100% of the code work was done by @hvanz.
I just think that we should try to get this over the line because there are serious mempool issues that are resolved by CAT and that in the end, it is likely that Comet will feature a BOOL as to weather or not to have a mempool and that CAT will be the default one.
Thanks to Celestia for implementing the original!

Add CAT mempool reactor
Add missing changes to rpc/core/mempool.go
e2e: Add MempoolReactor to manifest

update cat reactor following merge

Fix lint
Revert to fix lint
More fixes
make proto-gen
Add SyncReactor interface
Refactor MempoolTx into CListEntry to fix lint
Add IsEmpty method to CListEntry
Increase defaultGossipDelay and remove jitter
e2e: Add pex_reactor and log_level to manifest
Rename (mempool_)reactor to gossip_protocol
document the cat mempool

note: I'm currently doing the merge conflict, it's pretty tough.

note: I'm currently doing the merge conflict, it's pretty tough.

Maybe you should consider waiting for Hernán to come back, next week. He is the one with context on this matter.

I'll give it a go.  Nearly complete I think.

I think we just need to apply the proto changes that @hvanz made to v1 and good to go.

Only thing remaining is e2e but not totally sure what to do about that.

We just had a chat with Celestia team. It doesn't seem like they need this right now since they are not seeing bandwidth limits get hit.
We plan to test CAT in Q2, unless a specific user needs it. Do you know of an app-chain team needing CAT mempool @faddat ?

Given the update from the original author, it makes perfect sense to close this.
Happy new year!


error

Could not GET 'https://jitpack.io/io/github/c0nnor263/plugin/23.01.11/plugin-23.01.11.pom'. Received status code 401 from server: Unauthorized

Feel free to download this plugin with 11.09 version via mavenCentral