UI: Add support for new duration format in graph range input

Signed-off-by: ajinkya359<EMAIL_ADDRESS>Related: #3541
Subissue Support new duration format in graph range input.

Changes
Added the support for Support new duration format in graph range input.

Oh, this has been sitting on auto-merge from April 1st, looks like a record XD.
@ajinkya359 do you have some time to rebase this? It's fine otherwise as well, I can try to rebase this.

Rebased this on main and resolved the conflicts.

Redelivering the payload to CircleCI didn't help, let me try closing/opening the PR. Maybe that will trigger the CI :thinking:

It seems like CircleCI is completely broken on this PR, it doesn't "know" that this PR exists at all: https://app.circleci.com/pipelines/github/thanos-io/thanos?branch=pull%2F3678. Let's recreate :upside_down_face:

Even opening a new PR with the same branch doesn't help :scream: CircleCI looks dead

make test-e2e-local & export THANOS_TEST_OBJSTORE_SKIP=GCS,S3,AZURE,SWIFT,COS,ALIYUNOSS && make test pass, the UI works. I was about to merge but let's wait now :smile:

I amended and pushed the last commit again, seems to have woken up circle CI, let's see how this goes.

make test-e2e-local & export THANOS_TEST_OBJSTORE_SKIP=GCS,S3,AZURE,SWIFT,COS,ALIYUNOSS && make test pass, the UI works. I was about to merge but let's wait now

Haha, sorry. Let's wait then.


Crash when clicking on chatbox and moving mouse off

I've discovered an issue in which if you move your mouse over to the chat box to type a command or message, and then move the mouse off to play like normal, there seems to be some major delay and the browser seems to try and lock up for some reason.

To reproduce, I've also noticed when you use the scroll wheel too.
I think the scroll wheel should zoom in and zoom out the game.

Cannot reproduce. What browser are you using?

Chrome. Just scroll when your moving around and it will become unplayable.

Try updating everything. It works perfectly fine for me, tested on Chrome and latest clone with no issues. Can you check Chrome console for errors and put them here?

Does that still happen?

I cannot reproduce this XD

Please re-open it if it happens to come back.


propose order-discontinue

propose order-discontinue

John Silva pointed out that the existing definitions differentiate between discontinue and cancel, like so:

