GetCallStack reports wrong line numbers

The GetCallStack debug command appears to suffer from the same issue as described for Duktape.act() in #143: The line number is for the instruction AFTER the call, rather than the call itself.  I'm presuming it's the same root cause.

Sounds probable, the 'PC' in the internal data structures is always for the next instuction to execute. I'll take a look at this in a bit.

Yep, the issue is here: https://github.com/svaarala/duktape/blob/master/src/duk_debugger.c#L1154.
Line numbers are interesting: for the current PC/line people (me included) expect the debugger to point to the next instruction which is not yet executed. However, for the calstack below us it's usually expected that the line points to the current instruction because it's still conceptually in progress.
So when dumping the callstack, should the pc/line for the topmost activation reflect the next instruction and for others the current instruction?

Error .stack will report "next pc/line" for all callstack levels too. That should be changed to match what the debugger shows.

Ah, actually no. When the tracedata is collected, PCs are decremented by one so that in .stack they refer to the running opcodes. This applies to all callstack levels so that in a traceback the "line" will refer to the currently executing instruction, even for the topmost activation.

Ok, so to summarize:

Debugger current PC/line in Status notification should point to the next instruction to execute. This is intuitive for breakpoints because breakpoints pause execution before the relevant instruction is executed.
Debugger current PC/line in GetCallStack for callstack levels below top should be for the current instruction being executed; this also matches .stack. Those calls are conceptually in progress.
Debugger current PC/line in GetCallStack for the callstack top could have two plausible values. If it pointed to the next instruction to execute, it'd match Status. If it pointed to the current instruction being executed, it'd match .stack. Since it can't match both, I'd probably favor it matching Status. This seems intuitive because unlike for the other callstack levels the "current instruction" has already been completed and its results are visible in e.g. variable values. The executor is actually in-between instructions for the callstack top.

Yes, for activations other than the topmost one the correct value isn't really in question: The only logical instruction to call out is the function call currently in progress.
For the callstack top while the debugger is paused, the bytecode executor is logically between instructions, however I wouldn't say either side is equally plausible: I would intuitively expect that clicking the current call in a stack view would highlight the exact same line highlighted when execution was first paused--i.e. the one which will be executed if a StepOver is performed.  This matches, e.g. MSVC's behavior.
For .stack the current instruction makes sense, since you want a stack trace to show the line that generated the error.  The next instruction is irrelevant in that context.

Just to verify, I can fix this locally by simply subtracting 1 from curr_act->pc, right?

Yes, but you need to check pc isn't zero (it can be for native functions and probably in some corner cases) before subtracting. And also value stack top may need different handling.
I'll work up a fix branch for this. Thanks for bringing this up, it was a clear oversight.

Here's the branch: https://github.com/svaarala/duktape/compare/debugger-callstack-line-gh281
Here's a snapshot if you want to try it out: http://duktape.org/snapshots/duktape-1.2.99-20150815144710-v1.2.0-349-gb2b8784.tar.xz

It looks like quite a bit was changed in the branch, so I'll try the snapshot out later today and let you know the results.

I only changed the GetCallStack handling of PC/line and some comments.

Okay, yeah, I see it now, you rewrote a few comments to make them more descriptive.    That's one thing that's always impressed me with Duktape, how well documented the code is. :)

Out of curiosity, when is the stack trace for errors created?  When the Error is constructed, or when it is actually thrown?  In most cases this is done in one statement, but sometimes the constructed error object might be manipulated first, in which case the construction and the throw could be on different lines.

It's created when an Error instance is constructed, here: https://github.com/svaarala/duktape/blob/master/src/duk_api_call.c#L391-L399
It seems like a bit of an odd place (at least for my intuition) but augmenting an error at throw time would sometimes be incorrect - and an error can actually be thrown multiple times which would then be somewhat confusing.

The snapshot works great, all lower stack entries report the line number of the function call-in-progress. :)

Okay, merged to master. Thanks!

No problem, always glad to help!
On a somewhat related note, how are native functions reported in a stack dump?  If possible I'd like to be able to differentiate any non-JS calls when populating a callstack window.

So it doesn't look like this was actually merged?  Either that or just not pushed to GitHub yet...

Forgot the push, it's now in.

Regression: Latest master now reports previous instruction for top of callstack.

Okay, did some digging, and I'm thinking the bug is here:
if (i != curr_thr->callstack_top && pc > 0) {

Shouldn't that be callstack_top - 1?

Yeah, that looks wrong. Fixed in master.

Here's a snapshot from master with the fix: http://duktape.org/snapshots/duktape-1.2.99-20150822123309-v1.2.0-367-gc44072c.tar.xz

That snapshot fixed it, thanks.  I noticed this one right away because my debugger actually bases the line to highlight on the callstack now instead of the status notification (I have my reasons for this. :wink:).


Correction for raw affiliation Univ Lyon, ENS Lyon, CNRS, Université Claude Bernard Lyon 1, Laboratory of Biology and Modelling of the Cell, UMR 5239, INSERM U1210, Lyon Cedex 07, France

Correction needed for raw affiliation Univ Lyon, ENS Lyon, CNRS, Université Claude Bernard Lyon 1, Laboratory of Biology and Modelling of the Cell, UMR 5239, INSERM U1210, Lyon Cedex 07, France
raw_affiliation_name: Univ Lyon, ENS Lyon, CNRS, Université Claude Bernard Lyon 1, Laboratory of Biology and Modelling of the Cell, UMR 5239, INSERM U1210, Lyon Cedex 07, France
new_rors: 029brtt94;04zmssz18;02vjkv261;02feahw73;01bj4fd12
previous_rors: 029brtt94;04zmssz18;02vjkv261;02feahw73
works_examples: W2345398640
contact: 15e978e92f84b00ae3c78e053e28d849:16733504857f2d2ef4e28c44f8a3 @ ens-lyon.fr

This issue was accepted and ingested by the OpenAlex team on 2024-11-01. The new affiliations should be visible within the next 7 days.


As shown here, you cannot right-click

Hi @MangerLe
Thank you for filing a bug.
The workaround is to add sime random value to the API key field until I fix the bug properly.


Musl Libc Incompatibility

Information

ratbagd version (ratbagd --version): 0.16
Distribution: Gentoo
Kernel version (ex. uname -srmo): Linux 5.15.11-gentoo x86_64 GNU/Linux

Describe the bug
../libratbag-0.16/tools/hidpp20-reset.c:26:10: fatal error: error.h: No such file or directory
To Reproduce
Steps to reproduce the behavior:

Compile against musl libc

Logs
N/A
Additional context
This may already be fixed in master, if not, it should be a pretty simple fix.  Just need to do something like this.  Having meson detect musl libc is a little more difficult.  I'll leave that part up to someone that knows meson better than I do.
#ifdef HAVE_ERROR_H
#include "error.h"
#else
#include "err.h"
#define error(status, errno, ...) err(status, __VA_ARGS__)
#endif

Best I can tell we're not making huge use of error() anyway, might as well just rewrite the code to provide our own little function to do this. Pull requests accepted :)

Best I can tell we're not making huge use of error() anyway, might as well just rewrite the code to provide our own little function to do this. Pull requests accepted :)

Hey, @whot is @kwhat's initial idea still acceptable? It would fix building for musl or other libc that doesn't provide error.h. Or is rewriting the error only acceptable idea for a PR. I've a patch for the first implementation i.e. using meson to detect if error.h is present on system.

There are only 5 invocations of error() in the code, afaict (tools/hidpp20-dump-page.c and tools/hidpp20-reset.c, both are developer utils, not even the main code). It's just a convenience function, those cases should be rewritten to fprintf and exit, there's no need to clutter up the code with ifdefs and meson conditions, that's counterproductive IMO.

@whot what if we check for error.h and if not present then we redefine error to use the err function?
Something like this?
--- a/meson.build
+++ b/meson.build
@@ -74,8 +74,13 @@ dep_libevdev = dependency('libevdev')
 dep_glib = dependency('glib-2.0')
 dep_json_glib = dependency('json-glib-1.0')
 dep_lm = cc.find_library('m')
+error_exists = cc.has_header('error.h')
 dep_unistring = cc.find_library('unistring')

+if error_exists
+	add_global_arguments('-DHAVE_ERROR_H', language : 'c')
+endif
+
 if get_option('logind-provider') == 'elogind'
 	dep_logind = dependency('libelogind', version : '>=227')
 else
--- a/tools/hidpp10-dump-page.c
+++ b/tools/hidpp10-dump-page.c
@@ -23,7 +23,12 @@

 #include <config.h>
 #include <errno.h>
+#ifdef HAVE_ERROR_H
 #include <error.h>
+#else
+#include <err.h>
+#define error(status, errno, ...) err(status, __VA_ARGS__)
+#endif
 #include <fcntl.h>

Judging by what's already in the code base, I'd say the error should formatted and put at the end, so it would be like so fprintf(stderr, "Failed to open path '%s': %s", path, strerror(errno)).

@staticssleever668 thanks. I'll start on creating a patch then

@staticssleever668 Thanks. I've created MR

Merged, thanks!
By the way, this was initially suggested by whot, not me. :)

Hehe, it's alright. Thanks to you @staticssleever668 and @whot


add cakev2-c98-wbnb

@0xww in order to enable zap afterwards you would need to add C98 to address-book:
packages/address-book/address-book/bsc/tokens/tokens.ts

PR on #308


Observability pattern for cost monitoring

*Issue #, if available:*https://github.com/aws-observability/cdk-aws-observability-accelerator/issues/18
Description of changes: This is a placeholder PR to share the work. currently i am facing an issue to get the queryURL from AMP. Kubecost needs this value like https://aps-workspaces.<region>.amazonaws.com/workspaces/<WS-ID>/api/v1/query
One workaround could be adding the WS-ID value from env variables but looking for inputs.
Right now i have to first run this deployment. Then identify the Workspace ID and update cdk code, then deploy again. Not ideal definitely
By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.

@Howlla I see the PR is incomplete. Still documentation and few other stuff before i can review. Can you close the loop.

@Howlla Any updates on this PR.

@Howlla Can you close this documentation and this PR?


updated netdata logo

This PR updates the netdata logo.

Deploy preview for landscape ready!
Built with commit cbccf97af6298f4b1f95defddaa9bf0cf717370f
https://deploy-preview-1024--landscape.netlify.com


File Browser: dragging folders results in 2 deep folder with same name

Dropping in a folder makes the program create a folder in which it then drops that folder (so my files end up 2 folders deep)

