Changes feed with descending=true is incorrect

Description
A CouchDB changes feed from a database where q is > 1, when queried with ?descending=true provides a set of results with repeated seq values and a negative pending value.
{
  "results": [
    {
      "seq": "4-g1AAAAfjeJy91E9OhDAUBvDqmLh0bqBrE5DS8qcr5wZ6A32vLSETBowDa72B3kBvoDfQG-gN9AZ6AwZSE-isBhPYtAkJ75ePryUjhMzTmSKnCmVxqxcKOXVx5UjpVGtnXVRl6njclVlRKchLN9dl1ryzDwSP6rpepjMgq-bBIXIRSImDJtkwi3aBcd6seGzZkiMoHgwathV6N_uktc8sWwQRAAsGDduy-U6219rnlh0q5oOAQcP-UzYuWvvCsn3gKJN4_L4vW_vqz94zZ43GGITe-H1ft3Zh5Y5ChrE_Qd83rX1n5eYq9CjK0fvOD5qV3Ddbwz902YFHcUjD0Ts3_qPxn3p-wBOqx7_nxn82_kvv3AlGpfBG7974r8Z_6_JTRlWMdKL-343_0fmaAgjtT9T_p_G_uu8fg9JaRRP1_238n15-xUB4cqL-f43f-_coLlkC_qCByw34y4Gw",
      "id": "6f92c987479f11d6a435ef6e54b79341",
      "changes": [
        {
          "rev": "1-23202479633c2b380f79507a776743d5"
        }
      ]
    },
    {
      "seq": "4-g1AAAAfjeJy91E9OhDAUBvDqmLh0bqBrE5DS8qcr5wZ6A32vLSETBowDa72B3kBvoDfQG-gN9AZ6AwZSE-isBhPYtAkJ75ePryUjhMzTmSKnCmVxqxcKOXVx5UjpVGtnXVRl6njclVlRKchLN9dl1ryzDwSP6rpepjMgq-bBIXIRSImDJtkwi3aBcd6seGzZkiMoHgwathV6N_uktc8sWwQRAAsGDduy-U6219rnlh0q5oOAQcP-UzYuWvvCsn3gKJN4_L4vW_vqz94zZ43GGITe-H1ft3Zh5Y5ChrE_Qd83rX1n5eYq9CjK0fvOD5qV3Ddbwz902YFHcUjD0Ts3_qPxn3p-wBOqx7_nxn82_kvv3AlGpfBG7974r8Z_6_JTRlWMdKL-343_0fmaAgjtT9T_p_G_uu8fg9JaRRP1_238n15-xUB4cqL-f43f-_coLlkC_qCByw34y4Gw",
      "id": "c712333ff3f3297b9df038cea77b9cb2",
      "changes": [
        {
          "rev": "1-23202479633c2b380f79507a776743d5"
        }
      ]
    },
    {
      "seq": "4-g1AAAAfjeJy91E9OhDAUBvDqmLh0bqBrE5DS8qcr5wZ6A32vLSETBowDa72B3kBvoDfQG-gN9AZ6AwZSE-isBhPYtAkJ75ePryUjhMzTmSKnCmVxqxcKOXVx5UjpVGtnXVRl6njclVlRKchLN9dl1ryzDwSP6rpepjMgq-bBIXIRSImDJtkwi3aBcd6seGzZkiMoHgwathV6N_uktc8sWwQRAAsGDduy-U6219rnlh0q5oOAQcP-UzYuWvvCsn3gKJN4_L4vW_vqz94zZ43GGITe-H1ft3Zh5Y5ChrE_Qd83rX1n5eYq9CjK0fvOD5qV3Ddbwz902YFHcUjD0Ts3_qPxn3p-wBOqx7_nxn82_kvv3AlGpfBG7974r8Z_6_JTRlWMdKL-343_0fmaAgjtT9T_p_G_uu8fg9JaRRP1_238n15-xUB4cqL-f43f-_coLlkC_qCByw34y4Gw",
      "id": "c9fb072787c20167ab71bd567f03c3d7",
      "changes": [
        {
          "rev": "1-23202479633c2b380f79507a776743d5"
        }
      ]
    },
    {
      "seq": "4-g1AAAAfjeJy91E9OhDAUBvDqmLh0bqBrE5DS8qcr5wZ6A32vLSETBowDa72B3kBvoDfQG-gN9AZ6AwZSE-isBhPYtAkJ75ePryUjhMzTmSKnCmVxqxcKOXVx5UjpVGtnXVRl6njclVlRKchLN9dl1ryzDwSP6rpepjMgq-bBIXIRSImDJtkwi3aBcd6seGzZkiMoHgwathV6N_uktc8sWwQRAAsGDduy-U6219rnlh0q5oOAQcP-UzYuWvvCsn3gKJN4_L4vW_vqz94zZ43GGITe-H1ft3Zh5Y5ChrE_Qd83rX1n5eYq9CjK0fvOD5qV3Ddbwz902YFHcUjD0Ts3_qPxn3p-wBOqx7_nxn82_kvv3AlGpfBG7974r8Z_6_JTRlWMdKL-343_0fmaAgjtT9T_p_G_uu8fg9JaRRP1_238n15-xUB4cqL-f43f-_coLlkC_qCByw34y4Gw",
      "id": "801f6800f561950b6a0dadc353512e7c",
      "changes": [
        {
          "rev": "1-23202479633c2b380f79507a776743d5"
        }
      ]
    }
  ],
  "last_seq": "4-g1AAAAfjeJy91E9OhDAUBvDqmLh0bqBrE5DS8qcr5wZ6A32vLSETBowDa72B3kBvoDfQG-gN9AZ6AwZSE-isBhPYtAkJ75ePryUjhMzTmSKnCmVxqxcKOXVx5UjpVGtnXVRl6njclVlRKchLN9dl1ryzDwSP6rpepjMgq-bBIXIRSImDJtkwi3aBcd6seGzZkiMoHgwathV6N_uktc8sWwQRAAsGDduy-U6219rnlh0q5oOAQcP-UzYuWvvCsn3gKJN4_L4vW_vqz94zZ43GGITe-H1ft3Zh5Y5ChrE_Qd83rX1n5eYq9CjK0fvOD5qV3Ddbwz902YFHcUjD0Ts3_qPxn3p-wBOqx7_nxn82_kvv3AlGpfBG7974r8Z_6_JTRlWMdKL-343_0fmaAgjtT9T_p_G_uu8fg9JaRRP1_238n15-xUB4cqL-f43f-_coLlkC_qCByw34y4Gw",
  "pending": -4
}

Note the changes feed with descending=false (the default) is fine. This only affects ?descending=true requests.

Steps to Reproduce
Create a database and populate:
curl -X PUT '/mydb?q=16'
curl -X POST -H'Content-type:application/json' -d'{}' "$COUCH_URL/mydb"
curl -X POST -H'Content-type:application/json' -d'{}' "$COUCH_URL/mydb"
curl -X POST -H'Content-type:application/json' -d'{}' "$COUCH_URL/mydb"
curl -X POST -H'Content-type:application/json' -d'{}' "$COUCH_URL/mydb"

Fetch the changes feed with ?descending=true
curl "$COUCH_URL/mydb/_changes?descending=true"

Note: if I use q=1 on database creation, then I correctly get four different seq values back in descending order, but still with a negative pending value.

Expected Behaviour
It is expected that fetching a CouchDB's changes feed with descending=true would provide an array of results in descending seq order, a last_seq and a positive pending number indicating how many more changes are available to fetch.
Your Environment

3.3.1
curl
MacOS Ventura - M1

I had tried it in 2.3.1 and I see the same negative pending value behavior. Not clear if it was meant to do that (there is a plausible semantic explanation for it) or it was a genuine bug.

Returning some of same start sequence numbers comes as a side-effect of having individual shards.
Each shard has an integer sequence number that's incrementing. 0 is a special "start" sequence value. When we emit a sequence row in the changes feed we combine all the sequences from individual shards, the numeric prefix is the sum of all the individual sequences in each range. In the regular, forward direction, all sequences initialize at 0. So if there are 2 shard ranges (q=2), 2 docs on one range and 3 on the other, we might get this sequence:
  0+1 = 1
  1+1 = 2
  1+2 = 3
  1+3 = 4
  2+3 = 5

Could also be 0+1, 0+2, 0+3, 1+3, 2+3, etc.
In the reverse case, we initialize first with the top sequence from each shard range (2 and 3) instead of 0. So then, if we don't hear from a row yet we assume it's has its top sequence (2 or 3), so we might get:
  2+3 = 5
  2+3 = 5
  1+3 = 4
  1+2 = 3
  1+1 = 2

So we get 5 emitted twice. For a large Q we'd get a higher chance of emitting identical sum prefixes with a frequency proportional to Q or so.
The prefix bit, turns out, is mostly cosmetic, it's usually thrown away anyway when we get back a sequence in Apache CouchDB. (Though, older version of CouchDB or other couches might parse it). We can probably improve this part and attempt to emit a decrementing sum, at the expense that it won't actually match the sum of sequences from the encoded per-node sequence part (-g1AAAAf...) associated with it.

I guess a plausible interpretation of the pending number is that it reflects both the direction and offset from the end of the changes feed, regardless in which direction we're traversing it.
In a simple q=1 case with 5 changes:

If limit=2&descending=false we emit 2 docs and get pending = +3. That is, 3 more docs to go forward to get to 5 (the last seq value).

If we do limit=2&descending=true, we get pending = -2 since we have to go 2 docs backwards to get to the top (5).

Let's try to fix the pending value to actually return something useful:
https://github.com/apache/couchdb/pull/4715

Thanks for looking @nickva and for looking at the pending value 👍.
The repeated values make it tricky, and impossible in some cases, to traverse the changes feed backwards, but as it's a bit of a niche requirement (I've been using CouchDB for a decade and have never hit the changes feed with descending=true).

in theory it should be possible to fix _changes so it works in reverse order, I remember some previous fixes in this space. I suspect it's a bigger fix than this though. Just fixing the pending count but not addressing the encoded sequences doesn't seem useful. It is potentially misleading even.

Just fixing the pending count but not addressing the encoded sequences doesn't seem useful. It is potentially misleading even.

Hmm, I don't see how the pending count fix in https://github.com/apache/couchdb/pull/4715 is misleading. It shows the number of changes left to process in the direction of the traversal. It's should be about the same level of usefulness as the forward pending count. Perhaps pending the pending count overall is not a terribly used thing? But at lest they can now both work in about the same way.

"pending" means "this is how many newer changes there are yet to be received" so it only means pending in one direction

"pending" means "this is how many newer changes there are yet to be received"

Exactly. That's what https://github.com/apache/couchdb/pull/4715 fixes it to be.

🤷 ok then.


Disable nodeIntegration

I found out that nodeintegration was enabled. I'm not sure why. Can you test this, and also tell me why?

I'm pretty sure @hello-smile6 told me to enable that to fix some bugs had earlier on.


Define minimum versions of dependencies

Point of feedback from the workshop: for quite some packages, we require a recent version, but we don't specify this. So people using their installed packages instead of a fresh environment ran into some errors.
(eg click for the dash vs underscore? sqlachemy needs model_class keyword. pandas.concat needs sort keyword)
Ideally we should define and test minimum versions.

Ideally we should define and test minimum versions.

Or maybe just pin dependencies? This is an application that should ideally be installed in a separate well-controlled environment, not a library that could be installed everywhere.
Otherwise, with current unpinned versions of dependencies (and the number of dependencies), things are likely to break in 6 month or so, unless someone maintains it continuously.

Yep, that is actually true. And certainly given that we can train submissions in a different environment (where you want to have the latest), we can properly pin for ramp-board itself.


Feature/add share button

added a share button to make it easier to share within the app.
the link sent is respecting the locale

Thanks for the reviews. But I'd be happy to see any response from the maintainer first.

@MiriShalev This is an important feature

@kaminskypavel We intend to add this feature at the next version


New template with ReactJS (Javascript and Typescrit) with Redux Toolkit

Description
Will be good a template of ReactJS (JS and TS) with Redux Toolkit initial?
Suggested solution
Create a new template with this configurations.
Alternative
No response
Additional context
No response
Validations

[X] Follow our Code of Conduct
[X] Read the Contributing Guidelines.
[X] Read the docs.
[X] Check that there isn't already an issue that request the same feature to avoid creating a duplicate.

We only add bare-minimum/simple templates for each framework. For opinionated templates, you can share it at https://github.com/vitejs/awesome-vite instead.