From table 0119 - Order Status codes ( https://www.hl7.org/fhir/v2/0119/index.html )
"The differentiation between discontinue and cancel is that discontinue effects the order/service and all future occurrences, cancel refers to just the present action."

It seems like both cancel and discontinue are equivalent when the order has only a single occurrence (incl. remaining). Would the request resource sent in toBeDiscontinued enable the service to differentiate between these two scenarios? (e.g. send child request for cancels, parent for discontinues?)

But, as an array, toBeDiscontinued doesn't enable pre-fetches.
Probably, each order being discontinued should be a full FHIR resource. A CDS Service givign advice on discontinued orders wil likely always want more data about the orders than just the FHIR id. Further, a typical clinical user workflow will limit the number of orders being discontinued at the same time.


Scope Component Detection Report

Currently, it appears that the Component Detection report runs the entire repository, client, data, and management tracks, in every pipeline. The reason appears to be targeting the incorrect pom.xml when running the report. This inadvertently flags incorrect pipelines as having component violations.

/cc @JimSuplizio

Based on previous conversations we've had with the CG folks, this is by design.  One thing we could consider is to only run CG in our aggregate pipeline.  If this concern is about wanting to scope the runs to sections of the repo (eg. too much noise in the reports from track 1) we're pretty sure there's no way to scope it, we can ask again.  If the concern is because of time spent reanalyzing the repo with each pipeline, we haven't seen CG taking very long and in a few weeks (through @mitchdenny's work) we'll have clear data on which tasks our pipelines are spending time on and will know how much time is being wasted here and whether it's worth the time to refactor.

@kurtzeborn to me, others may differ, this issue is noise. It appears that Azure Pipelines will flag each pipeline with a component governance violation when generating reports. An example here is that we had a static file listing an older version of Netty which had a violation, but since each pipeline will run the entire repo all pipelines get marked with a governance violation. When sourcing the root issue to mitigate there is a lot of time spent triangulating which library caused the violation. Moving the run to a centralized pipeline will reduce the number of pipelines flag but the investigation will remain the same where it requires searching for the root cause libraries.
As for noise from track 1, yes there is some around the dependencies they are using.

The aggregate pipelines concern me. One of the things that I am experiencing now is that in order to fix anything in the aggregate pipeline the entire repo has to build successfully which I am sad to say is not often the case, there are often tests/issues that block completely successful runs.
This is something that we need to sort out, but adding things to the aggregate pipeline right now probably means that they aren't going to run that often. The noise might actually be better.

I'm going to look into this a bit more closely. I find it hard to believe that there isn't a way to scope the CG search for components...

Looks like the detection code has been open sourced: https://github.com/microsoft/componentdetection

OK ... it looks like the compontent detection task now supports setting a sourceScanPath:
https://github.com/microsoft/ComponentDetection/blob/352828a29642c4135bb1c07f6044e277a425661e/AzurePipelinesExtension/src/component-detection-tool.ts#L619
If we disabled automated injection by manually putting in the task into the Analyze job (and disabled everywhere else) it means that we would get a scan of dependencies specific to a particular service directory.
Each pipeline would probably detect components which are common across service libraries, but not necessarily the entire graph every time. Would that work?

@mitchdenny that sounds like an ideal solution. Does it also mean we no longer need to generate a CG manifest?


Fix requests for non-existent team names

This commit fixes an issue where a request from a Slack channel that is not defined in the Seal would result in all PRs being posted to the default Slack channel for the webhook.

@elliotcm How about now?

@rubenarakelyan Looks good.  Should we update the tests?

@elliotcm Yup, done


#3870 Apply postProcessing to all stream rows

@sirfilip Should this work only for SQLite? Other DBs are failing now.

That is correct it is implemented for sqlite only will add it to the other dialects hopefully this week

Much appreciated!

@sirfilip Is there anything I could help with?

Sorry for the delay got new laptop working on it tonight

Guess will need some help with pg cause it is using the pg-query-stream package so will need to either dig in into the src or maybe can give some heads up :) ?

Hmm this approach is not going to work cause each dialect has own streaming support, will take some time to solve each one of them which is telling me maybe the whole approach is wrong and that i should look for a way to call postProcessResponse later in the stack and dodge the need to deal with all of the dialects, so will spend some time lnvestigating this.

@sirfilip That makes sense. Please ping me if you'll need any help or have any questions.

Will have to pause the development from my side cause getting overwhelmed with something else people, can someone please take this over ?

Will have to pause the development from my side cause getting overwhelmed with something else people, can someone please take this over ?


tree view overflow hidden when max-width is set

I had to add this to my stylesheet to make the plugin usable when a max-width is set:
atom-dock.left .tree-view,
atom-dock.right .tree-view {
    overflow-x: scroll !important;
}

Hi @mrleblanc101
Thanks for reporting, the plugin is unusable with the max-width setting.
Feel free to make a PR

Fixed on #23


Error saving deephtml

Hello,
I have this error "error saving test" when I want to use the deephtml argument.
The command I use is "fsu.exe C: /deephtml;abcdefghijklm;test"
Did someone already have this error and can help me solve it ?
Have a good day !

It could be a lack of write permissions on the drive you’re trying to save to.
I’ll investigate though, it could be a bug.
From: Seyfle @.>
Sent: Monday, January 22, 2024 2:18 PM
To: MaximumOctopus/FolderScanUltra @.>
Cc: Subscribed @.***>
Subject: [MaximumOctopus/FolderScanUltra] Error saving deephtml (Issue #1)
Hello,
I have this error "error saving test" when I want to use the deephtml argument.
The command I use is "fsu.exe C: /deephtml;abcdefghijklm;test"
Did someone already have this error and can help me solve it ?
Have a good day !
—
Reply to this email directly, view it on GitHub https://github.com/MaximumOctopus/FolderScanUltra/issues/1 , or unsubscribe https://github.com/notifications/unsubscribe-auth/AJUZOLKCL25M5OC6L5AHCT3YPZYJJAVCNFSM6AAAAABCFJE4VSVHI2DSMVQWIX3LMV43ASLTON2WKOZSGA4TIMBSGE2TKOA .
You are receiving this because you are subscribed to this thread.  https://github.com/notifications/beacon/AJUZOLMDVNTDIBZLTWEL3QTYPZYJJA5CNFSM6AAAAABCFJE4VSWGG33NNVSW45C7OR4XAZNFJFZXG5LFVJRW63LNMVXHIX3JMTHHZUB3WY.gif Message ID: @.*** @.***> >

Sorry for the delay. It's still on  my  to-do list, hopefully I'll get chance this weekend.


Problem with header for verb for JavaScript

I think this check in the verb.js header, is not correct
// node.js context, but not WebWorker
if ( typeof window !== 'object' && typeof require === "function"){
    Worker = require('webworker-threads').Worker;
}

Try opening one of your examples, like http://verbnurbs.com/examples/curveClosestPoint.html
and set a breakpoint there. You can see that window is not defined, even though we are in the browser. Furthermore, it is defined one step above in the call stack.
This makes it think that it's in a node context. In this case nothing happens, because require is not defined. But if you use verb inside a library that it's browserified, require will be defined, and it will require webworker-threads, which creates further problems (browserify won't work if it's not installed, and if you do install it, it will fail at runtime since it's not meant to run in the browser)
In conclusion, either the check is not correct, or window should somehow be defined there when running from a browser.

@elifer5000 Thanks a lot for letting me know. This should be fixed in 2.0.2 - out now. Just give it a npm install.


Is there a way to find a list of systems, data collections, ontologies that make use of ECO evidence codes?

Is there a way to find a list of ontologies that incorporate ECO evidence codes?
I know GO and HPO use it, but looking for a list and ideally a way to generate by search perhaps?
many thanks,
marcin

Hi @realmarcin ,
CollecTF is not an ontology, but it does use ECO.

Thanks, adding it the list.
And I've edited my initial question to include any system or data collection that uses ECO.

Hi @realmarcin ,
Don't know if you have it in already (it's a GO annotation resource), but GONUTS/CACAO switched this year from GO evidence codes to ECO.

Hi @realmarcin  - there is a list of ECO users on our web page here:
http://evidenceontology.org/about_us/#usergroups
However, this list is outdated and we are in the process of updating it.
May I ask what you are collecting this info for?
Michelle

Closing this for now. Please watch for updates to the website.
Let us know if you have any other questions.


hive: Fix the ineffectual SetEnvPrefix

Since hive.New already bound the config flags to the environment variables changing the environment prefix with (*Hive).SetEnvPrefix did not do anything.
As changing the environment prefix is (for the time being) something we want to do program-wide, store the environment prefix in a global variable and allow changing it with SetEnvPrefix before hive's are instantiated.

/test


Cleanup sphinx.ext.autosummary stuff as the API of bytesparse looks somewhat stable

Although sphinx.ext.autosummary is very useful to generate API docs while still growing the code base, it creates too many useless or duplicated entries, which hinders reading.
Now that the API of bytesparse looks somewhat stable, it's stime to refine the docs manually

Improved with commit 07a8fa98fb193150c3a2ff05a707b6af585580d2


Reordering instance variables to save space

Instance variables in a type are laid out in the order the compiler calls Crystal::Type#declare_instance_var on the type. Roughly speaking, TypeDeclarations and UninitializedVars go first, followed by other things like plain assignments. We can write this:
struct Foo
  @a = uninitialized Int64
  @b = uninitialized Bool
  @c = uninitialized Int64
  @d = uninitialized Bool
  @e = uninitialized Int64
  @f = uninitialized Bool
  @g = uninitialized Int64
  @h = uninitialized Bool
end

offsetof(Foo, @a) # => 0
offsetof(Foo, @b) # => 8
offsetof(Foo, @c) # => 16
offsetof(Foo, @d) # => 24
offsetof(Foo, @e) # => 32
offsetof(Foo, @f) # => 40
offsetof(Foo, @g) # => 48
offsetof(Foo, @h) # => 56
sizeof(Foo)       # => 64

We can also rearrange those instance variables to produce a smaller struct:
struct Foo
  @a = uninitialized Int64
  @c = uninitialized Int64
  @e = uninitialized Int64
  @g = uninitialized Int64
  @b = uninitialized Bool
  @d = uninitialized Bool
  @f = uninitialized Bool
  @h = uninitialized Bool
end

offsetof(Foo, @a) # => 0
offsetof(Foo, @c) # => 8
offsetof(Foo, @e) # => 16
offsetof(Foo, @g) # => 24
offsetof(Foo, @b) # => 32
offsetof(Foo, @d) # => 33
offsetof(Foo, @f) # => 34
offsetof(Foo, @h) # => 35
sizeof(Foo)       # => 40

By reordering the instance variables, we have reduced the amount of padding between them and, therefore, the total byte size occupied by a Foo instance.
I propose that the compiler should do this automatically for every type that isn't a primitive type or an extern type. All instance variables within a struct, not including its supertypes or subtypes, would be sorted in descending order by their alignments. For classes the situation is a bit different:
class Foo
  @a = uninitialized Int64
  @c = uninitialized Int64
  @e = uninitialized Int64
  @g = uninitialized Int64
  @b = uninitialized Bool
  @d = uninitialized Bool
  @f = uninitialized Bool
  @h = uninitialized Bool
end

offsetof(Foo, @a)    # => 8
offsetof(Foo, @c)    # => 16
offsetof(Foo, @e)    # => 24
offsetof(Foo, @g)    # => 32
offsetof(Foo, @b)    # => 40
offsetof(Foo, @d)    # => 41
offsetof(Foo, @f)    # => 42
offsetof(Foo, @h)    # => 43
instance_sizeof(Foo) # => 48

class Foo
  @b = uninitialized Bool
  @d = uninitialized Bool
  @f = uninitialized Bool
  @h = uninitialized Bool
  @a = uninitialized Int64
  @c = uninitialized Int64
  @e = uninitialized Int64
  @g = uninitialized Int64
end

offsetof(Foo, @b)    # => 4
offsetof(Foo, @d)    # => 5
offsetof(Foo, @f)    # => 6
offsetof(Foo, @h)    # => 7
offsetof(Foo, @a)    # => 8
offsetof(Foo, @c)    # => 16
offsetof(Foo, @e)    # => 24
offsetof(Foo, @g)    # => 32
instance_sizeof(Foo) # => 40

Because all reference types start with a type ID, which is an Int32 with an alignment of 4 bytes, it would be more efficient if instance variables with an alignment of 4, 2, or 1 byte are placed first, followed by other variables with an alignment larger than 4. This applies to classes whose entire inheritance chain up to Reference does not define any instance variables, in particular classes inheriting directly from Reference; subsequent subclasses are free to continue placing the most strictly aligned instance variables first.
A consequence is that the same generic type may order its instance variables differently depending on the generic arguments:
struct Foo(T)
  @x = uninitialized Int32
  @y = uninitialized T
end

offsetof(Foo(Int64), @x) # => 8
offsetof(Foo(Int64), @y) # => 0
sizeof(Foo(Int64)        # => 16

offsetof(Foo(Int8), @x) # => 0
offsetof(Foo(Int8), @y) # => 4
sizeof(Foo(Int8)        # => 8

The instance variables are never reordered across types; an instance variable in a subclass will never be moved before any instance variable in its superclasses. Thus, a pointer to a subclass is implicitly also a pointer to any of its superclasses. However, the same need not apply to included modules:
module Foo
  @x = uninitialized Int32
end

# `@x` and `@y` may be reordered
struct Bar(T)
  include Foo
  @y = uninitialized T
end

Here it is assumed that Foo#@x will always perform some kind of dynamic dispatch similar to union-typed variables.
String and Log::Metadata are special since they do not have a fixed instance size. Instead, String#@c and Log::Metadata#@first are flexible array members that must be the last instance variable, although the rest of their instance variables can still be reordered. (For String this requires a bit of extra effort when defining its constants too.) There should be a special annotation for these special instance variables.

It makes a lot of sense. Great analysis, Quinton! 👏

There should be a special annotation for these special instance variables.

One idea could be to repurpose @[Extern] for this because it's a bit of a similar situation. But then it's not really because we actually just need to pin a specific ivar to be the last one and everything else can be reordered as pleased.
So probably a dedicated annotation for the ivar specifically would be better.
There is some similarity to #7773 which proposes annotations for ivars regarding alignment and packing.

For String this requires a bit of extra effort when defining its constants too.

I noticed that as well while working on #12020 (which introduces an additional ivar): The memory layout of String is hard coded in three different places or so in the compiler (and prior to #13335 even in stdlib).

Given this is at the codegen level, macros would all be expanded already before the reordering happens yea? I.e. TypeNode#instance_vars would still return them in the same order as they do now?

@Blacksmoke16 Yeah, this is all limited to codegen.
I don't think we could reasonably change the order of TypeNode#instance_vars. That would break a lot of things.

But struct could be used for fast protocols: casting pointer to bytes into pointer to struct, and you're ready to read values.
So, there should be not only @[Extern], but @[Packet] as well.
Probably @[Extern] is a good name as well for this case, since we “externalize through raw serialization to bytes which are written to external storage/network”. Though I don’t know current it’s semantics.

@[Extern] only guarantees a struct has the same layout as if it were declared inside a lib, I don't think what you mention is related

@HertzDevil by the effect (fixed field order and offsets, ie fixed layout) it is the same. But by meaning, it is not.


Add Tar to the Herblore Skill calculator #3504

Added Guam, Marrentill, Tarromin and Harralander tars to herblore skill calculator

All of these items have been added to the skill calc, not sure in which commit.
https://github.com/runelite/runelite/blob/master/runelite-client/src/main/resources/net/runelite/client/plugins/skillcalculator/skill_herblore.json
But this should be closed.
@Hydrox6


⚠ Jenkins Plugins Artifactory has degraded performance

In db65bf2, Jenkins Plugins Artifactory (https://get.jenkins.io/plugins/artifactory/) experienced degraded performance:

HTTP code: 200
Response time: 1268 ms

Resolved: Jenkins Plugins Artifactory performance has improved in a73fecd after 17 minutes.


Add metadata filtering sample

Pull request to create a metadata filtering sample. Adding a notebook and a .pkl file that holds a movie dataset within a data frame.

Looks good to me, I ran it locally and no errors


array_contains: Incorrect example

Process ID: array_contains
Describe the issue:
Description states:

All definitions for the process eq regarding the comparison of values apply here as well. A null return value from eq is handled exactly as false (no match).

where

If any operand is null, the return value is null. Therefore, eq(null, null) returns null instead of true.

Example #4 says:

array_contains(data = [1,2,null], value = null) => true

Proposed solution:
Correct example would be array_contains(data = [1,2,null], value = null) => false

You are right, this should be fixed. (Nevertheless, this is really unintuitive.)

Fixed in e4df864846e833dda4669e190669a2db5b365c62


RKE2 Provisioning - Node Options

Ability to add taints and labels to nodes through Node Provisioned clusters and Custom clusters
Available to test through yaml creation

Node Pools:
nodePools:
#      - cloudCredentialSecretName: string
#        controlPlaneRole: boolean
#        displayName: string
#        etcdRole: boolean
#        hostnamePrefix: string
#        labels:
#          key: string
#        name: string
#        nodeConfig:
#          apiVersion: string
#          fieldPath: string
#          kind: string
#          name: string
#          namespace: string
#          resourceVersion: string
#          uid: string
#        paused: boolean
#        quantity: int
#        rollingUpdate:
#          maxSurge: string
#          maxUnavailable: string
#        taints:
#          - effect: string
#            key: string
#            timeAdded: string
#            value: string
#        workerRole: boolean

Taints flag is not available issue https://github.com/rancher/rancher/issues/32695

Applying taints:
Custom Cluster:
AWS and DO
Taints have invalid format in config file https://github.com/rancher/rancher/issues/33419
Node Driver:
AWS
Blocked on node creation issue https://github.com/rancher/rancher/issues/32785
DO
Pass

Update on applying taints using master-head commit id: 3e44415
AWS Custom Cluster: Taints have invalid format in config file #33419
DO Node Driver: Taints have invalid format in config file #33419
AWS Node Driver: Blocked on node creation  #32785
DO Custom Cluster: Blocked on node creation

Confirming DO Custom Cluster works as expected. It failed in my previous test due to limited resources.

Reproduction:
Not required.
Validation Successful:
Rancher version: v2.6-head 7b9a232ac 8/6/21 2:12pm Pacific
Rancher cluster type: single-node rancher in docker container
Docker version: 19.03
Downstream cluster type: rke2 (test both rke2 cluster provisioned by rancher [node driver] and rke2 custom cluster)
Downstream K8s version: v1.21.3-rc4+rke2r2
Validation steps:
Use Case 1 - RKE2 Provisioned by rancher (node driver):

Create an RKE2 cluster in Rancher, I used the DigitalOcean provider. Observed the ability to add node lables and taints in the UI:

Test by creating a couple of labels and and taints. I created a pool with just some labels and a worker pool with all types of taints (because this may cause issues with provisioning etcd/cp nodes)

Ensured that the json body in the POST request payload to create the cluster was as expected:

{
	"machinePools": [
		{
			"controlPlaneRole": true,
			"etcdRole": true,
			"hostnamePrefix": "dave-rke2-taints-1-pool1-",
			"labels": {
				"apples": "drool",
				"tacos": "rule"
			},
			"machineConfigRef": {
				"kind": "DigitaloceanConfig",
				"name": "nc-dave-rke2-taints-1-pool1-hb6g4"
			},
			"name": "pool1",
			"quantity": 1,
			"taints": [],
			"workerRole": true
		},
		{
			"controlPlaneRole": false,
			"etcdRole": false,
			"hostnamePrefix": "dave-rke2-taints-1-taintedworker-",
			"labels": {
				"brocolli": "drools",
				"tacos": "rule"
			},
			"machineConfigRef": {
				"kind": "DigitaloceanConfig",
				"name": "nc-dave-rke2-taints-1-taintedworker-cgdmp"
			},
			"name": "taintedworker",
			"quantity": 1,
			"taints": [
				{
					"effect": "NoSchedule",
					"key": "tainted",
					"value": "love"
				},
				{
					"effect": "PreferNoSchedule",
					"key": "taint2",
					"value": "hi"
				},
				{
					"effect": "NoExecute",
					"key": "taint3",
					"value": "yo"
				}
			],
			"workerRole": true
		}
	]
}

Ensured the cluster came up and in the UI I can see the labels/taints when viewing the nodes.

Queried the nodes in kubectl shell and ensured the labels and taints show there as well.

Use Case 2 - RKE2 custom cluster:
Performed the same steps as above in Use Case 1, but with a custom RKE2 cluster instead. Same result (all checks pass).
NOTE: The process / UI flow for rke2 custom clusters is slightly different. You set node labels and taints on the 2nd screen. Under "Step 1" in the UI on this 2nd page, click the "Show Advanced" link there to see the node taints/labels option :)


none of the executables runs

$ xfwm4
CANNOT LINK EXECUTABLE "xfwm4": library "libSM.so" not found
Aborted
$ ls -l ../usr/lib/libSM.so
-rwx------ 1 u0_a215 u0_a215 67880 May 25 17:18 ../usr/lib/libSM.so
$ xrdb
CANNOT LINK EXECUTABLE "xrdb": library "libXmuu.so.1" not found
Aborted
$ ls -l ../usr/lib/libXmuu.so
-rwx------ 1 u0_a215 u0_a215 67600 May 25 17:19 ../usr/lib/libXmuu.so
etc...

Use The X11 Repo Of Termux. They Have XFCE4 Available


[19.03 backport] Windows CI - Corrected LOCALAPPDATA location

backport of https://github.com/moby/moby/pull/39259 for 19.03
cherry-pick was clean

ping @olljanat @ddebroy @StefanScherer ptal

LGTM

failures are unrelated

bringing this one in


feat: Build help text based on terminal width, adjust column widths dynamically

This PR adds maxTableWidth and colRigidity options to TableSettings, allowing the table renderer to target a particular maximum width. colRigidity is a parameter where 1 indicates that the column width should not be reduced, and 0 that it can be adjusted arbitrarily. I made it a number instead of a bool, since it seems plausible to allow for a 0.5 to be reduced by half the amount of a 0, but I only implemented 0 and 1.
I then use this to update the help text generation, which is constrained to use the terminal width as the maximum width. I make the first columns rigid, as the descriptions and types are more likely to take up space and more tolerant to line breaks.
I hope this is reasonable. It dramatically improves the help text for my tool.
Before (regardless of terminal width):
❯ deno run -A jsr:@bids/validator --help

Usage:   bids-validator <dataset_directory>
Version: 1.14.13

Description:

  This tool checks if a dataset in a given directory is compatible with the Brain Imaging Data Structure specification. To learn more about
  Brain Imaging Data Structure visit http://bids.neuroimaging.io

Options:

  -h, --help                              - Show this help.
  -V, --version                           - Show the version number for this program.
  --json                                  - Output machine readable JSON
  -s, --schema           <URL-or-tag>     - Specify a schema version to use for validation
  -c, --config           <file>           - Path to a JSON configuration file
  -v, --verbose                           - Log more extensive information about issues
  --ignoreWarnings                        - Disregard non-critical issues
  --ignoreNiftiHeaders                    - Disregard NIfTI header content during validation
  --debug                <level>          - Enable debug output                                                             (Default: "ERROR", Values: "NOTSET", "DEBUG", "INFO",
                                                                                "WARN", "ERROR", "CRITICAL")
  --filenameMode                          - Enable filename checks for newline separated filenames read from stdin
  --blacklistModalities  <modalities...>  - Array of modalities to error on if detected.                                    (Default: [], Values: "MRI", "PET", "MEG", "EEG", "iEEG",
                                                                                "Microscopy", "NIRS", "MRS")
  -r, --recursive                         - Validate datasets found in derivatives directories in addition to root dataset
  -o, --outfile          <file>           - File to write validation results to.
  --color, --no-color    [color]          - Enable/disable color output (defaults to detected support)                      (Default: true)

After (88 columns)
❯ deno run -A ~/Projects/bids/bids-validator/bids-validator/src/bids-validator.ts --help

Usage:   bids-validator <dataset_directory>
Version: v1.14.15-dev.0-11-g8f3519b3

Description:

  This tool checks if a dataset in a given directory is compatible with the Brain
  Imaging Data Structure specification. To learn more about Brain Imaging Data
  Structure visit http://bids.neuroimaging.io

Options:

  -h, --help                              - Show this help.
  -V, --version                           - Show the version number
                                            for this program.
  --json                                  - Output machine readable
                                            JSON
  -s, --schema           <URL-or-tag>     - Specify a schema version
                                            to use for validation
  -c, --config           <file>           - Path to a JSON
                                            configuration file
  -v, --verbose                           - Log more extensive
                                            information about issues
  --ignoreWarnings                        - Disregard non-critical
                                            issues
  --ignoreNiftiHeaders                    - Disregard NIfTI header
                                            content during
                                            validation
  --debug                <level>          - Enable debug output       (Default:
                                                                      "ERROR", Values:
                                                                      "NOTSET",
                                                                      "DEBUG", "INFO",
                                                                      "WARN", "ERROR",
                                                                      "CRITICAL")
  --filenameMode                          - Enable filename checks
                                            for newline separated
                                            filenames read from
                                            stdin
  --blacklistModalities  <modalities...>  - Array of modalities to    (Default: [],
                                            error on if detected.     Values: "MRI",
                                                                      "PET", "MEG",
                                                                      "EEG", "iEEG",
                                                                      "Microscopy",
                                                                      "NIRS", "MRS")
  -r, --recursive                         - Validate datasets found
                                            in derivatives
                                            directories in addition
                                            to root dataset
  -o, --outfile          <file>           - File to write validation
                                            results to.
  --color, --no-color    [color]          - Enable/disable color      (Default: true)
                                            output (defaults to
                                            detected support)

142 columns
❯ deno run -A ~/Projects/bids/bids-validator/bids-validator/src/bids-validator.ts --help

Usage:   bids-validator <dataset_directory>
Version: v1.14.15-dev.0-11-g8f3519b3

Description:

  This tool checks if a dataset in a given directory is compatible with the Brain Imaging Data Structure specification. To learn more about
  Brain Imaging Data Structure visit http://bids.neuroimaging.io

Options:

  -h, --help                              - Show this help.
  -V, --version                           - Show the version number for this program.
  --json                                  - Output machine readable JSON
  -s, --schema           <URL-or-tag>     - Specify a schema version to use for validation
  -c, --config           <file>           - Path to a JSON configuration file
  -v, --verbose                           - Log more extensive information about issues
  --ignoreWarnings                        - Disregard non-critical issues
  --ignoreNiftiHeaders                    - Disregard NIfTI header content during validation
  --debug                <level>          - Enable debug output                                      (Default: "ERROR", Values: "NOTSET",
                                                                                "DEBUG", "INFO", "WARN", "ERROR",
                                                                                "CRITICAL")
  --filenameMode                          - Enable filename checks for newline separated filenames
                                            read from stdin
  --blacklistModalities  <modalities...>  - Array of modalities to error on if detected.             (Default: [], Values: "MRI", "PET",
                                                                                "MEG", "EEG", "iEEG", "Microscopy",
                                                                                "NIRS", "MRS")
  -r, --recursive                         - Validate datasets found in derivatives directories in
                                            addition to root dataset
  -o, --outfile          <file>           - File to write validation results to.
  --color, --no-color    [color]          - Enable/disable color output (defaults to detected        (Default: true)
                                            support)

I think this closes #723. It doesn't enable configuration, but it does do what I think they want. It's certainly what I want.
If someone wants to try this out, you can replace @cliffy/command with<EMAIL_ADDRESS>and @cliffy/table with<EMAIL_ADDRESS>


added percentages for better visualization

Description of PR
Type of PR

[ ] Bugfix
[x] New feature

Relevant Issues
Fixes #...
Checklist

[x] Compiles and passes lint tests
[x] Properly formatted
[x] Tested on desktop
[x] Tested on phone

Screenshots

Looks very cool, Hope maintainers will look into it @jeremyphilemon @sudevschiz .

Please raise an issue first and discuss if this is really required.


Hub related tweaks

fix: modal colors and CTA.

Removing $blue color from modal headers/footers, updating font color to dark default.
Removing white border from modal footer buttons.

fix(tabs): Updating segmented control to $dark color instead of green to simplify colors.

Looks much better!

:tada: This PR is included in version 1.1.8 :tada:
The release is available on:

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


chore: enable RUF ruleset for ruff

Description
This PR proposes to enable the RUF ruleset.
ruff check .

returned:
warning: The top-level linter settings are deprecated in favour of their counterparts in the `lint` section. Please update the following options in `pyproject.toml`:
  - 'ignore' -> 'lint.ignore'
  - 'select' -> 'lint.select'
  - 'isort' -> 'lint.isort'
deltalake/table.py:52:26: RUF100 [*] Unused `noqa` directive (unused: `F811`)
deltalake/writer.py:63:26: RUF100 [*] Unused `noqa` directive (unused: `F811`)
tests/pyspark_integration/test_write_to_pyspark.py:109:37: RUF010 [*] Use explicit conversion flag
Found 3 errors.
[*] 3 fixable with the `--fix` option.

So these were simply fixed with ruff check . --fix. https://github.com/delta-io/delta-rs/pull/2673 handles the fixing of the outdated config.

I'm not familiar with the ruleset and the changes don't look problematic to me :shrug:

@rtyler rebased, should be good now! Same for the other two PR's.


integrate with code coverage service

we did lots of refactor and may have some legacy code which is not removed and we also could have some code which should be covered by tests, use code coverage service could help us spot these issues

bump

https://github.com/web-infra-dev/rspack/pull/7834#issuecomment-2339818727


RK3399 TRM

Hello，My RK3399 TRM has not ISP registers description. Can you send me TRM of this repository using? My email depthkernel@gmail.com,Thank you!

After a few weeks of digging I realised that few chapters are missing in version 1.3 and 1.4 of the TRM (which is available in https://www.rockchip.fr/) which are actually found in version 1.1 and 1.2, which can be found here: https://web.archive.org/web/20211021044212/https://www.netbsd.org/~mrg/rk3399/ (The original link seems to be dead)
Specifically the following chapters are missing:

Crypto - v1.1 part 3 chapter 10
DDR Converser of Frequency (DCF) - v1.2 part 1 chapter 19
DP Controller - v1.1 part 3 chapter 8
HDCP22 Controller - v1.1 part 3 chapter 7
Image Enhancement Processor(IEP) - v1.1 part 3 chapter 4
Image Signal Processing (ISP) - v1.1 part 3 chapter 6
MIPI DSI HOST Controller - v1.1 part 3 chapter 9
Multi-format Video Decoder And Encoder - v1.1 part 3 chapter 5
Raster Graphic Acceleration (RGA) - v1.1 part 3 chapter 2
Type-C Power Delivery (PD) - v1.1 part 2 chapter 18
Video Output Processor (VOP) - v1.1 part 3 chapter 3

I'm not sure if the information in these chapters are up-to-date and reflect the specifications of recently manufactured chips though.
I'll add this information to the README shortly.

Thanks,but this link (https://web.archive.org/web/20211021044212/https://www.netbsd.org/~mrg/rk3399/ ) I can not access, could you push these pdf to GitHub? Thank you very much!

I've uploaded these files to the repo under the trms folder and added a note to the README as well. Hope you're able to access these files.

Thanks ,I can download these files.


Migration for Manifest V3

Firefox 対応も視野に入れている #12 ので、Firefox の Manifest V3 対応ロードマップが出てくるまで pend

今のところ特に必要性がないので close

This has to be done in some future time as all MV2 extensions will be remove from Chrome Web Store on Jan. 2024, but we can't do that until Firefox officially supports MV3. MV3 support in Firefox is currently in developer preview phase, and MV3 extensions can't be installed without enabling special settings (ref).


Record type to express key/value pairs

Feature Request 🛍

This proposes the addition of a Record type into the Concerto syntax to be able to express key/value pairs in an object. For example a Record<String, Foo> would express a key/value pair where the keys of the objects are String's and the values of this object are Foo objects.
You can look more at TypeScript's Record type documentation here: https://www.typescriptlang.org/docs/handbook/utility-types.html#recordkeys-type, which I think is good inspiration for what should be possible here.
Use Case
Here are a variety of different use cases that I think we should support:
Example 1:
concept Foo {
  o String propName
}

concept Example {
  o Record<String, Foo> fooDictionary
}

// An Example object could look like:
// {
//   fooDictionary: {
//     key: {
//       propName: 'Hello World'
//     }
//   }
// }

Example 2:
enum Keys {
  Some,
  Enum,
  Values
}

concept Foo {
  o String propName
}

concept Example {
  o Record<Keys, Foo> fooDictionary
}

// An Example object could look like:
// {
//   fooDictionary: {
//     Some: {
//       propName: 'Hello World'
//     },
//     Enum: {
//       propName: 'Other Hello World'
//     }
//   }
// }

Example 3:
concept Example {
  o Record<String, Boolean> fooDictionary
}

// An Example object could look like:
// {
//   fooDictionary: {
//     key: true
//   }
// }

Possible Solution
Not sure about implementation here, I would assume that we would at least need to be able to support the concept of generics within the language as a pre-requisite to this.
I also think it would be good to constrain the Record type to only support String or String derivates (e.g., Enum) as keys for a Record type. This is similar to what TypeScript does, and translates well to JSON. This does limit Record's functionality in terms of what is possible in other languages like Java or C# which could use classes as key types, but I think this constraint is desirable.
Context

Currently describing key/values pairs where keys are user generated content is currently not possible in Concerto. A Record type would help solve that problem. We see this when trying to describe variables for example, where variable names are defined by the user.
In these scenarios it's still very useful to developers at development time to have a representation of these Key/Value pairs, even if they aren't fully type safe, because a developer needs to understand what is possibly on this property of a concept.

For the record, Kyle and I discussed this requirement and discussed the following motivations for not adding this feature:

Increased complexity for business users by introducing Generics and a second way to capture an object-style type. There is some value in giving users fewer options to make the language more accessible, at the cost of reduced expressiveness.
Making the language less well-typed.  Not requiring the full structure of the type to be known in advance makes it more difficult for clients to implement tools that traverse the type (e.g. to build a UI). Clients need to be more dynamic in order to interpret the metamodel to generate or validate data.
Some target languages for CodeGen may not support Record Types, e.g. GraphQL

Up until this point, users have satisfied similar requirements with either:

Explicit modelling, often dynamically via the concerto API.
Approximating records with an array of pairs, e.g.

concept Pair {
  o String key
  o Foo value
}

concept MyConcept {
  o Pair[] variables
}

However, this changes the performance characteristics (i.e. lookup is now O(n), rather than O(1)).
Similarly, we've also considered supporting JSON objects as a Scalar type in the past, however, this was abandoned because it encouraged untyped properties which hinders introspection by clients.
In TypeScript, note that Record<A, B> is equivalent to { [key: A]: B; }.
However, Kyle's requirement strikes a compromise between the extremes of untypedness and strict typing.

✅ It allows code-generation (e.g. to TypeScript and C#) that can be statically bundled with applications, with enough hints for runtime clients to understand the meaning of the declaration.
✅ It avoids the messy dynamic model creation and introspection & special cases in client code to handle Dictionary use-cases.
🙈 The more advanced nature of this typing construct goes some way to dissuading less-technical users from adopting it.

constrain the Record type to only support String or String derivates (e.g., Enum) as keys

I support this.
We should also discuss the naming and syntax. Do we prefer Record, Map, Dictionary, Dict etc.?
Is it possible to adopt a different syntax which is less technical for the Generics requirement? Particularly given the constraint to only allow String types for keys.

@ValueType("Address")
o Dictionary address

I don't think we should just limit to having the user pass in the ValueType, I think that's very limiting for possible future scenarios where a user can pass in other String derivative types (e.g. String literals comes to mind). I also don't think it allows for passing in an Enum as a key type which I think is a requirement.

I agree with Matt's proposed simplification to only annotate the value type and not the key type. I could be wrong but I personally don't see the enum key type as a very compelling case. The necessity of the Record type comes from the need to express unknown keys, which is currently impossible in Concerto. Expressing a set of known keys (as from an enum) can already be done efficiently by declaring them as optional fields of a concept. For example, the following seem equivalent to me:
enum E {
  o one
  o two
  o three
}

concept C {
  o Record<E, Integer> r
}

and
concept R {
  o Integer one optional
  o Integer two optional
  o Integer three optional
}

concept C {
  o R r
}

But what (if in the future) you had other String derivate types other than Enums? For example, String Literals come to mind. How then would you express the String Literal being the Key of a Record type?
That's why I proposed we should express the Key, Value pair for future flexibility. I think this also aligns it with practically every typed programming language that exists which expresses the type of a Record using Key/Value pair.
I also don't consider the two examples you showed to be strictly equivalent. You shouldn't allow for optionality generally with a Record type. You can see the different in this TypeScript playground here. I think what you're trying to express is a Partial type of the Record.

I also don't consider the two examples you showed to be strictly equivalent. You shouldn't allow for optionality generally with a Record type.

In that case, isn't it equivalent to this?
concept R {
  o Integer one
  o Integer two
  o Integer three
}

concept C {
  o R r
}

To me it seems rather strange to me to imply that Record<K, V> should "generally" require all possible values of K to be specified. DateTime is a string derivate, but obviously for Record<DateTime, T> they shouldn't have to specify every possible DateTime key. For Record<String, T>, the key space is infinite. Surely the general case is that the user isn't required to specify every possible key value. Requiring all possible values when the key is an enum, then, would be inconsistent with the general case. (I do observe that typescript treats enums differently than strings and other types when used as a record key.)

But what (if in the future) you had other String derivate types other than Enums? For example, String Literals come to mind. How then would you express the String Literal being the Key of a Record type? That's why I proposed we should express the Key, Value pair for future flexibility. I think this also aligns it with practically every typed programming language that exists which expresses the type of a Record using Key/Value pair.

I agree that it's more general and perhaps more useful to express both the key and value. The question is more about whether the Concerto team wants to do the additional work.
To the previous point, I think "practically every typed programming language that exists which expresses the type of a Record using Key/Value pair" doesn't require every key to be specified, though, even when the key is an enum type. Either that, or the number of such languages must be very small.
(To my mind "string literal" means a string specified literally as opposed to being the value of some other expression, but I guess you have a different meaning in mind. I don't know quite what you mean, but I'm guessing it sounds like an enum.)

In that case, isn't it equivalent to this?

I'm not sure how you would access a key in your example based on the enum key. For example, how would you do R.one? I think this is kind of like saying, why have enums at all, if we can just express it as a concept? I think there is clear value in an Enum, and there is clear value in using one as a Record key, which is why it's done constantly in other typed languages to express a constrained set of keys that you want to access without using some magic string everywhere that then needs to be updated whenever you change it.

Surely the general case is that the user isn't required to specify every possible key value. Requiring all possible values when the key is an enum, then, would be inconsistent with the general case. (I do observe that typescript treats enums differently than strings and other types when used as a record key.)

Agreed! Which is why I think passing a Key for a Record is a necessity, because types need to be context aware based on what they are configured for.

...doesn't require every key to be specified, though, even when the key is an enum type. Either that, or the number of such languages must be very small.

I think this is because very few languages express a true Record type, while many express a Map type or Dictionary type. This is because of the historical tie between JSON serialization and how JavaScript/TypeScript express Records/objects. For example, even in TypeScript a Map doesn't require every Key to specified when using an Enum. You can see that in this example. Since Concerto is trying to express models that will be serialized, a Record type is clearly the correct choice, you can't serialize a Map.

(To my mind "string literal" means a string specified literally as opposed to being the value of some other expression, but I guess you have a different meaning in mind. I don't know quite what you mean, but I'm guessing it sounds like an enum.)

You can see the documentation on this here and here. A literal type is Enum like when combined with union types but can be expanded with template literals to be very powerful. You can see an example of this here. Just to be clear I'm not proposing we add string literals into Concerto here, we can discuss that in another issue. But I do think we want the flexibility to take advantage of these types of features with Records in the future so we can express truly type safe models.

Just to add to this, since the release of Scalars in the Concerto language I think this increases the need for a Record type to be able to specify both a Key and a Value type.
I can think of lots of examples where wanting to do something like this could make sense:
scalar GUID extends String default="00000000-0000-0000-0000-000000000000" regex=/^[{]?[0-9a-fA-F]{8}-([0-9a-fA-F]{4}-){3}[0-9a-fA-F]{12}[}]?$/

concept Person identified by id {
  o GUID id
  o String givenName
}

concept Example {
  o Record<GUID, Person> persons
}

I agree with that.

Definitions
concept A {}

concept B identified {}

enum E {
  o ONE
  o TWO
}

scalar StringScalar extends String
scalar BooleanScalar extends String

Spec for Record Types
Examples
concept Concept {
  o Record<String, String> record1
  o Record<String, Boolean> record2
  o Record<String, A> record3
  o Record<StringScalar, String> record4
  o Record<E, String> record5
  o Record<E, String>[] record6

  // FOR DISCUSSION

  // New `Relationship` type
  o Record<String, Relationship<B>> recordOfRelationships
  --> Record<String, B> recordOfRelationships2

  // New `Array` type to make aggregate operations consistent
  o A[] listOfAs
  o Array<A> listOfAs2

  o Record<B, String> recordWithIdentifiedConceptKeys

  o Record<String, Record<String, String>> nestedRecord

  // NOT SUPPORTED
  // o Record<A, String> record
  // o Record<BooleanScalar, String> record
  // --> Record<String, String> record // Relationship target is not identified
  // --> Record<String, A> record // Relationship target is not identified
}

// Suppose that there's an existing concept in an old model called "Record". Then should the following be valid
concept Record identified{} // A legacy concept called "Record"

concept MyHeadHurts {
  o Record foo
  o Record<String, Record> bar
}

Spec for Set Type
Examples
concept Concept {
  o Set<String> stringSet
  o Set<Boolean> booleanSet // Although why?
  o Set<Integer> intSet
  o Set<Double> doubleSet
  o Set<Long> longSet
  o Set<E> enumSet
  o Set<B> conceptSet
  o Array<Set<String>> stringSetArray
  o Set<StringScalar> stringScalarSet
  o Set<BooleanScalar> booleanScalarSet

  // NOT SUPPORTED
  // o Set<A> record // Concept is not identified

}

We should choose one of the following variants.

At least to me I think the "Modifers" syntax looks a little confusing just because I would expect that to be a Person array and not a Record.
Between the other two options I don't have a really strong opinion, but have a preference towards the first option, only because that aligns well with other languages. The map keyword is also just "more" code to represent the same thing, but that's not necessarily a bad thing per say.

scalar BooleanScalar extends String

I think you mean extends Boolean here yes?

// Suppose that there's an existing concept in an old model called "Record". Then should the following be valid

I'd personally say no, adding keywords and needing to modifying legacy code to not utilize those keywords I don't think is a foreign concept and I think would make for the cleanest break here.

Some quick notes, as I won't be able to attend the meeting tomorrow. I'd be in favour of:

Consistency in syntax across arrays, maps and sets
Clear semantics around ordering of entries and examples of serialisation. E.g. would we serialise a set as an object?
Try to keep the CTO syntax business accessible, as far as possible. I.e. this scares me Record<String, Relationship<B>> recordOfRelationships :-)
Ability and clear syntax to distinguish between sets of Things and set of relationships to Things etc. Both are useful and we shouldn't let relationships fall off the wagon or become second class citizens
We need to be very careful with type identity for these new constructs. Today all types are identified by<EMAIL_ADDRESS>— changing/breaking that will have far reaching consequences, I suspect. This also includes how relationships are encoded as URIs, when we serialise instances of relationships. This also includes import statements where a type in an external namespace must be unambiguously identified.
Let's not forget that we will need to update all code gen targets to support these new metamodel constructs. It would be good to see in the design what code we propose to generate for each target, or do we "cross the rubicon" and fail code generation if you use some of these constructs with certain targets?

Based on the feedback above and the discussion today on the Working Group call. I've started drafting a specification for this feature.
https://github.com/accordproject/concerto/wiki/Aggregate-Types-Design

@mttrbrts thanks for putting that together.
I think what you have in that spec generally looks good to me. A few pieces of feedback:

The other property indicates the type of the value in the map.

I feel like we might want to be explicit about what properties specifically is the value of the map something like:
map Dictionary {
  o String key
  o String value
}

I think this better aligns with how other concepts are written in Concerto in the sense that they always have a type and a name, in this case the names are just key words. It just would read odd to me to not have a name for a property.

Maps should be implemented using the JavaScript Map object. We inherit the semantics of that implementation here.

When you say implemented here, do you mean that internally to Concerto it might represent this as a Map object, or that if this is expressed in a concrete language like TypeScript it would actually be a Map object in that language? If it's the later, then I think this is a big departure from being able to express Records and wouldn't fit with the original requirements of this issue, because we need to be able to express a Record object that explicitly doesn't have things like .set, .delete, etc. If this is just how Concerto internally wants to represent this, I think this is fine, as long as in the concrete language (i.e., TypeScript) it is not a Map object but a Record object.
If it is also a requirement to be able to express a true Map object in the concrete language, I think then we ought to have two different types here, record and map to differentiate.

Thanks @KyleBastien

I feel like we might want to be explicit about what properties specifically is the value of the map...

I don't have a strong view on this. However, it's worth comparing this to our syntax for Enums, and what is proposed for Union Types

Maps should be implemented using the JavaScript Map object. We inherit the semantics of that implementation here.

I'm only referring to the internal representation, I'll add the requirements for TypeScript to the Code Gen section

If it is also a requirement to be able to express a true Map object in the concrete language, I think then we ought to have two different types here, record and map to differentiate.

We don't have this requirement, AFAIK.

I don't have a strong view on this. However, it's worth comparing this to our syntax for Enums, and what is proposed for Union Types

Agreed I don't have a really strong feeling about this, it just read a bit odd to me to mix the two in the same concept.

I'm only referring to the internal representation, I'll add the requirements for TypeScript to the Code Gen section

Sounds good, adding the code gen requirements would be appreciated. From what I see that you updated it looks good so far.

We don't have this requirement, AFAIK.

Sounds good, we might want to consider if we will have this requirement in the future but given that it's quite hard to serialize true Map, Set, etc. objects from JavaScript/TypeScript to JSON, we might just want to make the call that we won't support that.

it just read a bit odd to me to mix the two in the same concept.

Good point, I've updated the spec to remove the modifiers entirely and to rely on the order instead.


Repo sync for protected CLA branch

The pull request is created from main637854159344907959 to main to fix git push error for protected CLA branch

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


Need to Re-write the POP_FIRST_SCRIPT (LUA Script) used by CloudDB

TL;DR
We broke (slightly) CloudDB when we introduced dictionaries.
Read on for the nitty gritty details.

Background
We use Redis software to implement CloudDB storage. The CloudDB server
itself provides a front end that enforces confidentiality (aka
encryption in transport) as well as isolation between users (so you
can only mess with your variables).
Redis is a key value store with a simple Publication/Subscription (aka pub/sub)
event system built in. CloudDB variables are keys in the Redis store.
However, the pub/sub system isn’t sufficient for our needs in
CloudDB. In particular when a variable changes, it emits an event, but
the event itself doesn’t provide the new value. So, you have to then do
a GET to get the value. However, in apps that are making many updates
(like our Sketch and Guess Tutorial) you can lose updates in the time
between the event is triggered, and you manage to do a GET.
Fortunately, Redis implements scripting using the LUA language. The LUA
implementation permits you do to “atomic” operations within Redis. So
when CloudDB does a StoreValue, we do not simply turn that into a
Redis SET. Instead, we invoke a LUA script which does the set and emits
an event with the new value. It’s kind of cool actually.
Now we do limit which scripts can be run to avoid a security hole, but
that isn’t at issue here.
The “Append” and “Remove First” functionality is also implemented as
LUA scripts for the same reason. The low-level implementation stores
the list as a Redis “table” object. We use JSON to encode the table
when we return it to CloudDB. For some reason that I don’t understand
(yet), Redis internally JSON encodes a table with contents as a list
(good, this works for us) but an empty table is returned as an empty
JSON “object” (aka {}) instead of an empty list (aka []).
Prior to our support for dictionaries, we silently turned this empty
object {} into an empty list [] because we didn’t support
dictionaries, which are represented as JSON objects.
Since we added support for dictionaries, we no longer do this
conversion.
Welcome to the land of unintended consequences. This is a classic
example. We were not aware of this Redis “feature” and prior to our
support for dictionaries, it was completely benign for us.

How to fix this
The correct fix is for us to update the LUA script used in the
POP_FIRST LUA Script to test for the empty object and turn it into an
empty list. However, this is a component change, which means a new
Companion and all that entails.
I’m seeing if I can do a kludge in the CloudDB server itself and
detect when a list has been emptied and explicitly set it to an empty
list instead of an empty object. My current thinking is that I can
write a new LUA script, which would eventually get put into the
CloudDB Component, but also do a hack on the CloudDB server that
recognizes the older script and replaces it with the newer one… I
sill have to think about this though…
-Jeff

In response to my last question in the comment above. Yes: I can hack the server... :-)


How to support the data persistence in Azure cloud?

I want to deploy the data persistence backend in our Azure cloud AKS platform, is there a way to achieve it? Thanks

Hi @JerryWang20! Can you send an email at<EMAIL_ADDRESS>for self-hosting?
Thanks


remove code from separate repos

Removes all code and template files that now exist in separate
code repositories under the github.com/aws-controllers-k8s Github
Organization.
By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.

@jaypipes we can remove the go.mod and go.sum files as well?

@jaypipes we can remove the go.mod and go.sum files as well?

Also possibly the ATTRIBUTION.md will need to be split amongst relevant repositories? dependabot.yaml should probably be moved to each repository, too.

@jaypipes we can remove the go.mod and go.sum files as well?

yeah, will remove in a future patch once we merge @kumargauravsharma's Dockerfile stuff.


chore: guard term commands from missing org

Add missing target_org guards to term commands that require a target org, so the command does not attempt to build and fail in generic error.

Thanks!


Set sync setting in config automatically

Description: The gatekeeper operator exposes a setting in the CRD under audit named auditFromCache.  By default this cache is Disabled.  If you set it to Enabled, you break your constraints because the cache requires additional settings in the CRD configs.config.gatekeeper.sh for the sync details.
The problem (my opinion here) is that if we expose the ability to enable the cache in the operator we must also expose the ability to configure the cache with the sync details.
Ref: https://issues.redhat.com/browse/ACM-7065

@yiraeChristineKim , I'll finish the review tomorrow.

@yiraeChristineKim is this ready for review again?

ohoh not yet I want to take a look quickly I will let you know


[Tyra1] Version selector for tyra future releases including tyrav2

Included in Tyrav2.
I marked you as author of this feature.


Problem with the DS-CNN model

separable_convolution2d Is it equivalent to ds-cnn? why add convolution2d in the back of separable_convolution2d model?

Depthwise cnn architecture is different, check out this (https://arxiv.org/abs/1704.04861) you will get clear idea.


SAK-46974 MSGCNTR Provide private message scheduling

SAK-46974: Messages. Provide private message scheduling

Is the scheduled date validated to make sure it is in the future?

Is the scheduled date validated to make sure it is in the future?

Yes

@ern We are trying to figure out how to test the service properly, since it runs on a separate thread and we don't quite know how to do it. What we had tested on Springboot does not work on sakai.
Any ideas you can give us?
Thanks!!!


Remove Ubuntu configuration: system and architecture properties are now self defining

In order to eliminate the specific Debug-NetCore-Ubuntu configuration I had to extract out the properties it set (TargetPlatformIdentifier, RuntimeSystem, TargetSystem, RuntimeArchitecture).
By default these now self define based on the current OS.
For deploying on different platforms than the host one, the TargetPlatformIdentifier needs to be specified

LGTM

LGTM


Update README.md

your guide for Linux doesn't explain things properly even I had issue at first I thought where do i find this ./audiosource if I didn't even installed anything and there is no instruction telling that I have to clone the repo and then do all that

this needs to be closed


UI-select breaks in angular 1.4.0

Hi,
First of all, thank you for your work. Saves ton of time, and makes code so much more maintainable! :)
I just came across an issue, that seems to be specific to angular 1.4.
"Error: [$compile:ctreq] http://errors.angularjs.org/1.4.0/$compile/ctreq?p0=select&p1=ngOptions

Here's a jsbin (using the UI-select  example from angular-formly.com, with just one change -- changed angularjs to version 1.4)
http://jsbin.com/dikoribeku/1/edit?html,console,output
Thanks!

Hi! I'm a collaborator from angular-formly and author of the original example.
Thanks for spotting the issue, could you isolate it without involving angular-formly at all?

Closing this issue. If you want to keep it tracked, please put it on the formly-js/angular-formly-website repo :-)
P.S. Thanks for your help @benoror!


Added Spanish translation #24

@sneridagh Can you review this pull request, if all ok merge it? Thanks!


release: v0.5.0

Closes #97

Signed-off-by: Rokas Maciulaitis<EMAIL_ADDRESS>

Please rebase and see https://github.com/reanahub/reana-workflow-engine-yadage/pull/113/files#r276632112 about one missing phrase in the release notes... Could be added everywhere or deleted everywhere


How are mhchem and bussproofs loaded?

Just for my own understanding of how mathjax is loaded by obsidian and how this plugin works, could you explain how the packages are actually loaded?

@mayurankv Not sure if this answers your questions, but these two extensions are available in MathJax v3: https://docs.mathjax.org/en/latest/input/tex/extensions/index.html. I'm not really sure which extensions are loaded by default.

On my end, it seems that both mhchem and bussproofs work without this plugin installed.
According to the documentation of both of these extensions (see hyperlinks), they are "... loaded automatically when the autoload extension is used." I could not find any reference to autoload in this repository, so assuming there is nothing special about my Obsidian config (as far as I know, I have no other plugins that load MathJax extensions), I would think that Obsidian loads autoload by default somehow.


Publish Terrascan and Credscan result in the ADO pipeline

Is it possible to publish results for both Terrascan and CredScan in ADO Pipeline (PFB image)
I'm using below -
      - task: MicrosoftSecurityDevOps@1
        displayName: Credential Scanner- CredScan
        inputs:
          categories: 'secrets, code, artifacts, IaC, containers'
          tools: 'Credscan'

      - task: MicrosoftSecurityDevOps@1
        displayName: Credential Scanner- Terrascan
        inputs:
          categories: 'secrets, code, artifacts, IaC, containers'
          tools: 'terrascan'

Yes, it is possible. You may take a look at this sample: https://github.com/microsoft/security-devops-action/blob/main/.github/workflows/sample-workflow-windows-latest.yml

@JiandongJiang  - thanks for your suggestion.
Also, can you tell me that is it possible to scan only a particular folder from a repo?
As in Azure Devops , I dont have argument where I can pass the path of the folder.

The wiki https://github.com/microsoft/security-devops-action/wiki has the info on configurations.


Missing learning.py, Config files and exact commands

From the README:
The main file to use to reproduce the Khan Academy experiments from the paper is `learning.py`, which will start an agent
to learn to solve problems using reinforcement learning and tactic induction. The config files and exact commands to run will come soon -
feel free to open an issue if you're interested in those and this hasn't been updated yet!

There is no learning.py file in the repo. And config files and exact commands are still missing.
cc: @gpoesia

@gpoesia Any chance you could provide these missing config files and commands to run so that I could try to reproduce the findings?
I am able to compile peano and load it in Python, but there seems to be no docs on how to use it in Python REPL. Running python tactics.py or python trainer.py throws errors like this:
Cannot find primary config 'tactics'. Check that it's in your config search path.

Config search path:
	provider=hydra, path=pkg://hydra.conf
	provider=main, path=file:///Users/mac/code/peano/learning/config
	provider=schema, path=structured://

Set the environment variable HYDRA_FULL_ERROR=1 for a complete stack trace.

Error executing job with overrides: []
Traceback (most recent call last):
  File "/Users/mac/code/peano/learning/trainer.py", line 315, in main
    trainer = TrainerAgent(cfg.trainer)
  File "/Users/mac/code/peano/learning/trainer.py", line 79, in __init__
    self.accumulate = config.accumulate
omegaconf.errors.ConfigAttributeError: Key 'accumulate' is not in struct
    full_key: trainer.accumulate
    object_type=dict

Hi Nilesh,
Sorry for taking so long! I just came back from vacations. Just updated the README and the main config file. There was in fact an error in the README - the main script to run experiments is trainer.py, which was already there (in the learning directory, not learning.py which never existed). I also had configs (learning/config/trainer.yaml), now updated to match one run from the main experiment in the paper.
I'll leave the issue open for now since I'm re-running the experiment using the commit and config here just to make sure this indeed matches the paper (the repository also has some experimental changes I added after the submission, inducing tactics with loops in them, so just confirming there was no regression. If so I'll just revert back to an earlier commit). It's running now and seems to be making progress as I'd expect, so I'll let you know soon!
I also added some instructions to the README that you can use to get a concrete sense of the action space, if that's of interest.
Please let me know if you have any issues or questions!

Amazing! Thank you.
Will check out and try to reproduce this. My interest was in taking a similar DSL-based approach for the ARC-AGI prize but your new paper is also very interesting. :)

BTW, you must have heard about DeepMind's AlphaProof that scored 28 points at IMO problems (thought it took 3 days): https://deepmind.google/discover/blog/ai-solves-imo-problems-at-silver-medal-level/
Exciting times! :)


New pricing fields functionality

In Content Loader, instead of using get_question, a new method (get_question_by_form_field_name) provides a fields-compatible equivalent.
In the formatting code, a new function has been created to format pricing fields.
Existing methods have been retained until we are sure they are no longer needed.

:+1:
I'm not confident that .form_fields and .get_data can be safely combined with file uploads at this point (in terms of protecting from upload URLs being written directly as opposed to requiring a file to be attached and uploaded). I think it's important to capture this since it's a potential security issue for supplier/admin service editing, but since dos doesn't have document attachments this shouldn't block us right now.

That would only be an issue if a question has fields and also is an upload, which we don't currently support.


Why using swap=(2, 0, 1) in preproc???

this line
😱 I really cannot figure out why we should swap the channels here. It has incurred some
deeply-hidden mistakes in the main program which use dataloader defined by YOLOX.

padded_img = padded_img.transpose(swap)

I want to know why. 🤔 The necessity or purpose of doing this. A lot of thanks.

Someone told me that there are some other project also swapping dimensions.

It's channel first format(C, H, w).


PascalCase on Block selectors for React

I like the idea of this. I know we don't want to conform SO much to React because we may not use it forever. I think this makes sense though when it is necessary to use a React class as a namespace in CSS and it is easy enough to edit down the road. Just want to make sure this is cool with everyone to move forward using PascalCase on block elements (using BEM)

Yes, this is detailed in this style guide under the OOCSS and BEM section.

We recommend a variant of BEM with PascalCased “blocks”, which works particularly well when combined with components (e.g. React). Underscores and dashes are still used for modifiers and children.

This seems like it was intended for a fork, similar to #27.


Replace print_err! with eprintln!

@raphlinus this is ready whenever fuschia is.

Updated this patch, it should be gtg.


Recompute Aabbs for updated Meshes

Objective
Partially address #4294. This was attempted in #4944 and #5423., but reverted in #5489. Aabb components are not updated when the underlying Mesh has changed in some way.
Solution
Recompute their Aabb when it's been updated or newly created.
Note: this only addresses when the Mesh is updated itself, not when the Handle<Mesh> has changed. I attempted to include a Ref<Handle<Mesh>>::is_changed check, but that easily added 1+ms on many_cubes to do what is basically zero work in that common case. I attempted to parallelize it with QueryParIter, which shrunk it down to 360us, but it still was an excessive amount of work for basically nothing. This current implementation only incurs a cost when a Mesh is created or modified.
I view this as a stop gap until we have a form of asset preprocessing that can be used to compute the Aabb offline, or force meshes to be immutable after construction and precompute it's Aabb ahead of time.

Changelog
TODO
Migration Guide
TODO

I still think all of this state-syncing is a nightmare and we should try removing it entirely:
https://github.com/bevyengine/bevy/pull/5423#issuecomment-1199995825
Needs more benchmarking though

I just put together a "store aabb directly on meshes" impl: https://github.com/cart/bevy/commit/a465c1da355fa337f5b8659ae3789cf5b8e58d76
(still needs benchmarking ... haven't been able to compile Tracy on my new debian install yet)

I just put together a "store aabb directly on meshes" impl: cart@a465c1d
(still needs benchmarking ... haven't been able to compile Tracy on my new debian install yet)

Tested a few different stress tests.
On many_cubes with --sphere, this was faster for overall frametimes but the par_for_each{query="(bevy_ecs::entity::Entity, &mut bevy_render::view::visibility::ComputedVisibility, ... query took longer.
(this is cart's "store aabb directly on meshes" cherrypicked onto bevy main (10f5c9206847ae01b8dc833c2680562e7bd46664), while ext is bevy main)

I tried testing many_lights, but it doesn't render any of the lights on cart's PR, and many_foxes panics with:
thread 'main' panicked at 'scene contains the unregistered type bevy_render::primitives::AabbSource. consider registering the type using app.register_type::<T>()', crates\bevy_scene\src\scene_spawner.rs:358:35

Hmm thats certainly a big perf difference (likely prohibitively so). Worth trying to see what we can optimize though.

Sadly punting this to 0.12. We've run out of time and this needs more of it :)

This is a pretty high impact bug: I'm in favor of getting any fix in rather than delaying another cycle.

I think this could be updated to use the new AssetId. And there was some feedback. It’s a shame it has to do so many lookups but if the benchmarking for this looks ok then it seems reasonable.


Doesn't work with commands that have flags with spaces

Using .split(' ') causes errors with flags that have spaces in them.
exec([
   `git commit -m "some message with spaces"`
])

@olstenlarck You may want to replace split() by split-cmd:
      const parts = splitToObject( cmdLine );
      return run( parts.command, parts.args, options )

Cool! Looks good, i think you should also add check for single-quotes where the double-quotes check is.
Also would be awesome if you add a PR here using it. :)

Good idea! I'll add support to single quotes soon, and suggest a PR in some minutes...


STEP 5: TESTING

Testing all the functionalities to see if they meet the requirements.

Completed successfully.
@N-Elmer


Section "Adding an API key for an iOS app" Needs update

New version of flatter app does not generate ios/Runner/AppDelegate.m, it's creating AppDelegate.swift file & instruction to update can be taken from here

@subratamazumder Hi, #5 :)

Updated the codelab for Flutter 1.17, which includes AppDelegate.swift.


isFunctionScopeBoundary's name suggests that it should return a boolean

Bug Report Checklist

[X] I have pulled the latest main branch of the repository.
[X] I have searched for related issues and found none that matched my issue.

Overview
https://github.com/JoshuaKGoldberg/ts-api-utils/blob/acd3836863656f217dfb301a3987a9103a77be1c/src/scopes.ts#L11
The is prefix on this function's name suggests that it should return a boolean rather than a ScopeBoundary.
The only way I can imagine users using this function as is, is to immediately compare the return value to
a ScopeBoundary value. The function should just return a boolean in the first place.
I'm guessing the reasoning for the function current implementation is so that it can be easily expanded upon, return different types of ScopeBoundary in future. However, if this is the case, the function would want a new name anyway, such as getScopeBoundary.
Additional Info
No response

Agreed. I like getFunctionScopeBoundary as a name. 👍 let's rename!

Agreed. I like getFunctionScopeBoundary as a name. 👍 let's rename!

Are you sure you want to rename the function as opposed to just changing its return type?
I don't see any point in the function returning a ScopeBoundary instead of just a boolean.

Hmm. They're not implemented in this package (yet?), but there are other functions that reuse ScopeBoundary does have other values on the ScopeBoundary enum in tsutils...
export function isScopeBoundary(node: ts.Node): ScopeBoundary {
    return isFunctionScopeBoundary(node) || isBlockScopeBoundary(node) || isTypeScopeBoundary(node);
}

Those functions are nice to have - and I think it would be a nice add to ts-api-utils to add them back in. WDYT?

I'll be good to have those function but I think they should all return booleans. Except for isScopeBoundary which I'd suggest we write as:
export function getScopeBoundary(node: ts.Node): ScopeBoundary {
    return isFunctionScopeBoundary(node)
      ? ScopeBoundary.Function
      : isBlockScopeBoundary(node)
      ? ScopeBoundary.Block
      : isTypeScopeBoundary(node)
      ? ScopeBoundary.Type
      : ScopeBoundary.None
}


add a mask creating tool

Thanks for your work. This is a good researcher.
I would like to make my small contribution by adding a tool for generating pairs of masks and images to make it easier for users to prepare their own samples for inference.
The tool detects text regions in an image, randomly crops a region, and saves a cropped image along with its mask. It is designed to be configurable via command-line arguments, providing flexibility and ease of use.

Thanks for your contribution!


Checkbox within multiselect is a pixel too high

This is a regression.

That will change/need adjustment when we switch away from rounded cornered inputs.


implement BlockDataContainer algebra with DataContainer

Currently it's not possible to multiply/divide etc a BlockDataContainer with a DataContainer

closed by 1b34498aaa93b95925991258fe542b62a9155aff


[IMPROVEMENT] Show msg that WM ext only supports HTTPS sites

Describe the feature you would like to request
When visiting a monetized website with a valid link tag, but where the website does not have an SSL certificate (i.e. the URL doesn't have an HTTPS prefix), the WM extension displays this message "This website is not monetized".
Let the extension display a more informative message if a user visits a web site or page that is monetized, but isn't secure.
Describe the solution you would like
For websites or pages that are not HTTPS compliant, let the extension display this message:
"This website cannot be paid with Web Monetization because it is not secure."
OR
"This website is not secure. We are unable to securely pay it with Web Monetization."
Additional context
Related to issue logged #572

Would like if the messaging reflects that we cannot monetized empty tabs, about:/chrome:///file:/// (local files) pages as well.

How about : This is a non supported page. For more details about the Web Monetization usage, check out [link]'
This way it's generic enough to cover the different cases you mentioned @sidvishnoi and we can add the explanation in the getting started doc ? cc @tselit @melissahenderson

Cool, this sounds good to me @RabebOthmani.

Is this messaging for testers or is it what we're planning on having in v1? Including "for more details...about usage..." is for developers, not your average user. The average user can't do anything to make a site secure.
In any case, a phrasing suggestion I have is: Unable to start Web Monetization. Web Monetization only works on secure sites.
I don't particularly like "start", but something along those lines.

@melissahenderson about usage is related to using the extension not how to make a site secure. Basically if they want to know why they can't use WM, they can read somewhere all the exceptions that Sid mentioned above

Reasons why a site is not monetized where we can show a message to user:

new tab page
browser internal page
unsupported_scheme (http://, file://, ftp:// and many others)
no monetization links on page peered with connected wallet
no monetization links on the page

We can :

handle first 3 in a single message, and link to docs, or
handle first 3 in a single message, no link to docs, or
let user know within extension using 3 different but related messages. e.g.

You can't monetize empty tabs
You can't monetize browser's internal pages OR the extension can't access browser's internal pages
Web Monetization only works with https:// websites