Dropping multiple folders nests the second folder into the first. It looks like a combination of the existing behaviour that applied background jobs to the currently visible folder (drop a large folder, switch foreground folders and part of the large folder's content will end up in the new location) and a new behaviour that opens a newly uploaded folder.

This should have been resolved in the hotfix release - https://github.com/SideQuestVR/SideQuest/releases/tag/v0.10.24 let me know if it wasnt!

Yes, it seems to work now.
Thanks!


Don't overwrite games already imported

The import script as it exists today will replace the values in KV with newly imported ones. This will wipe out any information about what is currently checked out. The script should only import new game ids that do not currently exist in the system.

Moved to a static game model, this is no longer an issue.


View titles on Panel don't overflow anymore

Insiders:

Stable:

@sandy081 this is probably a regression introduce this month.

Yah, thanks for filing

I cannot reproduce. Any special steps/setup you follow?

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


Approach link from blog goes to blank page

http://blog.getbootstrap.com/2018/01/18/bootstrap-4/
The text: Check out the new Approach page,
which links to...
https://getbootstrap.com/docs/4.0/extend/approach/
displays a blank page
hth
And great job on 4.1.1 you are all awesome!
cka

Page works for me.


Update README.md

Codecov Report

Merging #285 into master will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##           master     #285   +/-   ##
=======================================
  Coverage   95.71%   95.71%
=======================================
  Files           2        2
  Lines          70       70
  Branches       22       22
=======================================
  Hits           67       67
  Partials        3        3

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 97731a3...7fe6ce4. Read the comment docs.


Upgrade etcd to v2.0.5 on the master

This changes our Salt setup to install etcd v2.0.5 on the master.
Running tests to verify this actually works.

I assume you ran e2es on this?

I am still testing to make sure that e2e works and I am creating a cluster by hand to make sure everything is fine and to manually inspect that the master is indeed running v2.0.5. Please do not merge until I have verified that everything is OK. Thank you.

kube-up.sh works.
Now running e2e tests.

I am not convinced this is working yet. When I query the Elasticsearch service through the proxy interface I sometimes get:
{
  "kind": "Status",
  "creationTimestamp": null,
  "apiVersion": "v1beta1",
  "status": "Failure",
  "message": "501: All the given peers are not reachable (Tried to connect to each peer twice and failed) [0]",
  "code": 500
}

and sometimes I get the expected result:
{
  "status" : 200,
  "name" : "Gideon Mace",
  "cluster_name" : "kubernetes_logging",
  "version" : {
    "number" : "1.4.4",
    "build_hash" : "c88f77ffc81301dfa9dfd81ca2232f09588bd512",
    "build_timestamp" : "2015-02-19T13:05:36Z",
    "build_snapshot" : false,
    "lucene_version" : "4.10.3"
  },
  "tagline" : "You Know, for Search"
}

@vishh and I were talking earlier about accessing cluster services via the proxy vs. ELB.

"Only" 3 e2e failures. The usual suspects.
Summarizing 3 Failures:

[Fail] Shell [It] tests that .guestbook.sh.swp passes
/go/src/github.com/GoogleCloudPlatform/kubernetes/_output/dockerized/go/src/github.com/GoogleCloudPlatform/kubernetes/test/e2e/shell.go:67

[Fail] kubectl guestbook [It] should create and stop a working application
/go/src/github.com/GoogleCloudPlatform/kubernetes/_output/dockerized/go/src/github.com/GoogleCloudPlatform/kubernetes/test/e2e/kubectl.go:277

[Fail] Shell [It] tests that guestbook.sh passes
/go/src/github.com/GoogleCloudPlatform/kubernetes/_output/dockerized/go/src/github.com/GoogleCloudPlatform/kubernetes/test/e2e/shell.go:67

Ran 29 of 31 Specs in 1605.932 seconds
FAIL! -- 26 Passed | 3 Failed | 2 Pending | 0 Skipped F0323 15:40:47.965084   28545 driver.go:87] At least one test failed

I made another cluster and it seems to work fine. I can list pods. Elasticsearch consistently returns the correct value. The Kibana dashboard works.
The serve_hostnames soak test functions for 1 pod pernode.
$ ./serve_hostnames --per_node=1
I0323 16:04:19.407214   10021 serve_hostnames.go:53] Starting serve_hostnames soak test with queries=1000 and perNode=1 upTo=-1
I0323 16:04:19.752859   10021 serve_hostnames.go:78] Nodes found on this cluster:
I0323 16:04:19.752930   10021 serve_hostnames.go:80] 0: kubernetes-minion-1h7n.c.kubernetes-satnam.internal
I0323 16:04:19.752972   10021 serve_hostnames.go:80] 1: kubernetes-minion-20bl.c.kubernetes-satnam.internal
I0323 16:04:19.753007   10021 serve_hostnames.go:80] 2: kubernetes-minion-khea.c.kubernetes-satnam.internal
I0323 16:04:19.753045   10021 serve_hostnames.go:80] 3: kubernetes-minion-x25i.c.kubernetes-satnam.internal
I0323 16:04:19.753126   10021 serve_hostnames.go:86] Using namespace serve-hostnames-6217 for this test.
I0323 16:04:19.753172   10021 serve_hostnames.go:89] Creating service serve-hostnames
I0323 16:04:19.810457   10021 serve_hostnames.go:123] Creating pod serve-hostnames-6217/serve-hostname-0-0 on node kubernetes-minion-1h7n.c.kubernetes-satnam.internal
I0323 16:04:19.867720   10021 serve_hostnames.go:123] Creating pod serve-hostnames-6217/serve-hostname-1-0 on node kubernetes-minion-20bl.c.kubernetes-satnam.internal
I0323 16:04:19.925172   10021 serve_hostnames.go:123] Creating pod serve-hostnames-6217/serve-hostname-2-0 on node kubernetes-minion-khea.c.kubernetes-satnam.internal
I0323 16:04:19.980908   10021 serve_hostnames.go:123] Creating pod serve-hostnames-6217/serve-hostname-3-0 on node kubernetes-minion-x25i.c.kubernetes-satnam.internal
I0323 16:04:20.038474   10021 serve_hostnames.go:158] Waiting for the serve-hostname pods to be ready
I0323 16:04:30.175948   10021 serve_hostnames.go:175] serve-hostnames-6217/serve-hostname-0-0 is running
I0323 16:04:35.269694   10021 serve_hostnames.go:175] serve-hostnames-6217/serve-hostname-1-0 is running
I0323 16:04:35.313927   10021 serve_hostnames.go:175] serve-hostnames-6217/serve-hostname-2-0 is running
I0323 16:04:35.358347   10021 serve_hostnames.go:175] serve-hostnames-6217/serve-hostname-3-0 is running
I0323 16:05:20.698515   10021 serve_hostnames.go:197] {
  "kind": "Status",
  "creationTimestamp": null,
  "apiVersion": "v1beta1",
  "status": "Failure",
  "message": "no endpoints available for serve-hostnames",
  "code": 500
}: 15
I0323 16:05:20.698644   10021 serve_hostnames.go:197] serve-hostname-2-0: 254
I0323 16:05:20.698674   10021 serve_hostnames.go:197] serve-hostname-1-0: 251
I0323 16:05:20.698701   10021 serve_hostnames.go:197] serve-hostname-0-0: 240
I0323 16:05:20.698727   10021 serve_hostnames.go:197] serve-hostname-3-0: 240
I0323 16:05:20.698765   10021 serve_hostnames.go:208] Iteration 0 took 45.340382144s for 1000 queries
I0323 16:06:05.297976   10021 serve_hostnames.go:197] serve-hostname-2-0: 274
I0323 16:06:05.298023   10021 serve_hostnames.go:197] serve-hostname-0-0: 249
I0323 16:06:05.298039   10021 serve_hostnames.go:197] serve-hostname-3-0: 228
I0323 16:06:05.298055   10021 serve_hostnames.go:197] serve-hostname-1-0: 249
I0323 16:06:05.298076   10021 serve_hostnames.go:208] Iteration 1 took 44.599261154s for 1000 queries

I propose that we merge this upgrade to etcd.

@kelseyhightower FYI we are about to upgrade to etcd v2.0.5 and I will also upgrade to the latest go-etcd when I can defeat Godeps.

This is more testing than most things get. I'm sniffing at Jenkins now.


add Jackson's apps

@jaxoncreed can you add all your apps to this list?

https://github.com/solid/solid-apps/pull/67

See https://github.com/solid/solid.github.io/pull/213 where I had a go at incorporating the issue. If there's anything missing, submit a pull request on https://github.com/solid/solid.github.io/blob/master/pages/use-solid/apps.md


fix(ivc): constraint fail at 1-step of primary circuit

At (mock prover 1-step in primary-circuit)
https://github.com/snarkify/sirius/blob/d18c9ae914abf2aadef124bf62544ee4f8d04361/src/ivc/incrementally_verifiable_computation.rs#L352-L359
Potentially here:
https://github.com/snarkify/sirius/blob/4d71e4f97e6401a4620aede4ae97c5ac31bc37b3/src/ivc/step_folding_circuit.rs#L421-L427
Constraint case:
ConstraintCaseDebug {
    constraint: Constraint {
        gate: Gate {
            index: 0,
            name: "q_m[0]*s[0]*s[1] + q_m[1]*s[2]*s[3] + sum_i(q_1[i]*s[i]) + sum_i(q_5[i]*s[i]^5) + rc + q_i*input + q_o*out=0",
        },
        index: 0,
        name: "",
    },
    location: InRegion {
        region: Region 6 ('make folding'),
        offset: 30,
    },
    cell_values: [
        (
            DebugVirtualCell {
                name: "",
                column: DebugColumn {
                    column_type: Advice,
                    index: 0,
                    annotation: "state[0]",
                },
                rotation: 0,
            },
            "0",
        ),
        (
            DebugVirtualCell {
                name: "",
                column: DebugColumn {
                    column_type: Advice,
                    index: 1,
                    annotation: "state[1]",
                },
                rotation: 0,
            },
            "0",
        ),
        (
            DebugVirtualCell {
                name: "",
                column: DebugColumn {
                    column_type: Advice,
                    index: 2,
                    annotation: "state[2]",
                },
                rotation: 0,
            },
            "0",
        ),
        (
            DebugVirtualCell {
                name: "",
                column: DebugColumn {
                    column_type: Advice,
                    index: 3,
                    annotation: "state[3]",
                },
                rotation: 0,
            },
            "0",
        ),
        (
            DebugVirtualCell {
                name: "",
                column: DebugColumn {
                    column_type: Advice,
                    index: 4,
                    annotation: "state[4]",
                },
                rotation: 0,
            },
            "0",
        ),
        (
            DebugVirtualCell {
                name: "",
                column: DebugColumn {
                    column_type: Advice,
                    index: 5,
                    annotation: "input",
                },
                rotation: 0,
            },
            "0",
        ),
        (
            DebugVirtualCell {
                name: "",
                column: DebugColumn {
                    column_type: Advice,
                    index: 6,
                    annotation: "out",
                },
                rotation: 0,
            },
            "0",
        ),
        (
            DebugVirtualCell {
                name: "",
                column: DebugColumn {
                    column_type: Fixed,
                    index: 0,
                    annotation: "q_1[0]",
                },
                rotation: 0,
            },
            "0",
        ),
        (
            DebugVirtualCell {
                name: "",
                column: DebugColumn {
                    column_type: Fixed,
                    index: 1,
                    annotation: "q_1[1]",
                },
                rotation: 0,
            },
            "0",
        ),
        (
            DebugVirtualCell {
                name: "",
                column: DebugColumn {
                    column_type: Fixed,
                    index: 2,
                    annotation: "q_1[2]",
                },
                rotation: 0,
            },
            "0",
        ),
        (
            DebugVirtualCell {
                name: "",
                column: DebugColumn {
                    column_type: Fixed,
                    index: 3,
                    annotation: "q_1[3]",
                },
                rotation: 0,
            },
            "0",
        ),
        (
            DebugVirtualCell {
                name: "",
                column: DebugColumn {
                    column_type: Fixed,
                    index: 4,
                    annotation: "q_1[4]",
                },
                rotation: 0,
            },
            "0",
        ),
        (
            DebugVirtualCell {
                name: "",
                column: DebugColumn {
                    column_type: Fixed,
                    index: 5,
                    annotation: "q_5[0]",
                },
                rotation: 0,
            },
            "0",
        ),
        (
            DebugVirtualCell {
                name: "",
                column: DebugColumn {
                    column_type: Fixed,
                    index: 6,
                    annotation: "q_5[1]",
                },
                rotation: 0,
            },
            "0",
        ),
        (
            DebugVirtualCell {
                name: "",
                column: DebugColumn {
                    column_type: Fixed,
                    index: 7,
                    annotation: "q_5[2]",
                },
                rotation: 0,
            },
            "0",
        ),
        (
            DebugVirtualCell {
                name: "",
                column: DebugColumn {
                    column_type: Fixed,
                    index: 8,
                    annotation: "q_5[3]",
                },
                rotation: 0,
            },
            "0",
        ),
        (
            DebugVirtualCell {
                name: "",
                column: DebugColumn {
                    column_type: Fixed,
                    index: 9,
                    annotation: "q_5[4]",
                },
                rotation: 0,
            },
            "0",
        ),
        (
            DebugVirtualCell {
                name: "",
                column: DebugColumn {
                    column_type: Fixed,
                    index: 10,
                    annotation: "q_m[0]",
                },
                rotation: 0,
            },
            "0",
        ),
        (
            DebugVirtualCell {
                name: "",
                column: DebugColumn {
                    column_type: Fixed,
                    index: 11,
                    annotation: "q_m[1]",
                },
                rotation: 0,
            },
            "0",
        ),
        (
            DebugVirtualCell {
                name: "",
                column: DebugColumn {
                    column_type: Fixed,
                    index: 12,
                    annotation: "q_i",
                },
                rotation: 0,
            },
            "0",
        ),
        (
            DebugVirtualCell {
                name: "",
                column: DebugColumn {
                    column_type: Fixed,
                    index: 13,
                    annotation: "q_o",
                },
                rotation: 0,
            },
            "-1",
        ),
        (
            DebugVirtualCell {
                name: "",
                column: DebugColumn {
                    column_type: Fixed,
                    index: 14,
                    annotation: "rc",
                },
                rotation: 0,
            },
            "1",
        ),
    ],
}