Sample list implementation + nonlinear node demo

This PR implements SampleList that represents an arbitrary distribution with weighted list of samples.

Codecov Report

Merging #39 (c096da9) into master (3f0c1f7) will increase coverage by 3.23%.
The diff coverage is 82.41%.

@@            Coverage Diff             @@
##           master      #39      +/-   ##
==========================================
+ Coverage   42.92%   46.16%   +3.23%
==========================================
  Files         104      107       +3
  Lines        2751     3182     +431
==========================================
+ Hits         1181     1469     +288
- Misses       1570     1713     +143

Impacted Files
Coverage Δ

src/ReactiveMP.jl
0.00% <ø> (-33.34%)
:arrow_down:

src/constraints/form/form.jl
10.52% <0.00%> (-89.48%)
:arrow_down:

src/constraints/form/form_point_mass.jl
0.00% <ø> (ø)

src/constraints/form/form_sample_list.jl
0.00% <0.00%> (ø)

src/distributions.jl
52.00% <50.00%> (+2.00%)
:arrow_up:

src/distributions/normal.jl
71.25% <67.50%> (-8.35%)
:arrow_down:

src/helpers.jl
26.47% <85.00%> (+10.54%)
:arrow_up:

src/distributions/sample_list.jl
89.82% <89.82%> (ø)

src/constraints/form/form_unspecified.jl
40.00% <100.00%> (ø)

src/distributions/gamma.jl
90.90% <100.00%> (+0.90%)
:arrow_up:

... and 16 more

Continue to review full report at Codecov.

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


not updated using $push and $addToSet when nested sub document

code bellow will not updated
const data = {
    name: "data",
    location: {
      type: "Point",
      coordinates: [ -11212, 21212 ]
    }
  };

const result = await users.updateOne(
  { _id : new Bson.ObjectId(userId) },
  {
    $push : {
      address: data
    }
  }
);

but when there is not nested document, data updated
const data = {     name: "data"   };

I can't reproduce this on latest version, Can you provide a repro?


the docker inspect will not return error that has "Too many"

Hi
I found that https://github.com/docker/docker/blob/master/api/client/inspect.go#L42 there is some redundant code that the docker inspect will not gain the error msg that has sub string “Too many”,
So I think it's redundant code. Is it necessary to drop it?

@cc272309126 nice catch - I'll remove it


CSV upload doesn't auto-map all fields from shipment sample

Due to changes in column naming since the original implementation, the sample shipment CSV is no longer 100% automatically mapped to the associated api fields. The following fields are affected:

Pickup arrival waypoint
Delivery arrival waypoint
All fields for load demand value and type

Mistakenly opened. Current sample CSV structure does not require changes for auto-mapping fields.


added a theme based on the default Windows 10 wallpaper

This PR is made in honor of #100

Note: this PR is a Joke please don't merge it because Microsft hasn't given us rights to the background Image

Rest in peace


Class SimpleExoPlayer is not reconized

💬 Class SimpleExoPlayer is not reconized
Hi, when I've updated to lasted version I can't build my application more.
The class SimpleExoPlayer is not reconized.

💬 Class SimpleExoPlayer is not reconized
Hi, when I've updated to lasted version I can't build my application more. The class SimpleExoPlayer is not reconized.

Same issue... were you able to find a solution? I can't even find ExoPlayer class since SimpleExoPlayer has been deprecated.

It seems the class has an error when trying to bind the ExoPlayer class. I can't find a fix for it yet.

Please, martijn can we have another class name with same methods ?
Another way to access ExoPlayer class


Additional missing detail added to cdc format=csv

This is a quick fix:
diff and resolved options cannot be used in combination with the format=csv option.

This change is


Unknown table 'check_constraints' in information_schema.

The MySQL importer is currently trying to read from the check_constraints table, but it looks as though this table was only introduced in MySQL 8.0.16.  We need to test whether it exists before reading from it, or find another way of collecting that constraint information.
https://dev.mysql.com/doc/refman/8.0/en/information-schema-check-constraints-table.html

might be worth for now, while we're short on time, just stating we can only import mysql 8+, at the end of the day v8 was released in 2018, and therefore its reasonable to expect most people to use it.
https://en.wikipedia.org/wiki/MySQL#Release_history
Infact according to this we only need to support 5.7 other than 8 as all other versions are now no longer supported.
Therefore i;d say this is not a bug but a feature enhancement to support legacy systems


Problem with the TF-PWA angulare distributions

I continued the comparison and started to look into the channel D1->K+K-K0 with an a1 in the intermediate state.
There we have the problem that the model of TF-PWA the angulares distributions are modeled flat.

(Black is data from Tensorwaves and rad the model of TF-PWA)
In our opinion the distribution shouldn't be flat.
I used the following config file:
config.txt
I hope you have an idea what is going on.

L46.

 spins:
 - 0

R_K~0K+:
There is a typo.

This simple script can calculate the formula of  angular distribution
https://github.com/jiangyi15/tf-pwa/blob/dev/tutorials/examples/get_angle_distribution.py
The projection of cos theta^cms can have such shape , but the phi^K0 is flat.
2021-04-19 15:59:34"Leongrim" @.***>写道：
I continued the comparison and started to look into the channel D1->K+K-K0 with an a1 in the intermediate state.
There we have the problem that the model of TF-PWA the angulares distributions are modeled flat.
(Black is data from Tensorwaves and rad the model of TF-PWA)
In our opinion the distribution shouldn't be flat.
I used the following config file:
config.txt
I hope you have an idea what is going on.
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub, or unsubscribe.

Here is the outputs

[D(1)(2420)0->a(1)(1260)++K-, a(1)(1260)+->K~0+K+]
ls:  ((0, 1.0), (1, 0.0))
lambda: (0, -0.0, -0.0, -0.0)
: (sin(theta0)*sin(theta1)cos(phi1) - cos(theta0)cos(theta1))**2/3
ls:  ((1, 1.0), (1, 0.0))
lambda: (0, -0.0, -0.0, -0.0)
: sin(phi1)**2sin(theta0)**2sin(theta1)**2/2
ls:  ((2, 1.0), (1, 0.0))
lambda: (0, -0.0, -0.0, -0.0)
: (sin(theta0)*sin(theta1)cos(phi1) + 2cos(theta0)*cos(theta1))**2/6
There is 3 possible LS components.

Thank you very much I will look into it in more detail.

@Leongrim . I find the problem of Tensorwaves, this is the formula from Tensorwaves
result = q.generate_transitions(
     initial_state="D(1)(2420)0",
     final_state=["K+","K-","K~0"],
     allowed_intermediate_particles=["a(1)(1260)+"],
     formalism_type="canonical-helicity")

modol_builder = get_builder(result)
model_no_dynamics = modol_builder.generate()
sym.print_latex(model_no_dynamics.expression)

The summation should be LS instead of helicity.  As


change all types to date and datetime on relevant attributes

https://github.com/ga4gh/gks-core/blob/d993cc68ddc637a2f3513da5e1043939bfd3393f/schema/gks-core/gks-core-source.yaml#L129
The primitive date and datetime types where added to gks-core and should be used in any attributes that they are relevant to.

@larrybabb any issues a beginner can take up???

done


Support .md (markdown) files for scans

Conform to inclusions/exclusions listed here: https://github.com/apache/incubator-openwhisk-release/blob/master/docs/license_compliance.md
This means supporting "has_block_license" on:
*.md=no_tabs, eol_at_eof
Assure support for all repos. before committing in utility repo. (here); open pre-req issues where necessary and link them here (depends on).

Closed by https://github.com/apache/incubator-openwhisk-utilities/pull/29


Broken Link in Docs

The link called "Oscar" on
http://django-photologue.readthedocs.io/en/latest/pages/customising/templates.html
to
https://django-oscar.readthedocs.io/en/latest/recipes/how_to_customise_templates.html
is broken.

Thanks - I've fixed the broken link.


Unexpected difference from Terraformer Parser

I am not sure what you want to do with this information, but in switching from Terraformer Parser I ran into the following unexpected change:
For this feature:
{
  "attributes": {
    "PROJ_DESC": "REMODEL FOR DRINK STATION ON FLOOR 3. C/C                         "
  },
  "geometry": {
    "x": "NaN",
    "y": "NaN"
  }
}

