Project metadata

Rough development PR for project metadata
Goals: Verify tentative Resource/Project metadata structure.
Details:This PR is made with the expectation that upcoming PRs will refactor the saving code in to new classes (along with developing fucntionalty further, of course), names TBD, which will provide more organization.
Accomplishes:

creates nested folders
creates project metadata file*
minor debug of add button closing (out of sheer annoyance"

Non-goals (for this PR):

movement of saving code to appropriate classes

Here's the file it currently creates:
name: A Project
resourceType: Project
web_export: true
ios_export: false
android_export: false
resources:
platform: web

This change is

Review status: 0 of 11 files reviewed at latest revision, 5 unresolved discussions.

src/controller/app_controller.js, line 169 at r1 (raw file):

     * Location where the project directory is saved.
     */
    this.storageLocation = localStorage.getItem('devToolsProjectLocation');

Where does this localStorage reference come from?

src/controller/app_controller.js, line 272 at r1 (raw file):

  saveProject() {
    // Check for viable save location.
    if (this.storageLocation == undefined) {

if (!this.storageLocation)

src/controller/save_project_popup_controller.js, line 63 at r1 (raw file):

      let data = Object.create(null);
      this.appController.project.buildMetaData(data);
      let dataString = this.appController.project.getDataString(data);

Are you planning on implementing getDataString() in future PR's? I only see it in Resource.

src/model/resource.js, line 48 at r1 (raw file):

     * @type {string}
     */
    this.resourceType = resourceType || null;

Doesn't the second half execute if resourceType is null anyway?

src/model/resource.js, line 113 at r1 (raw file):

   * @return {!Object} The resource metadata.
   */
  getDataString(obj) {

Why does buildMetaData() and getDataString() have the same jsdoc? I'm a little confused as to what does what.

Comments from Reviewable

Review status: 0 of 11 files reviewed at latest revision, 5 unresolved discussions.

src/controller/app_controller.js, line 169 at r1 (raw file):
Previously, chynu (celine choo) wrote…
Where does this localStorage reference come from?

localStorage is a nifty preexisting Javascript object: http://htmldog.com/guides/javascript/advanced/localstorage/

src/controller/app_controller.js, line 272 at r1 (raw file):
Previously, chynu (celine choo) wrote…
if (!this.storageLocation)

Done.

src/controller/save_project_popup_controller.js, line 63 at r1 (raw file):
Previously, chynu (celine choo) wrote…
Are you planning on implementing getDataString() in future PR's? I only see it in Resource.

Nope; the resource method should be sufficient, and thus when all resources call the method it'll default to the super

src/model/resource.js, line 48 at r1 (raw file):
Previously, chynu (celine choo) wrote…
Doesn't the second half execute if resourceType is null anyway?

whoops meant to be 'Resource'

src/model/resource.js, line 113 at r1 (raw file):
Previously, chynu (celine choo) wrote…
Why does buildMetaData() and getDataString() have the same jsdoc? I'm a little confused as to what does what.

b/c of a ~spicy~ copy pasta ^.-
fixed

Comments from Reviewable

src/controller/save_project_popup_controller.js, line 63 at r1 (raw file):
Previously, svouse wrote…
Nope; the resource method should be sufficient, and thus when all resources call the method it'll default to the super

*any rather than all

Comments from Reviewable

Reviewed 8 of 11 files at r1, 3 of 3 files at r2.
Review status: all files reviewed at latest revision, 10 unresolved discussions.

src/controller/app_controller.js, line 258 at r2 (raw file):

    const toolboxDir = projectDir + '/' + PREFIXES.TOOLBOX;
    const workspaceDir = projectDir + '/' + PREFIXES.GENERAL_WORKSPACE;
    const dirs = [ projectDir, libraryDir, toolboxDir, workspaceDir];

nit: remove space after [

src/controller/app_controller.js, line 283 at r2 (raw file):

      let dataString = this.project.getDataString(data);
      fs.writeFileSync(
          this.storageLocation + '/' + this.project.name + '/' +  this.project.name,

So if the project is named TheBestProject the metadata will be in <dir>/TheBestProject/TheBestProject, yes?  I'd rather it be in a file named metadata so that you can always look for the same filename regardless of which project you are opening.

src/controller/save_project_popup_controller.js, line 54 at r2 (raw file):

    });

    const view = this.view;

Why create this variable and then use this.view for the rest of the function/

src/model/project.js, line 282 at r2 (raw file):

   * @return {!Object} The project metadata.
   */
  buildMetaData(obj) {

I'd prefer buildMetadata but can live with this.

src/model/resource.js, line 102 at r2 (raw file):

    obj.name = this.name;
    obj.resourceType = this.resourceType;
    obj.file = '';

What is file?

Comments from Reviewable

Review status: 10 of 11 files reviewed at latest revision, 11 unresolved discussions.

src/controller/app_controller.js, line 253 at r2 (raw file):

   * Creates the properly nested directory in which to save the project.
   */
  initProjectDirectory() {

I suggest doing this on a per file-to-save basis. That is, if a directory doesn't exist, create As mentioned before, the user's desired structure may be very different. These defaults are better left in the UI (possibly a save dialog) when the user first saves things.

src/controller/app_controller.js, line 283 at r2 (raw file):
Previously, rachel-fenichel (Rachel Fenichel) wrote…
So if the project is named TheBestProject the metadata will be in <dir>/TheBestProject/TheBestProject, yes?  I'd rather it be in a file named metadata so that you can always look for the same filename regardless of which project you are opening.

+1 in the project root.  No two projects should be in the same directory.

Comments from Reviewable

Review status: 10 of 11 files reviewed at latest revision, 11 unresolved discussions.

src/controller/app_controller.js, line 253 at r2 (raw file):
Previously, AnmAtAnm (Andrew n marshall) wrote…
I suggest doing this on a per file-to-save basis. That is, if a directory doesn't exist, create As mentioned before, the user's desired structure may be very different. These defaults are better left in the UI (possibly a save dialog) when the user first saves things.

sgtm; made issue #161 , and will implement this as part of the next saving PR

src/controller/app_controller.js, line 258 at r2 (raw file):
Previously, rachel-fenichel (Rachel Fenichel) wrote…
nit: remove space after [

Done.

src/controller/app_controller.js, line 283 at r2 (raw file):
Previously, rachel-fenichel (Rachel Fenichel) wrote…
So if the project is named TheBestProject the metadata will be in <dir>/TheBestProject/TheBestProject, yes?  I'd rather it be in a file named metadata so that you can always look for the same filename regardless of which project you are opening.

sgtm; done

src/controller/save_project_popup_controller.js, line 54 at r2 (raw file):
Previously, rachel-fenichel (Rachel Fenichel) wrote…
Why create this variable and then use this.view for the rest of the function/

Whoops (a debugging relic); removed

src/model/project.js, line 282 at r2 (raw file):
Previously, rachel-fenichel (Rachel Fenichel) wrote…
I'd prefer buildMetadata but can live with this.

Changed

src/model/resource.js, line 102 at r2 (raw file):
Previously, rachel-fenichel (Rachel Fenichel) wrote…
What is file?

A pointer to the file which contains the data associated with the name (irrelevant for project//removed); should I rename the field for clarity?

Comments from Reviewable

Reviewed 4 of 4 files at r3.
Review status: all files reviewed at latest revision, 8 unresolved discussions.

src/model/resource.js, line 102 at r2 (raw file):
Previously, svouse wrote…
A pointer to the file which contains the data associated with the name (irrelevant for project//removed); should I rename the field for clarity?

filepath?  @anmatanm do you have opinions?

Comments from Reviewable

Review status: all files reviewed at latest revision, 10 unresolved discussions.

src/controller/app_controller.js, line 283 at r3 (raw file):

this.storageLocation + '/' + this.project.name + '/' +  'metadata',

this.storageLocation + path.sep + 'blockly-proj.json'
If the user chose to store files in the a directory named after project.name, then store that location in the storageLocation.  It gives them the flexibility of storing a file in a different structure.

src/controller/save_project_popup_controller.js, line 34 at r3 (raw file):

 * @author celinechoo (Celine Choo), sagev (Sage Vouse)
 */
class SaveProjectPopupController extends PopupController {

This dialog feels like a barrier to the save process, not adding much, but I haven't figured out a way use NWJS file open and save dialogs without the <input> button.
It could be made useful by listing everything that is about to be saved (a confirmation, of sorts).
Fine for now.

src/model/resource.js, line 102 at r2 (raw file):
Previously, rachel-fenichel (Rachel Fenichel) wrote…
filepath?  @anmatanm do you have opinions?

I prefer filepath.
It should be explicit that this is a web specific file.
obj.web = {
   filepath: '
}

Also, Some Resources, like ResourceSets  do not have save files.  (Discussed offline)

Comments from Reviewable

Review status: 10 of 11 files reviewed at latest revision, 9 unresolved discussions.

src/controller/app_controller.js, line 283 at r3 (raw file):
Previously, AnmAtAnm (Andrew n marshall) wrote…

this.storageLocation + '/' + this.project.name + '/' +  'metadata',

this.storageLocation + path.sep + 'blockly-proj.json'
If the user chose to store files in the a directory named after project.name, then store that location in the storageLocation.  It gives them the flexibility of storing a file in a different structure.

Done.

Comments from Reviewable

Review status: 8 of 11 files reviewed at latest revision, 8 unresolved discussions.

src/controller/app_controller.js, line 283 at r3 (raw file):
Previously, svouse wrote…
Done.

Remove this.project.name

Comments from Reviewable

Reviewed 1 of 3 files at r4.
Review status: 9 of 11 files reviewed at latest revision, 7 unresolved discussions.

src/model/resource.js, line 102 at r2 (raw file):
Previously, AnmAtAnm (Andrew n marshall) wrote…
I prefer filepath.
It should be explicit that this is a web specific file.
obj.web = {
   filepath: '
}

Also, Some Resources, like ResourceSets  do not have save files.  (Discussed offline)

Remove obj.filepath above, since we have it below.

Comments from Reviewable

Review status: 9 of 11 files reviewed at latest revision, 7 unresolved discussions.

src/controller/app_controller.js, line 283 at r3 (raw file):
Previously, AnmAtAnm (Andrew n marshall) wrote…
Remove this.project.name

Done.

Comments from Reviewable

Review status: 9 of 11 files reviewed at latest revision, 7 unresolved discussions.

src/model/resource.js, line 113 at r1 (raw file):
Previously, svouse wrote…
b/c of a ~spicy~ copy pasta ^.-
fixed

Are you trying to build JSON.stringify() here?

Comments from Reviewable

Review status: 9 of 11 files reviewed at latest revision, 7 unresolved discussions.

src/model/resource.js, line 102 at r2 (raw file):
Previously, AnmAtAnm (Andrew n marshall) wrote…
Remove obj.filepath above, since we have it below.

Done.

Comments from Reviewable

Review status: 9 of 11 files reviewed at latest revision, 6 unresolved discussions.

src/model/resource.js, line 113 at r1 (raw file):
Previously, AnmAtAnm (Andrew n marshall) wrote…
Are you trying to build JSON.stringify() here?

Whoops; changed

Comments from Reviewable

Review status: 9 of 11 files reviewed at latest revision, 6 unresolved discussions.

Comments from Reviewable


Add the Repo to the Awesome Nix List (& the Nix Community Org)

Hey Guys!
I've just seen that this repo isn't visible in either the awesome nix list, nor is it part of the Nix Community Organisation (which I both just discovered via discourse :grin: ).
I'm not using musnix at moment, but I had good experience with it and I think it is a valuable project for the community!
Would you mind if I create a PR to add it to the awesome nix list?
Also, I personally think that it would be nice to move this repo directly in the nix community org so that it becomes a bit easier to discover. But that's up to you I guess. :)

Sounds great to me, but I think you should wait for @henrytill 's opinion, since he's by far the most active in here.
Personally I didn't know any of these sites and repos, so thanks for pointing them out!

Would you mind if I create a PR to add it to the awesome nix list?

That would be great.  Much appreciated @Melkor333!

It's now in the list :)

Awesome.  Thanks again @Melkor333.


Improve SaaS ECS deployment

Refactor ECS deployment into single custom action.
Include SAML app in ECS deployment package

How are we testing this?

@dabeeeenster I tested the deployment to staging. You can see it here: https://github.com/Flagsmith/flagsmith/runs/5757920412?check_suite_focus=true.


Future sprints not visible and can’t align features.

Describe the bug
Future sprints do not show, like in the pictures and tutorials.
Cannot drag and drop features to sprints beyond current.
Browser
Choose a browser
[ X] IE11
[ X] Chrome
[ ] FireFox
[ ] Safari
Version
[ X] Azure DevOps/VSTS
[ ] TFS 2017 Update 2/3
[ ] TFS 2018
Screenshots
If applicable, add screenshots to help explain your problem.

We also can not see Future Sprints - and need same capability as above.

@wflowers11  and @cgdriscoll  have you team subscribed to future sprints?

Thank you Navneet, I don’t know. What do you mean by subscribe? Do you mean there is a feature with future sprints with stories refined?
The sprints are created in the project.
On Jun 26, 2019, at 11:08 AM, Navneet Gupta <notifications<EMAIL_ADDRESS>wrote:
@wflowers11https://github.com/wflowers11 and @cgdriscollhttps://github.com/cgdriscoll have you team subscribed to future sprints?
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHubhttps://github.com/microsoft/featuretimeline/issues/118?email_source=notifications&email_token=AMNMJ7UJSWJWG4CNGLRDL6LP4OH6HA5CNFSM4H2UQQL2YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGODYUA4WI#issuecomment-505941593, or mute the threadhttps://github.com/notifications/unsubscribe-auth/AMNMJ7WFV4OMIJMJMHX26CTP4OH6HANCNFSM4H2UQQLQ.

E-MAIL CONFIDENTIALITY NOTICE:  The information transmitted in this e-mail and in any replies and forwards are for the sole use of the above individual(s) or entities and may contain proprietary, privileged and/or highly confidential information. Any unauthorized dissemination, review, distribution or copying of these communications is strictly prohibited. If this e-mail has been transmitted to you in error, please notify and return the original message to the sender immediately at the above listed address. Thank you for your cooperation.

Hello, has this been resolved?  I am also facing the same behavior.  I am trying to use the Feature Timeline in Azure DevOps.  Thanks

OK, figured it out.  The sprints after being created need to be added to the Team.  User error.


Cilium Helm - Hubble Exporter Allow List Flag

Is there an existing issue for this?

[X] I have searched the existing issues

Version
higher than v1.16.0 and lower than v1.17.0
What happened?
I am following the documentation on adding filters to my Hubble export config.
https://docs.cilium.io/en/latest/observability/hubble-exporter/#filters
While attempting to install via Helm and set the value flag using the following command:
helm upgrade cilium ./cilium \
   --set hubble.enabled=true \
   --set hubble.export.static.enabled=true \
   --set hubble.export.static.allowList[0]='{"verdict":["DROPPED"]}'

I'm encountering errors. When I check the pod logs, I see that the issue is related to the cilium-config ConfigMap. Here’s the relevant section of the ConfigMap when I run the helm upgrade:
hubble-export-allowlist: '[verdict:[DROPPED]]'
The error message in the pods is:
level=fatal msg="failed to decode hubble-export-allowlist '[verdict:[DROPPED]]': invalid character 'v' looking for beginning of value" subsys=config
However, when I manually configure the ConfigMap, the following version works without issues:
hubble-export-allowlist: '{"verdict":["DROPPED"]}'
Thanks in advance for your assistance!
How can we reproduce the issue?

Install Cilium With Helm and Enable Hubble Export with Necessary Flags

helm upgrade cilium ./cilium \
   --set hubble.enabled=true \
   --set hubble.export.static.enabled=true \
   --set hubble.export.static.allowList[0]='{"verdict":["DROPPED"]}'

Check the cilium-config ConfigMap to see hubble-export-allowlist under data
Additionally check the pod logs to see the fatal error

Cilium Version
1.16.0
Kernel Version
<IP_ADDRESS>-microsoft-standard-WSL2
Kubernetes Version
v1.30.0
Regression
No response
Sysdump
No response
Relevant log output
time="2024-08-12T12:09:42Z" level=info msg="Memory available for map entries (0.003% of<PHONE_NUMBER>4B): 41636802B" subsys=config
time="2024-08-12T12:09:42Z" level=info msg="option bpf-ct-global-tcp-max set by dynamic sizing to 146094" subsys=config
time="2024-08-12T12:09:42Z" level=info msg="option bpf-ct-global-any-max set by dynamic sizing to 73047" subsys=config
time="2024-08-12T12:09:42Z" level=info msg="option bpf-nat-global-max set by dynamic sizing to 146094" subsys=config
time="2024-08-12T12:09:42Z" level=info msg="option bpf-neigh-global-max set by dynamic sizing to 146094" subsys=config
time="2024-08-12T12:09:42Z" level=info msg="option bpf-sock-rev-map-max set by dynamic sizing to 73047" subsys=config
time="2024-08-12T12:09:42Z" level=fatal msg="failed to decode hubble-export-allowlist '\"verdict\":[\"DROPPED\"]': proto:\u00a0syntax error (line 1:1): unexpected token \
"verdict\"" subsys=config

Anything else?
No response
Cilium Users Document

[ ] Are you a user of Cilium? Please add yourself to the Users doc

Code of Conduct

[X] I agree to follow this project's Code of Conduct

It seems like Helm was manipulating values containing {...} when using the --set flag. This was resolved by switching to the --set-literal flag instead (I also had to escape double quotes), which preserved the intended values without modification.
--set-literal hubble.export.static.allowList[0]='{\"verdict\":[\"DROPPED\"]}'
To help others who might face a similar problem, it might be worth updating the documentation to reflect this workaround.
Has anyone else experienced this issue?

Yes, Helm allows you to use its templating language when using --set, so --set-literal is the way to go here. I'd argue this is a pretty good argument for using a values.yaml file instead of passing command-line flags, as the escaping can get very complicated very quickly.
That said, agreed that it would be nice to have an update in the docs noting this. I'll label this with area/documentation so anyone interested might be able to pick it up.


chore: add test to verify fix of JIRA ticket EXC-1318

This test should fail once drun implements raw_rand properly and then be updated to reflect correct operation.
(drun lacks a test suite, so we are abusing Motoko to test the fix once in).
See https://dfinity.atlassian.net/browse/EXC-1318

@crusso Thank you!

@ggreif I'm seeing non-det behaviour from timer-initial.mo here too, I think.

@crusso I see this on Linux:
test-drun-generational-gc> divide-by-zero: [tc] [run] [run-ir] [run-low] [comp] [comp-ref] [valid] [valid-ref] [drun-run]
[3164](https://github.com/dfinity/motoko/actions/runs/4018188380/jobs/6903492980#step:7:3165)
test-drun-generational-gc> --- divide-by-zero.drun-run.ret (expected)
[3165](https://github.com/dfinity/motoko/actions/runs/4018188380/jobs/6903492980#step:7:3166)
test-drun-generational-gc> +++ divide-by-zero.drun-run.ret (actual)
[3166](https://github.com/dfinity/motoko/actions/runs/4018188380/jobs/6903492980#step:7:3167)
test-drun-generational-gc> @@ -0,0 +1 @@
[3167](https://github.com/dfinity/motoko/actions/runs/4018188380/jobs/6903492980#step:7:3168)
test-drun-generational-gc> +Return code 139
[3168](https://github.com/dfinity/motoko/actions/runs/4018188380/jobs/6903492980#step:7:3169)
test-drun-generational-gc> --- divide-by-zero.drun-run (expected)
[3169](https://github.com/dfinity/motoko/actions/runs/4018188380/jobs/6903492980#step:7:3170)
test-drun-generational-gc> +++ divide-by-zero.drun-run (actual)
[3170](https://github.com/dfinity/motoko/actions/runs/4018188380/jobs/6903492980#step:7:3171)
test-drun-generational-gc> @@ -1,2 +1,6 @@
[3171](https://github.com/dfinity/motoko/actions/runs/4018188380/jobs/6903492980#step:7:3172)
test-drun-generational-gc>  ingress Completed: Reply: 0x4449444c016c01b3c4b1f204680100010a00000000000000000101
[3172](https://github.com/dfinity/motoko/actions/runs/4018188380/jobs/6903492980#step:7:3173)
test-drun-generational-gc>  ingress Err: IC0502: Canister rwlgt-iiaaa-aaaaa-aaaaa-cai trapped: integer division by 0
[3173](https://github.com/dfinity/motoko/actions/runs/4018188380/jobs/6903492980#step:7:3174)
test-drun-generational-gc> +/build/test-run-drun-src/run-drun/../drun-wrapper.sh: line 53: 14381 Done                    ( echo "create"; echo "install $ID $1 0x"; if [ -n "$2" ]; then
[3174](https://github.com/dfinity/motoko/actions/runs/4018188380/jobs/6903492980#step:7:3175)
test-drun-generational-gc> +    LANG=C perl -ne 'print "$1 '$ID' $2\n" if m,^//CALL (ingress|query) (.*),;print "upgrade '$ID' '"$1"' 0x\n" if m,^//CALL upgrade,; ' $2;
[3175](https://github.com/dfinity/motoko/actions/runs/4018188380/jobs/6903492980#step:7:3176)
test-drun-generational-gc> +fi )
[3176](https://github.com/dfinity/motoko/actions/runs/4018188380/jobs/6903492980#step:7:3177)
test-drun-generational-gc> +     14382 Segmentation fault      (core dumped) | drun -c "$CONFIG" --extra-batches $EXTRA_BATCHES /dev/stdin
[3177](https://github.com/dfinity/motoko/actions/runs/4018188380/jobs/6903492980#step:7:3178)


Spike: Poll query status from frontend

When the query tasks are delayed and put into a celery queue, a sidecar background callback task is also scheduled by Dash to monitor their status, consuming a worker process until all of the query tasks have finished. This is inefficient and can cause deadlocks.
Suggested solution:
Instead of synchronously monitoring the query tasks via a scheduled Dash background callback, asynchronously check statuses with a standard callback triggered by a timer in the frontend, updating frontend components as necessary to share status.

I implemented a toy application that demonstrates that the suggested fix is reasonable:
# tasks.py

import celery
import time

app = celery.Celery(
    __name__,
    backend='redis://localhost:6379',
    broker="amqp://localhost",
)

@app.task
def wait(wtime: int) -> int:
    print(f"Waiting: {wtime} seconds")
    time.sleep(wtime)
    print(f"Finished")

# app.py

import time
from tasks import wait, app as celery_app
import dash
from dash import dcc, html, Output, Input, callback, State
import celery
from celery.result import AsyncResult

TIMER_RESET_N_INTERVALS = 0
TIMER_ENABLED = False
TIMER_DISABLED = True
WAIT_TASK_DELAY = 10

dash_app = dash.Dash(name=__name__
)

dash_app.layout = html.Div(
    children=[
        dcc.Store(
            id="task-ids",
            storage_type="memory",
            data=[]
        ),
        dcc.Interval(
            id="task-status-timer",
            disabled=True,
            interval=1000, # in ms
            n_intervals=0,
            max_intervals=1 # only run once then stop
        ),
        html.Button(
            children="Start New Task",
            id="start-task"
        ),
        html.Button(
            children="Clear History",
            id="clear-tasks"
        ),
        html.Ol(
            id="task-status-list",
            children=[],
        ),
    ]
)

@callback(
    [
        Output("task-ids", "data"),
        Output("task-status-timer", "n_intervals", allow_duplicate=True),
        Output("task-status-timer", "disabled", allow_duplicate=True),
    ],
    Input("start-task", "n_clicks"),
    State("task-ids", "data"),
    prevent_initial_call=True
)
def handleAddTask(n_clicks: int, task_ids: list):
    """
        Creates a new background task.
        Adds the task id to the list of task IDs to be checked.
        Sets task id list.
        Forces timer to turn on.
    """
    print("in handleAddTask")

    result: AsyncResult = wait.apply_async(args=[WAIT_TASK_DELAY])
    tasklist = task_ids + [str(result)]

    return tasklist, TIMER_RESET_N_INTERVALS, TIMER_ENABLED

@callback(
    [
        Output("task-ids", "data", allow_duplicate=True),
        Output("task-status-timer", "disabled", allow_duplicate=True),
        Output("task-status-list", "children", allow_duplicate=True)
    ],
    Input("clear-tasks", "n_clicks"),
    State("task-ids", "data"),
    prevent_initial_call=True
)
def handleClearTasks(n_clicks: int, task_ids: list[str]):
    """
        Forgets all tasks in queue.
        Drops task id bookkeeping in frontend.
        Disables timer.
        Clears list of tasks on screen.
    """
    print("in handleClearTasks")
    _ = [celery_app.AsyncResult(tid).revoke(terminate=True) for tid in task_ids]
    _ = [celery_app.AsyncResult(tid).forget() for tid in task_ids]
    return [], TIMER_DISABLED, []

@callback(
    [
        Output("task-status-list", "children", allow_duplicate=True),
        Output("task-status-timer", "disabled", allow_duplicate=True),
        Output("task-status-timer", "n_intervals", allow_duplicate=True),
    ],
    Input("task-status-timer", "n_intervals"),
    State("task-ids", "data"),
    prevent_initial_call=True
)
def handleCheckTaskStatus(n_intervals: int, task_ids: list[str]):
    """
        When interval fires, checks the status of tasks in task ID list.
    """
    print("in handleCheckTaskStatus")

    results = [celery_app.AsyncResult(tid)  for tid in task_ids]
    statuses = [t.status for t in results]
    status_components_list = [
        html.Li(
            children=f"Task {t_id} status: {t_status}"
        )
        for t_id, t_status in zip(results, statuses)
    ]

    # will disable timer if True
    timer_should_disable = all([t.ready() for t in results])

    return status_components_list, timer_should_disable, TIMER_RESET_N_INTERVALS

if __name__ == "__main__":
    dash_app.run(debug=True)

This polls the backend every second to check whether the scheduled tasks have finished. If so, the frontend components are updated to reflect the change in status.


QQ, WeChat and Weibo Support

May you consider supporting the largest platforms in China?
Reference:
https://github.com/anerg2046/sns_auth

Of course! There seems to be passport modules for qq, wechat and weibo. Adding a new "platform/strategy" when you have a passport module is pretty simple (have a look at #45 ).
PRs are very welcomed!
Thanks for the important feedback.

Would be awesome to get the help from someone who can speak chinese... I have some problems creating an account on www.qq.com :(

You may also extract code from:
https://github.com/Yurunsoft/YurunOAuthLogin
I think we (Pear Limited) can assign an engineer to help you.
@airchen233 would like to help?

Glad to help. And we are good at speaking chinese~

😃  👍  Awesome!


PoC : Swarm Integration

Start a proof of concept for the following:

Creating a new cluster from Rancher results in the registering of the swarm cluster.

Launch a container per cluster with swarm-server daemon. [Done]

Adding a host via Rancher would result in registering the host with a discovery service so the swarm-server daemon can understand what hosts to eventually launch containers to.

Found difficulty integrating with the hosted discovery service.

Working on integrating with TCP+TLS.

PoC completed end to end.
Need to refactor code.

Sounds good!

Generate PR today for CRUD clusters, add/remove hosts, and deploy containers to cluster.  Write tests to do this this week.

Getting managed network to work
Various bug fixes.
Start working on TLS support.


add svelte-kit sync

Closes #4165. This adds a sync module responsible for writing stuff to outDir — generated/manifest.js, generated/root.svelte, runtime, types and tsconfig.json.
It also adds a svelte-kit sync command that runs when you first set up a new project, to ensure that types are set up and correct before you run typechecking.
I've been meaning to tidy up this corner of the codebase anyway, and this was a nice opportunity to do it.
Please don't delete this checklist! Before submitting the PR, please make sure you do the following:

[x] It's really useful if your PR references an issue where it is discussed ahead of time. In many cases, features are absent for a reason. For large changes, please create an RFC: https://github.com/sveltejs/rfcs
[x] This message body should clearly illustrate what problems it solves.
[ ] Ideally, include a test that fails without this PR but passes with it.

Tests

[ ] Run the tests with pnpm test and lint the project with pnpm lint and pnpm check

Changesets

[x] If your PR makes a change that should be noted in one or more packages' changelogs, generate a changeset by running pnpx changeset and following the prompts. All changesets should be patch until SvelteKit 1.0

Is this command cheap enough that we can run it whenever we want to run pnpm check? Or would it be helpful to also have a svelte-kit tsconfig command that just generates that file? (https://github.com/sveltejs/kit/pull/4190#discussion_r818634026)

For a large-ish app it takes about 100ms on my machine — it's basically free


osbuild-worker jobimpl-osbuild contains leftover code (probably)

https://github.com/osbuild/osbuild-composer/blob/167fdc44bc82744b759a059b197d4415523e83da/cmd/osbuild-worker/jobimpl-osbuild.go#L101
Almost the same piece of code lives in the Run function twice. This is the first one:
	if osbuildOutput.Success && args.ImageName != "" {
		var f *os.File
		imagePath := path.Join(outputDirectory, args.ImageName)
		if args.StreamOptimized {
			f, err = vmware.OpenAsStreamOptimizedVmdk(imagePath)
			if err != nil {
				return err
			}
			streamOptimizedPath = f.Name()
		} else {
			f, err = os.Open(imagePath)
			if err != nil {
				return err
			}
		}
		err = job.UploadArtifact(args.ImageName, f)
		if err != nil {
			return err
		}
	}

and this is the second one:
			if !osbuildOutput.Success {
				continue
			}
			var f *os.File
			imagePath := path.Join(outputDirectory, options.Filename)
			if options.StreamOptimized {
				f, err = vmware.OpenAsStreamOptimizedVmdk(imagePath)
				if err != nil {
					r = append(r, err)
					continue
				}
			} else {
				f, err = os.Open(imagePath)
				if err != nil {
					r = append(r, err)
					continue
				}
			}

Now the problem is that the first one contains the return statement which makes the function end without calling job.Update at the end:
https://github.com/osbuild/osbuild-composer/blob/167fdc44bc82744b759a059b197d4415523e83da/cmd/osbuild-worker/jobimpl-osbuild.go#L545
Now this causes osbuild-worker to correctly log the fact that a compose failed:
Mar 08 09:39:00 vm osbuild-worker[26301]: Running 'osbuild' job 24b774cf-4ae0-49b2-8f35-cdcd17c83763
Mar 08 09:43:52 vm osbuild-worker[26301]: 2021/03/08 09:43:52 Job 24b774cf-4ae0-49b2-8f35-cdcd17c83763 failed: open /var/cache/osbuild-worker/output/24b774cf-4ae0-49b2-8f35-cdcd17c83763-803191209/commit.tar: no such file or directory
Mar 08 09:43:52 vm osbuild-worker[26301]: Waiting for a new job...

But osbuild-composer does not know about it:
[root@vm ~]# composer-cli compose status
b620987c-25ba-4e02-9ddc-1dbcf5f543f0 RUNNING  Mon Mar  8 09:00:57 2021 uid-bug-upgrade 0.1.0 rhel-edge-commit
4f723253-c38f-4758-9751-833b0b1e948c RUNNING  Mon Mar  8 09:39:00 2021 uid-bug-upgrade 0.1.0 rhel-edge-commit
9aa538b1-c1ac-464e-b739-a96c787d4091 FINISHED Mon Mar  8 08:24:15 2021 uid-bug         0.1.0 rhel-edge-commit

It looks like the first occurence is there by accident.

These two chunks of code should be unified, but they actually do slightly different things, so can't just drop one:

the first one converts the VMDK image before uploading back to composer (only used when using the weldr API)
the second converts the VMDK when uploading directly to vSphere (which could be used from weldr, or (in the future) independently).

It would be nice to the the conversion only once, but note that currently any combination of the two code blocks are possible (either, none, or both). Probably we should just look at args.StreamOptimized and convert the image if that is set. Now I see we support setting it also in the target options, but maybe we should treat this more as a property of the manifest (which is what it should be once osbuild gains support for that), and ignore the per-target option. What do you think @jmikovic?
As to the missing error handling: thoughts on this @larskarlitski? We can fail to do the image conversion (internal error, I'd say?) or to call the UploadArtifact() call, but in the latter case are we any more likely to succeed with the Update() call on the same API?

As to the missing error handling: thoughts on this @larskarlitski? We can fail to do the image conversion (internal error, I'd say?) or to call the UploadArtifact() call, but in the latter case are we any more likely to succeed with the Update() call on the same API?

We can also fail while trying to open the file (f, err = os.Open(imagePath)) as you can see in the output above. Another question is why the file is not there, but I haven't been able to answer that yet :-)

D'oh, I didn't do the horizontal scroll... Could you check the journal on the machine you see that issue? I've only seen this with i/o errors in the kernel log, blaming it on PSI storage being bad. Seems suspicious that it keeps on failing on the same spot though...

First run:
Mar 08 09:00:57 vm osbuild-worker[26301]: Running 'osbuild' job 369af605-2197-4f11-b1b5-d2c2fbfc51f2
Mar 08 09:01:01 vm CROND[56628]: (root) CMD (run-parts /etc/cron.hourly)
Mar 08 09:01:01 vm run-parts[56631]: (/etc/cron.hourly) starting 0anacron
Mar 08 09:01:01 vm anacron[56644]: Anacron started on 2021-03-08
Mar 08 09:01:01 vm run-parts[56646]: (/etc/cron.hourly) finished 0anacron
Mar 08 09:01:01 vm anacron[56644]: Will run job `cron.daily' in 21 min.
Mar 08 09:01:01 vm anacron[56644]: Will run job `cron.weekly' in 41 min.
Mar 08 09:01:01 vm anacron[56644]: Will run job `cron.monthly' in 61 min.
Mar 08 09:01:01 vm anacron[56644]: Jobs will be executed sequentially
Mar 08 09:02:06 vm systemd-udevd[57829]: Using default interface naming scheme 'rhel-8.0'.
Mar 08 09:02:06 vm systemd-udevd[57828]: Using default interface naming scheme 'rhel-8.0'.
Mar 08 09:04:15 vm dbus-daemon[704]: [system] Activating service name='org.fedoraproject.Setroubleshootd' requested by ':1.44' (uid=0 pid=676 comm="/usr/sbin/sedispatch " label="system_u:system_r:auditd_t:s0") (using servicehelper)
Mar 08 09:04:15 vm dbus-daemon[68994]: [system] Failed to reset fd limit before activating service: org.freedesktop.DBus.Error.AccessDenied: Failed to restore old fd limit: Operation not permitted
Mar 08 09:04:16 vm dbus-daemon[704]: [system] Successfully activated service 'org.fedoraproject.Setroubleshootd'
Mar 08 09:04:18 vm setroubleshoot[68994]: AnalyzeThread.run(): Cancel pending alarm
Mar 08 09:04:18 vm dbus-daemon[704]: [system] Activating service name='org.fedoraproject.SetroubleshootPrivileged' requested by ':1.138' (uid=995 pid=68994 comm="/usr/libexec/platform-python -Es /usr/sbin/setroub" label="system_u:system_r:setroubleshootd_t:s0-s0:c0.c1023") (using servicehelper)
Mar 08 09:04:18 vm dbus-daemon[70264]: [system] Failed to reset fd limit before activating service: org.freedesktop.DBus.Error.AccessDenied: Failed to restore old fd limit: Operation not permitted
Mar 08 09:04:18 vm dbus-daemon[704]: [system] Successfully activated service 'org.fedoraproject.SetroubleshootPrivileged'
Mar 08 09:04:19 vm setroubleshoot[68994]: SELinux is preventing semodule from using the 'nnp_transition, nosuid_transition' accesses on a process. For complete SELinux messages run: sealert -l 538f04ae-6611-438a-93d3-f1f284a7a8be
Mar 08 09:04:19 vm setroubleshoot[68994]: SELinux is preventing semodule from using the 'nnp_transition, nosuid_transition' accesses on a process.

                                          *****  Plugin catchall (100. confidence) suggests   **************************

                                          If you believe that semodule should be allowed nnp_transition nosuid_transition access on processes labeled setfiles_mac_t by default.
                                          Then you should report this as a bug.
                                          You can generate a local policy module to allow this access.
                                          Do
                                          allow this access for now by executing:
                                          # ausearch -c 'semodule' --raw | audit2allow -M my-semodule
                                          # semodule -X 300 -i my-semodule.pp

Mar 08 09:04:19 vm setroubleshoot[68994]: AnalyzeThread.run(): Set alarm timeout to 10
Mar 08 09:04:57 vm dbus-daemon[704]: [system] Activating service name='org.fedoraproject.Setroubleshootd' requested by ':1.44' (uid=0 pid=676 comm="/usr/sbin/sedispatch " label="system_u:system_r:auditd_t:s0") (using servicehelper)
Mar 08 09:04:57 vm dbus-daemon[79106]: [system] Failed to reset fd limit before activating service: org.freedesktop.DBus.Error.AccessDenied: Failed to restore old fd limit: Operation not permitted
Mar 08 09:05:00 vm dbus-daemon[704]: [system] Successfully activated service 'org.fedoraproject.Setroubleshootd'
Mar 08 09:05:01 vm setroubleshoot[79106]: AnalyzeThread.run(): Cancel pending alarm
Mar 08 09:05:01 vm dbus-daemon[704]: [system] Activating service name='org.fedoraproject.SetroubleshootPrivileged' requested by ':1.143' (uid=995 pid=79106 comm="/usr/libexec/platform-python -Es /usr/sbin/setroub" label="system_u:system_r:setroubleshootd_t:s0-s0:c0.c1023") (using servicehelper)
Mar 08 09:05:01 vm dbus-daemon[79117]: [system] Failed to reset fd limit before activating service: org.freedesktop.DBus.Error.AccessDenied: Failed to restore old fd limit: Operation not permitted
Mar 08 09:05:02 vm dbus-daemon[704]: [system] Successfully activated service 'org.fedoraproject.SetroubleshootPrivileged'
Mar 08 09:05:04 vm setroubleshoot[79106]: SELinux is preventing semodule from using the 'nnp_transition, nosuid_transition' accesses on a process. For complete SELinux messages run: sealert -l 538f04ae-6611-438a-93d3-f1f284a7a8be
Mar 08 09:05:04 vm setroubleshoot[79106]: SELinux is preventing semodule from using the 'nnp_transition, nosuid_transition' accesses on a process.

                                          *****  Plugin catchall (100. confidence) suggests   **************************

                                          If you believe that semodule should be allowed nnp_transition nosuid_transition access on processes labeled setfiles_mac_t by default.
                                          Then you should report this as a bug.
                                          You can generate a local policy module to allow this access.
                                          Do
                                          allow this access for now by executing:
                                          # ausearch -c 'semodule' --raw | audit2allow -M my-semodule
                                          # semodule -X 300 -i my-semodule.pp

Mar 08 09:05:04 vm setroubleshoot[79106]: AnalyzeThread.run(): Set alarm timeout to 10
Mar 08 09:06:15 vm osbuild-worker[26301]: 2021/03/08 09:06:15 Job 369af605-2197-4f11-b1b5-d2c2fbfc51f2 failed: open /var/cache/osbuild-worker/output/369af605-2197-4f11-b1b5-d2c2fbfc51f2-112330482/commit.tar: no such file or directory
Mar 08 09:06:15 vm osbuild-worker[26301]: Waiting for a new job...

In between runs:
Mar 08 09:09:13 vm chronyd[736]: Selected source <IP_ADDRESS>
Mar 08 09:22:01 vm anacron[56644]: Job `cron.daily' started
Mar 08 09:22:01 vm run-parts[79167]: (/etc/cron.daily) starting logrotate
Mar 08 09:22:01 vm run-parts[79172]: (/etc/cron.daily) finished logrotate
Mar 08 09:22:01 vm anacron[56644]: Job `cron.daily' terminated
Mar 08 09:38:59 vm sudo[79189]:    admin : TTY=pts/1 ; PWD=/root ; USER=root ; COMMAND=/bin/curl --header Content-Type: application/json --unix-socket /run/weldr/api.socket http://localhost/api/v1/compose --data @upgrade-request.json
Mar 08 09:38:59 vm sudo[79189]: pam_systemd(sudo:session): Cannot create session: Already running in a session or user slice
Mar 08 09:38:59 vm sudo[79189]: pam_unix(sudo:session): session opened for user root by admin(uid=0)
Mar 08 09:39:00 vm sudo[79189]: pam_unix(sudo:session): session closed for user root

Second run:
Mar 08 09:39:00 vm osbuild-worker[26301]: Running 'osbuild' job 24b774cf-4ae0-49b2-8f35-cdcd17c83763
Mar 08 09:39:59 vm systemd-udevd[80637]: Using default interface naming scheme 'rhel-8.0'.
Mar 08 09:39:59 vm systemd-udevd[80638]: Using default interface naming scheme 'rhel-8.0'.
Mar 08 09:42:01 vm anacron[56644]: Job `cron.weekly' started
Mar 08 09:42:01 vm anacron[56644]: Job `cron.weekly' terminated
Mar 08 09:42:07 vm dbus-daemon[704]: [system] Activating service name='org.fedoraproject.Setroubleshootd' requested by ':1.44' (uid=0 pid=676 comm="/usr/sbin/sedispatch " label="system_u:system_r:auditd_t:s0") (using servicehelper)
Mar 08 09:42:07 vm dbus-daemon[91805]: [system] Failed to reset fd limit before activating service: org.freedesktop.DBus.Error.AccessDenied: Failed to restore old fd limit: Operation not permitted
Mar 08 09:42:08 vm dbus-daemon[704]: [system] Successfully activated service 'org.fedoraproject.Setroubleshootd'
Mar 08 09:42:09 vm setroubleshoot[91805]: AnalyzeThread.run(): Cancel pending alarm
Mar 08 09:42:09 vm dbus-daemon[704]: [system] Activating service name='org.fedoraproject.SetroubleshootPrivileged' requested by ':1.150' (uid=995 pid=91805 comm="/usr/libexec/platform-python -Es /usr/sbin/setroub" label="system_u:system_r:setroubleshootd_t:s0-s0:c0.c1023") (using servicehelper)
Mar 08 09:42:09 vm dbus-daemon[92386]: [system] Failed to reset fd limit before activating service: org.freedesktop.DBus.Error.AccessDenied: Failed to restore old fd limit: Operation not permitted
Mar 08 09:42:09 vm dbus-daemon[704]: [system] Successfully activated service 'org.fedoraproject.SetroubleshootPrivileged'
Mar 08 09:42:10 vm setroubleshoot[91805]: SELinux is preventing semodule from using the 'nnp_transition, nosuid_transition' accesses on a process. For complete SELinux messages run: sealert -l 538f04ae-6611-438a-93d3-f1f284a7a8be
Mar 08 09:42:10 vm setroubleshoot[91805]: SELinux is preventing semodule from using the 'nnp_transition, nosuid_transition' accesses on a process.

                                          *****  Plugin catchall (100. confidence) suggests   **************************

                                          If you believe that semodule should be allowed nnp_transition nosuid_transition access on processes labeled setfiles_mac_t by default.
                                          Then you should report this as a bug.
                                          You can generate a local policy module to allow this access.
                                          Do
                                          allow this access for now by executing:
                                          # ausearch -c 'semodule' --raw | audit2allow -M my-semodule
                                          # semodule -X 300 -i my-semodule.pp

Mar 08 09:42:10 vm setroubleshoot[91805]: AnalyzeThread.run(): Set alarm timeout to 10
Mar 08 09:42:47 vm dbus-daemon[704]: [system] Activating service name='org.fedoraproject.Setroubleshootd' requested by ':1.44' (uid=0 pid=676 comm="/usr/sbin/sedispatch " label="system_u:system_r:auditd_t:s0") (using servicehelper)
Mar 08 09:42:47 vm dbus-daemon[101915]: [system] Failed to reset fd limit before activating service: org.freedesktop.DBus.Error.AccessDenied: Failed to restore old fd limit: Operation not permitted
Mar 08 09:42:49 vm dbus-daemon[704]: [system] Successfully activated service 'org.fedoraproject.Setroubleshootd'
Mar 08 09:42:50 vm setroubleshoot[101915]: AnalyzeThread.run(): Cancel pending alarm
Mar 08 09:42:50 vm dbus-daemon[704]: [system] Activating service name='org.fedoraproject.SetroubleshootPrivileged' requested by ':1.155' (uid=995 pid=101915 comm="/usr/libexec/platform-python -Es /usr/sbin/setroub" label="system_u:system_r:setroubleshootd_t:s0-s0:c0.c1023") (using servicehelper)
Mar 08 09:42:50 vm dbus-daemon[101926]: [system] Failed to reset fd limit before activating service: org.freedesktop.DBus.Error.AccessDenied: Failed to restore old fd limit: Operation not permitted
Mar 08 09:42:50 vm dbus-daemon[704]: [system] Successfully activated service 'org.fedoraproject.SetroubleshootPrivileged'
Mar 08 09:42:51 vm setroubleshoot[101915]: SELinux is preventing semodule from using the 'nnp_transition, nosuid_transition' accesses on a process. For complete SELinux messages run: sealert -l 538f04ae-6611-438a-93d3-f1f284a7a8be
Mar 08 09:42:51 vm setroubleshoot[101915]: SELinux is preventing semodule from using the 'nnp_transition, nosuid_transition' accesses on a process.

                                           *****  Plugin catchall (100. confidence) suggests   **************************

                                           If you believe that semodule should be allowed nnp_transition nosuid_transition access on processes labeled setfiles_mac_t by default.
                                           Then you should report this as a bug.
                                           You can generate a local policy module to allow this access.
                                           Do
                                           allow this access for now by executing:
                                           # ausearch -c 'semodule' --raw | audit2allow -M my-semodule
                                           # semodule -X 300 -i my-semodule.pp

Mar 08 09:42:51 vm setroubleshoot[101915]: AnalyzeThread.run(): Set alarm timeout to 10
Mar 08 09:43:52 vm osbuild-worker[26301]: 2021/03/08 09:43:52 Job 24b774cf-4ae0-49b2-8f35-cdcd17c83763 failed: open /var/cache/osbuild-worker/output/24b774cf-4ae0-49b2-8f35-cdcd17c83763-803191209/commit.tar: no such file or directory
Mar 08 09:43:52 vm osbuild-worker[26301]: Waiting for a new job...


Docker multi platform

Description

move reusable workflow into other repo to protect other repos depending on it - more fine grained reviews necessary
add multiarch builds amd64, arm64

Motivation and Context
@greengeckowizard arm64 usecase
How has this been tested?

Screenshots (if appropriate)
Types of changes
Changes visible to users:

[ ] Bug fix (prefix: fix - non-breaking change which fixes an issue)
[ ] New feature (prefix: feat - non-breaking change which adds functionality)
[ ] Breaking change (prefix: feat!! or fix!! - fix or feature that would cause existing functionality to not work as expected)

Internal changes:

[ ] Refactor (prefix: refactor - non-breaking change which only improves the design or structure of existing code, and making no changes to its external behaviour)
[ ] Tests (prefix: test - additions and improvements to unit tests and the smoke tests)
[ ] Infrastructure (prefix: chore - examples include GitHub Actions, issue templates)

Checklist

[ ] My code follows the code style of this project and passes yarn run lint.
[ ] My change requires a change to the documentation.
[ ] My change works!

@greengeckowizard @Josh-XT will work as soon as we decide how to get the previous stuff working. We could just drop docker hub support for now. Tell me. I'd do it in a separate PR that could be easily reverted afterwards (easliyTM)


Bot Webhook and JsonSerializerContext

Not Sure if This is a Bug or Feature Request
I am using the Telegram.Bot NuGet package to create a bot with webhook support. To optimize serialization and deserialization, I implemented a JsonSerializerContext to generate the necessary source code. However, after updating to version 22.1.2, I encountered the following errors:
The name 'PaidMedia' does not exist in the current context
The name 'ReactionType' does not exist in the current context

Previously, I was using version 19.0.0, and I believe these fields are new additions to the Telegram.Bot.Types.Update class.
I noticed that these types (PaidMedia and ReactionType) are abstract class definitions and are configured with the CustomJsonDerivedType attribute. While I’m not entirely sure what the issue is, I suspect it could be related to the source generator for the JsonSerializerContext, which may not be able to handle these polymorphic types correctly.
As a result, I’m unable to upgrade to the latest version of Telegram.Bot.
Could you please advise on how to resolve this issue? Below are the relevant details about these classes:
ReactionType:
[JsonConverter(typeof(PolymorphicJsonConverter<ReactionType>))]
[CustomJsonPolymorphic("type")]
[CustomJsonDerivedType(typeof(ReactionTypeEmoji), "emoji")]
[CustomJsonDerivedType(typeof(ReactionTypeCustomEmoji), "custom_emoji")]
[CustomJsonDerivedType(typeof(ReactionTypePaid), "paid")]
public abstract class ReactionType,...

PaidMedia:
[JsonConverter(typeof(PolymorphicJsonConverter<PaidMedia>))]
[CustomJsonPolymorphic("type")]
[CustomJsonDerivedType(typeof(PaidMediaPreview), "preview")]
[CustomJsonDerivedType(typeof(PaidMediaPhoto), "photo")]
[CustomJsonDerivedType(typeof(PaidMediaVideo), "video")]
public abstract class PaidMedia,...

I don't see why PaidMedia and ReactionType would be any different from other abstract classes in the library like BackgroundFill for example.
In any case, you're trying to put the cart before the horse
We already have issue #1322 to support Json source generation for AOT/Trimming.
I will look at these problems when I'm working on that issue.
For now, Json serialization with reflection should work just fast enough already.


Weighted statistics

Ensemble weighting requires to compute stats (mean, std, quantiles) on weighted arrays. There is only partial support for this in numpy and xarray.

[ ] Implement quick patch directly in xclim
[x] Contribute upstream to implement those (long-term effort)

Reference implementation: https://www.statsmodels.org/dev/generated/statsmodels.stats.weightstats.DescrStatsW.html
np.sqrt(np.cov(values, aweights=weights))

Closing this issue here since it's not out of our hands.


Push with Firestore (realtime updates)

Current push component
Pusher.com (since #1)
Alternative

Try the realtime updates feature of Firestore (or Firebase RTDB)
Compare speed, cost, scalability, complexity, impact on frontend JS size.

Datastore mode disables Firestore features that are not compatible with Datastore:
- The project will accept Datastore API requests and deny Firestore API requests.
- You can use Datastore client libraries with this project but not Firestore client libraries.
- Firestore real-time capabilities will not be available

That's a bummer, as we're already using Datastore (aka Firestore in Datastore mode)

Another alternative: Firebase FCM

FCM would require a Service Worker, and the user consent to send Notifications. Not seamless.

It's possible to create a new distinct project with Firestore in Native mode, and let the two projects communicate:

main project writes to the Firestore DB of the second project,
web page listens to updates of some Document or Collection of the Firestore DB of the second project.

Not ideal, but will probably work fine.

Cloud Firestore Lite: lightweight, but does not support onSnapshot (realtime updates)


[WIP] [DONT MERGE] Run non-integration tests on Travis container infrastructure

Just some experimentation and playing around.
Based on top of #4272.

Closing since it doesn't seem to positively affect performance / test run time much.
Something we can re-evaluate in the future again.


Exclude VCS Ignored Paths excludes the VCS-controlled files

Prerequisites

[x] Can you reproduce the problem in safe mode?
[x] Are you running the latest version of Atom?
[x] Did you check the debugging guide?
[x] Did you check the FAQs on Discuss?
[x] Are you reporting to the correct repository?
[x] Did you perform a cursory search to see if your bug or enhancement is already reported?

Description
When the file matches the VCS ignore conditions but is still present in the repository (due to being forcefully added), it is still excluded from the view.
Steps to Reproduce

Create a git repository, add it to Atom project.
In Atom, enable the Exclude VCS Ignored Paths.
Create a .gitignore file, add some condition.
Create a file matching the condition from previous step. Using git add -f, add it to the repository.

Expected behavior: [What you expected to happen]
The file is displayed in Atom.
The rationale is: all VCS-controlled files are definitely a part of the project; the .gitignore contains the rules what files should not bother me suggesting to add it to the commit; but if I've added it already, it is the part of the project since that moment. Since the moment I've added it via git add -f, Git now tracks the changes in that file; whenever the file is changed, its changes are now reflected in the git status; that is, from the Git viewpoint, using git add -f overrides the .gitignore rule. Atom should behave accordingly to Git.
Actual behavior: [What actually happened]
The file is not displayed in Atom.
Versions
macOS 10.12
~:$ atom --version
Atom    : 1.10.2
Electron: 0.37.8
Chrome  : 49.0.2623.75
Node    : 5.10.0
~:$ apm --version
apm  1.12.5
npm  3.10.5
node 4.4.5
python 2.7.12
git 2.8.4

This is a pretty big issue, I'd love this to be fixed.


Stop deleting logs when the logging snippet finishes.

This avoids an exception, and makes manual verification simpler.
(At the same time, remove an annoying trailing comma from
project.json.)

LGTM


ESP32C3 BLE mesh stack could not initialize OnOff model client. (IDFGH-9803)

Answers checklist.

[X] I have read the documentation ESP-IDF Programming Guide and the issue is not addressed there.
[X] I have updated my IDF branch (master or release) to the latest version and checked that the issue is present there.
[X] I have searched the issue tracker for a similar issue and not found a similar issue.

IDF version.
v4.4
Operating System used.
Linux
How did you build your project?
VS Code IDE
If you are using Windows, please specify command line type.
None
Development Kit.
Custom board
Power Supply used.
USB
What is the expected behavior?
OnOff Client model not NULL.
What is the actual behavior?
OnOff Client model NULL, esp_ble_mesh_generic_client_set_state return 0x102.
Steps to reproduce.

Enable Wifi BLE coexit
Enable OnOff Client Model Support in menuconfig
Send Client msg using esp_ble_mesh_generic_client_set_state

static esp_ble_mesh_cfg_srv_t config_server = {
    .relay = ESP_BLE_MESH_RELAY_DISABLED,
    .beacon = ESP_BLE_MESH_BEACON_ENABLED,
#if defined(CONFIG_BLE_MESH_FRIEND)
    .friend_state = ESP_BLE_MESH_FRIEND_ENABLED,
#else
    .friend_state = ESP_BLE_MESH_FRIEND_NOT_SUPPORTED,
#endif
#if defined(CONFIG_BLE_MESH_GATT_PROXY_SERVER)
    .gatt_proxy = ESP_BLE_MESH_GATT_PROXY_ENABLED,
#else
    .gatt_proxy = ESP_BLE_MESH_GATT_PROXY_NOT_SUPPORTED,
#endif
    .default_ttl = 7,
    /* 3 transmissions with 20ms interval */
    .net_transmit = ESP_BLE_MESH_TRANSMIT(2, 20),
    .relay_retransmit = ESP_BLE_MESH_TRANSMIT(2, 20),
};

ESP_BLE_MESH_MODEL_PUB_DEFINE(onoff_pub_0, 2 + 3, ROLE_NODE);
static esp_ble_mesh_gen_onoff_srv_t onoff_server_0 = {
    .rsp_ctrl.get_auto_rsp = ESP_BLE_MESH_SERVER_AUTO_RSP,
    .rsp_ctrl.set_auto_rsp = ESP_BLE_MESH_SERVER_AUTO_RSP,
};
static esp_ble_mesh_client_t onoff_client;
ESP_BLE_MESH_MODEL_PUB_DEFINE(onoff_cli_pub, 2 + 1, ROLE_NODE);

static esp_ble_mesh_model_t root_models[] = {
    ESP_BLE_MESH_MODEL_CFG_SRV(&config_server),
    ESP_BLE_MESH_MODEL_GEN_ONOFF_CLI(&onoff_cli_pub, &onoff_client),
};

static esp_ble_mesh_elem_t elements[] = {
    ESP_BLE_MESH_ELEMENT(0, root_models, ESP_BLE_MESH_MODEL_NONE),
};

static esp_ble_mesh_comp_t composition = {
    .cid = CID_ESP,
    .elements = elements,
    .element_count = ARRAY_SIZE(elements),
};

/* Disable OOB security for SILabs Android app */
static esp_ble_mesh_prov_t provision = {
    .uuid = dev_uuid,
#if 0
    .output_size = 4,
    .output_actions = ESP_BLE_MESH_DISPLAY_NUMBER,
    .input_actions = ESP_BLE_MESH_PUSH,
    .input_size = 4,
#else
    .output_size = 0,
    .output_actions = 0,
#endif
};

Debug Logs.
I (496) coexist: coexist rom version 9387209
E (774542) MESH: Send Generic OnOff Set Unack failed, err=0x102
E (774549) MESH: Client model NULL

More Information.
No response

Solved by configuring model in .c file


Sound Issues

This occurs after version 0.3-133
Whenever loading new background music, there is a slight static output. This tends to happen a lot in all of the Pokemon games, and in Wario Land 3.

i get some strange p-p-p-p-p-p in Zelda Oracle of Ages while hearing Nayru and in the rest of the game too

Does Anyone Knows how can I fix Wireless Link Connection?
Because it says "Warning: Link Emulation Suck" then it run multiplayer so Badly You Know.

Does Anyone Knows how can I fix Wireless Link Connection?
Because it says "Warning: Link Emulation Suck" then it run multiplayer so Badly You Know.

Does Anyone Knows how can I fix Wireless Link Connection? Because it says "Warning: Link Emulation Suck" then it run multiplayer so Badly You Know.

Please make a new issue, this has nothing to do with sound issues.
Additionally, the notice is because it runs poorly in general. That's just how it is for now, unless you know C there's nothing you can do about it on your end.


Post Request when proxied via H2o2 does not send data to auditing

When submitting data via H2o2 Proxy Plugin application runs into "throw new Error(Cannot read streamed response on ${routeEndpoint});".
Audit is successful if we add onResponse function in proxy route options

When a POST request is streamed to an upstream server, there is no access to the payload and an audit log document cannot be created. An error is thrown to notify regarding the endpoint that was not audited.
Related info and flow diagram available on readme


Add support for pcb_keepouts

[x] Introduce pcb_keepout soup component tscircuit/soup
[x] Introduce keepoutProps in tscircuit/props
[ ] Introduce <keepout /> to tscircuit/react-fiber
[ ] Create obstacles from keepout to avoid routing through it
[ ] Add way to draw keepout inside of tscircuit/pcb-viewer (use a transparent crosshatch fill pattern)
[ ] Add way to draw keeput inside circuit-to-png

A PCB keepout, also known as a keepout area or zone, is a designated region on a printed circuit board (PCB) where components, traces, or other design elements are not allowed to be placed. Keepouts are important design features used to:

Ensure clearance for mechanical components or enclosures
Prevent interference between components or circuits
Reserve space for specific purposes (e.g., mounting holes, heat sinks)
Comply with safety standards or regulatory requirements

Keepouts can be defined for various layers of the PCB, including:

Component layers (top and bottom)
Signal layers
Power and ground planes

PCB design software typically allows designers to specify keepout areas using drawing tools. These areas are then respected by auto-routing algorithms and design rule checks.

CC @andrii-balitskyi we discussed this today, also CC'ing @imrishabh18 if you're looking for a big issue not a bad one to pick up

@seveibar I am confused here a bit, the KeepoutBuilder can be defined using this defineNewComponent function like for the viaBuilder here. Or, have it's own class defined?

If you can get defineNewComponent to work that's the "new" pattern!


fix: retain v2 indexes in codegen

Description of changes

Maps new @index and @primaryKey directives back to their equivalent key representations to ensure the key attributes are not lost during the field pruning that happens when parsing connections.
The important chunks of logic are in process-index.ts and process-primary-key.ts. In these files, we look through all the fields on the model and if we find an @index or @primaryKey, respectively, we translate that into a "key" directive and attach it to the model. This allows other downstream codegen components to generate keys as they always have.
Issue #, if available

Description of how you validated changes
Added unit tests and verified the v2 codegen output of Android, iOS, JS, and Flutter are identical to the output of an equivalent v1 schema.
Checklist

[x] PR description included
[x] yarn test passes
[x] Tests are changed or added

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

Codecov Report

Merging #286 (b2f279e) into master (3ab7469) will increase coverage by 0.09%.
The diff coverage is 100.00%.

@@            Coverage Diff             @@
##           master     #286      +/-   ##
==========================================
+ Coverage   85.16%   85.25%   +0.09%
==========================================
  Files         144      146       +2
  Lines        6814     6818       +4
  Branches     1749     1720      -29
==========================================
+ Hits         5803     5813      +10
+ Misses        937      914      -23
- Partials       74       91      +17

Impacted Files
Coverage Δ

...es/appsync-modelgen-plugin/src/utils/fieldUtils.ts
100.00% <100.00%> (ø)

...odelgen-plugin/src/utils/process-connections-v2.ts
89.83% <100.00%> (+0.17%)
:arrow_up:

...c-modelgen-plugin/src/utils/process-connections.ts
92.30% <100.00%> (-0.17%)
:arrow_down:

...appsync-modelgen-plugin/src/utils/process-index.ts
100.00% <100.00%> (ø)

...c-modelgen-plugin/src/utils/process-primary-key.ts
100.00% <100.00%> (ø)

...elgen-plugin/src/visitors/appsync-swift-visitor.ts
96.37% <100.00%> (+0.81%)
:arrow_up:

...nc-modelgen-plugin/src/visitors/appsync-visitor.ts
94.77% <100.00%> (+0.79%)
:arrow_up:

packages/appsync-modelgen-plugin/src/plugin.ts
0.00% <0.00%> (ø)

packages/appsync-modelgen-plugin/src/preset.ts
0.00% <0.00%> (ø)

...ages/graphql-types-generator/src/compiler/index.ts
92.90% <0.00%> (ø)

... and 10 more

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update 9557e05...b2f279e. Read the comment docs.

Hold off merging for a minute. Found an issue with Android codegen

Updated to fix the Android issue and address other PR comments


How to work with the mixins helper function in vue-class-compoment?

vue-class-component: using mixins

Currently not supported.
We must specify types manually.
import Vue from "vue";
import Component, { mixins } from "vue-class-component";
import { Prop } from "vue-property-decorator";
import * as tsx from "vue-tsx-support";

interface MyMixinProps {
  foo: string;
}

@Component
class MyMixin extends Vue {
  @Prop
  foo!: string;
}

@Component
class MyComp extends mixins(MyMixin) {
  @Prop
  bar!: string;
}

const TypedMyComp = tsx.ofType<{ bar: string } & MyMixinProps>().convert(MyComp);

@wonderful-panda In the future, there will be related apis in this area... I feel this @Mixins Api is very practical...

I managed to use something like
MyComponent extends mixins<MyMixin, Props, Events, Slots>(MyMixin) {}
By overriding the declarations of mixins from vue-class-component. I’m considering opening a PR but I would need to add vue-class-component as a peerDependency I think...
Will update the comment with the fix in a moment


make "context" a blackbox to SimpleSchema

When using this package w/ SimpleSchema, custom context fields get "cleaned" and not saved

Yes. Thank you for this. New release to atmosphere will be out in a couple of days.


Resizing rive file crashes unreal

I'm on version 0.1.5. When importing a new rive file and attempting to adjust the size parameter in the details panel UE hangs and then the following error pops up. Selecting "Retry" just brings the error back up. Selecting "Abort" crashes the engine. This did not occur in the previous version 0.1.4

Thanks @xanderseren, I was able to reproduce the issue with different steps.
Changing the size of the Rive File did not create the issue for me, but changing the size then undoing the change created the same error as the one you are showing.
We have updated the rive libraries in 0.1.5, which is probably why the error was not there before.
I'll start working on this in the coming days.

@xanderseren, I have pushed a fix for this in the development branch for now, but more specifically avoiding this issue when the size is reverted on undo.
Could you test and let me know if that also fixes your issue?
Otherwise, could you confirm the platform and either, give me a step by step to reproduce, or provide a screen recording.
Thanks,


Incorrect data retrieved on ULVR.L for 6th Jan 2021 while OK in Yahoo Historical

Hello Ran
Incorrect data (1/100 of actual O,H,L,C -and consequently wrong RSI calculated thru a library using OHLC values-) are retrieved with yfinance for ULVR.L on the day 6th Jan 2021, while they are OK as seen in Yahoo Historical.
How can we handle this situation, where is data actually stored? I thought Historical from yahoo was exactly what we were downloading.
Thanks for this very useful library
M

@manuelwithbmw Can you give an example with exact numbers?

@manuelwithbmw Can you give an example with exact numbers?

@manuelwithbmw Can you give an example with exact numbers?

Sure, this is what I get when I retrieve last 10 days data on a dataframe print(df.tail(10)), OHLC and RSI seem affected:

@manuelwithbmw Can you give an example with exact numbers?

Sure, this is what I get when I retrieve last 10 days data on a dataframe print(df.tail(10)), OHLC and RSI seem affected:

I have seen this myself before.I don't think this is stock specific but exchange specific (if I recall correctly). I simply had to integrate additional logic in my code to multiply x 100 the values for these specific dates that were broken. So how do you find those dates systematically? Simply write some code that flags up unreasonable percentage changes to the daily timeseries e.g. if (pt - pt-1)/pt-1 > 50% then have the code report this and if the difference is due to this glitch then add the date to your list of dates for which you are multiplying with 100. Code that flags up unreasonable price changes on a regular (say daily) basis is standard in the industry.

I have seen this myself before.I don't think this is stock specific but exchange specific (if I recall correctly). I simply had to integrate additional logic in my code to multiply x 100 the values for these specific dates that were broken. So how do you find those dates systematically? Simply write some code that flags up unreasonable percentage changes to the daily timeseries e.g. if (pt - pt-1)/pt-1 > 50% then have the code report this and if the difference is due to this glitch then add the date to your list of dates for which you are multiplying with 100. Code that flags up unreasonable price changes on a regular (say daily) basis is standard in the industry.

Yes, this is exactly what I did in my code to overcome the problem, thanks. It is very strange and unusual as I download and treat yfinance data regularly and this is the first time I see a difference between what is actually visible on yahoo on Historical Value and what is retrieved in my dataframes. Many oher times Yhaoo has a flawed data and as such you retrieve it from yfinance, so I normally connect with yahoo help desk and get it fixed for me.

Thank you

Yes, this is exactly what I did in my code to overcome the problem, thanks. It is very strange and unusual as I download and treat yfinance data regularly and this is the first time I see a difference between what is actually visible on yahoo on Historical Value and what is retrieved in my dataframes. Many oher times Yhaoo has a flawed data and as such you retrieve it from yfinance, so I normally connect with yahoo help desk and get it fixed for me.

Thank you

OK, I found another similar error (23 Sept 2020, only on the Low value) on another LSE stock (BAB.L), so definitely the data retrieval from yfinance can occasionally deviate (errors) from Historical Data on Yahoo. Maybe the yfinance library works first exporting/saving data externally from Yahoo on a data warehouse, and it may introduce some errors that are unchecked, before making data available via yfinance. Possibly @ranaroussi  knows about this?

OK, I found another similar error (23 Sept 2020, only on the Low value) on another LSE stock (BAB.L), so definitely the data retrieval from yfinance can occasionally deviate (errors) from Historical Data on Yahoo. Maybe the yfinance library works first exporting/saving data externally from Yahoo on a data warehouse, and it may introduce some errors that are unchecked, before making data available via yfinance. Possibly @ranaroussi  knows about this?

The package just returns what it gets from the website. There is no fancy logic or any data warehousing. I am sure if you grab the URL that yfinance uses and open it with your browser you will see that Yahoo just returned the incorrect value. It would be great if these incorrect numbers could be flagged up to Yahoo and corrected at source but obviously this is a free service (actually, it is not a service at all as we are just scrapping the data) and therefore one cannot have great expectations. Agreed that in a professional setting you would just ring them up.

The package just returns what it gets from the website. There is no fancy logic or any data warehousing. I am sure if you grab the URL that yfinance uses and open it with your browser you will see that Yahoo just returned the incorrect value. It would be great if these incorrect numbers could be flagged up to Yahoo and corrected at source but obviously this is a free service (actually, it is not a service at all as we are just scrapping the data) and therefore one cannot have great expectations. Agreed that in a professional setting you would just ring them up.

Maybe the scrapping process may at times introduce an error. Anyway, when the data is really incorrect on the charts-historical data of Yahoo itself, I just flag this up, sending an email to<EMAIL_ADDRESS>(help desk) and they check and correct it in a day or two. In these cases, they see the OHLC correctly stored so they cannot do anything.
True, you are right, it is still a free service and we take it as it is with minor adjustments, I am not sure how the yfinance package really works behind the scenes

Maybe the scrapping process may at times introduce an error. Anyway, when the data is really incorrect on the charts-historical data of Yahoo itself, I just flag this up, sending an email to<EMAIL_ADDRESS>(help desk) and they check and correct it in a day or two. In these cases, they see the OHLC correctly stored so they cannot do anything.
True, you are right, it is still a free service and we take it as it is with minor adjustments, I am not sure how the yfinance package really works behind the scenes

I'll take a look at the raw data and report back however I am 99.9999% confident yfinance just returns the number its getting from Yahoo

I'll take a look at the raw data and report back however I am 99.9999% confident yfinance just returns the number its getting from Yahoo

Maybe the default settings of the kwargs: auto_adjust, back_adjust, rounding in the yfinance function history are responsible for altering some of the quote. I may try to play with those for ULVR.L and BAB.L and see if results changes
def history(self, period="1mo", interval="1d",
start=None, end=None, prepost=False, actions=True,
auto_adjust=True, back_adjust=False,
proxy=None, rounding=False, tz=None, **kwargs):
"""
:Parameters:
period : str
Valid periods: 1d,5d,1mo,3mo,6mo,1y,2y,5y,10y,ytd,max
Either Use period parameter or use start and end
interval : str
Valid intervals: 1m,2m,5m,15m,30m,60m,90m,1h,1d,5d,1wk,1mo,3mo
Intraday data cannot extend last 60 days
start: str
Download start date string (YYYY-MM-DD) or _datetime.
Default is 1900-01-01
end: str
Download end date string (YYYY-MM-DD) or _datetime.
Default is now
prepost : bool
Include Pre and Post market data in results?
Default is False
auto_adjust: bool
Adjust all OHLC automatically? Default is True
back_adjust: bool
Back-adjusted data to mimic true historical prices
proxy: str
Optional. Proxy server URL scheme. Default is None
rounding: bool
Round values to 2 decimal places?
Optional. Default is False = precision suggested by Yahoo!
tz: str
Optional timezone locale for dates.
(default data is returned as non-localized dates)
**kwargs: dict
debug: bool
Optional. If passed as False, will suppress
error message printing to console.

Maybe the default settings of the kwargs: auto_adjust, back_adjust, rounding in the yfinance function history are responsible for altering some of the quote. I may try to play with those for ULVR.L and BAB.L and see if results changes
def history(self, period="1mo", interval="1d",
start=None, end=None, prepost=False, actions=True,
auto_adjust=True, back_adjust=False,
proxy=None, rounding=False, tz=None, **kwargs):
"""
:Parameters:
period : str
Valid periods: 1d,5d,1mo,3mo,6mo,1y,2y,5y,10y,ytd,max
Either Use period parameter or use start and end
interval : str
Valid intervals: 1m,2m,5m,15m,30m,60m,90m,1h,1d,5d,1wk,1mo,3mo
Intraday data cannot extend last 60 days
start: str
Download start date string (YYYY-MM-DD) or _datetime.
Default is 1900-01-01
end: str
Download end date string (YYYY-MM-DD) or _datetime.
Default is now
prepost : bool
Include Pre and Post market data in results?
Default is False
auto_adjust: bool
Adjust all OHLC automatically? Default is True
back_adjust: bool
Back-adjusted data to mimic true historical prices
proxy: str
Optional. Proxy server URL scheme. Default is None
rounding: bool
Round values to 2 decimal places?
Optional. Default is False = precision suggested by Yahoo!
tz: str
Optional timezone locale for dates.
(default data is returned as non-localized dates)
**kwargs: dict
debug: bool
Optional. If passed as False, will suppress
error message printing to console.

I've added a repair feature to yfinance to fix these 100x or NaN errors. Enable with history(repair=True).
If there are other price issues that could be fixed, submit a pull request.

Thank you very much @ValueRaider !


Remove numbering does not work

I accidentally had the wrong settings in the front matter, so had some headings with odd numbers like A.1.
When I tried to remove them all with the command in the pallet nothing is removed.
I would have thought that reissuing the numbering command, even if the old numbers are not removed, would overwrite the old numbers - that is how it was in 1.0.1. But that is not the case here.

@DutchPete Hmm, I can't reproduce this problem. Try the new version 1.4.1, where I fixed some of the other bugs you found. I think it might solve this issue as well.

BINGO !!! It works like a dream now.
Even that note that stopped numbering at 39, it did not have the front matter. As soon as I pasted the front matter in, it updated automatically all the way to the bottom !!
Well done, I am very happy about this, many thanks. You should bring it to the Community Plug-in collection.

Great to hear, @DutchPete ! I've already submitted it to the collection, so hopefully it will be there soon :)


MX Round Robin

Adding tests for MX round-robin.

I assume that the grouping and relative ordering of A and CNAME was used to determine if loadbalance somehow resulted in a noop. This test has been preserved.

Implementing MX round-robin.

New roundRobinShuffle can be used to shuffle any type of record.

Closes #316.

Current coverage is 40.91% (diff: 92.30%)

Merging #358 into master will increase coverage by 0.12%

@@             master       #358   diff @@
==========================================
  Files           103        103
  Lines          5099       5106     +7
  Methods           0          0
  Messages          0          0
  Branches          0          0
==========================================
+ Hits           2080       2089     +9
+ Misses         2837       2836     -1
+ Partials        182        181     -1

Powered by Codecov. Last update 219bfd0...0ada518

Nice! Thank you!


Patch Replace does not work for sub attribute of manager (multi-valued) - SCIM2

Describe the issue:
We've used the below payload to replace a multi-valued attribute which is a sub-attribute of the manager.
{     "Operations": [         {             "op": "replace",             "value": {                 "EnterpriseUser": {                     "manager":{                     	"custom1":["new1","new2"]                     }                 }             }         }     ] }
However, it does not replace the new value, instead the previous value remains the same.
Refer the line
How to reproduce:

Create a SCIM EnterpriseUser->manager.custom multi-valued attribute ("multiValued":"true").
Add values to the custom attribute (We've used SCIM add as below)
{  "Operations": [      {          "op": "add",          "value": {              "EnterpriseUser": {                  "manager":{                  	"custom1":["old1","old2"]                  }              }          }      }  ] }
Update the values using SCIM replace as given in the description.

Expected behavior:
The values should be replaced with the new values given.
Environment information
IS 5.7.0

This issue is fixed in the current master with https://github.com/wso2/charon/pull/175


Windows \\?\ verbatim paths break idiomatic use of OUT_DIR and include!

Problem
When Cargo is invoked on Windows in either of the following 2 scenarios, and possibly others:

a current directory that begins with \\?\
--manifest-path that begins with \\?\

then the following widespread idiom for including build.rs-generated code does not work.
include!(concat!(env!("OUT_DIR"), "/repro.rs"));

Because / is not a directory separator in verbatim paths, this fails to compile with an error like this:
error: couldn't read \\?\D:\a\repro\repro\target\debug\build\repro-59592f29f689633e\out/repro.rs: The filename, directory name, or volume label syntax is incorrect. (os error 123)
 --> src\lib.rs:3:1
  |
3 | include!(concat!(env!("OUT_DIR"), "/repro.rs"));
  | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  |
  = note: this error originates in the macro `include` (in Nightly builds, run with -Z macro-backtrace for more info)

Normally in Windows paths / works just as well as \, but from Maximum Path Length Limitation: File I/O functions in the Windows API convert "/" to "\" as part of converting the name to an NT-style name, except when using the "\\?\" prefix as detailed in the following sections.
Steps
The problem can be reproduced in GitHub Actions with the following source code.
# Cargo.toml

[package]
name = "repro"
version = "0.0.0"

// build.rs

fn main() {
    let out_dir = std::env::var_os("OUT_DIR").unwrap();
    let repro = std::path::Path::new(&out_dir).join("repro.rs");
    std::fs::write(repro, "").unwrap();
}

// src/lib.rs

include!(concat!(env!("OUT_DIR"), "/repro.rs"));

# .github/workflows/ci.yml

name: CI
on: [push]
jobs:
  repro:
    runs-on: windows-latest
    steps:
      - uses: actions/checkout@v4
      - uses: dtolnay/rust-toolchain@nightly

      - run: pwd
      - run: echo ${{github.workspace}}
      - run: echo \\?\${{github.workspace}}

      - run: cargo check --verbose && cargo clean

      - run: cargo check --manifest-path \\?\${{github.workspace}}\Cargo.toml --verbose
        if: always()

      - run: cargo check --verbose
        working-directory: \\?\${{github.workspace}}
        if: always()

The first cargo check will succeed. The second two will each fail as shown above.
Possible Solution(s)
I hope that someone can make a successful proposal for something like:
include!(concat!(env!("OUT_DIR") / "repro.rs"));

which would work in a cross-platform manner by using the correct path separator for rustc's host OS.
Until then, https://github.com/rust-lang/cargo/pull/13914#issuecomment-2111375012 proposes a possible way that Cargo could work around this issue some of the time.

Internally to Cargo, we exclusively work with regular paths and not verbatim paths. It sounds like the problem is that we accept paths from users in a couple of places which may be verbatim paths.
Should we instead run dunce on those paths so they are no longer verbatim? This would solve it for Cargo and all other cases.

(https://docs.rs/dunce/1/dunce/fn.simplified.html)
This is only a partial fix because not all verbatim paths can be converted to something without \\?\. If a path is longer than 260 characters, \\?\ is the only way to refer to it.
https://github.com/rust-lang/cargo/pull/13914 shows another possible workaround, but that one amounts to boiling the ocean to replace the OUT_DIR/include idiom with a substantially more verbose one.
Notes
Meta-issue: https://github.com/rust-lang/cargo/issues/9770

If a path is longer than 260 characters, \?\ is the only way to refer to it.

This is only true when calling OS APIs (and only if longpathaware isn't enabled). Paths can be stored and passed around as a user path then converted to a verbatim path at the point of use. The std will even do the latter for you.

This is only true when calling OS APIs (and only if longpathaware isn't enabled). Paths can be stored and passed around as a user path then converted to a verbatim path at the point of use. The std will even do the latter for you.

Since Cargo has set longpathaware and std handles for us, does it mean it's generally safe for cargo to take advantage of non-UNC paths via dunce?

Hm, I don't think that's used for build scripts? But in any case, when using Rust's std APIs it should work out fine either way.
The issue with dunce is that it intentionally won't work in a number of cases, including for long paths and \\?\UNC\ style paths. Nushell ran into issues with this so I created omnipath which they've been using successfully for awhile now. Essentially the philosophy of omnipath is to have a distinction between "user" paths and "verbatim" paths where converting between the two is always fine so long as it's possible to round-trip (e.g. converting to verbatim->user->verbatim will return the same path). The only downside is that it needs to use OS APIs to be sure it can round-trip the path. So it is slower.

I would just add that for a long time now PathBuf::push, etc should work fine if pushing like a/b to a verbatim path. It will convert the separator for you. It's just naively appending strings which doesn't work. The problem, as the OP says, is that there isn't a path API for include!.

Some other workarouds appear in https://github.com/rust-lang/rust/issues/75075.

Add depend  crate gpui
when cargo build under pwsh 7.4.6
I got
error: couldn't read \\?\C:\myproj\rust\gui\gpuimg\target\debug\build\typenum-8c302cc9c705de15\out/op.rs: 文件名、目录名或卷标语法不正确。 (os error 123)
  --> C:\rust\cargo\registry\src\rsproxy.cn-0dccff568467c15b\typenum-1.17.0\src\lib.rs:72:5
   |
72 |     include!(concat!(env!("OUT_DIR"), "/op.rs"));
   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

But under powershell 6 or command prompt, the build run successfully.

@golanguage Could you please try the latest nightly Rust?

Thanks @ChrisDenton.
after rustup overfide set nightly and rustup update to 1.84-nighgly
cargo  is working for building  typenum under pwsh 7.4.6
but panic at later place:
error: failed to run custom build command for `gpui v0.1.0 (C:\proj\rust\zed\crates\gpui)`
  cargo:rerun-if-changed=resources/windows/gpui.rc
  Microsoft (R) Windows (R) Resource Compiler Version 10.0.10011.16384
  Copyright (C) Microsoft Corporation.  All rights reserved.

  fatal error RC1109: error creating \\?\C:\myproj\rust\gui\gpuimg\target\debug\build\gpui-a349b6bdb1d76471\out/gpui.lib

  --- stderr
  thread 'main' panicked at C:\rust\cargo\registry\src\rsproxy.cn-0dccff568467c15b\embed-resource-2.5.0\src\windows_msvc.rs:39:13:
  RC.EXE failed to compile specified resource file

On powershell 6 ,cargo is working correctly with 1.84 nightly.

Ok, it seems that the original issue is fixed by https://github.com/rust-lang/rust/pull/125205
I think the issue there with gpui comes via the embed-resource crate. I'll note that it does not use path joining and instead hard-codes / as the path separator, which is wrong for \\?\ paths. E.g. here and here

I submit a new issue in embed-resource , [Link] (https://github.com/nabijaczleweli/rust-embed-resource/issues/71)

Ok, it seems that the original issue is fixed by rust-lang/rust#125205
I think the issue there with gpui comes via the embed-resource crate. I'll note that it does not use path joining and instead hard-codes / as the path separator, which is wrong for \\?\ paths. E.g. here and here

/ is still not a valid character in a filename, and it's a valid directory separator universally, except in this one specific edge-case on Win32, which you don't distinguish and don't detect. std::path::is_separator() returns true for / and \ on windows always and it doesn't take context. skimming the file that provides it I see a special internal implementation for Components, but this is not available for user code
Cargo needs to apply the same fixup for all the paths it reads from cargo:rustc-link-arg-*= anyway to fix the entire extant corpus that does println!(cargo:rustc-link-arg-bins=$OUT_DIR/whatever) or ...=$(realpath .)/whatever (the API is a string, not a Path object).
The only bug in embed-resource is that we execute rc.exe $OUT_DIR/whatever.lib instead of rc.exe Path::new($OUT_DIR).join("whatever.lib") or rc.exe $OUT_DIR${MAIN_SEPARATOR}whatever.lib in platform-specific code. Also, someone should test the fix in https://github.com/nabijaczleweli/rust-embed-resource/issues/71 because the user that forwarded it is having issues therewith.


feat(connector): [Mollie] Use connector_request_reference_id as reference to merchant

Type of Change

[ ] Bugfix
[x] New feature
[ ] Enhancement
[x] Refactoring
[ ] Dependency updates
[ ] Documentation
[ ] CI/CD

Description

Added connector_request_reference_id as reference to merchant according to issue #2304
Additional Changes

[ ] This PR modifies the API contract
[ ] This PR modifies the database schema
[ ] This PR modifies application configuration/environment variables

Motivation and Context

How did you test it?

Checklist

[x] I formatted the code cargo +nightly fmt --all
[x] I addressed lints thrown by cargo clippy
[x] I reviewed the submitted code
[ ] I added unit tests for my changes where possible
[ ] I added a CHANGELOG entry if applicable

I am new to rust and tried my best to contribute. So, I would love to get your feedback on if anything needs to be changed.

Hi @SanchitMahajan236 ,
Please use following cargo commands -
cargo clippy --all-features
ref - Cargo commands, and fix the errors thrown by clippy for the checks to pass and
cargo +nightly fmt to fix the failing formatting check

I get this when I run the command: cargo clippy --all-features
Error:-
error: failed to run custom build command for `openssl-sys v0.9.90`

Caused by:
  process didn't exit successfully: `D:\GitHub\hyperswitch\target\debug\build\openssl-sys-0f397f02f302ffcf\build-script-main` (exit code: 101)
  --- stdout
  cargo:rerun-if-env-changed=X86_64_PC_WINDOWS_MSVC_OPENSSL_LIB_DIR
  X86_64_PC_WINDOWS_MSVC_OPENSSL_LIB_DIR unset
  cargo:rerun-if-env-changed=OPENSSL_LIB_DIR
  OPENSSL_LIB_DIR unset
  cargo:rerun-if-env-changed=X86_64_PC_WINDOWS_MSVC_OPENSSL_INCLUDE_DIR
  X86_64_PC_WINDOWS_MSVC_OPENSSL_INCLUDE_DIR unset
  cargo:rerun-if-env-changed=OPENSSL_INCLUDE_DIR
  OPENSSL_INCLUDE_DIR unset
  cargo:rerun-if-env-changed=X86_64_PC_WINDOWS_MSVC_OPENSSL_DIR
  X86_64_PC_WINDOWS_MSVC_OPENSSL_DIR unset
  cargo:rerun-if-env-changed=OPENSSL_DIR
  OPENSSL_DIR unset
  note: vcpkg did not find openssl: Could not find Vcpkg tree: No vcpkg installation found. Set the VCPKG_ROOT environment variable or run 'vcpkg integrate install'

  --- stderr
  thread 'main' panicked at C:\Users\pranm\.cargo\registry\src\index.crates.io-6f17d22bba15001f\openssl-sys-0.9.90\build\find_normal.rs:190:5:

  Could not find directory of OpenSSL installation, and this `-sys` crate cannot
  proceed without this knowledge. If OpenSSL is installed and this crate had
  trouble finding it,  you can set the `OPENSSL_DIR` environment variable for the
  compilation process.

  Make sure you also have the development packages of openssl installed.
  For example, `libssl-dev` on Ubuntu or `openssl-devel` on Fedora.

  If you're in a situation where you think the directory *should* be found
  automatically, please open a bug at https://github.com/sfackler/rust-openssl
  and include information about your system as well as this message.

  $HOST = x86_64-pc-windows-msvc
  $TARGET = x86_64-pc-windows-msvc
  openssl-sys = 0.9.90

  It looks like you're compiling for MSVC but we couldn't detect an OpenSSL
  installation. If there isn't one installed then you can try the rust-openssl
  README for more information about how to download precompiled binaries of
  OpenSSL:

  https://github.com/sfackler/rust-openssl#windows

  note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace
warning: build failed, waiting for other jobs to finish...

Can someone help me with this @prasunna09 ??

Hey @SanchitMahajan236, did you install the openssl package using vcpkg?
Also, if you're comfortable, can we take this discussion about local system setup issues to Discord? I don't want to clutter the PR conversation thread with setup issues.

@SanchithHegde Sure, please share your github


python3Packages.halohome: init at 0.4.0

Motivation for this change
Python library to control Eaton HALO Home Smart Lights
https://github.com/nayaverdier/halohome
Things done

Built on platform(s)

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

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

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

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

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

[x] Fits CONTRIBUTING.md.

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

2 packages built:

python38Packages.halohome
python39Packages.halohome


Expired token flow handles existing token as a custom error

The flow should handle an existing expired token slightly different.

Closed by mistake.


How to train resT, not resT-v2

Hello. I want to train resT on my own dataset.
Therefore, I tried to write the model name 'rest_base' on args.model since this name exists in rest.py file.
However the error 'unrecognized arguments: -model rest_base' occured.
So which commands can I enter into args.model in order to train resT v1?

Make sure 'from .rest import *' is in 'models/__init__.py'.
In addition, ' -model rest_base'  should be ' --model rest_base'.


[Exchange] NodeRed Setup

Hey,
I'm new to NodeRed and wanted to ask you guys how you have set up your Flows in NodeRed regarding the Powerwall. It would be fantastic if you could share your configurations!
Best regards,
Moritz
(@vloschiavo maybe you could enable the discussions tab for future conversations so it doesn't have to be done through the issues)

Great idea!  Done!


Execution failed for task ':react-native-vision-camera:extractJNIFiles'. > Cannot expand ZIP 🐛

What were you trying to do?
I'm trying to run with RN 0.69.4 but get a task error
Reproduceable Code
No response
What happened instead?
`FAILURE: Build failed with an exception.

Where:
Build file 'node_modules/react-native-vision-camera/android/build.gradle' line: 588

What went wrong:
Execution failed for task ':react-native-vision-camera:extractJNIFiles'.

Cannot expand ZIP '/node_modules/react-native-reanimated/android/react-native-reanimated-69-jsc.aar' as it does not exist.`

Relevant log output
No response
Device
Android build
VisionCamera Version
2.14.1
Additional information

[ ] I am using Expo
[X] I have read the Troubleshooting Guide
[X] I agree to follow this project's Code of Conduct
[X] I searched for similar issues in this repository and found none.

https://github.com/mrousavy/react-native-vision-camera/issues/1210#issuecomment-1331689881

It seems to me that in your project the version of the react-native-reanimated package that you have installed doesn't includes the 'react-native-reanimated-69-jsc.aar' file.
You can check if your version has the file in the website<EMAIL_ADDRESS>If you are using versions higher than the v2 of React reanimated, consider downgrading as react-native-vision-camera still doesn't support v3.  If you are already using some version of v2 in your react-native-reanimated check if the package exists in this bundle.
In my case I was working with the version 2.1.0,  which doesn't includes the "-jsc.arr" files. Upgrading to v2.4.1 solved my problem.

Still facing this issue even after downgrading react native reanimated to v2. I used<EMAIL_ADDRESS>and it fails to find the .ZIP file that ends with 72. i am assuming this refers to the react native version? It is a bit confusing, I am not sure why it requests that to begin with.

same issue

same issue here
"node_modules/react-native-reanimated/android/react-native-reanimated-72-hermes.aar as it does not exist."
    "react": "18.2.0",
    "react-native": "0.72.3",
    "react-native-reanimated": "^2.14.4",
    "react-native-vision-camera": "^2.15.5",

How do you build the file ourselves? I would rather fork and make a build for react-native-72

same here

same here as well

I ran into the same issue in new project with latest RN 0.72 + react-native-vision-camera
react-native-vision-camera v2 requires react-native-reanimated v2.x.x which does not support new RN 0.72
support for 0.72 is only available since RNR v3.3.0 (https://github.com/software-mansion/react-native-reanimated/issues/4668#issuecomment-1618948806), but you can't use RNR3 with react-native-vision-camera
ended up downgrading react-native to 0.71.12

Same here as well

Hey! I've rewritten the entire Android codebase of VisionCamera from CameraX to Camera2 in the efforts of ✨ VisionCamera V3.
I just now completed the Camera2 rewrite and I believe the core structure is running, but there might be some edge cases to iron out. Can you try and test the PR #1674 for me to see if you can still reproduce this issue here?
Here's an instruction on how you can test that: https://github.com/mrousavy/react-native-vision-camera/pull/1674#issuecomment-1684104217
If the issue cannot be reproduced with that version/PR anymore, then hoorayy, I fixed it! 🎉
Otherwise please let me know and I'll keep this issue open to keep track of it.
Thank you!


table width problem

the table for member list and registration list sometimes may be too wide

fixed by 0b915fd5c0984899ca125870284b35a90c1a6d1f 0e8beb93616e6f2ceb380c0f93b1ef324d575186 and #25


ETH Mainnet deployment + Fiat on-ramp + Network switcher

When a user connects their wallet to the dApp, the user needs to read, understand and accept the dApp’s Privacy Policy and Terms & Conditions (Ts&Cs). The links to the Privacy Policy and the Ts&Cs should be displayed so that the user can access and read before they connect their wallet to use the dApp.
As an example, OpenSea first shows a pop up below:

OpenSea then shows the links to the Terms and Privacy Policy again on the pop-up screen when the metamask wallet is trying to connect:

Uniswap shows in the following screen:

Suggest to include the following language in the wallet connect modal (similar to Uniswap) :
By connecting a wallet, you agree to the Boson dApp's Terms and Conditions (https://bosonapp.io/#/terms-and-conditions) and consent to it's Privacy Policy (https://bosonapp.io/#/privacy-policy).

I think we can close this @sukrita3 ?

Yes


Bug: Countdown/date not visible on welcome page

Is it still relevant since we are redoing the entire welcome page? @v-stamenova

I think so, but I think @popo0015 should be dealing with that considering the fact she's redoing the main page

Yes, this issue will be linked to that pull request when Silvia gets to it.

I mean... I made the date not visible on the mobile sized devices last time, because it didn't fit

Closed in #401