Blocker for #33

Found
https://github.com/snarkify/sirius/blob/4d71e4f97e6401a4620aede4ae97c5ac31bc37b3/src/ivc/step_folding_circuit.rs#L372-L376
This is about on-circuit check of instance col
Investigating

[2024-03-09T19:32:12Z DEBUG sirius::ivc::step_folding_circuit] on-circuit new X0
[0x00f1b760e01457a299a052c7cc7b3d7f9520d0186d4aea68bfd4cf4baeed3f89,
0x2c9540cb05321cef5e9417bb49dbe73a37eda7a43211bf991f5793104f4e8c4d,
0x0000000000000000000000000000000000000000000000000000000000000001,
0x0000000000000000000000000000000000000000000000000000000001fffff0,
0x0000000000000000000000000000000000000000000000000000000001fffff1,
0x0000000000000000000000000000000000000000000000000000000001fffff2,
0x0000000000000000000000000000000000000000000000000000000001fffff3,
0x0000000000000000000000000000000000000000000000000000000001fffff4,
0x0000000000000000000000000000000000000000000000000000000001fffff5,
0x0000000000000000000000000000000000000000000000000000000001fffff6,
0x0000000000000000000000000000000000000000000000000000000001fffff7,
0x0000000000000000000000000000000000000000000000000000000001fffff7,
0x0000000000000000000000000000000000000000000000000000000001fffff6,
0x0000000000000000000000000000000000000000000000000000000001fffff5,
0x0000000000000000000000000000000000000000000000000000000001fffff4,
0x0000000000000000000000000000000000000000000000000000000001fffff3,
0x0000000000000000000000000000000000000000000000000000000001fffff2,
0x0000000000000000000000000000000000000000000000000000000001fffff1,
0x0000000000000000000000000000000000000000000000000000000001fffff0,
0x0000000000000000000000000000000000000000000000000000000000000000,
0x0000000000000000000000000000000000000000000000000000000000000000,
0x0000000000000000000000000000000000000000000000000000000000000000,
0x0000000000000000000000000000000000000000000000000000000000000000,
0x0000000000000000000000000000000000000000000000000000000000000000,
0x0000000000000000000000000000000000000000000000000000000000000000,
0x0000000000000000000000000000000000000000000000000000000000000000,
0x0000000000000000000000000000000000000000000000000000000000000000,
0x0000000000000000000000000000000000000000000000000000000000000000,
0x0000000000000000000000000000000000000000000000000000000000000000,
0x0000000000000000000000000000000000000000000000000000000000000000,
0x0000000000000000000000000000000000000000000000000000000000000000,
0x0000000000000000000000000000000000000000000000000000000000000000,
0x0000000000000000000000000000000000000000000000000000000000000000,
0x0000000000000000000000000000000000000000000000000000000000000000,
0x0000000000000000000000000000000000000000000000000000000000000000,
0x0000000000000000000000000000000000000000000000000000000000000000,
0x0000000000000000000000000000000000000000000000000000000000000000,
0x0000000000000000000000000000000000000000000000000000000000000000,
0x0000000000000000000000000000000000000000000000000000000000000000,
0x0000000000000000000000000000000000000000000000000000000000000000,
0x0000000000000000000000000000000000000000000000000000000000000000,
0x0000000000000000000000000000000000000000000000000000000000000000,
0x0000000000000000000000000000000000000000000000000000000000000000,
0x0000000000000000000000000000000000000000000000000000000000000001]

[2024-03-09T19:32:28Z DEBUG sirius::ivc::step_folding_circuit] on-circuit expected X0 [
0x00f1b760e01457a299a052c7cc7b3d7f9520d0186d4aea68bfd4cf4baeed3f89,
0x2c9540cb05321cef5e9417bb49dbe73a37eda7a43211bf991f5793104f4e8c4d,
0x0000000000000000000000000000000000000000000000000000000000000001,
0x0000000000000000000000000000000000000000000000000000000001fffff0,
0x0000000000000000000000000000000000000000000000000000000001fffff1,
0x0000000000000000000000000000000000000000000000000000000001fffff2,
0x0000000000000000000000000000000000000000000000000000000001fffff3,
0x0000000000000000000000000000000000000000000000000000000001fffff4,
0x0000000000000000000000000000000000000000000000000000000001fffff5,
0x0000000000000000000000000000000000000000000000000000000001fffff6,
0x0000000000000000000000000000000000000000000000000000000001fffff7,
0x0000000000000000000000000000000000000000000000000000000001fffff0,
0x0000000000000000000000000000000000000000000000000000000001fffff1,
0x0000000000000000000000000000000000000000000000000000000001fffff2,
0x0000000000000000000000000000000000000000000000000000000001fffff3,
0x0000000000000000000000000000000000000000000000000000000001fffff4,
0x0000000000000000000000000000000000000000000000000000000001fffff5,
0x0000000000000000000000000000000000000000000000000000000001fffff6,
0x0000000000000000000000000000000000000000000000000000000001fffff7,
0x0cff7ac441a560c89e85e9d1d1fec5dac7a3e0dc0bd6849054e6a201a5630ff9,
0x2aee7e1de00707e6f5851f8c834b9383482462c99763bba241b40459b35f6c30,
0x0000000000000000000000000000000000000000000000000000000000000000,
0x0000000000000000000000000000000000000000000000000000000000000000,
0x000000000000000000000000000000000000000000000000000000001fe09d42,
0x00000000000000000000000000000000000000000000000000000000d3b00774,
0x000000000000000000000000000000000000000000000000000000003a023164,
0x000000000000000000000000000000000000000000000000000000003d07cf2c,
0x0000000000000000000000000000000000000000000000000000000000000000,
0x0000000000000000000000000000000000000000000000000000000000000000,
0x0000000000000000000000000000000000000000000000000000000000000000,
0x0000000000000000000000000000000000000000000000000000000000000000,
0x0000000000000000000000000000000000000000000000000000000000000000,
0x0000000000000000000000000000000000000000000000000000000000000000,
0x00000000000000000000000000000000000000000000000000000000b1d9e8aa,
0x0000000000000000000000000000000000000000000000000000000056a8d6f7,
0x000000000000000000000000000000000000000000000000000000004c341605,
0x00000000000000000000000000000000000000000000000000000000aea2db9a,
0x0000000000000000000000000000000000000000000000000000000000000000,
0x0000000000000000000000000000000000000000000000000000000000000000,
0x0000000000000000000000000000000000000000000000000000000000000000,
0x0000000000000000000000000000000000000000000000000000000000000000,
0x0000000000000000000000000000000000000000000000000000000000000000,
0x0000000000000000000000000000000000000000000000000000000000000000,
0x0000000000000000000000000000000000000000000000000000000000000001]