[Found in the wild] (http://mycity.houstontx.gov/arcgisv91/rest/services/PD/Permits_wm_Bldg/MapServer/2/query?where=OBJECTID%3D562288&text=&objectIds=&time=&geometry=&geometryType=esriGeometryEnvelope&inSR=&spatialRel=esriSpatialRelIntersects&relationParam=&outFields=&returnGeometry=true&maxAllowableOffset=&geometryPrecision=&outSR=&returnIdsOnly=false&returnCountOnly=false&orderByFields=&groupByFieldsForStatistics=&outStatistics=&returnZ=false&returnM=false&gdbVersion=&returnDistinctValues=false&returnTrueCurves=false&resultOffset=&resultRecordCount=&f=pjson)
Terraformer parser returns [Error: Unknown type: undefined]
Whereas this module returns {}
I know these are separate projects, but I thought you might want to be aware of this difference.

which behavior seems more appropriate to you?  it seems to me like it would be ideal if we output valid GeoJSON.

A feature object must have a member with the name "geometry". The value of the geometry member is a geometry object as defined above or a JSON null value

{
  "properties": {
    "PROJ_DESC": "REMODEL FOR DRINK STATION ON FLOOR 3. C/C                         "
  },
  "geometry": null
}

Returning null is a lot better than status quo


Update Contributing.md

Signed-off-by: lanxia<EMAIL_ADDRESS>

Thanks @smlambert . The PR is updated.


HDDS-8707. Avoid linear search in DBDefinition implementations.

What changes were proposed in this pull request?
DBDefinition declares the following method returning an array.
public DBColumnFamilyDefinition[] getColumnFamilies();

It forces the callers to perform a linear search for looking up DBColumnFamilyDefinition by names.  The method should return a Map.
What is the link to the Apache JIRA
https://issues.apache.org/jira/browse/HDDS-8707
How was this patch tested?
By existing unit tests.

When merging this, please add
Co-authored-by: Doroszlai, Attila<EMAIL_ADDRESS>

Thanks @szetszwo for updating the patch.


Request textDocument/codeLens failed with jdt.ls.

When I connect monaco language client to an Eclipse jdt.ls server, I got a "Request textDocument/codeLens failed" error.
First, I initialized the language client like this:
const model = monaco.editor.createModel(value, 'java', monaco.Uri.parse('file://sbin/maven/my-app/src/Hello.java'));
...
monaco.editor.setModelLanguage(editor.getModel(), "java");
const services = createMonacoServices(editor, { rootUri: '/sbin/maven/my-app/src' });
...

On the server, I have a my-app project generated by Maven in /sbin/.
After I fire up the client, I see the log in the console:
Sample Language Client: [Info  - 4:04:56 PM] Aug 1, 2018 8:04:58 AM Main thread is waiting
console-window.ts:35 Sample Language Client: [Info  - 4:04:56 PM] Aug 1, 2018 8:04:58 AM >> initialize
console-window.ts:35 Sample Language Client: [Info  - 4:04:56 PM] Aug 1, 2018 8:04:58 AM Initializing Java Language Server <IP_ADDRESS>808010119
console-window.ts:35 Sample Language Client: [Info  - 4:04:56 PM] Aug 1, 2018 8:04:58 AM No workspace folders or root uri was defined. Falling back on /home
console-window.ts:35 Sample Language Client: [Info  - 4:04:57 PM] Aug 1, 2018 8:04:58 AM >> initialized
console-window.ts:35 Sample Language Client: [Info  - 4:04:59 PM] Aug 1, 2018 8:04:58 AM Importing Maven project(s)
console-window.ts:35 Sample Language Client: [Info  - 4:04:59 PM] Aug 1, 2018 8:04:58 AM Workspace initialized in 2743ms
console-window.ts:35 Sample Language Client: [Info  - 4:04:59 PM] Aug 1, 2018 8:04:58 AM >> java/buildWorkspace (full)
console-window.ts:35 Sample Language Client: [Info  - 4:04:59 PM] Aug 1, 2018 8:04:58 AM >> document/didOpen
console-window.ts:35 Sample Language Client: [Info  - 4:05:19 PM] Aug 1, 2018 8:04:58 AM >> document/codeLens
console-window.ts:35 Sample Language Client: [Error - 4:05:19 PM] Request textDocument/codeLens failed.
console-window.ts:35 Sample Language Client: Error: Internal error.
    at new ResponseError (http://localhost:3008/main.bundle.js:67549:28)
    at handleResponse (http://localhost:3008/main.bundle.js:66985:48)
    at processMessageQueue (http://localhost:3008/main.bundle.js:66813:17)
    at http://localhost:3008/main.bundle.js:66797:13
    at run (http://localhost:3008/main.bundle.js:134213:13)
    at runIfPresent (http://localhost:3008/main.bundle.js:134242:21)
    at onGlobalMessage (http://localhost:3008/main.bundle.js:134282:17)

From Chrome's Network ws traffic frame, I can see server response to the codeLens request is:
{"jsonrpc":"2.0","id":1,"error":{"code":-32603,"message":"Internal error.","data":"java.util.concurrent.CompletionException: java.lang.IllegalArgumentException: URI has an authority component\n\tat java.util.concurrent.CompletableFuture.encodeThrowable(CompletableFuture.java:273)\n\tat java.util.concurrent.CompletableFuture.completeThrowable(CompletableFuture.java:280)\n\tat java.util.concurrent.CompletableFuture.uniApply(CompletableFuture.java:604)\n\tat java.util.concurrent.CompletableFuture$UniApply.tryFire(CompletableFuture.java:577)\n\tat java.util.concurrent.CompletableFuture$Completion.run(CompletableFuture.java:442)\n\tat java.lang.Thread.run(Thread.java:748)\nCaused by: java.lang.IllegalArgumentException: URI has an authority component\n\tat sun.nio.fs.UnixUriUtils.fromUri(UnixUriUtils.java:53)\n\tat sun.nio.fs.UnixFileSystemProvider.getPath(UnixFileSystemProvider.java:98)\n\tat java.nio.file.Paths.get(Paths.java:138)\n\tat org.eclipse.jdt.ls.core.internal.JDTUtils.getFakeCompilationUnit(JDTUtils.java:186)\n\tat org.eclipse.jdt.ls.core.internal.JDTUtils.resolveCompilationUnit(JDTUtils.java:140)\n\tat org.eclipse.jdt.ls.core.internal.JDTUtils.resolveCompilationUnit(JDTUtils.java:113)\n\tat org.eclipse.jdt.ls.core.internal.handlers.CodeLensHandler.getCodeLensSymbols(CodeLensHandler.java:169)\n\tat org.eclipse.jdt.ls.core.internal.handlers.JDTLanguageServer.lambda$14(JDTLanguageServer.java:557)\n\tat org.eclipse.jdt.ls.core.internal.handlers.JDTLanguageServer.lambda$23(JDTLanguageServer.java:732)\n\tat java.util.concurrent.CompletableFuture.uniApply(CompletableFuture.java:602)\n\t... 3 more\n"}}
At this point, none of the LS features works.
Does anyone know what the issue is?

Hi @shoorlyne the error is from Java LS, you will have better luck asking it there.
From java.lang.IllegalArgumentException: URI has an authority component looks like some URI is bogus. Maybe: rootUri: '/sbin/maven/my-app/src. A URI is expected no a path.

Thanks @akosyakov for your suggestions. Will try it later.


Add Webex Access Anywhere

There doesn't seem to be any place I could find publicly to scrape the URL without account authentication (with authentication to our webex support portal I can manage to pull https://akamaicdn.webex.com/client/WBXclient-41.8.4-11/aainstall.msi but that's a no go for obvious reasons) so I've had to settle for a static URL instead. This uses the same source location (https://welcome.webex.com/client/T33L/...) which comes back via an API call I found for Cisco Webex app (which Arron integrated into Nevergreen) but annoyingly it doesn't include Webex Access Anywhere app!
Versioning is pulled from the same source that is used by Webex Support Manager - the public webex support portal as they always seem in sync.

Hi, this looks OK - looks like we can get away with a hard-coded URL in this instance.
It looks like we're pulling the version from the desktop app, but I checked both Webex Access Anywhere and Webex Support Manager and the downloaded MSIs do match this version. Please let me know if these versions ever become out of sync, e.g. if they patch the desktop app but not these 2 installers.


Dynamic class usage in  fails

Using a helper in a class property doesn't render the class in the rendered HTML.
Failing tests: https://github.com/rwjblue/ember-angle-bracket-invocation-polyfill/pull/82
Example:
<LinkTo @route="foo" class={{concat "main"}}>Link</LinkTo>

Expected HTML:
Link

Actual:
Link

It seems that the transformation for helpers that are not hash or array is broken as this is hard coded into the transform.
https://astexplorer.net/#/gist/0590eb883edfcd163b183514df4cc717/49ae425268ccb4a7c2983caec29372adb56845aa

This seems to work for all use cases: https://astexplorer.net/#/gist/0590eb883edfcd163b183514df4cc717/6284c6222fe671a1be16432477cdf83c840dfcf0
I updated the PR with this fix and all tests are passing :)


Update migrations.lua

Updated reset command description.
Summary
This change was requested in DOCU-1474 because it was unclear to customers that the reset command would erase data instead of reset the migration steps.
Full changelog

Edited the description of the reset command

Issue reference

Fix DOCU-1474

 Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.You have signed the CLA already but the status is still pending? Let us recheck it.


Minor improvements

Ubuntu 18.04 configured as default to execute jobs
Unused Business exception removed

Pull Request Test Coverage Report for Build<PHONE_NUMBER>ed7723cf326409b06488c2c4782fcf-PR-7

0 of 0   changed or added relevant lines in 0 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage increased (+1.8%) to 78.06%

Totals

Change from base Build 6d6763c463164f7493bc700da76ca1e087818878:
1.8%

Covered Lines:
623

Relevant Lines:
780

💛  - Coveralls


modules/interface: Add routes() function

Returns the routes associated with the interface, optionally filtered by scope (host, link or global).

Merged, thanks!


support for --TagRemovePreprocessor...

I have to say first that bookbook is great!
but not without some problems... If I try to use bookbook on notebooks where I have used the relatively new cell tags mechanism, as in
python3 -m bookbook.latex --TagRemovePreprocessor.remove_input_tags='{"hide-code"}' --template ./art.tplx --TagRemovePreprocessor.remove_cell_tags='{"hide-cell"}'

everything breaks and I'm told
usage: latex.py [-h] [--output-file OUTPUT_FILE] [--pdf] [--template TEMPLATE]
                [source_dir]
latex.py: error: unrecognized arguments: --TagRemovePreprocessor.remove_input_tags={"hide-code"} --TagRemovePreprocessor.remove_cell_tags={"hide-cell"}

Why don't you simply pass to nbconvert the options not understood by bookbook? I have made the example of the tags preprocessor, but there are many other aspects of nbconvert that are configurable via command line options.
Thank you ፨ gb

It probably makes sense to pass options through to nbconvert, though I'd probably make it work like this:
python3 -m bookbook.latex (bookbook options) -- (nbconvert options)

i.e. the nbconvert options go after --. That avoids clashes if we later want to add some options with the same names as nbconvert options.


Props should be immutable as default

Vue version
3.3.4
Link to minimal reproduction
https://play.vuejs.org/#eNp9Uk1vwjAM/StZLgWJUU3cWEHaJqRt0gbaJu2SS9WaEpYmUZIyUNX/PieFwtjHLfZ7sZ/tV9MbrYebCuiYJjYzXDtiwVWauJ2GCaPOMjplkpdaGUdqYiDNlRS7Ab6WpCFLo0oSYYGoI92pUu/zw9gHvn50zSSTmZLWkdIWZOL/96J7EEKRd2VEfhH1DwTfZI5NnsDatIBAbtv28G8fSyVxKxalYeCg1CJ1gBEhyepqWtehSdMkMUYhy6WuHNlclioHgYMhHiZDKAgel20zhM7aM0piJCZx14YOcC8odcmL4doqicurfSVGMyzFBZi5dhxHYXRMAuKxFEf9fAw5ZyoYHPLZCrKPX/Jru/U5RhcGLJgNCukwl5oCXAvPXp9hi+8OxBErgex/wBewSlReY0u7rWSOsk94Qe1DuCiXxZudbR1IexjKC/XMJvAZxQv7Lf41+lHuaDgK/5hscIsHd/xwn0hlcXQfkzksuYSFUdom+6r7e42JdQYVYsFp78wap8ZIcr4Jvth7ynvDp74ftvkClMQJpw==
Steps to reproduce
In the pinia I created readonly ref

I send props in the component

and in the component I get props

All is working, but type-check send:
 error TS4104: The type 'readonly ({ readonly id: string;} | { ...; } | { ...; })[]' is 'readonly' and cannot be assigned to the mutable type 'Item[]'.

What is expected?
props shouldn't be mutable
https://vuejs.org/guide/components/props.html#one-way-data-flow
What is actually happening?
props are mutable
System Info
System:
    OS: macOS 14.0
    CPU: (10) arm64 Apple M1 Pro
    Memory: 87.11 MB / 16.00 GB
    Shell: 5.9 - /bin/zsh
  Binaries:
    Node: 20.3.0 - /opt/homebrew/bin/node
    Yarn: 1.22.19 - /opt/homebrew/bin/yarn
    npm: 9.6.7 - /opt/homebrew/bin/npm
  Browsers:
    Chrome: 114.0.5735.198
    Safari: 17.0
  npmPackages:
    vue: ^3.3.4 => 3.3.4

Any additional comments?
I can wrap Readonly, but I think it is overhead for each props
P.s. And I catch errors in some libs https://github.com/anish2690/vue-draggable-next/issues/56 who is using it

I am using it.
https://github.com/Shyam-Chen/Vue-Starter/blob/main/src/components/Transfer.vue

- const readOnlyMessage = readonly(msg);
+ const readOnlyMessage = msg.value;

const readOnlyMessage = msg.value;

@Shyam-Chen my purpose is to make both reactive and readonly property
For example:
// not working, but expected
defineProperties<{
  message: string,
}>()

// working, but overhead for each property
defineProperties<{
  message: Readonly<string>,
}>()

The issue can no longer be reproduced using the latest version of Vue and vue-tsc.


Relinked controls and VIs linked to vi.lib

There were VIs and controls linked to a release lvlib (gprc-lvsupport-release.lvlib) that is expected at vi.lib. I assume they need to be linked within the source code folder as below. @ccifra

@KarthikAbiram  The last commit has refactored the code by splitting the lv-support and templates into different project. So, the development approach is as mentioned in the md file - https://github.com/ni/grpc-labview/blob/master/docs/developing and building LabVIEW libraries.md
templates source should be dependent on the "grpc-lvsupport-release", but I see that we are yet to release the package, so you might have challenges to link it to the library that you dont have. Please see if you can follow the instruction and update the solution? ping me if you have questions.

Sure - in that case, I will go ahead and close this pull request.


How can/why is ShapeShifter::instantiate const?

Hi,
Regarding the function
https://github.com/facontidavide/ros_type_introspection/blob/06c3321fbe256c2c294ba62f3d4479dfb8d6a872/include/ros_type_introspection/utils/shape_shifter.hpp#L78
Note the const qualifier.
I suddenly had trouble compiling PlotJuggler with ROS, giving me build errors of the form:
In file included from <..>/plotjuggler/ws_plotjuggler/src/PlotJuggler/plugins/ROS/RosoutPublisher/rosout_publisher.cpp:3:
In file included from <..>/plotjuggler/ws_plotjuggler/src/PlotJuggler/plugins/ROS/RosoutPublisher/../shape_shifter_factory.hpp:4:
/opt/ros/kinetic/include/ros_type_introspection/utils/shape_shifter.hpp:207:31: error:
      no matching constructor for initialization of
      'ros::serialization::IStream'
  ros::serialization::IStream s(msgBuf_.data(), msgBuf_.size() );
                              ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/opt/ros/kinetic/include/ros/serialization.h:749:3: note: candidate constructor
      not viable: 1st argument ('const unsigned char *') would lose const
      qualifier
  IStream(uint8_t* data, uint32_t count)
  ^

Which was odd, as I had it compiling fine before, without any obvious changes to my setup. As far as I can understand though, the compiler correctly asserts that accessing the vector data in the implementation
https://github.com/facontidavide/ros_type_introspection/blob/06c3321fbe256c2c294ba62f3d4479dfb8d6a872/include/ros_type_introspection/utils/shape_shifter.hpp#L207
through the vector<>::data() function from within the const method instantiate indeed returns the const pointer const uint8_t*:
https://en.cppreference.com/w/cpp/container/vector/data
Which constructs an IStream object which (for kinetic at least), in serialization.h is not const:
http://docs.ros.org/kinetic/api/roscpp_serialization/html/serialization_8h_source.html#l00709
Removing the const qualifier from instantiate resulted in a working build.
Now, obviously there is something with my setup that triggers this now as I had it building before and no one else has had this issue compiling introspection or plotjuggler. However, should this method really be const?
Best,
Kristian

This is kind of weird, because, as you mentioned, my compiler doesn't complain about it.

It makes sense for instantiate() to be const because it is not supposed to modify the original object.
On the other hand, I do not understand why IStream constructor won't require a const pointer, in theory (but you are right, it doesn't).
I have no idea how it could have been working so far....

Which compiler are you using?

More surprisingly, the same should be true for the original version of ShapeShfter...
http://docs.ros.org/jade/api/topic_tools/html/classtopic__tools_1_1ShapeShifter.html#a345259ecbb55e0f5d2db7269c81ff164

practically speaking I can fix the problem adding mutable to msgBuf_, but I wonder why I have never detected this before

Hmm, thanks for the inputs. Indeed, I find this strange.
Currently I am working on a plugin for plotjuggler, which is also built with catkin.
I got back to a working build with a fresh workspace and upstream plotjuggler (before I had upstream but an old workspace, probably some cmake cache remained after a clean), so I suspect that my new plugin somehow influenced it. (however no custom compiler flags or anything special in the cmake file). I will try to reproduce in the new workspace.
As far as I can see, nothing actually calls the instantiate-method? Could that cause the template not to be generated in some cases?
The system is Ubuntu 16.04, default compiler, ros kinetic installed with apt-get.

just pushed a "fix" replacing the old instantiate method with a new one

Update: Reproduced error on fresh workspace and upstream plotjuggler.
Was indeed compiler choice. When compiling with clang-6.0, the errors occurs.

Anyhow, thanks for looking into it and fixing the issue :+1:


support for "date added" and "favourite" fields

let me know if there's anything weird with this, but this solves my issue https://github.com/Stampede/itunes-navidrome-migration/issues/5 pretty well
there may be a couple edge cases that I might look into at another time but for the most part I'm satisfied with this

It looks mostly OK but I don't have a way to test it. Something I noticed missing is that when something is "loved", then that action gets a timestamp, but you leave it without a timestamp:
annotation_entries.append((generate_annotation_id(), userID, item_id, entry_type, play_count, play_date, rating, loved, None)) (the None at the end sohuld have a timestamp if it's actually loved).
It may not matter, or maybe that is used in Navidrome somewhere non-obvious like for smart playlists, or for ND to make suggestions for favorite songs or something.
If a song is unloved, then leaving that as None is how ND does it already.
Thanks for the PR! Because I can't really test it, I think I will make another branch and then merge your changes into that and people can use it if they want and report issues. But I am not too good at the github thing so gimme a day or 2 to figure out how to do that.

Yeah, I didn't put any timestamps for the loved field since that's perfectly fine for how I used it in iTunes. I didn't really care about the timestamp for that, it was just a little indicator for me.
I also just realized that in the case where a song doesn't have a "last played" date (ie never been played before) something fails when updating the "date added" field. I may look into that if I have a time, but it's pretty much a non-issue for me.
One more thing I might change later is just a quick option to specify what path the it_root_music_path points to, because of this https://github.com/Stampede/itunes-navidrome-migration/issues/4#issuecomment-1606228627, but that's a trivial thing

I can confirm loved is working for me. Date added not. I had to change it according to the above review.


Create & apply testing decorator for plot comparison, w/bug fix

Close #13 with an improvement to the previous image comparison approach through using a matplotlib.testing-based comparison via test method decoration and therefore also close #14.
Fix bug #70 (in commit 9fda04778e3a60e7f5d91d2238dce20bc5380b5f) whilst doing this: having the image comparison set-up meant it was much easier to keep track of fixing the issue for the projections it affected whilst ensuring it didn't cause unwanted effects for projections that plotted as they should already. Ideally should have raised two separate PRs but I initially intended to do the bug fix only and whilst judging the best fix and comparing outputs I thought it would save time to get the enhancements above done, for those reasons.

Merging ready to move on to various other fixes the test suite indicates need to be made...


[SUBMARINE-576] Always return empty list when listing environments

What is this PR for?
https://issues.apache.org/jira/browse/SUBMARINE-576
What type of PR is it?
Feature
Todos

[ ] - Task

What is the Jira issue?
https://issues.apache.org/jira/browse/SUBMARINE-576
How should this be tested?

First time? Setup Travis CI as described on https://submarine.apache.org/contribution/contributions.html#continuous-integration
Strongly recommended: add automated unit tests for any new or changed behavior
Outline any manual steps to test the PR here.

Screenshots (if appropriate)
Questions:

Does the licenses files need update? Yes/No
Is there breaking changes for older versions? Yes/No
Does this needs documentation? Yes/No

@pingsutw Can you please review? Environment spec 'name' is not allowed for updates, hence modified corresponding test case as well. In addition, committed few more changes to https://github.com/apache/submarine/pull/348 as well to reflect the same.

@pingsutw Data has been already stored in database (in "environment" table). In-memory cache support has been added mainly from performance perspective to save the db calls. Can you please commit the code as @lowc1012 might be expecting this change?

@liuxunorg PR https://github.com/apache/submarine/pull/348 commits also has been merged into the master. We will need to remove those commits . Only this commit https://github.com/apache/submarine/pull/358/commits/e7476c7469784ac3cf4a16def0cdff779fd4d4a6 should have gone into the master. Can you please check?


Remove all remote watches

Bound to mig-operator https://github.com/konveyor/mig-operator/pull/427
UI requirements issue: https://github.com/konveyor/mig-ui/issues/1003
Summary
Eliminates remote watches.
Goals

Allow for many idle MigPlans with no perf penalty (no reconciles triggered due to various remote events)
Reduce cluster load from APIserver requests issued during spurious reconciles
Make CAM more responsive when hooked up to clusters with a lot going on (less in the reconcile queue)

Changes

Removes remote watches
Adds "spec.refresh" bool to MigPlan, MigStorage, MigCluster to provide trigger for manual refresh at any time if desired

UI and CLI user can use this to refresh on demand as needed
MigPlan refresh will also trigger MigStorage and MigCluster refreshes

Adds Refresh and EnsureRefresh phases to itinerary to ensure all Mig CRs are additionally reconciled "just-in-time" at the beginning of migration
Uses timed requeues during active migrations to check up on progress
Continues to use local watches on Mig* kinds

Side-effects

Mig* resources will no longer be reconciling all the time and keeping MigPlans updated, ensuring Registry is running, etc. These things are ensured "just-in-time" for migration, or whenever the user manually triggers updates with spec.refresh: true
Remote watch memory consumption is eliminated. This is a large portion of our overall consumption.
UI support needed to trigger reconciles at appropriate times. Need to talk through how UX should work in a system like this.

Suggested UI changes needed (UX input wanted)

On load, the PV discovery page of MigPlan editor should trigger migplan.spec.refresh: true in the background and poll for this to flip back to migplan.spec.refresh: false. The UI should show a spinner until this finishes.
Within the kebab menu for Clusters, Replication Repos, and Plan, there should be a new "Refresh" button to trigger a manual update (e.g. set spec.refresh: true on the MigStorage, MigCluster, or MigPlan`)
On MigPlan creation, UI should set MigPlan.spec.refresh=true to ensure references MigStorage and MigClusters are reconciled before the controller will run PV discovery

Benchmarks
Test Scenario 1 - rocket-chat migration, no quiesce

Scenario
Remote Watches?
CAM Memory
Requests
Total Request Latency

1 - Simple Migration
Yes (master)
167.66 MiB (100%)
421 (100%)
2.34 sec (100%)

1 - Simple Migration
None (this PR)
114.49 MiB (68.2%)
271 (64%)
1.54 sec (65%)

[MASTER] 1 - Simple Migration - Remote Watches Enabled (167.66 MiB memory, 100%)

[THIS PR] 1 - Simple Migration - Remote Watches Removed (114.49 MiB memory, 68.2%)

Change "InProgress" label to condition
Make spec.refresh go to false immediately on plan, replaced by "InProgress" condition
"InProgress" condition will not be an "Unready" condition, but upon completion of Refresh plan may go unready
Make sure registry will be ready in time for first backup

@djwhatle A couple of UX related questions here. (1) How much additional time will this add to PV discovery? It's already pretty slow. Can we get any sort of progress indication on the whole discovery process beyond the indeterminite spinner we're showing right now? (2) Not sure I understand the need for a refresh except right before plan execution, but if it's needed that's fine. My question is, should refresh be done on a one by one basis, or do we want the user to be able to be able to refresh multiple clusters/repos/plans at once?

@vconzola, cc @ibolton336 (Ian, thought you might want to get looped into this discussion)

1. PV discovery runs as soon as the MigPlan is created with namespaces. This will not change due to this PR. The PV discovery process will not be slower. Changes applied by the user in general will get acted upon more quickly since there will be less work in the queue in front of the user request.
This responsiveness improvement will be especially noticeable when multiple plans are present or if there is a lot of cluster activity (e.g. a real-world cluster). This PR is really focused on reducing work the controller is doing when no one asked the controller to do it, aka "spurious reconciles".

2. Manual Refresh is needed only in these situations:
a) When the user re-enters the MigPlan wizard PV selection editing step after initial creation.
If a user  already completed the MigPlan wizard once and want to come back and make changes, the UI will need to trigger a refresh in the background and let the user wait for results. PVs will be discovered right after initial creation, and again any time the spec.refresh=true is set on the MigPlan.

Regarding the manual refresh on the PV selection page, the important part is when the user clicks into the PV selection wizard step, the UI needs to set refresh=true and then wait for PV discovery to complete again before displaying the form to the user. The reason for this is that remote cluster changes will no longer automatically refresh the CAM controller's CRs -- specifically for this step, this means that if storage classes are added or removed on the src or target clusters, that won't get reflected on the MigCluster (and thus the MigPlan's PV list) until refresh is triggered on the migplan, but we must have up-to-date PV discovery+storageclasses for this wizard step.

@jortel ready for another round of review, made the changes we discussed today. I don't think we want to remove suspended right now because MigPlan controller is watching MigMigration, and we don't want PV discovery to run all throughout migration IMO.

@djwhatle @sseago cc: @ibolton336 So, if I'm reading this correctly no display layer changes are needed in the mig plan wizard. Only, display layer change is to add a kebab action to a plan that kicks off a manual refresh. Correct?

@vconzola @ibolton336  that sounds about right. These are the only changes I know of:
(this comment contains most up-to-date info given ongoing development of PR, refer to this as source of truth)

Need to set migplan.spec.refresh=true when re-entering the "edit" migplan wizard for an existing plan. Wait on migplan.spec.refresh=true and migplan.status.conditions[RefreshInProgress].IsAbsent() to indicate PV discovery is done before showing user PV migration options.

Need kebab menus on Plan, Storage, Clusters to include "Refresh" that will kick the appropriate resources *.spec.refresh (this option is available on MigCluster, MigStorage, MigPlan)

It could make sense to have the "Stage" and "Migrate" kebab options to perform one final refresh and wait for results before allowing the user to press the real "Create MigMigration" button. This would allow for the user to realize if something in the plan has gone sour before they run the migration. If we don't do this, the first step in the migration EnsureRefreshed will catch the issue, but then the user will have to use "cancel" to stop the migration.

I think that because of checks every ~30s RemoteClusterSource in migcluster_controller.go and  ProviderSource in migstorage_controller.go, it will very rarely be the case that anything will go unready during the EnsureRefreshed phase. I don't think it's worth changing the layout of the migmigration controller to accommodate auto-cancel functionality here.
I think the only thing left to do now is UI changes.

Reminder to self: check on MigAnalytics, ensure still working as expected.

Rebased on master to take advantage of some fixes.

@ibolton336 @djwhatle I'm catching up on some old GitHub issues/PRs. Has the Refresh action been added to a plan's kebab menu? Does whichever of you is implementing it need a mockup?

@vconzola the way this was implemented, there were no view-layer changes made. The refresh just happens in the background at various user actions.

@djwhatle Sweet! No UI is usually the best UI.

@jortel @alaypatel07 I ran cam-e2e-qe against the latest commits in this branch and saw only a few TCs fail. I will investigate the cause of failure on these TCs and try to fix. I think the CRD TC failure has already been fixed in master so will just need a rebase.
Failed TCs
EXECUTION RESULT: FAILURE (smoke/ocp-34703-crd.yml)
EXECUTION RESULT: FAILURE (smoke/ocp-28021-istags.yml)
EXECUTION RESULT: FAILURE (smoke/ocp-33378-max-pvs-equalquota.yml)

All TCs
EXECUTION RESULT: OK (smoke/ocp-24797-mongodb.yml)
EXECUTION RESULT: OK (smoke/ocp-24686-project.yml)
EXECUTION RESULT: OK (smoke/ocp-29073-internalis.yml)
EXECUTION RESULT: OK (smoke/ocp-24706-basicvolmig.yml)
EXECUTION RESULT: FAILURE (smoke/ocp-34703-crd.yml)
EXECUTION RESULT: FAILURE (smoke/ocp-28021-istags.yml)
EXECUTION RESULT: OK (smoke/ocp-26160-max-pvs.yml)
EXECUTION RESULT: OK (smoke/ocp-24872-mssql.yml)
EXECUTION RESULT: OK (smoke/ocp-24997-configmap.yml)
EXECUTION RESULT: OK (smoke/ocp-32834-pvc-terminating.yml)
EXECUTION RESULT: OK (smoke/ocp-34821-increase-data.yml)
EXECUTION RESULT: OK (smoke/ocp-25022-cronjob-quiesced.yml)
EXECUTION RESULT: OK (smoke/ocp-31339-pvc-not-connected.yml)
EXECUTION RESULT: OK (smoke/ocp-31309-quotanoattach.yml)
EXECUTION RESULT: OK (smoke/ocp-27335-velero-version.yml)
EXECUTION RESULT: OK (smoke/ocp-25021-cronjob.yml)
EXECUTION RESULT: OK (smoke/ocp-24659-mysql.yml)
EXECUTION RESULT: OK (smoke/ocp-25212-initcont.yml)
EXECUTION RESULT: OK (smoke/ocp-29871-resquota.yml)
EXECUTION RESULT: OK (smoke/ocp-24871-datagrid.yml)
EXECUTION RESULT: OK (smoke/ocp-33393-bz1845569.yml)
EXECUTION RESULT: OK (smoke/ocp-24769-cakephp.yml)
EXECUTION RESULT: OK (smoke/ocp-33379-maxns-equalquota.yml)
EXECUTION RESULT: OK (smoke/ocp-25986-maxpods.yml)
EXECUTION RESULT: OK (smoke/ocp-31358-restartrestic-newer-than-310.yml)
EXECUTION RESULT: OK (smoke/ocp-32189-cronjob-with-pvc.yml)
EXECUTION RESULT: FAILURE (smoke/ocp-33378-max-pvs-equalquota.yml)
EXECUTION RESULT: OK (smoke/ocp-24995-role.yml)
EXECUTION RESULT: OK (smoke/ocp-26032-maxns.yml)
EXECUTION RESULT: OK (smoke/ocp-24787-redis.yml)
EXECUTION RESULT: OK (smoke/ocp-34824-decrease-data.yml)
EXECUTION RESULT: OK (smoke/ocp-25090-jobs.yml)
EXECUTION RESULT: OK (smoke/ocp-25000-sets.yml)
EXECUTION RESULT: OK (smoke/ocp-24730-django.yml)
EXECUTION RESULT: OK (smoke/ocp-33375-maxpods-equalquota.yml)
EXECUTION RESULT: OK (smoke/ocp-28967-migplan-naming.yml)
EXECUTION RESULT: OK (smoke/ocp-32077-empty-pvc.yml)

Thanks to Sergio for his help getting the test suite running against my cluster, it's pretty easy to do once you have the right set of commands! I'll plan to document the steps during this sprint.

Since I made substantial changes to the PR, I re-ran tests. The results appear ~the same as last time, but the 3 failing TCs are different this time. I'll re-run the mongoDB and mssql tests individually to make sure that this is OK.
EXECUTION RESULT: FAILURE (smoke/ocp-24797-mongodb.yml)
EXECUTION RESULT: FAILURE (smoke/ocp-28021-istags.yml)
EXECUTION RESULT: FAILURE (smoke/ocp-24872-mssql.yml)


documentation fix for applyPath

Small but legitimate haddock fix.
This fails travis for "CABALVER=stack GHCVER=stack" configuration but I'm thinking the problem must be on the travis side as I don't see anything in the commit that would cause this. The other configurations pass.

I merged this but GitHub did not notice.


Add test case for tuple generics in html!

Description
#2225 has already been fixed. I don't know what fixed it though so this PR adds a test case for that
Fixes #2225
Checklist

[x] I have reviewed my own code
[x] I have added tests

Can you also add a test that uses a non-self-closing tag? This seems to have had different behaviour in the original bug report, so it would make sense to also test for
    ::yew::html! { <Generic<(u8, bool)> ></Generic<(u8, bool)>> };

Can you also add a test that uses a non-self-closing tag? This seems to have had different behaviour in the original bug report, so it would make sense to also test for
    ::yew::html! { <Generic<(u8, bool)> ></Generic<(u8, bool)>> };

Oh right, that's what the original bug report was about then. I can confirm that only non-self closing tags panic!


Do I have to use allowChanges if my handlers need access to props which can change?

I have handlers that involve props, something like this:
const handlers = {
  FOO: () => {
    myFunc(someProp);
  }
};

return (
  <HotKeys handlers={handlers} keyMap={keyMap} allowChanges>
    {children}
  </HotKeys>
)

My question is, is there a way around using allowChanges?
In v1.x.x, I didn't have the allowChanges, then I upgraded to v2.0.0 and found my handlers broke because they don't use the newest prop, so I added allowChanges. But I think my case should be a very common case, is there a better way? I tried wrapping the myFunc(someProp) part in a separate function outside of handlers and call it inside the handler without supplying any arguments, but it didn't work.

Hi @ZYinMD, thanks for asking.
react-hotkeys v2 was designed to be "optimized by default". Part of this is not updating handlers or keyMap after a component mounts (<GlobalHotKeys>) or is (re)focused (<HotKeys>), unless the consumer of the library explicitly opts into honouring the updates. This is among the greatest measures taken to ensure react-hotkeys is as performant as possible.
If I am understanding you correctly, it sounds like your keyMap and handlers aren't changing - just the that your handlers are defined with references to the prop values as they exist at the time the component is mounted.
I believe you can get around this by having your handlers that depend on props or state being methods on your component, that you reference. For example:
class MyComponent extends Component {
  constructor(props, context) {
     super(props, context);

    this.handleAction = this.handleAction.bind(this);
  }

  render() {
    const handlers = {
      ACTION: this.handleAction
    };

    const keyMap = {
      ACTION: 'a'
    };

    return (
      <HotKeys keyMap={keyMap} handlers={handlers} >
        // ...
      </HotKeys>
    );
  }

  handleAction() {
    // reference props or state here
   }
}

If you are using a function component, this may be trickier, and I suggest you just use the allowChanges prop.
Finally, if you want the v1 behaviour, you can enable it globally:
import { configure } from 'react-hotkeys';

configure({
  ignoreKeymapAndHandlerChangesByDefault: false
});

I wouldn't recommend this, but try it and see if you experience problems with performance. Small applications with few <HotKeys> components should be fine.
Hope this answers your question. I'm going to close the issue for now, to keep things moving forwards, but please feel free to reply if you need additional clarification.

Hi @greena13, thanks so much for your explanation! Is v2 with allowChanges as performant as v1.x.x? In other words, was v1.x equally slow?
Using allowChanges doesn't bother me at all if it doesn't make the app slower than v1.x, but I noticed one thing became slower in my app after upgrading, and I wondered if allowChanges was the cause.
(Actually I think the new behavior is probably due to SyntheticEvent adoption, rather than a performance change, but I can't tell).
I'll use an exmaple to explain the change I observed, but my case must be a very specific edge case compared to the huge amount of scenarios react-hotkeys covers, so thanks so much for your time reading it.
Old component in v1.x:
// a simplified example for demo purposes
function MyList({ dataArray, addItem }) {
  const keyMap = {
    NEW_ITEM: 'ctrl+n',
  };

  const handlers = {
    NEW_ITEM: () => {
      addItem('unique_id_0001'); // add a new element into dataArray, causing a re-render
      focus('unique_id_0001');
    },
  };

  function focus(id) {
    let node = document.getElementById(id);
    if (node) node.focus();
  }

  return (
    <HotKeys handlers={handlers} keyMap={keyMap}>
      {dataArray.map(item => (
        <input id={item.id} value={item.title} key={item.id} />
      ))}
    </HotKeys>
  );
}

Changes needed in v2 to keep the same functionality:
function MyList({ dataArray, addItem }) {
  const keyMap = {
    NEW_ITEM: 'ctrl+n',
  };

  const handlers = {
    NEW_ITEM: () => {
      addItem('unique_id_0001'); // add a new element into dataArray, causing a re-render
-      focus('unique_id_0001');
+      setTimeout(() => {
+        focus('unique_id_0001');
+      }, 0);
    },
  };

  function focus(id) {
    let node = document.getElementById(id);
    if (node) node.focus();
  }

  return (
-    <HotKeys handlers={handlers} keyMap={keyMap}>
+    <HotKeys handlers={handlers} keyMap={keyMap} allowChanges>
      {dataArray.map(item => (
        <input id={item.id} value={item.title} key={item.id} />
      ))}
    </HotKeys>
  );
}

In v1.x, I was able to synchronously find the new element showing up after the re-render, which I thought was magical, but it did work. In v2 I need to wait a tick, which produces a very noticeable delay (the re-render is fast, new item appears on the screen instantly, but the tick is surprisingly long. Since the focus has a color change, it's very noticeable - at least 200ms).

Hi @greena13, thanks so much for your explanation! Is v2 with allowChanges as performant as v1.x? In other words, was v1.x equally slow?
Using allowChanges doesn't bother me at all if it's no slower than v1.x, but I noticed one thing became slower in my app after upgrading, and I wondered if allowChanges was the cause.
(Actually I think the new behavior is probably due to SyntheticEvent adoption, rather than a performance change, but I can't tell).
I'll use an exmaple to explain the change I observed, but my case must be a very specific edge case compared to the huge amount of scenarios react-hotkeys covers, so thanks so much for your time reading it.
Old component in v1.x:
// a simplified example for demo purposes
function MyList({ dataArray, addItem }) {
  const keyMap = {
    NEW_ITEM: 'ctrl+n',
  };

  const handlers = {
    NEW_ITEM: () => {
      addItem('unique_id_0001'); // add a new element into dataArray, causing a re-render
      focus('unique_id_0001');
    },
  };

  function focus(id) {
    let node = document.getElementById(id);
    if (node) node.focus();
  }

  return (
    <HotKeys handlers={handlers} keyMap={keyMap}>
      {dataArray.map(item => (
        <input id={item.id} value={item.title} key={item.id} />
      ))}
    </HotKeys>
  );
}

Changes needed in v2 to keep the same functionality:
function MyList({ dataArray, addItem }) {
  const keyMap = {
    NEW_ITEM: 'ctrl+n',
  };

  const handlers = {
    NEW_ITEM: () => {
      addItem('unique_id_0001'); // add a new element into dataArray, causing a re-render
-      focus('unique_id_0001');
+      setTimeout(() => {
+        focus('unique_id_0001');
+      }, 0);
    },
  };

  function focus(id) {
    let node = document.getElementById(id);
    if (node) node.focus();
  }

  return (
+    // need `allowChanges` because in parent level, `addItem` needs reference to `dataArray`
+    <HotKeys handlers={handlers} keyMap={keyMap} allowChanges>
-    <HotKeys handlers={handlers} keyMap={keyMap}>
      {dataArray.map(item => (
        <input id={item.id} value={item.title} key={item.id} />
      ))}
    </HotKeys>
  );
}

In v1.x, I was able to synchronously find the new element showing up after the re-render, which I thought was magical, but it did work. In v2 I need to wait a tick, which produces a very noticeable delay (the re-render is fast, new item appears on the screen instantly, but the tick is surprisingly long. Since the focus has a color change, it's very noticeable - at least 200ms).

@greena13 can you briefly explain why it is that defining handlers outside of render() fails?
handlers = {
  //  ...
}

render() {
 const handlers = {
  // ...
 }
 return (
   <GlobalHotKeys
    handlers={handlers}  //  Works as expected
    // handlers={this.handlers}  // Nothing happens
    keyMap={keyMap}
  />
  )
}


Update Tier and Status constraints with Filter Command

if (substring.isEmpty()) {
    errors.add("Tier has not been provided any value to filter by.\n"
            + "Please specify a status label to filter by, such as 'Gold', 'Silver', 'Bronze', 'Reject', "
            + "or 'NA'\n"
            + "To filter for clients without a visible tier label beside their name: filter s/ NA");
}

Should this be included in the UG or do you think it will make it too cluttered?

public static final String TIER_NO_VALUE_PROVIDED_MESSAGE = "Tier has not been provided any value to filter by.\n"
        + "Please specify a tier label to filter by, such as 'Gold', 'Silver', 'Bronze', 'Reject', or 'NA'.\n"
        + "To filter for clients without a visible tier label beside their name, use: filter t/ NA";

public static final String STATUS_NO_VALUE_PROVIDED_MESSAGE = "Status has not been provided any value "
        + "to filter by.\n"
        + "Please specify a status label to filter by, such as 'Urgent', 'Non_Urgent', or 'NA'.\n"
        + "To filter for clients without a visible status label beside their name, use: filter s/ NA";

Should this be included in the UG or do you guys think it will make it too cluttered?

Yes it should still be included in the UG, if not later all these kinds of front-facing details may startle users.


Notification when logged out for inactivity

When a user is logged out for inactivity, there is no indication of this until they refresh the page. This can be especially confusing when a user tries to update their application (which fails, but no error message is displayed) and all of their answers are lost when they go to review.

Users hit this a lot with the short (~20min?) timeout. Users take hours and days working on these applications. It is unexpected to be logged out after a short time and they report losing data when it happens.
There seems to be two parts to this.

Extend the session time to something reasonable (several hours). The default in laravel session.php should 'lifetime' => 120, but the session seem to timeout much faster. There are some discussions about how laravel timeouts work and why it shouldn't be using php timeouts, but that doesn't seem to be the case. I don't understand why the forms are timing out in ~20minutes.

Notification of being logged out so that the user doesn't think that they ajax session is still saving data. I guess that there should be a check in the AJAX save that returns and error and that error is handled and sent to the user.

This extension may solve the issue:
https://github.com/GeneaLabs/laravel-caffeine
Laravel session discussions:
https://laracasts.com/discuss/channels/general-discussion/session-lifetime-timeout-and-csrf-token-mismatch
https://laracasts.com/discuss/channels/general-discussion/crsf-checked-before-auth
https://github.com/laravel/framework/issues/5416#issuecomment-68366445
http://stackoverflow.com/questions/31295126/laravel-5-losing-sessions-and-env-configuration-values-in-ajax-intensive-applic

I increased the session lifetime to 10080, which is 7 days. We should test to see if we stay logged in now or if there's something else causing the logouts.

Yep, it's been 10 days and I'm still logged in. I've been visiting the site every couple days to make sure I'm still logged in, and now I can confirm that visiting the site delays your session timeout. I doubt anyone is going to leave their browser window open for a week so I think we can say this is fixed, but I agree that the AJAX requests should notify the user of errors.
I'm going to make a separate issue for that.


Frosting support ?

At the end of 2017, Google started to add a Google Play store signature to APKs uploaded on the play store. It seems to be called "frosting" internally, and it was reversed and implemented in apkverifier (see here too).
Is it currently parsed by androguard ? If no, is there any plan to add this feature ?

No it is not in androguard right now. There was a similar question here: #732
Right now, I can not implement anything for androguard. But if you (or anyone else) wants to tackle the problem, please go for it! PRs are highly welcome!

Any reason for closing all the issues?

Any reason for closing all the issues?


Do not close database when emptying it

Currently, the code for closing the database in node-lmdb is always executed in the DBI's drop function.
However, it should only be called if the database is deleted+closed and not if it is just emptied.
LMDB Reference: http://www.lmdb.tech/doc/group__mdb.html#gab966fab3840fc54a6571dfb32b00f2db
I also added a test that fails in the previous commit and passes using the modifications.

@paberr Awesome, thank you! :)


The client is unauthorized for the required grant type: [IMPLICIT]

Following code i am trying to execute under http://localhost:8888/#RingCentral URL.
var rcsdk;
function initRingCentralSDK(appKey,appSecret)
{
rcsdk = new RingCentral.SDK({
server: RingCentral.SDK.server.sandbox,
//  server: RingCentral.SDK.server.production,
appKey: appKey,
appSecret: appSecret,
redirectUri: 'http://localhost:8888/#RingCentralRedirect' // optional
});
var platform = rcsdk.platform();
var loginUrl = platform.loginUrl({implicit: true}); // implicit parameter is optional, default false
platform
.loginWindow({url: loginUrl}) // this method also allows to supply more options to control window position
.then(function (loginOptions){
return platform.login(loginOptions);
})
}
and in developer.ringcentral.com's app's oAuth Settings,following are provided under OAuth Redirect URI
http://localhost:8888/#RingCentralRedirect
http://localhost:8888/#RingCentral
but getting following error,
http://localhost:8888/#error=unauthorized_client&error_description=The+client+is+unauthorized+for+the+required+grant+type:+[IMPLICIT]
any suggestions to resolve the issue?
Thank you very much in advance
Sri

I am trying to implement code provided under "Popup Setup" of "3-legged OAuth 2.0 Flows".
Am I missing any thing?

It probably means your app doesn't support authorization code flow. Please check the screenshot below:
https://github.com/ringcentral/ringcentral-php/issues/39#issuecomment-242907546
But instead of looking for "password flow", you should look for "authorization code".

thanks tylerlong for your suggestion and issue is resolved.
Now ,after "Authorise" button is clicked,i am getting following error URL,
http://localhost:8888/#RingCentralRedirect?error=invalid_request&error_description=CMN-101:Parameter [redirectUri] value is invalid
where as,
"http://localhost:8888/#RingCentralRedirect" is the redirect URL provided by my code.

@srigottipati  Try to remove '#' from your redirectUri. Use something like 'http://localhost:8888/redirect.html'.

thanks @LingForCC.


Media upload gets error

Once I deploy the solution, I could get access to the main page for media collection but loading icon never gone and when I try to upload a media files to the system, I could see some javascript alert then it does not work at all. Would you please help how to fix it? also, no plan to add Cognito authentication to restrict user access?

Thanks for opening the first issue for the media-insights-engine project!
I have reproduced the problem and uncovered another issue as well.

The dataplane bucket need CORs enabled for the website.  You can work around this issue by adding the following policy to the bucket with the key, DataplaneBucket in the top level CloudFormation stack:

<?xml version="1.0" encoding="UTF-8"?>
<CORSConfiguration xmlns="http://s3.amazonaws.com/doc/2006-03-01/">
<CORSRule>
    <AllowedOrigin>http://localhost:8080</AllowedOrigin>
    <AllowedMethod>GET</AllowedMethod>
    <AllowedMethod>POST</AllowedMethod>
    <AllowedHeader>*</AllowedHeader>
</CORSRule>
<CORSRule>
    <AllowedOrigin>*</AllowedOrigin>
    <AllowedMethod>GET</AllowedMethod>
    <AllowedMethod>POST</AllowedMethod>
    <AllowedHeader>*</AllowedHeader>
</CORSRule>
</CORSConfiguration>

Once the CORs issue is resolved, the workflow will run but will hit another issue that we will have a fix for shortly.     We'll need to modify the workflow to fix this.

Yes, we are planning on adding Cognito authentication to restrict user access in the future.
Alex

Thanks for your update Alex!
Hoping to get an update soon :) really appreciate your support!

I have updated CORS to dataplane s3 bucket, but still getting this error in captured screen. Would you help how to fix it?

Looks like we might have to add some options to Cloudfront. I'm looking into this.

@jennylover If you have the CORS policy defined on the dataplane S3 bucket, then I think your Dataplane API might be blocking your IP. You can confirm that by opening the Dataplane API URL in your web browser (you can get the URL from the outputs of the root MIE stack). Your browser request should return {"hello":"world"}. If you see a permission denied error then verify that the Resource Policy for the dataplaneapi in API Gateway includes the following:
{
            "Effect": "Deny",
            "Principal": "*",
            "Action": "execute-api:Invoke",
            "Resource": "arn:aws:execute-api:us-east-1:773074507832:*/*/*/*",
            "Condition": {
                "NotIpAddress": {
                    "aws:SourceIp": "<IP_ADDRESS>/0"
                }
            }
        }

I've committed changes to media-insights-stack.yaml and media-insights-elasticsearch.yaml to fix errors related to SourceIP based access control. I'll notify you when we've updated the templates associated with the one-click deploy button in the README. If you're having trouble with uploads, I recommend deploying a new MIE stack with the one-click deploy button after we've updated it.

@jennylover - We've updated the one-click deploy button with the fix provided by @ianwow.  Would you please retry the deployment and verify the issue you encountered is fixed? Thank you!

It works perfect! Really appreciate your help on this! thanks you!


Fix ImageInformationResponse typedef

TileInfo should be an array to conform to https://iiif.io/api/image.
For more information see: https://github.com/openlayers/openlayers/issues/12763

Hey, after looking into the original code I found another probable bug that could be fixed in one go.

Thanks for the fix @webwitcher and @simonseyock.


git: log commands executed

Stack:

#54
#53
#52
#51 ⬅
#50

⚠ Part of a stack created by spr. Do not merge manually using the UI - doing so may have unexpected results.

✓ Commit merged in pull request #54


Automator: update<EMAIL_ADDRESS>dependency in<EMAIL_ADDRESS>

Generated by Automator - 2021-05-12T21:34:39+00:00

@istio-testing: PR needs rebase.

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository.

it looks like https://github.com/istio/istio/pull/32861 already merged the changes from this PR. I'm not sure why this automation didn't merge in earlier resulting in no api update in the other PR.


Unstoppable Domains Login integration request

Adding Unstoppable Domains as an option when connecting a wallet would make the app more accessible by supporting UD domain extensions like .crypto, .x, .nft, .wallet. Then the app could get featured on their website to reach out to more people. I would like to make this feature with a pull request if possible!

Pull request is ready! https://github.com/Mirror-Protocol/eth-web-dapp/pull/2


add force option to generate that will call purge before generating, …

…still need to check edgecases

Related Issue(s)
https://github.com/nasa/fprime/issues/2887

Has Unit Tests (y/n)
n

Documentation Included (y/n)
n

Change Description
Implements force generate the runs a purge
Rationale
QoL
Testing/Review Recommendations
fprime-util generate --force
Future Work

@LeStarch

@thomas-bc

@LeStarch that's fine because the generate -f goes through all the purge logic so it realized those directories don't exist.
This is the result from generate -f
[INFO] Purge build directory at: /Users/crsmith/Documents/fprime/Ref/build-fprime-automatic-native
[INFO] Purge build directory at: /Users/crsmith/Documents/fprime/Ref/build-fprime-automatic-native-ut
[INFO] Skipping purge. The following directory does not exist: /Users/crsmith/Documents/fprime/Ref/build-fprime-automatic-native-ut


Public iodata render function?

Hi, thank you for the excellent library. I love hiccup and I was really glad to see someone made an Elixir equivalent, so thank you.
I was curious, have you given any thought to having an additional public function that returns the raw iodata produced by _render(data), rather than the binary that results from IO.iodata_to_binary(_render(data))? I ask because lots of IO functions in Elixir/Erlang take iodata for efficiency reasons (e.g. :gen_tcp.send, File.write, etc.), and being able to pass a raw iodata rather than a binary can (in some circumstances) significantly increase throughput.
I made an additional function to render to iodata, like so:
def render_iodata(data) do
  _render(data)
end

And ran a quick benchmark on a relatively small template (about 50 lines of Elixir lists, rendered HTML size: 690 bytes) and it looks like there is some pretty good throughput there to unlock by avoiding the binary allocation:
at [ 00:28:57 ] ➜ MIX_ENV=bench mix run bench.exs
Compiling 1 file (.ex)
Operating System: macOS
CPU Information: Apple M1 Max
Number of Available Cores: 10
Available memory: 64 GB
Elixir 1.14.5
Erlang <IP_ADDRESS>

Benchmark suite executing with the following configuration:
warmup: 2 s
time: 10 s
memory time: 2 s
reduction time: 0 ns
parallel: 1
inputs: none specified
Estimated total run time: 28 s

Benchmarking render/1 ...
Benchmarking render_iodata/1 ...

Name                      ips        average  deviation         median         99th %
render_iodata/1      170.58 K        5.86 μs   ±255.20%        5.04 μs       13.96 μs
render/1             119.27 K        8.38 μs   ±153.85%        7.42 μs       22.96 μs

Comparison:
render_iodata/1      170.58 K
render/1             119.27 K - 1.43x slower +2.52 μs

Memory usage statistics:

Name               Memory usage
render_iodata/1        12.88 KB
render/1               12.90 KB - 1.00x memory usage +0.0234 KB

**All measurements for memory usage were the same**

Would you be open to adding another function that returns the raw iodata? Thanks again for your efforts!

Sure, sounds like a great idea!
I'll take a look at this soon.

I've got a branch going in jk-render-iodata.

Awesome! Thank you!

This is now available in sneeze 1.3.0 : https://hexdocs.pm/sneeze/Sneeze.html#render_iodata/1 :tada:

Great work!! Thank you so much!!


feat & fix: add br and p element support and fix p behavior

Add br element support for:

All adapter

Add br and p element support for:

lark
line
qqguild

Fix p behavior
Now behavior
Check for previous \n. If no, then append \n.
Previous behavior
No check for previous \n, append \n immediately.
For following these adapter:

dingtalk
kook
matrix
slack
telegram
wechat-offical
wecom
whatsapp

close koishijs/koishi#1185

Codecov Report

Merging #152 (0cfb401) into master (3f77d10) will not change coverage.
The diff coverage is n/a.

:exclamation: Your organization is not using the GitHub App Integration. As a result you may experience degraded service beginning May 15th. Please install the GitHub App Integration for your organization. Read more.
@@           Coverage Diff           @@
##           master     #152   +/-   ##
=======================================
  Coverage   81.83%   81.83%
=======================================
  Files           1        1
  Lines         424      424
  Branches       86       86
=======================================
  Hits          347      347
  Misses         77       77


added direction prop to the tooltip component

change the direction to 'up', 'down', 'left', 'right'

@technoo0 thanks for contributing <3 I found some issues and left some comments.
Before we merge the feature you need to:

address my comments
remove package-lock.json file from the PR
squash the commits to one commit with message "feat: tooltip position"

sorry for the multiple commits I had a problem with git, I did everything as you said and every thing is working fine now

@technoo0 ok now everything looks fine. now just squash all commits into one commit with message feat: tooltip position and we'll merge it. (We're using standarized commit messages for automatic versioning)

@technoo0 merged! congratulations on your first contribution to React94. Great job! 🚀

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

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


Check Greek symbol map

When I added Greek characters from Golubina's book to AngelinaReader, a user pointed out that it is Soviet mathematical Greek Braille, not modern literary Greek Braille. Therefore, either the symbol map should be changed in our app, or this fact should be mentioned in the lessons and in the browser help.

If we change the mapping to literary Greek, it's probably wise to add digraphs (see here)

I asked VN and she said that, indeed, the Braille mapping may vary across different areas (i.e. there are at least 3 standards for contractions in UEB). But in our introductory course, we should leave Greek as in Golubina (and mention the existence of alternative mappings).

This choice should be mentioned in the help of the course and practice, I guess.

This choice should be mentioned in the help of the course and practice, I guess.

Uhm, I'd rather add it in the browser help, but not in the course/practice help - they are already quite long


How much memory is required?

Hi, I used the project to upscale a small 1300 frames video and it worked well. Now I am trying to upscale a larger video with 32k frames but it is getting stuck before detecting the shape of the input and my memory is getting full (8 GB ram) and also the swap is full (16 GB).
I am using tensorflow CPU and the LR video shape is 704x396. Is this a problem of low memory or something else? how can I make it run? I don't mind the long time since it will run on an old PC for hours.

You could try to run TecoGAN only on the first 10 or so images from your second video. If that does work, then TecoGAN is probably just overwhelmed by the 32k frames and you could split it in batches and run TecoGAN on each individual batch.

I see, it worked when I tried a smaller batch. I am assuming if I divide the video into smaller batches I will need to make sure there is no scene change in each batch? if that's the case is there any way to automate the scene change detection?

https://pyscenedetect.readthedocs.io/en/latest/

Just wanted to send the same link :D
This might also improve image quality, since TecoGAN assumes that the images in the input are from the same scene.

Thank you all for the help.


Testing on Darwin/MacOS

Hello!
As this script is written, once installed on a Mac, and the user enters graphpath $source-ip $destination-ip, the user gets the following output:
-n EXIT:
This script was not tested on Darwin

I am not certain if this is on the roadmap, but I would love to test this on MacOS/Darwin. I know it would be as simple for me as editing the case statement, but if you have no plan to support Darwin in the future, it probably wouldn't be worth my time. If you do, however plan on supporting Macs, I would be more than happy to help.
Thanks again!

Hi,
If you've got a MacOS, you can help me to add its support.
I didn't found the MacOS man page online, so, can you paste the results of theses commands (you can skip IPv6 if you didn't have IPv6 enabled):

route -n get <IP_ADDRESS>
route -6 -n get 2001:4860:4860::8888 (or without the -6 if this option is not supported)
arp -na
arp -n LOCAL-IP-ADDRESS (with LOCAL-IP-ADDRESS, the IP of your default gateway as example)
arp -n <IP_ADDRESS>
ndp -na
ndp -n 2001:4860:4860::8888

Thanks!

Hi,
Here are the results of these commands in order that you listed them.
 route to: <IP_ADDRESS>
destination: default
       mask: default
    gateway: <IP_ADDRESS>
  interface: en0
      flags: <UP,GATEWAY,DONE,STATIC,PRCLONING>
 recvpipe  sendpipe  ssthresh  rtt,msec    rttvar  hopcount      mtu     expire
       0         0         0         0         0         0      1500         0

route to: <IP_ADDRESS>
destination: default
       mask: default
    gateway: <IP_ADDRESS>
  interface: en0
      flags: <UP,GATEWAY,DONE,STATIC,PRCLONING>
 recvpipe  sendpipe  ssthresh  rtt,msec    rttvar  hopcount      mtu     expire
       0         0         0         0         0         0      1500         0

(I removed the -6 flag because I do not have IPv6 enabled.)
? (<IP_ADDRESS>) at 18:1b:eb:7c:d:f2 on en0 ifscope [ethernet]
? (<IP_ADDRESS>) at 0:56:cd:e8:f0:b0 on en0 ifscope [ethernet]
? (<IP_ADDRESS>) at 9c:f3:87:ba:5e:5a on en0 ifscope [ethernet]
? (<IP_ADDRESS>) at 84:25:19:23:93:f5 on en0 ifscope [ethernet]
? (<IP_ADDRESS>) at 30:35:ad:71:e5:34 on en0 ifscope [ethernet]
? (<IP_ADDRESS>) at a:0:27:0:0:2 on vboxnet2 ifscope permanent [ethernet]
? (<IP_ADDRESS>) at 1:0:5e:0:0:fb on en0 ifscope permanent [ethernet]
? (<IP_ADDRESS>) at 1:0:5e:7f:ff:fa on en0 ifscope permanent [ethernet]

<IP_ADDRESS> (<IP_ADDRESS>) -- no entry

<IP_ADDRESS> (<IP_ADDRESS>) -- no entry

Neighbor                        Linklayer Address  Netif Expire    St Flgs Prbs
fe80::1%lo0                     (incomplete)         lo0 permanent R
fe80::aede:48ff:fe00:1122%en5   ac:de:48:0:11:22     en5 permanent R
fe80::aede:48ff:fe33:4455%en5   ac:de:48:33:44:55    en5 14h22m54s S
fe80::818:ae64:9874:d59a%en0    dc:a9:4:77:c2:1a     en0 permanent R
fe80::899:4d87:1bf8:d838%en0    30:35:ad:71:e5:34    en0 14h4m1s   S
fe80::1401:3b95:7496:5551%en0   9c:f3:87:ba:5e:5a    en0 18h49m58s S
fe80::14c1:5fc8:f460:8d57%en0   8c:85:90:a6:22:4a    en0 7h12m59s  S
fe80::180e:c212:31cc:fb2d%en0   0:56:cd:e8:f0:b0     en0 4h5m48s   S
fe80::1843:5db2:133:859f%en0    30:35:ad:71:e5:34    en0 23h54m35s S
fe80::1851:aefc:c64e:4076%en0   0:56:cd:e8:f0:b0     en0 6h56m40s  S
fe80::1868:d732:2525:47ee%en0   0:56:cd:e8:f0:b0     en0 21h13m3s  S
fe80::2acf:e9ff:fe87:14ba%en0   28:cf:e9:87:14:ba    en0 14h10m55s S
fe80::580e:cbff:fe8d:fa29%awdl0 5a:e:cb:8d:fa:29   awdl0 permanent R
fe80::b39:109d:800c:a281%utun0  (incomplete)       utun0 permanent R
fe80::e2a7:b7c:7ca:a5a2%utun1   (incomplete)       utun1 permanent R
fe80::e9f6:78bf:64f4:51cb%utun2 (incomplete)       utun2 permanent R
fe80::2167:c7e0:de76:b703%utun3 (incomplete)       utun3 permanent R

Neighbor                        Linklayer Address  Netif Expire    St Flgs Prbs
2001:4860:4860::8888 (2001:4860:4860::8888) -- no entry

The output looks like the same as a FreeBSD.
Can you try the current version (fetch or wget https://raw.githubusercontent.com/ocochard/graphpath/master/graphpath) and run this version ?

Hello @ocochard
Here's my output from running the latest version of graphpath that you linked to above:
+-----------------------------+  +-----------------------------+
| SOURCE HOST                 |  | DESTINATION HOST            |
| IP:   <IP_ADDRESS>           |  | IP:   <IP_ADDRESS>           |
+-----------------------------+  +-----------------------------+
              |                            |
            --+---+------------------------+---
              |
+-----------------------------+
| ROUTER                      |
| IP:   <IP_ADDRESS>              |
| ARP:  18:1b:eb:7c:d:f2      |
+-----------------------------+
              |
+-----------------------------+
| IF:   en0                   |
| MAC:  dc:a9:04:77:c2:1a     |
| IP:   <IP_ADDRESS>              |
| net:  default               |
| mask: default               |
|                             |
|         THIS HOST           |
+-----------------------------+

Thanks for the test. It's OK for macosX support with inet :-)

You're welcome. It was my pleasure.


Android Scan Bar code get 12 digital barcode ,but iOS get 13 digital code

Describe the bug
I user this code to scan Bar Code
controller = new QRReaderController(cameraDescription,
 ResolutionPreset.high,
    [CodeFormat.qr,
    CodeFormat.pdf417,
    CodeFormat.upca,
    CodeFormat.upce,
    CodeFormat.ean13,
    CodeFormat.codabar,
    CodeFormat.aztec,
    CodeFormat.code128,
    CodeFormat.code39,
    CodeFormat.code93,
    CodeFormat.datamatrix,
    CodeFormat.itf,
    CodeFormat.ean8], onCodeRead);

Steps to reproduce the behavior:

use iPhone scan this barcode ,you will get bar code is<PHONE_NUMBER>010

user Android device scan above barcode , you will get bar code is<PHONE_NUMBER>10

QRReaderController is in a different library. qr_flutter does not contain any scanning capabilities.

@lukef do you have another library that does scan PDF417 barcodes?

We do not publish any scanning utilities.


autorandr: embed path to xrandr

Motivation for this change
Things done

[ ] Tested using sandboxing (nix.useSandbox on NixOS, or option build-use-sandbox in nix.conf on non-NixOS)
Built on platform(s)

[x] NixOS
[ ] macOS
[ ] other Linux distributions

[ ] Tested via one or more NixOS test(s) if existing and applicable for the change (look inside nixos/tests)
[ ] Tested compilation of all pkgs that depend on this change using nix-shell -p nox --run "nox-review wip"
[x] Tested execution of all binary files (usually in ./result/bin/)
[x] Fits CONTRIBUTING.md.

What's the benefit?

@dotlambda https://github.com/NixOS/nixpkgs/pull/26296#issuecomment-367386822

@dotlambda Fixed, thanks!

@GrahamcOfBorg build autorandr

Success on x86_64-linux (full log)
Partial log (click to expand)
    udevadm control --reload-rules

post-installation fixup
shrinking RPATHs of ELF executables and libraries in /nix/store/2parkw6k0idq8bmja2yzxz7mmsplgn9a-autorandr-1.4
strip is /nix/store/b0zlxla7dmy1iwc3g459rjznx59797xy-binutils-2.28.1/bin/strip
stripping (with command strip and flags -S) in /nix/store/2parkw6k0idq8bmja2yzxz7mmsplgn9a-autorandr-1.4/lib  /nix/store/2parkw6k0idq8bmja2yzxz7mmsplgn9a-autorandr-1.4/bin
patching script interpreter paths in /nix/store/2parkw6k0idq8bmja2yzxz7mmsplgn9a-autorandr-1.4
/nix/store/2parkw6k0idq8bmja2yzxz7mmsplgn9a-autorandr-1.4/bin/autorandr: interpreter directive changed from "/usr/bin/env python" to "/nix/store/p1bp0kpmxi7nzrla7n7c4waqic0a2myk-python3-3.6.4/bin/python"
checking for references to /tmp/nix-build-autorandr-1.4.drv-0 in /nix/store/2parkw6k0idq8bmja2yzxz7mmsplgn9a-autorandr-1.4...
/nix/store/2parkw6k0idq8bmja2yzxz7mmsplgn9a-autorandr-1.4

Success on aarch64-linux (full log)
Partial log (click to expand)
    udevadm control --reload-rules

post-installation fixup
shrinking RPATHs of ELF executables and libraries in /nix/store/8xkyd70rdbrsxv96cwr64jzpr85ssqhh-autorandr-1.4
strip is /nix/store/lvx1acn1ig1j2km8jds5x3ggh3f2wa8v-binutils-2.28.1/bin/strip
stripping (with command strip and flags -S) in /nix/store/8xkyd70rdbrsxv96cwr64jzpr85ssqhh-autorandr-1.4/lib  /nix/store/8xkyd70rdbrsxv96cwr64jzpr85ssqhh-autorandr-1.4/bin
patching script interpreter paths in /nix/store/8xkyd70rdbrsxv96cwr64jzpr85ssqhh-autorandr-1.4
/nix/store/8xkyd70rdbrsxv96cwr64jzpr85ssqhh-autorandr-1.4/bin/autorandr: interpreter directive changed from "/usr/bin/env python" to "/nix/store/9yr86q335k2k5ccznfcxsw0dq11zrwsw-python3-3.6.4/bin/python"
checking for references to /build in /nix/store/8xkyd70rdbrsxv96cwr64jzpr85ssqhh-autorandr-1.4...
/nix/store/8xkyd70rdbrsxv96cwr64jzpr85ssqhh-autorandr-1.4

Failure on x86_64-darwin (full log)
Partial log (click to expand)
error: while evaluating the attribute 'installPhase' of the derivation 'autorandr-1.4' at /private/var/lib/ofborg/checkout/repo/38dca4e3aa6bca43ea96d2fcc04e8229/builder/lnl7-mac/pkgs/stdenv/generic/make-derivation.nix:148:11:
while evaluating 'callPackageWith' at /private/var/lib/ofborg/checkout/repo/38dca4e3aa6bca43ea96d2fcc04e8229/builder/lnl7-mac/lib/customisation.nix:113:35, called from /private/var/lib/ofborg/checkout/repo/38dca4e3aa6bca43ea96d2fcc04e8229/builder/lnl7-mac/pkgs/top-level/all-packages.nix:13698:13:
while evaluating 'makeOverridable' at /private/var/lib/ofborg/checkout/repo/38dca4e3aa6bca43ea96d2fcc04e8229/builder/lnl7-mac/lib/customisation.nix:72:24, called from /private/var/lib/ofborg/checkout/repo/38dca4e3aa6bca43ea96d2fcc04e8229/builder/lnl7-mac/lib/customisation.nix:117:8:
while evaluating anonymous function at /private/var/lib/ofborg/checkout/repo/38dca4e3aa6bca43ea96d2fcc04e8229/builder/lnl7-mac/pkgs/os-specific/linux/systemd/default.nix:1:1, called from /private/var/lib/ofborg/checkout/repo/38dca4e3aa6bca43ea96d2fcc04e8229/builder/lnl7-mac/lib/customisation.nix:74:12:
assertion failed at /private/var/lib/ofborg/checkout/repo/38dca4e3aa6bca43ea96d2fcc04e8229/builder/lnl7-mac/pkgs/os-specific/linux/systemd/default.nix:13:1

Thank you!


Several adjustments to resource descriptions and errors

very minor changes but in several of the resource files.

/retest

@JohnStrunk I assume that this PR can be closed then?


attrs deviation from PEP 681

According to the Pylance developers attrs deviates from PEP 681 in the way it treats kw_only in field override
https://github.com/microsoft/pylance-release/issues/4670

probably related: https://github.com/microsoft/pyright/issues/6572

Hey @hynek,
What are your thoughts around this issue?
Is this breaking change something that you are willing to change in attrs?
Are contributions to solve this issue welcome?

I don’t think those two issues are related.
The Pyright issue is that dataclasses implement the MRO wrong which becomes obvious with multiple inheritance. To be fair, it might’ve copied it from early attrs versions that did it wrong too. Changing that would be a very hard backwards-compatibility breakage in addition to plainly wrong. It's the default in @attr.s.  Generally speaking, design-wise I think the advice to only use kwargs in such hierarchies is probably the best.
My understanding of the kw_only issue seems like dataclasses inherit fields configuration?? Do they do that for all config? There’s a bunch of issues around this topic here that went nowhere so far. I could imagine adding an inherit_fields option to define, but I’m not sure if that would help you since it still requires you to pass additional arguments. Cc @Tinche
I think there even was an issue asking for a dataclass compat API so I guess we could reimplement some their bugs within our @dataclass Easter egg too if there’s enough interest.

I’m sorry by not being responsive here, but I get angry whenever I re-read the pontification of how we implement a PEP wrong which has been written long after attrs was implemented and that was the only way for us to get any Pylance/Pyright support whatsoever. We had no choice in this matter and did our best to cooperate and them pointing fingers at us now for not breaking our users doesn't feel great.


Deploying with 'zdm-mode: true' cannot get required dependencies

I tried to deploy my app using zdm-mode, and at the beginning of deployment it gives me the following error:
ERR    Unexpected error: while trying to invoke the method java.util.List.iterator() of a null object returned from com.sap.cloud.lm.sl.mta.model.v3_1.Resource.getRequiredDependencies()
Deploying it with xs bg-deploy command, without specifying zdm-mode in the descriptor file works without issues.
I'm using the (currently)latest SAP HANA, express edition version : <IP_ADDRESS>.20180925.2
mta.yaml file:
https://gist.github.com/ebusho/4abcd71858179a09aa3b820b636ae508
MAIN_LOG file:
https://gist.github.com/ebusho/758ea796dea506d7fbf726e046db0fa3
P.S. I've hidden few parts in the MAIN_LOG file (hostname, username, org...) with <***>.

Hi @ebusho,
First of all, apologies for the late response! zdm-mode, however, is an SAP XSA specific parameter is therefore not supported through our open-source project. Please open an SAP customer incident and we'll take a look at the issue there.


Add UI for branch settings that control inter-project-builds

@zdhickman Needs some styling but the checkboxes work

^ Currently the toggles don't re-render when we make the api call for some reason 👎

Choo choo


Co-authored-by:Max Veytsman<EMAIL_ADDRESS>emojikeyboard

Added an emoji button in messages. Working on adding an icon instead of the word Emoji.


refactor tests to use assertTrue

Addressing https://github.com/dream11/zio-http/issues/735
Is this the correct idea?
Closes #735

@geoffjohn11 Yes this is perfect.

Codecov Report

Merging #740 (b99ed1f) into main (1918118) will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##             main     #740   +/-   ##
=======================================
  Coverage   48.70%   48.70%
=======================================
  Files          68       68
  Lines        2014     2014
  Branches       46       46
=======================================
  Hits          981      981
  Misses       1033     1033

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 1918118...b99ed1f. Read the comment docs.

I think original intent of the issue was that all the test should be migrated to this style of assertions :)
Correct me if I am wrong, @girdharshubham

Reference in
I think original intent of the issue was that all the test should be migrated to this style of assertions :)
Correct me if I am wrong, @girdharshubham

Yes @tusharmath
That's what was finalized as an improvement.

Reference in
I think original intent of the issue was that all the test should be migrated to this style of assertions :)
Correct me if I am wrong, @girdharshubham

Yes @tusharmath That's what was finalized as an improvement.

Could you point out the tests I missed?  I thought I found all the assertions that asserted on Boolean.

Reference in
I think original intent of the issue was that all the test should be migrated to this style of assertions :)
Correct me if I am wrong, @girdharshubham

Yes @tusharmath That's what was finalized as an improvement.

Could you point out the tests I missed? I thought I found all the assertions that asserted on Boolean.

Absolutely. If you are active on discord, we could run it together on the coffee-machine voice channel

Reference in
I think original intent of the issue was that all the test should be migrated to this style of assertions :)
Correct me if I am wrong, @girdharshubham

Yes @tusharmath That's what was finalized as an improvement.

Could you point out the tests I missed? I thought I found all the assertions that asserted on Boolean.

These are some files which. you can start with, there are other specs that can be replaced as well:
* EndpointSpec

* HtmlSpec

* CookieSpec

* EncodeClientParamsSpec

* GetBodyAsStringSpec

Let me know if you need more info. Also, If you are active on discord, we could run it together on the coffee-machine voice channel.

Thanks for pointing out these tests, sorry I missed them.  My bad!

@geoffjohn11 Could you please take a pull once :)

pulled changes from main, please let me know if this pr needs any other changes.  Thanks!

Conflicts. Sorry about that. I think as soon as you are done, I will merge it next time.

Hi @geoffjohn11
Are you still working on it?
Let us know if there's anything that you need help with.

Hi @geoffjohn11 Are you still working on it?
Let us know if there's anything that you need help with.

@girdharshubham I'll try to push the changes with the merge conflicts fixed soon!

@tusharmath @girdharshubham Merge conflicts should be fixed.

Need to run scalafmt

@geoffjohn11 can you rebase it once more I will merge it right away.

@amitksingh1490 should be rebased

Formatting broken please run fmt and push the changes

please merge this https://github.com/geoffjohn11/zio-http/pull/1/files and this is good to go

@amitksingh1490 How does this look now?  I think the formatting should be good.


Consider DOCKER_HOST to connect test databases

This change is useful to developers using dinghy instead of Docker for Mac.

Changes Unknown when pulling 7a663bf6c64d5c826ed3e3ed0a5d2e88b4ec4e88 on abicky:feature/consider-docker-host into ** on winebarrel:0.7**.

Thanks!


Fix Security Component CSRF bug

This pull request is to fix a bug in which CSRF would fail when the security component is enabled.
I've added the necessary form method calls to "unlock" the two recaptcha form fields.

Oh, and I've also taken the liberty to merge your master branch into your cake 2.0 branch...hence the huge amount of changes...

Thanks a lot for this big pull request :)


test/data: remove rhel-8-beta repository override

It contains beta repositories for RHEL 8.3, which is far outdated and
the file is not used anywhere any more.
This pull request includes:

[ ] adequate testing for the new functionality or fixed issue
[ ] adequate documentation informing people about the change such as

[ ] create a file in news/unreleased directory if this change should be mentioned in the release news
[ ] submit a PR for the guides repository if this PR changed any behavior described there: https://www.osbuild.org/guides/

Just a note, there is a rhel-8-beta.json file used during nightly testing currently but that file just gets created from what I can see in schutzbot/prepare-rhel-internal.sh and tools/provision.sh


feat(index): upgrade to React 18

Did you build the project before submitting the PR?

[ ] Yes
[x] No

When installing the react app using ts-particle templates, the following warning was seen in the browser console. The reason for this is that ts-particle template installed react@18+ version, but the code inside the src/index.js is of react@17+. Therefore, I have updated the code as per latest react@18 docs.

Those files will be removed in the 2.10.0 version, the repository is now this: https://github.com/tsparticles/react
You can open the PR there if needed.
Thank you anyway.


Fix string.replace in libraries and removed debugging string

I've Just compiled blade (41d49e0) under MSVC and MSYS2.
Tried script:
echo "C:\\\\foo\\\\bar"
echo "C:\\\\foo\\\\bar".replace("\\\\", "\\")
echo "C:\\\\foo\\\\bar".replace("\\\\", "-")

Result:
C:\\foo\\bar
\C\:\\\\\f\o\o\\\\\b\a\r\
-C-:-\-\-f-o-o-\-\-b-a-r-

Something's wrong?
PS: message on entering REPL mode
Blade 0.0.6 (running on BladeVM 0.0.6), REPL/Interactive mode = ON
MinGW32 3.11.0, (Build time = Nov 21 2021, 17:48:15)
Blade 0.0.6 (running on BladeVM 0.0.6), REPL/Interactive mode = ON
MSC 1929.0.0, (Build time = Nov 21 2021, 17:22:29)