That's right, we're counting incorrectly for the zero round of the track. We do full-fledged generate there (https://github.com/snarkify/sirius/blob/4d71e4f97e6401a4620aede4ae97c5ac31bc37b3/src/ivc/incrementally_verifiable_computation.rs#L286, https://github.com/snarkify/sirius/blob/4d71e4f97e6401a4620aede4ae97c5ac31bc37b3/src/ivc/incrementally_verifiable_computation.rs#L292), whereas on-circuit it just takes the incoming U.
We need to figure out what to throw into witness in this case, but the fix is simple

Yep, wrong U provided as relaxed into input for non-zero step, fix is easy, check track of relaxed track. In result of zero-step must be used same relaxed trace as used in input of step folding circuit

Yeah, it's fine. There were two bugs:

After the zero round the wrong trace was taken for U next steps
For assigned_z_i was taken in z_0, a simple typo

It remains to carefully make the fix separate from the debug branch for close issue


Empty arrays get encoded as TemporalIntervals

In the test-suite tests I realized that empty lists get encoded as TemporalIntervals.
This should cater for most cases except when you actually have an empty array of temporal intervals, which I think should mostly never happen.
PS: I won't have time to add tests, this is more a bug report rather than a full PR.

There have been changes in the meantime and I'm not sure how to translate the original fix to the new model...


Add delay in index.js to allow CLOUD_CONFIDENCE and EARTH_WITH_CLOUDS to fully load

Add delay in index.js to allow CLOUD_CONFIDENCE and EARTH_WITH_CLOUDS before the rest of index.js runs.  Recently it looks like the call from index.js to load both  (examples)
https://gibs.earthdata.nasa.gov/wms/epsg4326/best/wms.cgi?version=1.3.0&service=WMS&request=GetMap&format=image/png&STYLE=default&bbox=-90,-180,90,180&CRS=EPSG:4326&WIDTH=16384&HEIGHT=8192&TIME=2023-07-07&layers=VIIRS_NOAA20_Clear_Sky_Confidence_Day
https://gibs.earthdata.nasa.gov/wms/epsg4326/best/wms.cgi?version=1.3.0&service=WMS&request=GetMap&format=image/png&STYLE=default&bbox=-90,-180,90,180&CRS=EPSG:4326&WIDTH=16384&HEIGHT=8192&TIME=2023-07-07&layers=VIIRS_NOAA20_CorrectedReflectance_TrueColor
are taking quite a long time until the request is processed by Earthdata
Is there a way to modify the index.js to wait until the imagery is loaded before continuing?

Matt,
Some follow-up I got from NASA GIBS:
Hi Carl,

There are a few reasons why those downloads could be slow... for one, they're requesting images which are quite large (about 16k x 8k pixels) and WMS generally isn't a performant service. If you're looking to download large images rapidly, you might try something like a GDAL-based download which uses tile requests:
https://nasa-gibs.github.io/gibs-api-docs/map-library-usage/#gdal

Worldview also uses the WMTS tile-based access method which helps with performance.

Another possible reason is due to our current migration from an on premises system to the cloud. The WMS performance may get better over the course of the next few months.

Closing off as superseded by new service: https://github.com/matteason/live-cloud-maps


Expected ")" but found ":"

Vue version
3.2.39
Link to minimal reproduction
https://github.com/vaban-ru/vue-tsc-reproduction-issue
Steps to reproduce
yarn install
yarn build

What is expected?
Expected clean build the library without errors
What is actually happening?
[vite:esbuild] Transform failed with 1 error:
C:/dev/test/vue-tsc-issue-reproduction/src/components/Base/SvButton/SvButton.vue?vue&type=script&setup=true&lang.ts:65:59: ERROR: Expected ")" but found ":"
file: C:/dev/test/vue-tsc-issue-reproduction/src/components/Base/SvButton/SvButton.vue?vue&type=script&setup=true&lang.ts:65:59

Expected ")" but found ":"
63 |    },
64 |    emits: ["click"],
65 |    setup(__props: any, { emit }: { emit: (    "btn--primary": props.primary,
   |                                                             ^
66 |        "bt), expose: any, slots: any, attrs: any }) {
67 |

System Info
System:
    OS: Windows 10 10.0.19044
    CPU: (8) x64 Intel(R) Core(TM) i5-10300H CPU @ 2.50GHz
    Memory: 3.33 GB / 15.77 GB
  Binaries:
    Node: 14.18.3 - C:\Program Files\nodejs\node.EXE
    Yarn: 1.22.17 - ~\AppData\Roaming\npm\yarn.CMD
    npm: 6.14.15 - C:\Program Files\nodejs\npm.CMD
  Browsers:
    Edge: Spartan (44.19041.1266.0), Chromium (105.0.1343.33)
    Internet Explorer: 11.0.19041.1566
  npmPackages:
    vue: ^3.2.39 => 3.2.39

Any additional comments?
Additional libraries:
"typescript": "^4.8.3",
"vite": "^3.1.0",
"vue": "^3.2.39",
"vue-tsc": "^0.40.13",
"@vitejs/plugin-vue": "^3.1.0",

Very similar to this issue: https://github.com/vuejs/core/issues/5830

duplicate of https://github.com/vuejs/core/issues/5830


npm run format: Doesn't work

I am getting the following error
[error] No files matching the pattern were found: "'**/*.liquid'".
Waiting for the debugger to disconnect...
Waiting for the debugger to disconnect...

Am I doing something wrong?

Can you include more information? Things I'd like to know to help you debug:

Where does this output come from (terminal or editor)
What OS you're using (macOS, linux, Windows?)
If terminal, what's the command you're using (and in which folder?)
If editor, is this a workspace issue?

The error you're seeing indicates that it can't find Liquid files from the place where the command is run. So there could be a number of reasons why this is happening, and the above info would help :)

Sorry, just to be clear, does the package.json live next to the .liquid files or are the .liquid files in a subfolder?
(FYI) I'm starting to believe this is a Windows + glob issue. But gotta confirm first.

Gotcha, thanks that looks like an issue indeed. Will have to look into how prettier handles glob arguments on windows.

Hmm. So it looks like all you need is double quotes.
So this:
{
  "scripts": {
    "format": "prettier --write \"**/*.liquid\""
  }
}

LMK if that works, I'll update the docs :)

As i can see they're

Aye aye ok I'll have to try this on my personal windows box. No idea why it would do that.
Can you try the --plugin <path> option? Something like
"format": "prettier --plugin \"node_modules\@shopify\prettier-plugin-liquid\" \"**/*.liquid\""

I will disappoint you but nop
npm ERR! path CENCORED
npm ERR! JSON.parse Unexpected token "@" (0x40) in JSON at position 172 while parsing near "...ugin<EMAIL_ADDRESS>npm ERR! JSON.parse Failed to parse JSON data.
npm ERR! JSON.parse Note: package.json must be actual JSON, not just JavaScript.```

Durr. This is what happens when I write stuff in a textarea instead of my editor 😓
I didn't escape the backslashes in the json command 🤦
{
  "format": "prettier --plugin \"node_modules\\@shopify\\prettier-plugin-liquid\" \"**/*.liquid\""
}

Ah ha! 🙌  Well that's the thing working!
What you're seeing there is a known prettier issue we can't fix:
https://github.com/Shopify/prettier-plugin-liquid/blob/main/KNOWN_ISSUES.md#liquid-that-cant-be-prettier
Basically, for prettier to work on your code, you can't have open html tags inside liquid tags without its closing end.
e.g. can't have
{% if hi %}
  <div>not closed!
{% endif %}
{%if hi %}
  </div>
{%end %}


default_client is ignored if model is in default registry

This comment has the latest update: https://github.com/MadcowD/ell/issues/366#issuecomment-2466455721
Anything below is likely not an issue.
So, when setting custom client, both in ell.init and decorator, the change is not always reflected in ell internals. The problem returns at "random" point (because it always happens with anthropic.claude-3-haiku-20240307-v1:0 and not any other model ID), probably when I set bedrock client and use other model that uses this client.
The error I get (when explicitly setting bedrock as the client in both decorator and init):
    raise RuntimeError(_no_api_key_warning(model, _name, '', long=True, error=True))
RuntimeError: ERROR: No API key found for model `anthropic.claude-3-haiku-20240307-v1:0` using client `OpenAI`.

To fix this:
* Set your API key in the appropriate environment variable for your chosen provider
...

However, when I create a print statement in src/ell/lmp/complex.py:
https://github.com/MadcowD/ell/blob/3ce6a21d4bdf64802e4a09368d86d9abc204a9c4/src/ell/lmp/complex.py#L53
            merged_api_params = {**config.default_api_params, **default_api_params_from_decorator, **(api_params or {})}
            n = merged_api_params.get("n", 1)
            # Merge client overrides & client registry
            merged_client = _client_for_model(model, client or default_client_from_decorator)
            print(merged_client) # Added
            ell_call = EllCallParams(

Everything works and I see the object printed
<botocore.client.BedrockRuntime object at 0x110396510>

$ python -VV # on macOS
Python 3.12.4 (main, Jun  6 2024, 18:26:44) [Clang 15.0.0 (clang-15<IP_ADDRESS>)]

I tested it in another code and it happens only with anthropic.claude-3-haiku-20240307-v1:0, any other model ID did not cause this issues, including anthropic.claude-3-5-haiku-20241022-v1:0. I don't know if it is some pattern matching or unfortunate hash somewhere deep inside Python.

Ok, I figured out something - it happens only with anthropic.claude-3-haiku-20240307-v1:0 and it's the only known model in ell package. It points to bedrock. However, it forces None value on the client and disregards default_client when using ell.init, thus trying OpenAI one.

@ppabis This isn’t really a solution but if it helps unstick you until we can fix whatever’s happening you can try supplying the client argument to the decorator directly


test-branch/execute-job/wrong-commit-sha-on-pr/2817cf9f-c511-4f4c-8953-52f978b4d06d

PR for testing b2ee62ab9ccb5b4e6d6069c5419b0c1091f082c2

/canonical/self-hosted-runners/run-workflows 931ad21dd9ace68aaa0a7d341e94de96ad93fa6b


Fix mapping.rb link in Readme

Fixes a wrong path to mapping.rb in the Readme file.

Hey @jkostolansky 👋 !
Thanks!


Refactor Versus

Description
Reworks the versus backend component to use a less bulky translation method, and to re-order the results on the front-end based on points and teams. This change also introduces more utils and separated database utilities that'll come in handy in the voting component.
Type of change
Please delete options that are not relevant.

[x] Bug fix

Change Status

[ ] Complete, but not tested (may need new tests)
[ ] Needs documentation update

How Has This Been Tested?

[x] Being used in conjunction with the front-end

 Refactor of Versus Logic


Fibonacci algorithm ♾ in Java programming language

Code fibonacci algorithm :infinity: in the Java language folder :file_folder: in the main branch.
Give star :star: to this repository.

I want to work on this issue. Can you please assign this to me.


🐛 [firebase_ui_oauth_google] Using standalone mode throws LateInitializationError

Bug report
Describe the bug
Im not using firebase_auth_ui, just the package.
Using the standalone version of https://pub.dev/packages/firebase_ui_oauth_google throws:
════════ Exception caught by gesture ═══════════════════════════════════════════
The following LateError was thrown while handling a gesture:
LateInitializationError: Field 'authListener' has not been initialized.

When the exception was thrown, this was the stack
#0      OAuthProvider.authListener (package:firebase_ui_oauth/src/oauth_provider.dart)
package:firebase_ui_oauth/src/oauth_provider.dart:1
#1      OAuthProvider.signIn
package:firebase_ui_oauth/src/oauth_provider.dart:29
#2      _OAuthProviderButtonBaseState._signIn
package:firebase_ui_oauth/src/oauth_provider_button_base.dart:151
#3      _OAuthProviderButtonBaseState._buildMaterial.<anonymous closure>
package:firebase_ui_oauth/src/oauth_provider_button_base.dart:233
#4      _InkResponseState.handleTap
package:flutter/…/material/ink_well.dart:1072
#5      GestureRecognizer.invokeCallback
package:flutter/…/gestures/recognizer.dart:253
#6      TapGestureRecognizer.handleTapUp
package:flutter/…/gestures/tap.dart:627
#7      BaseTapGestureRecognizer._checkUp
package:flutter/…/gestures/tap.dart:306
#8      BaseTapGestureRecognizer.handlePrimaryPointer
package:flutter/…/gestures/tap.dart:239
#9      PrimaryPointerGestureRecognizer.handleEvent
package:flutter/…/gestures/recognizer.dart:615
#10     PointerRouter._dispatch
package:flutter/…/gestures/pointer_router.dart:98
#11     PointerRouter._dispatchEventToRoutes.<anonymous closure>
package:flutter/…/gestures/pointer_router.dart:143
#12     _LinkedHashMapMixin.forEach (dart:collection-patch/compact_hash.dart:617:13)
#13     PointerRouter._dispatchEventToRoutes
package:flutter/…/gestures/pointer_router.dart:141
#14     PointerRouter.route
package:flutter/…/gestures/pointer_router.dart:127
#15     GestureBinding.handleEvent
package:flutter/…/gestures/binding.dart:460
#16     GestureBinding.dispatchEvent
package:flutter/…/gestures/binding.dart:440
#17     RendererBinding.dispatchEvent
package:flutter/…/rendering/binding.dart:337
#18     GestureBinding._handlePointerEventImmediately
package:flutter/…/gestures/binding.dart:395
#19     GestureBinding.handlePointerEvent
package:flutter/…/gestures/binding.dart:357
#20     GestureBinding._flushPointerEventQueue
package:flutter/…/gestures/binding.dart:314
#21     GestureBinding._handlePointerDataPacket
package:flutter/…/gestures/binding.dart:295
#22     _invoke1 (dart:ui/hooks.dart:167:13)
#23     PlatformDispatcher._dispatchPointerDataPacket (dart:ui/platform_dispatcher.dart:341:7)
#24     _dispatchPointerDataPacket (dart:ui/hooks.dart:94:31)
Handler: "onTap"

Steps to reproduce
Run the following code, with a valida clientId.
class MyScreen extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return GoogleSignInButton(
      clientId: 'my-client-id-eur80e7-with-lgo0nn-some-223qhd-data-vc.apps.googleusercontent.com',
      loadingIndicator: CircularProgressIndicator(),
      onSignedIn: (UserCredential credential) {
        // perform navigation.
      }
    );
  }
}

Expected behavior
A successful sign in with and run the code on onSignedIn.

Additional context
Im running on a real android device.

Flutter doctor
Run flutter doctor and paste the output below:
Click To Expand
➜  ~ flutter doctor
Doctor summary (to see all details, run flutter doctor -v):
[✓] Flutter (Channel stable, 3.3.7, on macOS 12.6 21G115 darwin-x64, locale en-BR)
[✓] Android toolchain - develop for Android devices (Android SDK version 33.0.0)
[✓] Xcode - develop for iOS and macOS (Xcode 14.1)
[✓] Chrome - develop for the web
[✓] Android Studio (version 2021.3)
[✓] VS Code (version 1.73.0)
[✓] VS Code (version 1.65.2)
[✓] Connected device (3 available)
[✓] HTTP Host Availability

• No issues found!
➜  ~

Flutter dependencies
Run flutter pub deps -- --style=compact and paste the output below:
Click To Expand
Dart SDK 2.18.4
Flutter SDK 3.3.7
motoca 1.0.0+1

dependencies:
- brasil_fields 1.5.0 [flutter intl]
- cloud_firestore 4.0.4 [cloud_firestore_platform_interface cloud_firestore_web collection firebase_core firebase_core_platform_interface flutter meta]
- firebase_auth 4.1.1 [firebase_auth_platform_interface firebase_auth_web firebase_core firebase_core_platform_interface flutter meta]
- firebase_core 2.1.1 [firebase_core_platform_interface firebase_core_web flutter meta]
- firebase_ui_oauth_google 1.0.4 [firebase_auth firebase_ui_oauth flutter google_sign_in]
- flutter 0.0.0 [characters collection material_color_utilities meta vector_math sky_engine]
- flutter_localizations 0.0.0 [flutter intl characters clock collection material_color_utilities meta path vector_math]
- flutter_native_splash 2.2.14 [args flutter flutter_web_plugins js html image meta path universal_io xml yaml]
- flutter_signin_button 2.0.0 [flutter font_awesome_flutter]
- freezed_annotation 2.2.0 [collection json_annotation meta]
- google_fonts 3.0.1 [flutter http path_provider crypto]
- google_sign_in 5.4.2 [flutter google_sign_in_android google_sign_in_ios google_sign_in_platform_interface google_sign_in_web]
- hooks_riverpod 2.1.1 [collection flutter flutter_hooks flutter_riverpod riverpod state_notifier]
- json_annotation 4.7.0 [meta]
- path 1.8.2
- path_provider 2.0.11 [flutter path_provider_android path_provider_ios path_provider_linux path_provider_macos path_provider_platform_interface path_provider_windows]
- shared_preferences 2.0.15 [flutter shared_preferences_android shared_preferences_ios shared_preferences_linux shared_preferences_macos shared_preferences_platform_interface shared_preferences_web shared_preferences_windows]
- sqflite 2.2.0+3 [flutter sqflite_common path]
- top_snackbar_flutter 2.1.1 [flutter]
- uuid 3.0.6 [crypto]

dev dependencies:
- build_runner 2.3.2 [args async analyzer build build_config build_daemon build_resolvers build_runner_core code_builder collection crypto dart_style frontend_server_client glob graphs http_multi_server io js logging meta mime package_config path pool pub_semver pubspec_parse shelf shelf_web_socket stack_trace stream_transform timing watcher web_socket_channel yaml]
- flutter_lints 2.0.1 [lints]
- flutter_test 0.0.0 [flutter test_api path fake_async clock stack_trace vector_math async boolean_selector characters collection matcher material_color_utilities meta source_span stream_channel string_scanner term_glyph]
- freezed 2.2.1 [analyzer build build_config collection meta source_gen freezed_annotation json_annotation]
- json_serializable 6.5.4 [analyzer async build build_config collection json_annotation meta path pub_semver pubspec_parse source_gen source_helper]

transitive dependencies:
- _fe_analyzer_shared 50.0.0 [meta]
- _flutterfire_internals 1.0.7 [cloud_firestore_platform_interface cloud_firestore_web collection firebase_core firebase_core_platform_interface flutter meta]
- analyzer 5.2.0 [_fe_analyzer_shared collection convert crypto glob meta package_config path pub_semver source_span watcher yaml]
- archive 3.3.1 [crypto path]
- args 2.3.1
- async 2.9.0 [collection meta]
- boolean_selector 2.1.0 [source_span string_scanner]
- build 2.3.1 [analyzer async convert crypto glob logging meta path]
- build_config 1.1.0 [checked_yaml json_annotation path pubspec_parse yaml]
- build_daemon 3.1.0 [built_collection built_value http_multi_server logging path pool shelf shelf_web_socket stream_transform watcher web_socket_channel]
- build_resolvers 2.1.0 [analyzer async build crypto graphs logging path package_config pool pub_semver stream_transform yaml]
- build_runner_core 7.2.3 [async build build_config build_resolvers collection convert crypto glob graphs json_annotation logging meta path package_config pool timing watcher yaml]
- built_collection 5.1.1
- built_value 8.4.1 [built_collection collection fixnum meta]
- characters 1.2.1
- checked_yaml 2.0.1 [json_annotation source_span yaml]
- clock 1.1.1
- cloud_firestore_platform_interface 5.8.4 [_flutterfire_internals collection firebase_core flutter meta plugin_platform_interface]
- cloud_firestore_web 3.0.4 [_flutterfire_internals cloud_firestore_platform_interface collection firebase_core firebase_core_web flutter flutter_web_plugins js]
- code_builder 4.2.0 [built_collection built_value collection matcher meta]
- collection 1.16.0
- convert 3.0.2 [typed_data]
- crypto 3.0.2 [typed_data]
- csslib 0.17.2 [source_span]
- dart_style 2.2.4 [analyzer args path pub_semver source_span]
- desktop_webview_auth 0.0.9 [crypto flutter http]
- email_validator 2.1.17
- fake_async 1.3.1 [clock collection]
- ffi 2.0.1
- file 6.1.4 [meta path]
- firebase_auth_platform_interface 6.11.1 [_flutterfire_internals collection firebase_core flutter meta plugin_platform_interface]
- firebase_auth_web 5.1.1 [firebase_auth_platform_interface firebase_core firebase_core_web flutter flutter_web_plugins http_parser intl js meta]
- firebase_core_platform_interface 4.5.2 [collection flutter flutter_test meta plugin_platform_interface]
- firebase_core_web 2.0.1 [firebase_core_platform_interface flutter flutter_web_plugins js meta]
- firebase_dynamic_links 5.0.4 [firebase_core firebase_core_platform_interface firebase_dynamic_links_platform_interface flutter meta plugin_platform_interface]
- firebase_dynamic_links_platform_interface 0.2.3+20 [_flutterfire_internals firebase_core flutter meta plugin_platform_interface]
- firebase_ui_auth 1.0.4 [desktop_webview_auth email_validator firebase_auth firebase_core firebase_dynamic_links firebase_ui_localizations firebase_ui_oauth flutter flutter_localizations flutter_svg]
- firebase_ui_localizations 1.0.1 [flutter flutter_localizations intl path]
- firebase_ui_oauth 1.0.4 [desktop_webview_auth firebase_auth firebase_ui_auth flutter_svg flutter]
- fixnum 1.0.1
- flutter_hooks 0.18.5+1 [flutter]
- flutter_riverpod 2.1.1 [collection flutter meta riverpod state_notifier]
- flutter_svg 1.1.6 [flutter meta path_drawing vector_math xml]
- flutter_web_plugins 0.0.0 [flutter js characters collection material_color_utilities meta vector_math]
- font_awesome_flutter 9.2.0 [flutter]
- frontend_server_client 3.1.0 [async path]
- glob 2.1.0 [async collection file path string_scanner]
- google_sign_in_android 6.1.1 [flutter google_sign_in_platform_interface]
- google_sign_in_ios 5.5.0 [flutter google_sign_in_platform_interface]
- google_sign_in_platform_interface 2.3.0 [flutter plugin_platform_interface quiver]
- google_sign_in_web 0.10.2 [flutter flutter_web_plugins google_sign_in_platform_interface js]
- graphs 2.1.0 [collection]
- html 0.15.1 [csslib source_span]
- http 0.13.5 [async http_parser meta path]
- http_multi_server 3.2.1 [async]
- http_parser 4.0.1 [collection source_span string_scanner typed_data]
- image 3.2.2 [archive meta xml]
- intl 0.17.0 [clock path]
- io 1.0.3 [meta path string_scanner]
- js 0.6.4
- lints 2.0.0
- logging 1.0.2
- matcher 0.12.12 [stack_trace]
- material_color_utilities 0.1.5
- meta 1.8.0
- mime 1.0.2
- package_config 2.1.0 [path]
- path_drawing 1.0.1 [vector_math meta path_parsing flutter]
- path_parsing 1.0.1 [vector_math meta]
- path_provider_android 2.0.21 [flutter path_provider_platform_interface]
- path_provider_ios 2.0.11 [flutter path_provider_platform_interface]
- path_provider_linux 2.1.7 [ffi flutter path path_provider_platform_interface xdg_directories]
- path_provider_macos 2.0.6 [flutter path_provider_platform_interface]
- path_provider_platform_interface 2.0.4 [flutter platform plugin_platform_interface]
- path_provider_windows 2.1.2 [ffi flutter path path_provider_platform_interface win32]
- petitparser 5.0.0 [meta]
- platform 3.1.0
- plugin_platform_interface 2.1.3 [meta]
- pool 1.5.1 [async stack_trace]
- process 4.2.4 [file path platform]
- pub_semver 2.1.1 [collection meta]
- pubspec_parse 1.2.1 [checked_yaml collection json_annotation pub_semver yaml]
- quiver 3.1.0 [matcher]
- riverpod 2.1.1 [collection meta stack_trace state_notifier]
- shared_preferences_android 2.0.12 [flutter shared_preferences_platform_interface]
- shared_preferences_ios 2.1.1 [flutter shared_preferences_platform_interface]
- shared_preferences_linux 2.1.1 [file flutter path path_provider_linux path_provider_platform_interface shared_preferences_platform_interface]
- shared_preferences_macos 2.0.4 [flutter shared_preferences_platform_interface]
- shared_preferences_platform_interface 2.1.0 [flutter plugin_platform_interface]
- shared_preferences_web 2.0.4 [flutter flutter_web_plugins shared_preferences_platform_interface]
- shared_preferences_windows 2.1.1 [file flutter path path_provider_platform_interface path_provider_windows shared_preferences_platform_interface]
- shelf 1.3.2 [async collection http_parser path stack_trace stream_channel]
- shelf_web_socket 1.0.2 [shelf stream_channel web_socket_channel]
- sky_engine 0.0.99
- source_gen 1.2.6 [analyzer async build dart_style glob meta path source_span yaml]
- source_helper 1.3.3 [analyzer collection source_gen]
- source_span 1.9.0 [collection path term_glyph]
- sqflite_common 2.4.0+2 [synchronized path meta]
- stack_trace 1.10.0 [path]
- state_notifier 0.7.2+1 [meta]
- stream_channel 2.1.0 [async]
- stream_transform 2.0.0
- string_scanner 1.1.1 [source_span]
- synchronized 3.0.0+3
- term_glyph 1.2.1
- test_api 0.4.12 [async boolean_selector collection meta source_span stack_trace stream_channel string_scanner term_glyph matcher]
- timing 1.0.0 [json_annotation]
- typed_data 1.3.1 [collection]
- universal_io 2.0.4 [collection crypto meta typed_data]
- vector_math 2.1.2
- watcher 1.0.1 [async path]
- web_socket_channel 2.2.0 [async crypto stream_channel]
- win32 2.7.0 [ffi]
- xdg_directories 0.2.0+2 [meta path process]
- xml 6.1.0 [collection meta petitparser]
- yaml 3.1.1 [collection source_span string_scanner]

Thanks for the report. Using code sample provided, getting same behavior as reported.


updated some tests to be atomic and clean up after themselves

open to feedback

Nice improvement to the test suite !
Thank you for that. I'll squash it into one commit and merge it.

@all-contributors please add @antonytrupe for tests


Membership start page: Some fixes

Instead of radio buttons here, please make a big (virtual) button where we can add an icon and some text. We need to explain what these are. For now please use dummy text and icon.
Clicking any of these buttons should lead on to the payment page directly - there doesn't need to be a separate "proceed" button.

Users who aren't logged in shouldn't see the form at all - they should be redirected to account login or creation with the flash message "You have to have an account before you can register for membership".

Implemented as part of the issue #65, commit #7ceb816.


Statistical Accounts

Correction for apply totaling dimensions filters:
The cell value calculation does not apply the totaling dimensions filters, however the drilldown shows the entries with the totaling dimensions filters.
Allow to reverse entries with HideDialog option

@microsoft-github-policy-service agree company="SUMMAR SOFTWARE Y SERVICIOS INFORMATICOS, S.A."
https://www.summarerp.es/
[cid:summar2_fbf9c301-c479-4b64-99b4-3982b5d76b8a.jpg]https://www.summar.es/
Guillermo León
902 37 81 81
www.summarerp.es
[cid:horario_general_summar_a317a076-a652-4a2e-9da3-cb3ca3a5a14d.jpg]
Aviso Legalhttps://www.summar.es/disclaimer.aspx
De: microsoft-github-policy-service[bot] @.>
Enviado el: miércoles, 28 de junio de 2023 18:29
Para: microsoft/ALAppExtensions @.>
CC: Guillermo León @.>; Mention @.>
Asunto: Re: [microsoft/ALAppExtensions] Statistical Accounts (PR #23955)
@gleonsummarhttps://github.com/gleonsummar please read the following Contributor License Agreement(CLA). If you agree with the CLA, please reply with the following information.
@microsoft-github-policy-service agree [company="{your company}"]
Options:

(default - no company specified) I have sole ownership of intellectual property rights to my Submissions and I am not making Submissions in the course of work for my employer.

@microsoft-github-policy-service agree

(when company given) I am making Submissions in the course of work for my employer (or my employer has intellectual property rights in my Submissions by contract or applicable law). I have permission from my employer to make Submissions and enter into this Agreement on behalf of my employer. By signing below, the defined term “You” includes me and my employer.

@microsoft-github-policy-service agree company="Microsoft"
Contributor License Agreement
Contribution License Agreement
This Contribution License Agreement (“Agreement”) is agreed to by the party signing below (“You”),
and conveys certain license rights to Microsoft Corporation and its affiliates (“Microsoft”) for Your
contributions to Microsoft open source projects. This Agreement is effective as of the latest signature
date below.

Definitions.
“Code” means the computer software code, whether in human-readable or machine-executable form,
that is delivered by You to Microsoft under this Agreement.
“Project” means any of the projects owned or managed by Microsoft and offered under a license
approved by the Open Source Initiative (www.opensource.orghttp://www.opensource.org).
“Submit” is the act of uploading, submitting, transmitting, or distributing code or other content to any
Project, including but not limited to communication on electronic mailing lists, source code control
systems, and issue tracking systems that are managed by, or on behalf of, the Project for the purpose of
discussing and improving that Project, but excluding communication that is conspicuously marked or
otherwise designated in writing by You as “Not a Submission.”
“Submission” means the Code and any other copyrightable material Submitted by You, including any
associated comments and documentation.
Your Submission. You must agree to the terms of this Agreement before making a Submission to any
Project. This Agreement covers any and all Submissions that You, now or in the future (except as
described in Section 4 below), Submit to any Project.
Originality of Work. You represent that each of Your Submissions is entirely Your original work.
Should You wish to Submit materials that are not Your original work, You may Submit them separately
to the Project if You (a) retain all copyright and license information that was in the materials as You
received them, (b) in the description accompanying Your Submission, include the phrase “Submission
containing materials of a third party:” followed by the names of the third party and any licenses or other
restrictions of which You are aware, and (c) follow any other instructions in the Project’s written
guidelines concerning Submissions.
Your Employer. References to “employer” in this Agreement include Your employer or anyone else
for whom You are acting in making Your Submission, e.g. as a contractor, vendor, or agent. If Your
Submission is made in the course of Your work for an employer or Your employer has intellectual
property rights in Your Submission by contract or applicable law, You must secure permission from Your
employer to make the Submission before signing this Agreement. In that case, the term “You” in this
Agreement will refer to You and the employer collectively. If You change employers in the future and
desire to Submit additional Submissions for the new employer, then You agree to sign a new Agreement
and secure permission from the new employer before Submitting those Submissions.
Licenses.

Copyright License. You grant Microsoft, and those who receive the Submission directly or
indirectly from Microsoft, a perpetual, worldwide, non-exclusive, royalty-free, irrevocable license in the
Submission to reproduce, prepare derivative works of, publicly display, publicly perform, and distribute
the Submission and such derivative works, and to sublicense any or all of the foregoing rights to third
parties.
Patent License. You grant Microsoft, and those who receive the Submission directly or
indirectly from Microsoft, a perpetual, worldwide, non-exclusive, royalty-free, irrevocable license under
Your patent claims that are necessarily infringed by the Submission or the combination of the
Submission with the Project to which it was Submitted to make, have made, use, offer to sell, sell and
import or otherwise dispose of the Submission alone or with the Project.
Other Rights Reserved. Each party reserves all rights not expressly granted in this Agreement.
No additional licenses or rights whatsoever (including, without limitation, any implied licenses) are
granted by implication, exhaustion, estoppel or otherwise.

Representations and Warranties. You represent that You are legally entitled to grant the above
licenses. You represent that each of Your Submissions is entirely Your original work (except as You may
have disclosed under Section 3). You represent that You have secured permission from Your employer to
make the Submission in cases where Your Submission is made in the course of Your work for Your
employer or Your employer has intellectual property rights in Your Submission by contract or applicable
law. If You are signing this Agreement on behalf of Your employer, You represent and warrant that You
have the necessary authority to bind the listed employer to the obligations contained in this Agreement.
You are not expected to provide support for Your Submission, unless You choose to do so. UNLESS
REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING, AND EXCEPT FOR THE WARRANTIES
EXPRESSLY STATED IN SECTIONS 3, 4, AND 6, THE SUBMISSION PROVIDED UNDER THIS AGREEMENT IS
PROVIDED WITHOUT WARRANTY OF ANY KIND, INCLUDING, BUT NOT LIMITED TO, ANY WARRANTY OF
NONINFRINGEMENT, MERCHANTABILITY, OR FITNESS FOR A PARTICULAR PURPOSE.
Notice to Microsoft. You agree to notify Microsoft in writing of any facts or circumstances of which
You later become aware that would make Your representations in this Agreement inaccurate in any
respect.
Information about Submissions. You agree that contributions to Projects and information about
contributions may be maintained indefinitely and disclosed publicly, including Your name and other
information that You submit with Your Submission.
Governing Law/Jurisdiction. This Agreement is governed by the laws of the State of Washington, and
the parties consent to exclusive jurisdiction and venue in the federal courts sitting in King County,
Washington, unless no federal subject matter jurisdiction exists, in which case the parties consent to
exclusive jurisdiction and venue in the Superior Court of King County, Washington. The parties waive all
defenses of lack of personal jurisdiction and forum non-conveniens.
Entire Agreement/Assignment. This Agreement is the entire agreement between the parties, and
supersedes any and all prior agreements, understandings or communications, written or oral, between
the parties relating to the subject matter hereof. This Agreement may be assigned by Microsoft.

—
Reply to this email directly, view it on GitHubhttps://github.com/microsoft/ALAppExtensions/pull/23955#issuecomment-1611739735, or unsubscribehttps://github.com/notifications/unsubscribe-auth/AKAXWUF44XHZ3J5ZIJEAVD3XNRLTDANCNFSM6AAAAAAZXL2JBY.
You are receiving this because you were mentioned.Message ID<EMAIL_ADDRESS>

Availability update: We will publish a fix for this issue in the next update for release 22.
Build ID to track: 59378.

Thanks for reporting this. We agree, and we’ll publish a fix asap, either in an update for the current version or in the next major release. Please do not reply to this, as we do not monitor closed issues. If you have follow-up questions or requests, please create a new issue where you reference this one.
Build ID: 11694.

Hi, do you know when you might be available for customers?

The PR is merged with our repo, it will be shipped with the next minor and will be included in the next major release. I was a bit late with porting the changes because of vacation season.
Thanks for the contribution.

Great! Thank you. I just needed to know so I could tell the customer when it would be available.
https://www.summarerp.es/
[cid:summar2_fbf9c301-c479-4b64-99b4-3982b5d76b8a.jpg]https://www.summar.es/
Guillermo León
902 37 81 81
www.summarerp.es
[cid:horario_general_summar_a317a076-a652-4a2e-9da3-cb3ca3a5a14d.jpg]
Aviso Legalhttps://www.summar.es/disclaimer.aspx
De: nikolakukrika @.>
Enviado el: viernes, 4 de agosto de 2023 23:07
Para: microsoft/ALAppExtensions @.>
CC: Guillermo León @.>; Mention @.>
Asunto: Re: [microsoft/ALAppExtensions] Statistical Accounts (PR #23955)
Hi, do you know when you might be available for customers?
The PR is merged with our repo, it will be shipped with the next minor and will be included in the next major release. I was a bit late with porting the changes because of vacation season.
Thanks for the contribution.
—
Reply to this email directly, view it on GitHubhttps://github.com/microsoft/ALAppExtensions/pull/23955#issuecomment-1666181187, or unsubscribehttps://github.com/notifications/unsubscribe-auth/AKAXWUADZFBLDCBZOHFUCO3XTVP7BANCNFSM6AAAAAAZXL2JBY.
You are receiving this because you were mentioned.Message ID<EMAIL_ADDRESS>


DateTimePicker large format shortened

When using a large format the control doesn't grow large enough to show the entire DateTime.
Using the format yyyy-MM-dd'T'HH:mm:ss.SSS.

I've added a function that will align the prefColumnCount with the current format. You can try to add the following code after you have set the format to see the effect until the next release:
` ``kotlin
picker.getEditor().setPrefColumnCount(picker.getFormat().length());

Does that work for you?

That worked perfectly

Great :) Thanks for getting back to me.


Up_Down_VC downstream task

Hi,
Thank you for such a great open-source here.
I have succeeded in making an inference to the raw image base on ruotianluo 's codebase.
I am also interest on using your VC Feature there, so I guess it will work with VC concatenated with UpDown Feature on MSCOCO dataset.
About raw data inference, it is mentioned by ruotianluo that it will not work with UpDown Feature. Therefore, is it possible to concatenate your VC Feature with the pre-trained ResNet features, or we should use another mechanism? Thank you very much.

Actually, for

Actually the raw image can not work with updown feature is because the image should be firstly extracted the Updown feature. You can just get the updown feature firstly.
About concatenating to the pretrained resnet feature, the answer is absolutely yes. But I haven't done the experiment.

For the updown feature, you can refer to here

Moreover, the feature concatenation actually is very free. You can just treat VC feature as an additional information source and design models to use it.

Thank you, I will try it and let you know soon ^^


I'm having trouble with Cython

I was able to install Cython, with "brew install python" but when I do the 'pip install -e .' command I get some error centering on Cython.
    from Cython.Build import cythonize
ModuleNotFoundError: No module named 'Cython'

@pcezanne you may need to run pip install -U cython to install cython, if you have not already

Just as a heads-up, the next version (0.2.0) will run concorde in a subprocess, thus removing the need for Cython. You can get a sneak preview of this API in https://github.com/jvkersch/pyconcorde/issues/28#issuecomment-770354999

Just as a heads-up, the next version (0.2.0) will run concorde in a subprocess, thus removing the need for Cython. You can get a sneak preview of this API in https://github.com/jvkersch/pyconcorde/issues/28#issuecomment-770354999


Consolidate ImmediateIntermediateJavaArtifact class hierarchy

Trim static inner types in JvmPluginsHelper

Remove ImmediateIntermediateJavaArtifact -> replace with anonymous implementation of IntermediateJavaArtifact
Remove ProviderBasedIntermediateJavaArtifact

update IntermediateJavaArtifact to accept a provider
update IntermediateJavaArtifact to be non-abstract
Inject ProviderFactory into DefaultJvmPluginServices
existing usage just calls with simple anonymous provider (becomes lazy)

rename IntermediateJavaArtifact to LazyJavaDirectoryArtifact (it is only used for classes and resources variants)
Move to private inner class od DefaultJvmPluginServices

Result = just 1 inner type
Part of consolidating the PublishArtifact type hierarchy

@bot-gradle test QFL

I've triggered the following builds for you:

QuickFeedbackLinux build

@bot-gradle test this

I've triggered the following builds for you:

PullRequestFeedback build

@bot-gradle test and merge

Your PR is queued. See the queue page for details.

I've triggered a build for you.


Training recipe of ConvTasNet on LibriMix dataset.

Yes. I'm running the training pipeline to achieve the same performance as Asteroid. Moto tried before but couldn't get the same score, so I'm debugging his implementation to see where I can improve.

Do you guys use padding ? We use only slicing in Asteroid and for a good reason

Do you guys pad the examples ? We use only slicing in Asteroid and for a good reason. I see here both slicing and padding are implemented. If you pad that is why you can't achieve same performance probably.

Yes, I reduced the duration of training examples to 3 seconds so that I only use slicing instead of padding. Another change I made is that I use Si-SDR instead of Si-SDR improvement as the loss function. Now I achieved 14.8 dB Si-SDR improvement on sep_clean task :)

Si-SDR and Si-SDR improvement should not make any difference as the gradient is the same.

Yeah, but the Si-SDR improvement may not be stable compared to the Si-SDR loss, that will affect the LR scheduler.

Good point !


[Question] Which library/framework have you been using together with jte?

I'm starting a new project, and I was wondering, from the users of this lib, what has been the go-to choice of library to pair with it.
Is it Svelte, htmx, react, jquery...?
Would be nice if you post your experience and tell why you used it, perhaps also some tips and tricks to make the most of it as well 😄.
If you have sample public repos, even better 😄!
@casid as a suggestion, maybe the "discussions" tab could be enabled? to avoid cluttering the issues which such posts.

That's a good idea! I've enabled the discussions tab, do you want to move this over there?


Server-side Blazor Production and Reliability

Edit: @rynowak hijacking top post for great justice
Summary
This issue tracks doing all the needed work to support server-side Blazor in production.
I plan to dig into the following areas and for each area assess the current state, make recommendations and log bugs, and write documentation and guidance.
Working in order:

Error handling
Logging and Diagnostics
Network Reliability
Resiliency to app recycling
Scale out

In the background the team will be fixing any high priority issues that come up.
Error Handling
This includes the possible causes and categories of errors that can occur in a server-side Blazor application, and how application developers should be prepared to deal with them.

[ ] Make error handling explicit on boundaries between framework and user code (lifecycle methods, rendering)

We divide unhandled exceptions into two categories:

Exception thrown with an observer (event handler)
Exception thrown without an observer (during rendering)

Exceptions that are thrown as a result of an event handler (observed) are not always bugs. It might be a reasonable behavior for a component to throw an exception in response to invalid data for example. We think that logging is good enough for these cases.

[ ] Make sure errors thrown on event handlers are logged on the server
[ ] Make sure client-side code cannot see unsanitized exception details

For unobserved exceptions, these are generally thrown during the rendering process and can corrupt state. We should not attempt to recover or reuse the circuit if an exception is thrown while rendering.

[ ] Tear-down/dispose crashed circuits and disconnect the client.
[ ] Notify the client that the circuit is has crashed (ideally with UI).

Logging and Diagnostics
This includes logging and diagnostics of communications between server-side .NET code and client-side JS code, as well as any significant events on the server side. This can also include DiagnosticSource, EventSource, and EventCounters. We will likely make a prioritized list in this area and draw a cutline. My assumption is that the priority here is around the network ingress/egress.
We need to dial up the amount of logging we can produce on both the server and client, and make it possible for developers to diagnose and report issues that we can take action upon using logs.

[ ] We need logging for entry/exit/results of all Hub calls on both the client and server. Some of this is provided by SignalR, but we need to log the relevant data at an appropriate level.
[ ] Where we're using JS interop for fundamental framework concerns, we need to make the diagnostic information first-class. One way to do this is by converting JS interop to a hub method.
[ ] We need to add logging and diagnostics for JS Interop.

Network Reliability
This covers the reliability to SignalR connection, the ability to resume a circuit, and the ability for the browser the reconnect without data loss.
We have some user-reported issues that we are acting upon here, but we need to identify a strategy for testing reliability, and ideally this would dovetail with our other E2E testing strategy.

[ ] When a client disconnects, rendering updates will be queued on the server and delivered in order once the client reconnects.
[ ] When a message fails to send on the client, the message will be queued and delivered in order.
[ ] Prevent client from sending out of order messages.
[ ] Test that a client can disconnect and reconnect multiple times without loss of data.
[ ] Test clients with a slow connection/high latency/proxies.
[ ] Tests scenarios with a high interaction-rate with the goal of providing guidance about patterns that do and do not work well for server side.

Resource Consumption
This covers understanding and mitigating the causes of excessive resource consumption on the server. Due to Blazor's stateful and connected nature, keeping an eye on how usage patterns can leave to resource exhaustion is important.

[ ] Proactively remove a circuit when the user closes a tab.
[ ] Proactively stop/start rendering when a user isn't looking at the tab.
[ ] Deactivate circuits due to inactivity. This could be a sample since it might not fit all use cases.
[ ] Can we rate-limit the number of connections open (per user/total)? This could use the CircuitHandler if we added the ability to reject a connection.
[ ] Can we rate-limit events per-connection?
[ ] Provide guidance a documentation for understanding resource consumption per-user/per-circuit.

Resiliency to App Recycling
This covers the set of infrastructure and guidance users will need to build applications that function well when the server is shut down or crashes. This is important because server-side Blazor holds the the application state in memory on the server - the default experience is that if the server goes away so does all of your state that hasn't been persisted to a data store.

[ ] Guidance and documentation for how to architect apps that don't rely on keeping all of the state for a workflow in memory (paginated form/wizard).
[ ] Provide a sample of how components can be notified for a circuit shutdown/load and use that callback to save/load state.
[ ] Sample of a component that persists UI state to local storage to be resiliant to catastrophic failures.

Scale out
This covers the set of steps that are required to deploy server-side Blazor is a scalable way (multiple servers). Since Blazor uses server-side memory to hold state, we expect applications to commonly need multiple servers and a scale-out strategy.

[X] Scale out strategies for server-side Blazor will rely on stickiness provided by the Azure SignalR service.
[ ] A non-Azure-based deployment of server-side Blazor will rely on stickiness/affinity being enforced by a load balancer.
[ ] Address the scale-out problems caused by data protection (we're using data protection for CircuitIds which introduces the need for external storage).

Known Items

[ ] https://github.com/aspnet/AspNetCore/issues/9893 Circuits are not being cleaned up without traffic
[ ] https://github.com/aspnet/AspNetCore/issues/5496 Investigate accumulation of Disposable transient services
[ ] https://github.com/aspnet/AspNetCore/issues/8003 Allow robust reconnects when client do not perform graceful disconnects
[ ] https://github.com/aspnet/AspNetCore/issues/10449 Server-side Blazor E2E performance and capacity testing
[ ] https://github.com/aspnet/AspNetCore/issues/9117 Better server-side limits

This issue tracks high level work for:

any feature work (if necessary)
guidance / docs

We need to first measure the load on some representative app (Blazing Pizza app)

We need to first measure the load on some representative app (Blazing Pizza app)

You can also find a large server side app at http://oqtane.org

The ignitor client is checked in to enable perf and security testing.
/cc @pranavkm @javiercn

Moving this to Preview8 as the work is ongoing and will continue in the next milestone.

OK, after some further consideration, discussions, and research, here's what I'm proposing should actually be considered or attempted during preview 8, in priority order:

Ensure clients can't cause a global unhandled exception that would terminate the process (either accidentally or deliberately)

e.g., today they can by making a JSInterop call and passing an unknown object ID

Expand logging and diagnostics

Ensure developers can trace all the major things that happen in a server-side Blazor application (e.g., circuits starting/ending) with a special focus on all incoming calls from the client (event notifications, JSInterop calls, renderbatch ACKs)

Provide examples/guidance around state management when reconnecting to a different server

This can include patterns like storing state in localStorage or a database, and addressing the question of whether/how to restore some level of UI state. For server-side state storage, how do we associate the state with the circuit, and how do we ensure we clean it up at the right time?
Consider whether it makes sense ever to do this on a per-component basis, as opposed to on an app-wide basis

Provide guidance on error handling

Enumerate all the places we'd expect a developer to write some manual error handling code so we can document and explain them.
With respect to the different boundaries between framework and application code (lifecycle
methods, event handlers, dispose, DI services, rendering, etc.), which of them will terminate the circuit if there's an exception? Which of them will surface the error in a way that naturally appears to the user and/or gets logged?

Feature: Auto-reload if circuit reconnection fails

Feature: proactively terminate circuits if a user disconnects gracefully

The last two "feature" items there are stretch targets. I'm definitely not promising they both get done and shipped for 3.0. It depends on how much other stuff is going on, since they are not committed for inclusion at this stage. It may be that it's sufficient to be able to describe ways of achieving someone along those lines in user code (as some server-side Blazor developers already have done for "auto-reload if reconnection fails").

Ensure clients can't cause a global unhandled exception that would terminate the process (either accidentally or deliberately)

e.g., today they can by making a JSInterop call and passing an unknown object ID

This overlaps with some of the security stuff. I was compiling the same list to get ready to file issues for them. I guess we can add the individual items to the uber issues and just mark them as complete in both places? (Even if it involves a bit of duplication that way we ensure everything we want for a given aspect is covered).

@javiercn OK, that's good to know. Let's discuss in the sync this morning. Maybe we can break out that particular deliverable into its own issue, assign to you if you're already working on it, and then yes mark it complete in both places when done.

Hello Team;
Please put the final resolutions in the Blazor Docs, so we will have ONE place to go to, for docs and solutions, than chasing bits and pieces on gitub.
Thanks!

@BenHayat Absolutely, that's the plan.

@danroth27 ;
Thank you Sir!
Please cover the issue that for every user that starts our app, a new instance will start and server becomes limited.
We have to know the limit, so we can control how many users (perhaps only registered users can use the app and block anonymous users to lower the # of instances). This is one area that we are nervous about.
I'm sure the client-side version will not have this side effect, as out server will be mainly a REST server to respond to a lot more users.
Thank you Dan...

OK, all the bits that we committed to do in preview 8 (https://github.com/aspnet/AspNetCore/issues/10472#issuecomment-507287475) are now done. Any small remaining bits are tracked in their own issues (I think @javiercn still has a couple of JS interop-related bits underway, and all the parts I'm doing are done).
I'm unassigning myself now and assigning @mkArtakMSFT for any further triage that might be needed. We may choose to close this issue since it probably doesn't contain remaining value as its items are all covered elsewhere.

Closing as everything else is now covered as part of referenced issues.

This is for server-side Blazor.  When can we assume the Client-side version to be considered "production ready"?  Thanks

Hi @DrGriff. We haven't officially announced the roadmap for Blazor WebAssembly yet, but we don't expect it ship it until after we've finished work on .NET Core 3.1, which we previously announced will ship in Nov of this year. After .NET Core 3.1 is done, Blazor WebAssembly will become our main focus and we expect it will be ready for production use in the first half of 2020.


Loop in the Markdown

Hello,
I am creating the styleguide and I have many similar css classes for color. I don't want to type a lot of similar text in the the example block.
is there a way to create a loop in the markdown?

I think you need to extend the markdown renderer to do what you're wanting. There's a simple example here: https://github.com/trulia/hologram/blob/master/example_markdown_renderer.rb.example but unfortunately what you're asking for doesn't exist out of the box.


Add XFS/xfsprogs to image.

I already saw #135 but I'm not sure what the conclusion was. I'm a little confused by the response. It says the image is already on XFS?
I have a container using mongo:4.4.0 and I want to mount a separate XFS volume to /data/db. When I try, I get "unknown filesystem type 'xfs'".
I'd be happy to do a PR to include xfsprogs. Thanks in advance!

I don't think xfsprogs inside the image entirely makes sense -- I think that should be installed on your host, and your filesystem mounted there and then bind-mounted into the container, ala:
$ mount -t xfs /dev/sdx1 /mnt/mongodb-drive
$ mkdir /mnt/mongodb-drive/data-db
$ docker run ... --mount type=bind,src=/mnt/mongodb-drive/data-db,dst=/data/db mongo:xxx ...

Any additional insights on what that might look like for kubernetes on GKE? They use Container optimized OS, which doesn't have XFS, I believe.

You'd have to take that up with GKE -- if the host OS doesn't support XFS, you're not going to get XFS working very reliably in a container without doing some serious hacks (which amount to breaking the container confinement and getting the XFS kernel module installed on the host).

After a little research, I found GKE supports Ubuntu node hosts with XFS support, so thankfully, I have a way forward. That aside, thanks for helping me understand a bit more!


[WIP] Fix type member resolution when constant redefinitions exist

Motivation
Fixes #1559; the issue fundamentally is that the resolver does its own name lookup but wasn't aware of the name-disambiguating work done in the namer. Consequently, in the program
class Foo
  A = T.type_alias(Foo)
  A = type_member
end

an implementation detail of the namer would try to resolve Foo::A$1 by looking up the meaning of Foo::A (because resolution uses the names found in the UnresolvedConstant) and that in turn led it to change the symbol associated with the type alias assignment to Foo::A, re-stitch that symbol into the AST, and then when we try to process A = T.type_alias(Foo) in a different pass we get into an anomalous situation where we "know" that A is a type member (because the associated symbol is the type member symbol) but it doesn't look like one!
The fix I've written here is that the resolver can also look up constants by field type: this means that when we look up Foo::A in a type alias context, we'll only ever find a type alias. We don't always want to do this, because otherwise we'll sidestep errors that we actually want to find where some constant in a nested scope isn't actually a thing that's scoped, but sometimes we do.
WIP for the following open questions/design decisions:

this so far has only come up in the context of a "fake" resolution item used to force certain errors that otherwise would go unnoticed without a use-site (specifically when we have a type_alias whose RHS is not valid). If that's the only situation where this can happen, maybe we can come up with a different way of forcing that resolution to happen!
are there other instances where we'll want to definitely search for constants of a given type in resolution?
right now, this just looks up based on the same flags used internally in a symbol, but this also exposes those details more broadly. This could be advantageous—e.g. we could grab the flags from the symbol, select only the type flags, and use them to look up only symbols of a corresponding type much more easily and much more quickly than a whole chain of if (isClass()) { lookupClassSymbol() } else (ifMethod()) { ... }, but it's worth considering whether to use a different set of flags in the resolution item and then go through other helper functions so we can keep the Flags internal.

Test plan

See included automated tests.

@gdritter-stripe what's the state of this PR?

It's not correct as written, and when we discussed the correct way to fix it Trevor was in the middle of working on attached_class and therefore refactoring much of the type_member-related code, so I held off on reviving this one. It's going to be a different approach: I think it's probably worth closing this PR and making an entirely new one with the fix.


fixed incorrect status with blank pid file

Thanks for this template, it saved me from writing lots of boilerplate. This just addresses a minor bug I encountered. If cmd fails to execute, an empty pid file is created, and status simply executes "ps", which of course succeeds. The -p ensures that it will fail if no PID is present.

Sorry for ignoring this so long, getting back on top of PRs now :smile: I couldn't reproduce the problem on macOS and Ubuntu 12.04, both ps INVALIDID and ps -p INVALIDID would return an exit code of 1. But it seems to fix an issue you and someone else is encountering and it doesn't actually hurt, so I merged it. Thanks!


Extracting of properties implemented by default interface method broken in 3.6.0 (regression from 3.5.2)

Summary
When a class implements an interface that has a getXxx() method with default implementation, extracting("xxx") fails with
org.assertj.core.util.introspection.IntrospectionError:
Can't find any field or property with name 'name'.
Error when introspecting properties was :
- No getter for property 'name' in [...]
Error when introspecting fields was :
- Unable to obtain the value of the field <'name'> from <...@d70c109>

This used to work in 3.5.2.
Example
import java.util.Arrays;
import java.util.List;

import org.junit.Test;

import static org.assertj.core.api.Assertions.*;

public class DefaultPropertyTest {
    @Test
    public void hasDefaultName() {
        List<Person> people = Arrays.asList(new Person());

        assertThat(people).extracting("name").containsOnly("John Doe");
    }
}

class Person implements DefaultName {

}

interface DefaultName {
    default String getName() {
        return "John Doe";
    }
}

Java 8 specific ?
YES (interface default methods)

Thanks for reporting this.

I caused this regression with https://github.com/joel-costigliola/assertj-core/commit/b996e82a86a19b40e80ee0741a5ace56145228b1
Sorry everybody. :(

@PascalSchumacher the main issue for me was the lack of tests with default methods, that would have caught the regression, hopefully we have great users and we now are aware of that.
@adammichalik is it a blocking issue for you ? said otherwise can you wait for 3.7.0 to be released or do you want a bugfix release ?

@joel-costigliola I can stick to 3.5.2 for now, no rush. Thanks for fixing it!

@joel-costigliola I'd really appreciate 3.6.x release with this bugfix sooner than 3.7.0.

@Xaerxess we can do that.

@Xaerxess  @adammichalik  Fixed in 3.6.2 which is available in maven central repo.

Thanks!

Thanks, I checked it and works fine in 3.6.2!


cabal file has metadata pointing to other repo

It points to benaco/paddle, which is also what appears as repository on hackage. Which is quite confusing, since apparently benaco/paddle is from some quite ancient history, with different module structure even.

I've rewriten their work to use Servant so it's quite a different api.
Thanks for letting me know, I fixed the cabal file.


Improper handling of 404 I suppose

@sammchardy I am seeing error on querying with a fresh account with zero balance/transactions. I suppose you are handling 404s opaquely.
Traceback (most recent call last):
  File "##/binance_chain/http.py", line 228, in get_account
    return self._get(f"account/{address}")
  File "##/binance_chain/http.py", line 124, in _get
    return self._request('get', path, **kwargs)
  File "##/binance_chain/http.py", line 96, in _request
    return self._handle_response(response)
  File "##/binance_chain/http.py", line 105, in _handle_response
    raise BinanceChainAPIException(response, response.status_code)
binance_chain.exceptions.BinanceChainAPIException: APIError(code=0): Invalid JSON error message from Binance Chain:

Yes you're right it's a 404 error with an empty body as the response from Binance Chain.
What do you expect to receive?
An exception should be raised, and if you catch this exception you would be able to access the status_code as a property of the exception. You can also access the response and request objects from the exception.
See the following example:
try:
    client.get_account('nosuchaddress')
except BinanceChainAPIException as e:
    print(e.status_code)
    print(e.response)
    print(e.request)

cool. Yes, using as you suggested. Thank you.

Hi @sammchardy ,@nandubatchu
It seems that i have the same issue:
File "/home/anaconda3/envs/crypto/lib/python3.5/site-packages/binance_chain/http.py", line 233     return self._get(f"account/{address}")                                         ^ SyntaxError: invalid syntax
But, i didn't understand how to fix it !
Thanks for your help


python3Packages.dtaidistance: init at 2.3.10

Description of changes
DTAIDistance is a library for dynamic time warping in Python.
I have set doCheck to false because the included tests are expensive long-running benchmark tests.

Things done

Built on platform(s)

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

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

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

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

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

[x] Fits CONTRIBUTING.md.

This pull request has been mentioned on NixOS Discourse. There might be relevant details there:
https://discourse.nixos.org/t/prs-ready-for-review/3032/2701

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

4 packages failed to build:

python310Packages.dtaidistance
python310Packages.dtaidistance.dist
python311Packages.dtaidistance
python311Packages.dtaidistance.dist

Tests are failing...

I just added your changes. Feel free to check out what's happening. I can take a look tomorrow.

I do not have the desire anymore to add this package. Anyone who is interested can copy the package script and open a new PR.