23b Object: Attributes

Before starting this chapter, a very minor delayed update in our parser for parsing precedence: [dccbb97e97a32ab08684eba773b361343689ce02]

After we register our custom type and enable variables to be declared with this type, how do we ... you know, retrieve its attributes or update them?
Most languages use a dot(.) notation for accessing object attributes, and 9608 pseudocode is no different. Student.Name refers to the Name attribute of Student. Let's start by getting our scanner to recognise them.
Scanning attributes
Oh, looks like our scanner already recognises the . symbol and can tokenise them just fine. Moving on to the parser.

Getting an attribute
Okay, we can do this in a number of ways. Our object is very similar to a Frame, except without outer-chaining and deletion of names. And we already have an Expr for retrieving named values from a Frame: that's our Get Expr. We could just reuse Get, maybe ...?
Or we could make a new Expr, let's call it Attr. We would need a new resolver and evaluator for it.
Hmm, without trying to plan further than I can imagine, I think I'll go with reusing a Get Expr. Resolving is gonna be a bit tricky, since we can't just insert the frame; we'll have to retrieve the object and insert that instead, and the resolver can't do that (since the resolver doesn't carry out any instantiation of objects). It will have to be the interpreter's job.
Let's clean up some things before we start parsing attribute gets:

updating documentation in value(): [e0e08c29a6088d14cc52a1b8d48844ee0c7e6055]
initialise data structures within if: [a78a52151557c4f583acf688d5b6fa5804ac29df]

Parsing attribute gets
Let's start with thinking through how to proceed:
https://github.com/nyjc-computing/pseudo-9608/blob/bacf9a40092d32f81829dcddfc302888c23f0f65/pseudocode/parser.py#L120-L130
nameExpr() already starts with a Get Expr that retrieves the typedvalue with the name (presumably a custom type object, in the case of attribute gets). If we encounter a ., we make another Get Expr:
https://github.com/nyjc-computing/pseudo-9608/blob/c845787167d514c847da2e9796386ad7da30b20d/pseudocode/parser.py#L120-L129

This code doesn't handle nested attributes yet (e.g. Student.Name.First, but that's a tiny fix for us: [7b7da657f9610e8891933021414eacf95b7fe2dd]

Now comes some major refactoring: up to this point, we've been assuming that Assign Exprs only ever need to store a name and an expr. We assume that this name is declared in the frame. But if we are assigning values to an attribute, that's a name declared in an object and not in the frame.
We'll have to refactor Assign to accept left-hand Gets.
Assigning to attributes

Now we turn our attention to assignment(), the first place that creates Assign Exprs:
https://github.com/nyjc-computing/pseudo-9608/blob/f2766dbeeb922273b29e3a6c3f22af89be045ad8/pseudocode/parser.py#L228-L232
Let's make it create and pass an assignee:
https://github.com/nyjc-computing/pseudo-9608/blob/0bff81563e6b8d6115a44acb667033bf4c08026c/pseudocode/parser.py#L228-L241

We can't remove name from Assign yet, not while the resolver and interpreter depend on it. So let's get to resolving next.
Resolving attribute assignments
Two things we need to handle:

Get Exprs potentially having a Get Expr as a frame
Assign Exprs having an additional assignee attribute

First, nested Gets:
https://github.com/nyjc-computing/pseudo-9608/blob/ce8a61c1273cea37068e8f710241aef2e3a700a6/pseudocode/resolver.py#L127-L141
We do a check for a Get Expr, and have the nested frame accept() resolveGet() recursively. When we finally hit the innermost Get Expr (which would be the first one parsed by name()), we carry out a frame insertion by checking for frame is NULL.
And we lean on the frame's typesystem to help us determine the value's type.
And now the assignee:
https://github.com/nyjc-computing/pseudo-9608/blob/ce8a61c1273cea37068e8f710241aef2e3a700a6/pseudocode/resolver.py#L119-L125
The assignee is going to be a Get Expr, so let's resolve it; thankfully resolveGet() now handles nested Gets (although we haven't tested this yet). Then we can do a type-check for the assignee's type and the expr's type.

Let's give it a spin:
  File "lang.py", line 228, in getType
    return self.data[name].type
AttributeError: 'Object' object has no attribute 'type'

Oops, looks like somehow we stored an Object in the Frame data instead of a TypedValue.
Examining the frame's typesystem in the Python debugger, pdb:
(Pdb) self.types
{BOOLEAN: <BOOLEAN: None>, INTEGER: <INTEGER: None>, REAL: <REAL: None>, STRING: <STRING: None>, FILE: <FILE: None>, Student: {Surname: STRING, FirstName: STRING, YearGroup: INTEGER}}

Everything else except Student seems to be a TypedValue. I'd point the blame at verifyDeclareType(), where the Student type is being registered in the type system:
https://github.com/nyjc-computing/pseudo-9608/blob/ce8a61c1273cea37068e8f710241aef2e3a700a6/pseudocode/resolver.py#L287-L292
verifyDeclareType() delegates everything to the TypeSystem though, so back there we go:
https://github.com/nyjc-computing/pseudo-9608/blob/ce8a61c1273cea37068e8f710241aef2e3a700a6/pseudocode/lang.py#L142-L143
There's our problem: setTemplate() does not do any wrapping of the template. So let's change that:
https://github.com/nyjc-computing/pseudo-9608/blob/1bd2ba8c19c89c6462cfe924164d63a39aaa5900/pseudocode/lang.py#L149-L150
And then we no longer need to manually wrap the types in __init__():
https://github.com/nyjc-computing/pseudo-9608/blob/1bd2ba8c19c89c6462cfe924164d63a39aaa5900/pseudocode/lang.py#L130-L134

Another error:
LogicError: <function name at 0x7f3432a741f0>: Expected Student, is STRING

First let's fix that <function name at 0x7f3432a741f0> which is supposed to be a token: [7a90848dfd78030d81e5b50834a06c7ef0130fba]
And now let's look into why we have an expected Student type when we should be dealing with builtin types. I suspect this is happening in resolveAssign(), so let's put a breakpoint there:
> /home/runner/pseudo-9608/pseudocode/resolver.py(124)resolveAssign()
-> expectTypeElseError(
(Pdb) expr.assignee
Get(Get({Pupil1: Student}, 'Pupil1'), 'Surname')
(Pdb) expr.assignee.accept(frame, resolveGet)
'Student'

Hmm looking strange ... that nested get should be returning the Surname type which is STRING, not Student. Back to resolveGet():
https://github.com/nyjc-computing/pseudo-9608/blob/1bd2ba8c19c89c6462cfe924164d63a39aaa5900/pseudocode/resolver.py#L132-L134
There's our problem. The inner Get returns type Student, naturally, and the outer Get naively passes that along. So let's pass this inner type through our type system first:
https://github.com/nyjc-computing/pseudo-9608/blob/d5b2e3f3ecf3418673dd3335a0a21432c0b71013/pseudocode/resolver.py#L132-L142
Along the way, we have to remember to check for the existence of each object type or attribute name since that will not be done by the type system's methods.

LogicError: [Line 8 column 7] <None> 'Firstname': Undeclared attribute
Good, now it's catching pseudocode typos (9608 pseudocode is supposed to be case-insensitive, but we haven't implemented that yet).
And now we can move on to the interpreter.

First, evalGet():
https://github.com/nyjc-computing/pseudo-9608/blob/ec8d0e7c909489ce6bcfba7a170f71042c532943/pseudocode/interpreter.py#L77-L86
frame could be an Expr or a Frame. If it's an Expr, we evaluate it recursively, uncovering the nested Gets layer by layer until we get a Frame. Then we can extract our desire value from this Frame.
Then evalAssign():
https://github.com/nyjc-computing/pseudo-9608/blob/ec8d0e7c909489ce6bcfba7a170f71042c532943/pseudocode/interpreter.py#L107-L110
Minor changes here; instead of assuming that we have a frame, we know we need to do some evaluation. The assignee is a Get Expr for the object's attribute, so we need to evaluate that Expr's frame to get an Object. Then we use that Object's setValue() to carry out the attribute assignment.
And then we can test it:
TYPE Student
    DECLARE Surname : STRING
    DECLARE FirstName : STRING
    DECLARE YearGroup : INTEGER
ENDTYPE
DECLARE Pupil1 : Student
Pupil1.Surname <- "Johnson"
Pupil1.FirstName <- "Leroy"
Pupil1.YearGroup <- 6
OUTPUT Pupil1.Surname
OUTPUT Pupil1.FirstName
OUTPUT Pupil1.YearGroup

It works!

Oops, missed out one thing:
https://github.com/nyjc-computing/pseudo-9608/blob/d877b6ae8e2c928e673b1c471b850df19f52bee0/pseudocode/interpreter.py#L107-L112
Sometimes the assignee's frame is already a valid Frame (e.g. when assigning to a variable instead of attribute), so we don't always want to evaluate it. So we do a check first.
And now we can handle both variable and attribute assignment expressions:
TYPE Student
    DECLARE Surname : STRING
    DECLARE FirstName : STRING
    DECLARE YearGroup : INTEGER
ENDTYPE
DECLARE Pupil1 : Student
DECLARE Var : INTEGER
Pupil1.Surname <- "Johnson"
Pupil1.FirstName <- "Leroy"
Pupil1.YearGroup <- 6
Var <- 9
OUTPUT Pupil1.Surname
OUTPUT Pupil1.FirstName
OUTPUT Pupil1.YearGroup
OUTPUT Var

Result:
Johnson
Leroy
6
9

Cleanup
And then some cleaning up before the next chapter.
Refactoring to use helper functions: [d88d20448954bbc9ce6e9c76544bb759b4102ac1]

I'm not quite happy with how I handled verifyFunction and verifyProcedure in the resolver; it looks unwieldly and too detailed, and it is difficult to see the common parts between them.
In particular I don't like the return type checking being in verifyFunction; it looks like it could easily be handled in verifyStmts even if procedures won't use it. Let's upgrade verifyStmts to do that: [b9eb1d674a2a43486a96d4e9c0fbd62c6faf1493]
and then use it in verifyFunction: [db6ec08d6633b577437bd2b9aa4c765c60f6d462]
together with this change, we also need another way to check for the existence of a Return statement. I do this by just checking for a statement with a 'return' rule.

Found a bug which didn't come up in testing: verifying BYREF parameters was not being done properly. I was setting the value in the local frame's typedvalue slot instead of assigning the slot from the global frame, so I fixed that: [3ee36366c8db042f719dd3189d3d21d3277a13b5]
Frame does not have a set() method to make this work, so I made one: [968a055a694488aec68b2942b6c9d7871c195f8c]

It's still not quite how I would like it. Within the resolver, it doesn't make sense to use the Expr.accept() method when we can reference the resolver we want with e.g. resolveDeclare(frame, expr). So I reformatted that for easier reading (and marginally faster execution): [d9651aea8a74f4f8d282ae0aeecb383988542235]
Oops, accidentally took out some code I needed. Undoing it: [13e91aadff99e06341c1d4eac38b0f00cfce925c]
Declaring parameters shares some code with declaring variables, but can't use resolveDeclare(). But I think it should; we are doing similar things to a frame, after all, though BYREF declarations need to be handled differently. No reason why that can't be done in resolveDeclare(); we'll need access to the outer frame, which we now have.
So let's upgrade resolveDeclare(), and then use it to simplify verifyFunction and verifyProcedure: [63be4f3efbf1e2dcac354250538fb0d6890678d6]

Parameter checking and replacement is the same across both verify* functions. Let's make a helper for that: [23c46672952e94a6dcd0113978643e518cf7d1ec]

We are going to be adding a new object type in the next chapter. That means more match() and check() use; I don't like how I have to use check(tokens).word if I don't want the token to be consume()d; I want to use match() for all matching operations! I upgraded match() to make consuming optional: [8ec5c0e67e97594a7811f04ee3663e7e21511192]
Then refactor the parser to use it in place of check(): [54a1746f12ccb33752bed9a8c71e30d07ce15266]

I also use check(tokens).type == ... in a few places, which does the same thing as match() except using the type attribute instead of word. Let's make a matchType() helper: [3ee7cae06ca5493d7a2b2ba14c4812c8e89017af]
Since this doesn't need to consume tokens, I set advance=False by default.

Did a more thorough pass for loops in the parser to catch EOFs: [4f1a240179a24bfa05245fb76d0c29caafc80be8]
Next, some really long lines stand out in the parser:

while not atEnd(tokens) and match(...) occurs 13 times
while not atEnd(tokens) and match(...) occurs 7 times
match(...) occurs 51 times.

This needs some reorganising ...
Let's do this:

match*() helpers will consume and return the token: [3df2562cf8417e0fe6b0ad92f38769b677609dc2]

matchElseError()
matchWord() (previously match())

expect*() helpers will not consume the token, and return a boolean: [e9ad41af83f851f9fb4d08455b1265f3ba848310]

expectWord()
expectType()

About atEnd(tokens) ... we want to check for this in a loop because match*() and expect*() will not consume an EOF token (unless we actively match it), so we might lock ourselves into a loop.
This feels like it might be a constant source of bugs; it relies on human consistency in using this check whenever there's a loop. I just had to add a whole bunch of them earlier. Since absolute blistering performance is not the goal here, I'd rather have safety. I'll throw in an atEnd() check to throw an error if we encounter an unexpected EOF:
https://github.com/nyjc-computing/pseudo-9608/blob/d06205dff3798fd57d0e897139752d452682d9e2/pseudocode/parser.py#L18-L20
And use it in the match*() and expect*() helpers (except the ElseError ones): [3df0ae10b23be437af85ee7b13e826221b6111c0]
Refactoring matchElseError() to use matchWord(): [a0198aa88305d64ab4c0d5d46e033a3d57cff471]

Finally we can take out the atEnd() check in our loops: [26158d39b598e711d20c54cfe9e459bec124cf9a]
Not only do we get more readable loops, we also get more safety knowing that our match and expect helpers help us to check and raise errors. This will need testing too, to ensure it's not raising Unexpected EOF unexpectedly.

Almsot got myself into infinite recursion there: [9260d507e55e88f69334706e00ac5e129fc279aa]
Can't have expectType() and atEnd() calling each other!

It's very clean to have match and expect helpers return a boolean, but it's quite limiting. In many places we expect() tokens, and then consume them after that. We'll be able to compress some code if our match and expect helpers return the token for a match, and return None otherwise. These are still truthy and falsy respectively; they are treated as True and False respectively when evaluated as booleans. [5538bed31550fad97731a19e2d79fe4c9127839d]
While compressing code, I accidentally also added a whole bunch of other formatting changes. Including adding a msg keyword argument to matchElseError(): [d7a7f15dc1ef2a00aa5a880c3ec137fb495fef8e]
matchElseError() doesn't follow the new naming convention; it matches on words, so I renamed it to matchWordElseError(). Wordier, but more accurate: [9fc5f1bef8c99a5c349a622eba4d78507e7d2b2c]

And then bugfixes.

wrong return value: [c9a0d04a03bfd23a322bc0752f0649ce79aa9571]
We no longer need to skip line breaks since that is done before the statement: [baa91b3f4183bfd25ed88ca6329401a1c6e91148] (idk, this might need fixing again in future. We'll see.)
improved return statement detection: [d63aecdc8027b6e3e12b2854ed42ab49f1ff5e55]

At the end of the day, we have cleaner code, and still mostly working. I think we can move on to arrays.


Cannot access "this" in key() after #5516

Version
2.7.1
Reproduction link
Example showing problem with Nuxt 2.7.1:
https://codesandbox.io/embed/nuxtkeythis-l5ucy
Example showing how it worked with Nuxt 2.6.3:
https://codesandbox.io/embed/nuxtkeythis263-xf4n1
Steps to reproduce

Return some data in a page's asyncData()
Access that data in the page's key() using this.data()

What is expected ?
Page data can be accessed in key() using this.data().
What is actually happening?
Error because this is not defined:

Cannot read property 'data' of undefined

Additional comments?
This is a regression introduced in Nuxt 2.7.0 with https://github.com/nuxt/nuxt.js/pull/5516/files
Previously the function was called as Component.options.key(), now just key().
Why is it useful to have access to this and "asyncData" in key()?
Because it allows to dynamically decide whether a page instance can handle the current route based on other data (e.g. data from the store, that is made available in asyncData()). See https://github.com/nuxt/nuxt.js/issues/4663 and related tickets.

This bug report is available on Nuxt community (#c9231)

ping @utatti

This change is actually made by https://github.com/nuxt/nuxt.js/pull/5516#discussion_r281602468 by @clarkdo (https://github.com/nuxt/nuxt.js/pull/5516/commits/70ea46c9dd1463f6715555762fb9e6677595e691).
Actually, I guess that key is not designed to work with this. You said that calling  Component.options.key() enables dynamic decision on components, but it doesn't work like that. When we call Component.options.key(), this inside the function just refers Component.options, not the component instance (thus not dynamic). So this.data inside key() just refers to the static data function, not the dynamic property of each component instance.
After all, key() should be called on each route before a component instance is initialized, so I think it's natural not using this inside it (just like asyncData() or fetch()).
By the way, I'm not one of the core members so maintainers may help answering.

Thanks for the info!
I agree it's probably not designed to work with this. Probably more by chance it worked in 2.6.3?
Here's a Codesandbox with accessing this.data() in key(), on the client side with Nuxt 2.6.3:
https://codesandbox.io/embed/nuxtkeythis263-xf4n1
Let's see what the maintainers say. Maybe I should open a feature request instead?

You're right, it's a potential breaking change in 2.7, I think it can be fixed in https://github.com/nuxt/nuxt.js/pull/5757

Sure, I've added a commit in #5757 (ignore the first 2 commits above).


support pre- and post- hook lists

Regression in development (this worked in 0.7.1). We should also add tests for this.
Encountered an error:
! Compilation error while compiling model <None>:
! post-hook for model fishtown.my_model is not a string!

👍 I can look at this today

thanks @cmcarthur :+1:


Evidence supports multi-group transactions

Summary

Concisely describe the issue and your solution:
Link to existing issue (type "#" to check):
Specify the tests done so far:

Solutions (Optional)
Please describe the details of your solution if it might be too complicated for reviewers.

Codecov Report

Merging #210 into develop will decrease coverage by 3.35%.
The diff coverage is 20.87%.

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


Uncaught TypeError: Class constructor cannot be invoked without 'new' [bug]

I'm not sure whether this is a babel-minify-webpack-plugin or a babel-minify plugin.
I supposed the latter so I reported this bug there (https://github.com/babel/minify/issues/711) but for sake of completeness I'm reporting it here as well in case anybody else is facing the same.
What happens?
It looks like classes are converted to functions instead of ES6 classes. It's not up to modules: it's triggered by tons of them, I manually tried to remove dependencies but this pop up anyway for most of them.
Uncaught TypeError: Class constructor _class2 cannot be invoked without 'new'
    at exports.default (jszip.js:13)
    at jszip.js:13

REPRO
https://github.com/damianobarbati/babel-minify-bug
Instructions in README.
npm install -g yarn pm2
yarn install
yarn serve:dev //run pm2 to serve the website
yarn build:dev //run webpack without minifying and everything is fine at http://localhost:8080
yarn build:prod //run this to run webpack with minifying and http://localhost:8080 is broken

Babel versions and plugins
I'm using babel-preset-env and babel-minify-webpack-plugin and I tried both the following minify options:
new BabelMinifyPlugin(), //everything on
new BabelMinifyPlugin({ mangle: false, evaluate: false, propertyLiterals: false }), //no mangle at all

Config and versions:
"babel": {
    "presets": [
        [
            "env",
            {
                "modules": false,
                "useBuiltIns": "usage",
                "debug": false
            }
        ],
        "stage-0",
        "react"
    ],
    "plugins": [
        "lodash",
        "transform-decorators-legacy",
        "transform-class-properties"
    ]
},
....
"babel-minify-webpack-plugin": "0.2.0",
"babel-plugin-transform-class-properties": "6.24.1",
"babel-plugin-transform-decorators-legacy": "1.3.4",
"babel-polyfill": "7.0.0-beta.2",
"babel-preset-env": "2.0.0-beta.2",
"webpack": "3.7.1",

This is not a bug with the webpack plugin. I'm closing this here.


Question marks.

Hi everyone!
Having the following issue. I created the messagebox and see the "Yes" button with question marks.

Is there some missing or unsupported symbol?

Is there some missing or unsupported symbol?

Do you are using this statement in the main of the app?
Console.OutputEncoding = System.Text.Encoding.Default;

What font are you using in your console?


CMX-5: remove "content" and "contentType" fields from "NewAvailable" …

…config event

I don't think drawings are worth maintaining in RFCs.

The message exchange is very primitive, you can easily explain it in wrting.
The image source is not available to anyone except of the original author, which impedes contributions.
The image does not add any detail, rather repeats the already declared message structure.
If you really need an image to explain an idea, consider pseudo-graphics as it is commonly used in IETF RFCs.

Since it's fairly easy to understand this flow I decided to remove images at all.


ValidationError "Duplicate step implementation" when step implementation extend abstract class.

Expected behavior
run success
Actual behavior
[ValidationError] E:\gauge_java\gauge-example\specs\example.spec:24 Duplicate step implementation => 'do something "123"'
Skipped: do something "123"
Filename: specs\example.spec
Message: Step implementation not found
Steps to reproduce

new an abstract class
public abstract class BaseClass {
public abstract void doSomething(T args);
}

the step implement class extend it.
public class StepImplementation extends BaseClass {
@Override
@Step("do something ")
public void doSomething(String action) {
System.out.println("do :" + action);
}
}

run this step in spec file.

Gauge version
>gauge -v
Gauge version: 0.9.7
Commit Hash: bc9784c

Plugins
-------
html-report (4.0.5)
java (0.6.6)
js (2.1.0)
python (0.2.3)
screenshot (0.0.1)
spectacle (0.1.2)
xml-report (0.2.0)

Thanks for reporting this.
However Gauge will not have this feature as step implementations are not meant to be overridden.


CB-2903. Do not use booleans for Telemetry objects

use enum instead of true/false boolean input for setting workload Telemetry objects (both api and db as it was asked)
only ENABLED and DISABLED fields are acceptable in that case (no json aliases)
added db update scripts as well

tomorrow, i will do a full cluster install with the rebased changes, please wait that, if it's successful it can be merged

@oleewere, was it successful?

@daszabo , technically none of my full cluster install finished successfully, but where the enums were used - that part went fine, i would wait with that change a bit anyway, i will have a better usage of these enums, which can be discussed tomorrow (got a bad feeling to change a boolean to ENABLED/DISABLED enum (as only those values are acceptable, and we need a null check anyway), but maybe would make more sense to use enums to wrap all the different configurations together and rename TelemetrySettings to TelemetryFeature which would contain the feature names...and we could pass the whole things in a list)
so i could imagine more like this (where enum makes more sense):
"telemetry":
  { "features":
      "metering",
      "workloadAnalytics",
      "reportDeploymentLogs"
  }

or (as an object instead of enum):
 { "features":
      "metering": false,
      "workloadAnalytics": true,
      "reportDeploymentLogs": false
  }

I don't think this should go to rc-2.12 at this point

@keyki ok its not adding any functionality anyway. Fine for only master

dropping this PR - see: CB-3210


Special characters like λ and Δ becomes mojibake Î» and Î”

I've tried to clone code on my server but some of the code becomes mojibake like λ to Î», and I've tried to search related issue but I really have no idea what is the "right" keyword to search. Does anyone could help to solve this issue?
You may access the site on http://vps2.zhelang.com.tw/windy/wind-js/ and you will found error message "Uncaught SyntaxError: Invalid or unexpected token" on windy.js:27
I've tried to deploy it on my laptop (localhost) and remote server (vps2.zhelang.com.tw) all face same issue.

i'm not able to access the link you shared. it is password protected.
what web server are you using? i don't have much experience in this area but i suspect you'll need to specify explicit UTF-8 encoding for the .js and .html or something like that.

@jgravois You're right, it works after specify explicit UTF-8 encoding. Really appreciate it.

excellent!


Rek shipment state machine

Description
This adds ShipmentStatus type, along with the beginning of a "state machine" that allows shipments to go from DRAFT to SUBMITTED state.
Reviewer Notes
There's some type manipulation in shipment_test because the public API expects an array of string statuses returned, and we're using an array of typed ShipmentStatuses.
Code Review Verification Steps

[ ] End to end tests pass (make e2e_test).
[ ] Code follows the guidelines for Logging
[ ] Request review from a member of a different team.
[ ] Have the Pivotal acceptance criteria been met for this change?

References

Pivotal story for this change

There were complicated merge conflicts- Some of the tests that Rebecca changed on shipments_test were moved to shipments_public_test, so the changes were hard to track and re-apply.  They seem to be working now.


CMake won't generate file sqlite3mc.pc

The configure/make build script will output file sqlite3mc.pc,
but not CMake build script yet

Here is an example to generate sqlite3mc.pc with CMake:
https://discourse.cmake.org/t/how-to-generate-pc-pkg-config-file-supporting-prefix-of-the-cmake-install/4109

Here is an example to generate sqlite3mc.pc with CMake: https://discourse.cmake.org/t/how-to-generate-pc-pkg-config-file-supporting-prefix-of-the-cmake-install/4109

Nice reading ... but it seems to be rather complex. I'm not a CMake expert. Therefore it would be nice if someone with good CMake knowledge would tackle this task.

@taozuhong I'll look into this if I get some time - did you need something specific from the .pc file? Or why is it required?

Maybe it's good to keep the pc file same as makefile's output pc.

Yes, the resulting file sqlite3mc.pc should be identical to the one created by the autoconf/automake tool chain, if possible.


Allow options like "timeout" to be passed to HTTPoison.get_blob underneath inside options

Fixes #53
Allows to call the new signature like below -
Azurex.Blob.get_blob(name, container, recv_timeout: 60_000, timeout: 60_000, headers: [{"Content-Type", "application/json"}])

Was it necessary to add the config element changes in the same PR? At first glance they look like separate goals. I'm not a maintainer, just asking the question.

@mattpolzin sorry, these are definitely separate goals. When I recently committed to this fork's master branch the other day, I had no idea this PR existed.
@krishna1m let's close this, cut a branch before that recent fork commit, and PR that. If that lands, we can PR the config bit separately. WDYT?


[CHANGE] regexp . to match \n and optimize performance

This is backported from Prometheus 3.0 https://github.com/prometheus/prometheus/pull/14505
Shortcut for .* matches newlines as well.
Add preamble change ^(?s:
Add test
dotAll flag por al regex
Add and fix regex tests
Co-authored-by: Mario Fernandez<EMAIL_ADDRESS>

 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.

I have signed the agreement although the assistant seems to think I have not

Also I can either squash the commits down or leave them separate... not sure how important it is to keep the commits in mimir-prometheus relatively close to upstream.

Also I can either squash the commits down or leave them separate... not sure how important it is to keep the commits in mimir-prometheus relatively close to upstream.

If they are separate in Prometheus main or the release branch, leave them separate here. It makes it easier to apply further changes.

Hold on before merging. Not sure we're ready to merge this in main. There was a discussion in the last Mimir weekly about the breaking changes being / not being merged in mimir-prometheus main. Better if you kick off a discussion in #mimir-dev first.

converted to draft so nobody gets tempted to push the button

(I'll start the discussion on monday, no need to do so on a friday afternoon)


[WIP] refactor(legacy support): use unified component

uses in-element-polyfill and maybe-in-element AST transforms to allow to use in-element with legacy support back to Ember 1.13 (ember-wormhole based)
Cleaned up unnecessary legacy components

Closes #71
BREAKING CHANGE:
Support for Ember <1.13 has been dropped!

Closing this as master has diverged too much. Another PR will follow...


Sidebar category link should have "active" class when active

Actually the active classname not appear on the active category link on sidebar:

Duplicate with #145


InfiniteScroll compenent is added

Title
Issue reference - #185

Proposed Changes

Check List (Check all the applicable boxes)

[x] Bug(s) fixed
[x] Enhancement done
[x] New Feature(s) added
[ ] Documentation changed
[x] All new and existing tests passed.
[x] My code follows the code style of this project.

Screenshots (if any)

Additional Information

@thekavikumar Can you now review the PR.


Dock animation freeze

During the execution of Yabai, there are moments when the animation of appearing and scrolling between icons in the dock completely freezes. Stopping the service resolves the issue.
The attached video provides a more precise demonstration of the problem.
Additional information:

Yabai version: v6.0.0
macOS Sonoma 14.0 (23A344)
Apple Silicon-based device
SIP (System Integrity Protection) is not disabled.

Configuration file
# default layout (can be bsp, stack or float)
yabai -m config layout bsp

# new window spawns to the right if vertical split, or bottom if horizontal split
yabai -m config window_placement second_child

# padding set to 12px
yabai -m config top_padding 12
yabai -m config bottom_padding 12
yabai -m config left_padding 12
yabai -m config right_padding 12
yabai -m config window_gap 12

# center mouse on window with focus
yabai -m config mouse_follows_focus on

# autofocus windows when mouse pass over
yabai -m config focus_follows_mouse autofocus

# modifier for clicking and dragging with mouse
yabai -m config mouse_modifier alt

# set modifier + left-click drag to move window
yabai -m config mouse_action1 move

# set modifier + right-click drag to resize window
yabai -m config mouse_action2 resize

# when window is dropped in center of another window, swap them (on edges it will split it)
yabai -m mouse_drop_action swap

# disable specific apps
# English USA
yabai -m rule --add app="^System Settings$" layer=above manage=off
yabai -m rule --add app="^Music$" layer=above manage=off
...

https://github.com/koekeishiya/yabai/assets/22590804/a1a66696-b556-4989-9730-906b3dc16af1

@simonemargio try it
yabai -m signal --add event=application_front_switched action="yabai -m window --layer normal"

@simonemargio try it yabai -m signal --add event=application_front_switched action="yabai -m window --layer normal"

Unfortunately, it doesn't work.
However, I've noticed that the problem is related to:
yabai -m config focus_follows_mouse autofocus
If I disable it, the dock animation works perfectly, but I would have to give up autofocus.

auto focus try it
yabai -m signal --add event=window_destroyed active=yes action="yabai -m query --windows --window &> /dev/null || yabai -m window --focus mouse &> /dev/null || yabai -m window --focus \$(yabai -m query --windows --space | jq .[0].id) &> /dev/null"
yabai -m signal --add event=window_minimized active=yes action="if \$(yabai -m query --windows --window \$YABAI_WINDOW_ID | jq -r '.\"is-floating\"'); then yabai -m query --windows --window &> /dev/null || yabai -m window --focus mouse &> /dev/null || yabai -m window --focus \$(yabai -m query --windows --space | jq .[0].id) &> /dev/null; fi"

auto focus try it @simonemargio
yabai -m signal --add event=window_destroyed active=yes action="yabai -m query --windows --window &> /dev/null || yabai -m window --focus mouse &> /dev/null || yabai -m window --focus \$(yabai -m query --windows --space | jq .[0].id) &> /dev/null"
yabai -m signal --add event=window_minimized active=yes action="if \$(yabai -m query --windows --window \$YABAI_WINDOW_ID | jq -r '.\"is-floating\"'); then yabai -m query --windows --window &> /dev/null || yabai -m window --focus mouse &> /dev/null || yabai -m window --focus \$(yabai -m query --windows --space | jq .[0].id) &> /dev/null; fi"

It works, thanks for the help!


~/.mcabal/mhs-<IP_ADDRESS>/packages: getDirectoryContents:openDirStream: does not exist

$ mcabal install simple-cmd
Building in /var/home/petersen/.mcabal/packages/simple-cmd-0.2.7
Building library simple-cmd
mcabal: /var/home/petersen/.mcabal/mhs-<IP_ADDRESS>/packages: getDirectoryContents:openDirStream: does not exist (No such file or directory)

(also this is actually <IP_ADDRESS> : - )

Btw perhaps some simple working example could be mentioned in the readme?
since it is still hard to tell what works so far.

Good idea.
MicroCabal needs some love. :)

I've done some more testing&fixing of mcabal, building with ghc. It works to install packages like lens and ad, so it's a lot better than before.

I think this works now,


Ignore extra content when scraping "Required"

Fixes #24.
Scraping this CloudFormation doc originally produced
    {
      "Name": "AuthorizationType",
      "Type": "Text",
      "Documentation": "The method's authorization type.",
      "Required": false
    },

because of the extra content after "Yes" in

Required: Yes. If you specify the AuthorizerId property, specify CUSTOM for this property.

After this change, the scraped result is
    {
      "Name": "AuthorizationType",
      "Type": "Text",
      "Documentation": "The method's authorization type.",
      "Required": true
    },

@amar47shah
Thank you for fixing this!

Awesome, thanks a lot!


In the Head Build instructions, but is the shield attached in step 4.1 without soldering the connectors?

All connections should be soldered previous to mounting the shield to the Arduino; the CAD just didn't originally include those pins and so they were omitted from the photos.  I've retaken photos from the OnShape model and updated the head assembly document accordingly to add some more clarity.


Odd indentation for match arm de-lining

Pre:
            WebDriverScriptCommand::GetUrl(reply) =>
                webdriver_handlers::handle_get_url(&page, pipeline_id, reply),
            WebDriverScriptCommand::GetTitle(reply) =>
                webdriver_handlers::handle_get_title(&page, pipeline_id, reply),

Post:
            WebDriverScriptCommand::GetUrl(reply) => webdriver_handlers::handle_get_url(&page,
                                                   pipeline_id,
                                                   reply),
            WebDriverScriptCommand::GetTitle(reply) => webdriver_handlers::handle_get_title(&page,
                                                     pipeline_id,
                                                     reply),

https://github.com/nrc/rustfmt/pull/216 will fix this, I think. I'll add your example as a idempotence test.

Seems odd to close this before #216 merges.

It was already fixed by a PR of Nicholas.
-----Original Message-----
From: "Josh Matthews"<EMAIL_ADDRESS>Sent: 4-9-2015 14:33
To: "nrc/rustfmt"<EMAIL_ADDRESS>Cc: "Marcus Klaas de Vries"<EMAIL_ADDRESS>Subject: Re: [rustfmt] Odd indentation for match arm de-lining (#226)
Seems odd to close this before #216 merges.
—
Reply to this email directly or view it on GitHub.


[in progress] Update docs: running locally

@ozsay @Urigo
What do you think?

@kamilkisiela awesome!


Autotracker disables itself on restart

It seems to be saved properly, and also works when enabled. When restarting the app, it seems to be disabled (both in the settings and by not working).
Can you take a look, @tanel?

Reported with desk case #209096

The "autotrack" settings value is not used in the Windows UI

Setting has been fixed, and it also still works after restarting the app for me.


MSC2472: Symmetric SSSS

Rendered

Were AEAD modes such as GCM considered?

I believe GCM was considered earlier when e2ee was originally being implemented, but there was lack of support in some libraries.  It may be better supported now, but I'd rather not add another encryption mode to the mix (we already use CBC and CTR), and stick with things that we're already using where possible.  In the future, we may at some point do a bulk review of the encryption that we use and switch things across the board at that time, but for now, I think it's better to stay with things that we already use.

this lgtm; i'd suggest proposing a merge tbh.

@mscbot fcp merge

Updating the 1946 proposal to say the same thing seems quite confusing - I'd have probably either left it in and marked it as superseded or deleted it rather than have duplicated content.
Looks fine otherwise though.

Agree as well that copying the contents and modifying them in this MSC and putting a "superseded" warning in the old MSC would've been clearer, but oh well.
We should link the implementations of this, though that may be a lot of different PRs. Instead, I'll just mention that this has been implemented in Riot Web (riot-web, matrix-react-sdk, matrix-js-sdk), RiotX Android and Riot iOS.

I've made a couple of update:

keys don't need to be signed any more since they're trusted on the basis of us having the secret key (this was only necessary when using an asymmetric algorithm)
added some information so that we can check the key before we try to use it

As far as modifying the text of the original MSC, I'm not sure what's the best way to do it, and am open to suggestions.  I think that all approaches have some sort of downside.  I wanted to do it in a way that there was one document that people could look at to get the current recommendation, and to have something explaining the rationale behind the change.

Implemented in Riot-web by https://github.com/matrix-org/matrix-js-sdk/pull/1238 and https://github.com/matrix-org/matrix-js-sdk/pull/1294
@ara4n can you convert your "lgtm" to a :heavy_check_mark: ?

seems entirely plausible to me. I'm assuming that other people have thought about the crypto aspects of this.

Somehow this missed the list of things that passed FCP

Merged! :tada:

Updating the 1946 proposal to say the same thing seems quite confusing - I'd have probably either left it in and marked it as superseded or deleted it rather than have duplicated content.

Coming back here three years later: +1 to this. It confused me greatly: let's not do that again. Or if we do, let's at least leave a note on the original PR to say what happened. (Now done for MSC1946.)


gcc error

Hi,
Thanks for the great package! It works quite well on Mac OS, but when I try to install it on a Linux distribution (Ubuntu 18.04), I receive this error:
gcc -pthread -B /home/krista/anaconda3/compiler_compat -Wsign-compare -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes -fPIC -I/home/krista/anaconda3/lib/python3.5/site-packages/numpy/core/include -Iinclude/ -I/home/krista/anaconda3/include/python3.5m -c pyedfread/edf_data.c -o build/temp.linux-x86_64-3.5/pyedfread/edf_data.o -fopenmp
gcc -pthread -shared -L/home/krista/anaconda3/lib -B /home/krista/anaconda3/compiler_compat -Wl,-rpath=/home/krista/anaconda3/lib,--no-as-needed build/temp.linux-x86_64-3.5/pyedfread/edf_data.o -Llib/ -ledfapi -o build/lib.linux-x86_64-3.5/pyedfread/edf_data.cpython-35m-x86_64-linux-gnu.so -fopenmp
/home/krista/anaconda3/compiler_compat/ld: cannot find -ledfapi
collect2: error: ld returned 1 exit status
error: command 'gcc' failed with exit status 1

I tried updating gcc and python3-dev, but to no avail. Any ideas?

Do you have the SR SDK installed? This is required for it to work.

Did @gschwim's suggestion solve the problem?

I'm testing today. I'll let you know.

It was the SR SDK. Thanks!


Add package badges

Note: Please remember to review the contribution guidelines
if you have not yet done so.
What does this PR do?
Adds some badges to the readme
Motivation
What inspired you to submit this pull request?
Testing Guidelines
How did you test this pull request?
Additional Notes
Anything else we should know when reviewing?

Codecov Report

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

@@           Coverage Diff           @@
##           master      #14   +/-   ##
=======================================
  Coverage   89.49%   89.49%
=======================================
  Files          18       18
  Lines         457      457
  Branches       67       67
=======================================
  Hits          409      409
  Misses         30       30
  Partials       18       18

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 d9abfc1...9b979e7. Read the comment docs.


Does Spring cloud gateway support stream REST API?

Is your feature request related to a problem? Please describe.
We have spring cloud gateway fronting to REST services. For one of the requirements, one of our REST API needs to send MBs of data as part of the response. We are planning to use stream as suggested in below article
https://stackoverflow.com/questions/37155557/stream-json-output-in-spring-mvc
Does spring cloud gateway supports stream API for longer, persistent connections?
Describe the solution you'd like
Is there any other alternative better approach through gateway?

Closing due to lack of requested feedback. If you would like us to look at this issue, please provide the requested information and we will re-open the issue.


Better recovery after errors

If there is invalid syntax above a for loop, the end for ends up with a parser error. Is there a way to improve the way the parser recovers so that the error is contained to the 1=1 line?
function Main1()
  1=1
  for each num in [1,2,3]
    print num
  end for
end function

I'm working on this one.


fix(plugin-docsearch): open docsearch with slash key before run initi…

…alize

Before submitting the PR, please make sure you do the following

[X] Read the Contributing Guidelines.
[X] Provide a description in this PR that addresses what the PR is solving. If this PR is going to solve an existing issue, please reference the issue (e.g. close #123).

Solving this problem: https://github.com/vuejs/docs/issues/2240.
What is the purpose of this pull request?

[x] Bug fix
[ ] New feature
[ ] Documentation update
[ ] Other

Description
Previously, the initializate method was called in onMounted Docsearch.ts, but there was a change that removed it and the method responsible for triggering docsearch before executing the initializate became useDocsearchHotkeyListener, this method defines a keydown eventLintener when mounting the component.
My change was to add the '/' key to the useDocsearchHotkeyListener validation.

Docsearch only support command + k. Adding / is confusing.

Docsearch only support command + k. Adding / is confusing.

Confused? What do you mean? The / works in Docsearch, the problem happens on the first load.

Didn't know that, I will test that later

@Mister-Hope Maybe we need to add this validation below:
const isEditingContent = (e: KeyboardEvent): boolean => {
  const element = e.target as HTMLElement;
  const tagName = element.tagName;
  return (
    element.isContentEditable ||
    tagName === 'INPUT' ||
    tagName === 'SELECT' ||
    tagName === 'TEXTAREA'
  );
}

I am still awaiting your feedback to keep working on this issue.

Hi there, holiday during April 29th - May 3rd in Chinese, will ne back later.

Also didn't know that slash is the default hot key of docsearch. Nice catch!


1wallet not available after creation

To test the new  1wallet, I have used the web browser to create 1wallet.
utilized the google authenticator and all worked at the beginning.
to test further I have sent 2one tokens to the address. Balance appeared immediately while using the new wallet. However after closing this web browser I lost my access to the wallet. I did originally bookmarked the wallet with the address but now I am sent to a general address.
I can see this new address and balance on the blockchain explorer but I cannot see the wallet on the newly created 1wallet.
The recovery is not working either.
I am directed to https://1wallet.crazy.one/wallets
meanwhile my bookmarked address is supposed to be my own new wallet.

Update
I did a few testing around.
With Google Authenticator, recovery is possible. Unfortunately, once user clears the browser history (even after recovery), user cannot reach to the wallet and need to recover again.
This need fixing.

If you clear the browser history (and presumably any stored data as well), you can't really expect the browser not to clear all data stored by 1wallet.crazy.one as well.
You may find https://github.com/polymorpher/one-wallet/issues/255 helpful, which will be available in the next version. We are also considering to build a browser extension, which should address your issue (if you clear browser data a lot)


doc: up_squared: add 'west' build option to the UP2 documentation

It is also possible to use 'west' to build the 'hello_world' sample
application for the UP2 (up_squared) board. This patch makes it
explicit in the documentation.
Signed-off-by: Geoffroy Van Cutsem<EMAIL_ADDRESS>

Codecov Report

Merging #14291 into master will increase coverage by 0.03%.
The diff coverage is n/a.

@@            Coverage Diff             @@
##           master   #14291      +/-   ##
==========================================
+ Coverage   51.97%   52.01%   +0.03%
==========================================
  Files         308      308
  Lines       45512    45512
  Branches    10546    10546
==========================================
+ Hits        23656    23673      +17
+ Misses      17055    17043      -12
+ Partials     4801     4796       -5

Impacted Files
Coverage Δ

arch/posix/core/posix_core.c
91.91% <0%> (+1.01%)
:arrow_up:

subsys/testsuite/ztest/src/ztest.c
72.72% <0%> (+7.43%)
:arrow_up:

subsys/testsuite/ztest/include/ztest_assert.h
77.77% <0%> (+38.88%)
:arrow_up:

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 c78c5e6...c6d329d. Read the comment docs.


fix 3 localfilesystem tests failing on Windows

Handle 3 core failures on Windows due to library paths that look like "'C:\Users" instead of "/home" or "./", which caused localfilesystem to create a path with the runtime dir append to the home dir.

There is still one localfilesystem_spec.js test failing -
'should return a newly saved library object'
and one test under red/nodes/registry/index due to CR/LF differences -
'returns the node configurations'
that I'll work on later and create a separate pull request.

Coverage remained the same at 94.69% when pulling 9ad1f769d3d7a01b8d8c9bf74ea3354a18f48864 on drwoods:master into 87f8fd34b8064b16da1707a6bfd05879d53a65cf on node-red:master.

+1


Added Swift Package Manager support

Hi,
I've added a simple Package.swift to allow this package to be imported in Xcode via the standard Swift Package Manager, as CocoaPods is becoming increasingly deprecated.
Also made a couple of small changes to make the queue more usable from Objective-C.

Added more Objective-C exports as I thought that was already the case. The project is now largely usable from Objective-C code.


Prometheus2

Can you please squash the commits and provide a better commit message? Squashing the initial commits will help us be able to review the changes made.


Add MIT license

Adding MIT license with correct years and username for copyright

@UserNobody14 Is this agreeable with you? I'm good with this.

Sure, I'll add it in


Uncaught Crypto error with malformed key

Using Node 6.11.1 + Sails 1.0
crypto.js:286
  var ret = this._handle.sign(toBuf(key), null, passphrase);
                         ^

Error: error:0906D06C:PEM routines:PEM_read_bio:no start line
    at Error (native)
    at Sign.sign (crypto.js:286:26)
    at SAML.signRequest (...\node_modules\passport-saml\lib\passport-saml\saml.js:135:34)
    at requestToUrlHelper (.../node_modules\passport-saml\lib\passport-saml\saml.js:308:12)
    at DeflateRaw.onEnd (zlib.js:227:5)
    at emitNone (events.js:91:20)
    at DeflateRaw.emit (events.js:185:7)
    at endReadableNT (_stream_readable.js:974:12)
    at _combinedTickCallback (internal/process/next_tick.js:80:11)
    at process._tickDomainCallback (internal/process/next_tick.js:128:9)

This happens if you provide the just the base64 privateCert not enclosed in -----BEGIN RSA PRIVATE KEY----- and -----END RSA PRIVATE KEY-----
This probably also happens if you try to validate the IDP signature later on. (I haven't got there yet)
Maybe add an error handling for this case or a key check (and update documentation)?

Correction: -----BEGIN RSA PRIVATE KEY----- and -----END RSA PRIVATE KEY----- are not necessary. The issue with malformed key error continues. However, the only way to know that it is malformed is really to just let Crypto throw the error and let you deal with it. So all seems fine here.

For future reference, if you are having trouble figuring out the correct private key format, you can use this little script to test:
  "use strict";
  var fs = require("fs")

  var SAML = require("passport-saml").SAML;

  var saml = new SAML({
      privateCert : fs.readFileSync("./tmp.pem")
  })

  var message = { SAMLResponse: "BOOM" };
  saml.signRequest(message)
console.log(message.Signature)

Using that, I determined that the private key must start with -----BEGIN PRIVATE KEY----- on it's own line. (And -----END PRIVATE KEY----- on it's own line at the end for good measure.)
It doesn't work to put BEGIN PRIVATE KEY on the same line as the rest of the cert, and didn't work to omit it and didn't work to use BEGIN CERTIFICATE instead.
The certificate itself can be on a single line, or presumably will also work with linebreaks.
This behavior is inconsistent with other parts of passport-saml which accept certs on a single line without the header/footer.  The need for the headers here is not currently documented-- I'll work on that.
It also be nice if passport-saml validated the cert formats as soon as they were loaded for faster feedback that something is wrong.

If my private key is password protected, sha256, I get a different header and footer:
-----BEGIN ENCRYPTED PRIVATE KEY-----
-----END ENCRYPTED PRIVATE KEY-----
If I change this to BEGIN PRIVATE KEY, it fails. I'm setting the privateCert using an object, with key and passphrase properties, and the key is set using the fs.read.... typical approach. Is using a password with a key not supported? If so, how do you work around this header issue?

@whatch How do you enter the password? Do you have server prompt you to enter the password when it boots up? What if the server reboots in the middle of the night while you are in vacation? Passwords are typically not used for SSL certificates and similar things, but it's not practical to have the right person enter the password when it's needed, potentially resulting in downtime.

@markstos

How do you enter the password?

We don't, but keep it in a .env file.

Passwords are typically not used for SSL certificates and similar things

It's pretty much default practice when using samlify: https://github.com/tngan/samlify/blob/71660123524daedecb7c15d648a7ad09c0d75e5c/test/flow.ts#L74
It also seems reasonable to me to protect even the private key with a password.
@whatch Have you find a way to use an encrypted private key?

password-protecting the private key is supported by the SAML spec, so we should support it here too, regardless of my opinion of the practice.
A pull request with code/test/docs to address this is welcome.

When you generate private key using openssl if creates in PEM encoded PKCS#1 format.
Try converting PEM to PKCS#8, it worked for me.
openssl pkcs8 -in <pem_in_PKCS#1> -topk8 -nocrypt -out <pem_in_PKCS#2>
PEM encoded PKCS#1 format private key begins with
-----BEGIN RSA PRIVATE KEY-----
...
-----END RSA PRIVATE KEY-----
PEM encoded PKCS#8 format private key begins with
-----BEGIN PRIVATE KEY-----
...
-----END PRIVATE KEY-----
If you have encrypted private key (-----BEGIN ENCRYPTED PRIVATE KEY-----) convert to (-----BEGIN RSA PRIVATE KEY-----) which is PKCS#1 and then to PKCS#8 (-----BEGIN PRIVATE KEY-----).

just dropping here to help someone .. this formats certs
https://www.samltool.com/format_x509cert.php


[rewrite:render] Lookup the view and hooks on the state object (paves the way for #618).

This doesn't have any perf impact on the tests nor DBMonster, and should only affect the rare apps that rely on a single component (that would have made the view and hooks lookup code monomorphic).
Edit: Note that this is a breaking change in that if you assign a new value to vnode.state and that value doesn't have  a view function, the component will not work anymore.

@JAForbes This should enable closure-based components as described in your How I use Mthril post, with small modifications:
var Example = component(function() {

  var count = m.prop(0)
  var checked = m.prop(false)

  return {
    view(){
      return m('div', [
        m('input[type=number]', {
          onchange: m.withAttr('value', count)
        })
        ,m('p', 'The number is: '+ count() )
        ,m('input[type=checkbox]', {
          checked: checked()
          , onchange: m.withAttr('checked', checked)
        })
      ])
    }
    // add hooks here if you want
  }
})

function component(f) {
  return {
    oninit() {
      var methods = f()
      Object.keys(methods).forEach(k => { this[k] = methods[k] })
    },
    view(){} // dummy function to trump the component detection code
  }
}

Updated so that you can actually overwrite vnode.state in oninit.
For @spacejack / @isiahmeadows and other
function ES6Component(Class) {
  return {
    oninit(vnode) {
      vnode.state = new Class(vnode)
    },
    view(){} // dummy function to trump the component detection code
  }
}

And for @jaforbes / @syaiful6
function closureComponent(factory) {
  return {
    oninit(vnode) {
      vnode.state = factory(vnode)
    },
    view(){} // dummy function to trump the component detection code
  }
}

@pygy I'd fall more into the functional camp, BTW. 😄 There's others, though, that'd prefer class components.
Although you could wrap m to accept both, anyways (with this patch):
``js
import mithril from "mithril"
const wm = new WeakMap()
function makeWrapper(invoke) {
return {
oninit(vnode) { vnode.state = invoke(vnode) },
view() {}, // make this look like a component
}
}
function wrap(C) {
if (C.prototype != null && typeof C.prototype.view === "function") {
return makeWrapper(vnode => new C(vnode))
} else {
return makeWrapper(C)
}
}
export default m(tag, ...args) {
if (typeof tag !== "function") return mithril(tag, ...args)
if (!wm.has(tag)) wm.set(tag, wrap(tag))
return mithril(wm.get(tag), ...args)
}

Overall, this, if accepted, would simplify adding class support quite a bit.

@lhorie @tivac Could you all chime in on this?

Killing this in favor of #1339.


Merge main into release/2.1.0

PR Checklist
PR Structure

[x] This PR has reasonably narrow scope (if not, break it down into smaller PRs).
[x] This PR avoids mixing refactoring changes with feature changes (split into two PRs
otherwise).
[x] This PR's title starts with name of package that is most changed in the PR, ex.
paymentservice.stellar, or all or doc if the changes are broad or impact many
packages.

Thoroughness

[x] This PR adds tests for the most critical parts of the new functionality or fixes.

What
This is to resolve merge conflicts in https://github.com/stellar/java-stellar-anchor-sdk/pull/954.
Why
The release/2.1.0 is push protected, so I can't make changes directly in the PR.
Known limitations
N/A

Reference Server Preview is available here:https://anchor-ref-pr955.previews.kube001.services.stellar-ops.com/SEP Server Preview is available here:https://anchor-sep-pr955.previews.kube001.services.stellar-ops.com/


Question about metrics

I am very new to both Grafana and Apache exporter, and i was curious.
What is the difference between this one:
TYPE apache_accesses_total counter
and this one:
TYPE apache_duration_ms_total gauge
I am looking for a way to show the response times of how long it takes when i request a page, and when apache says its finished. For one client they have a request that it takes no longer then so many ms between request and completion :)

i am looking for a way to show how long it takes a page to load.. not sure which one to use!

Hey @jhjacobs81 ,

apache_accesses_total is good for calculating requests per second.
apache_duration_ms_total would tell you how long a request took. Since a page is often multiple requests to different resources it wouldn't tell you how long a page takes to load. A different tool would be more suitable to measure page load time.

Actually for different tool you would need to analizę apache text
accesslogs. (Httpd would need to be set to log %D )
Check goaccess
Or send logs to Loki and graph the request duration.
pt., 17 lut 2023, 21:19 użytkownik William Van Hevelingen <
@.***> napisał:

Hey @jhjacobs81 https://github.com/jhjacobs81 ,

apache_accesses_total is good for calculating requests per second.
apache_duration_ms_total would tell you how long a request took.
Since a page is often multiple requests to different resources it wouldn't
tell you how long a page takes to load. A different tool would be more
suitable to measure page load time.

—
Reply to this email directly, view it on GitHub
https://github.com/Lusitaniae/apache_exporter/issues/141#issuecomment-1435222095,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AJ4NBSJF5YCUG5FVGOFYFDTWX7MNJANCNFSM6AAAAAAQIVGXSQ
.
You are receiving this because you are subscribed to this thread.Message
ID: @.***>

Let us know if you have any more questions


cas docs don't mention it works with arbitrary objects too

This is a continuation of https://github.com/rakudo/rakudo/issues/2313
Per spec ( https://github.com/perl6/roast/blob/84974bf372d86780d88e1e34334161a4bea8c9b4/S17-lowlevel/cas.t#L50-L71 ) cas can work with arbitrary objects, yet the docs claim it only works with atomicints

It's documented here, so I guess the issue is how to make sure it's found.


Spelling typo in cmdlet Get-ExectionPolicy (missing u)

My 50 cents to make it possible that everyone (on the planet) can use this:
Error in "4. Voer het volgende commando uit: Get-ExectionPolicy"
Almost invisible but it should be Get-ExecutionPolicy (ie missing a "u"). Small error for us, blocking for normal users.
Suggest to add some details how to do an "Open een elevated 'Windows PowerShell v5.1' window .."
Windows > Start > Powershell or ISE, Run as Adminstrator > Check for "Administrator: " in the title bar.
Check it is starting in "PS> C:Windows\system32". Change this to folder. For example do Set-Location "C:\BIO"
Great project ! Hope it gets popular with most organisations. Will do my best to advertise it in the community events.
Found it as i am playing with the idea to use MS365DSC to check for the well known "gratis" security enhancements.

Thanks @NL12143, great spot. I will correct it!

For the other suggestion:
Playing devils advocate here, but if you don't know how to start an elevated PowerShell window should you run these scripts at all?
I would say we should expect a certain level of expertise. Since these scripts are meant for M365 admins, I hope that those know how to start an elevated PS session.
What is your opinion?


Adjusted dbObject order of execution and make ignoreFields chainable

Moving the check for db($fieldName) to the start would help ensure that dbObject returns a DBField object and not return $dependencies injected objects.
This way DataDifferencer would not require a DBField check as well.
ignoreFields return $this; so it could be chained e.g.
$diffFields = DataDifferencer::create($original, $new)
  ->ignoreFields(array('LastEdited'))
  ->ChangedFields();

I've rebased and applied a different change which @tractorcow had suggested.

You've just moved the check to the beginning of the method? Is that all you wanted to do?
Also, the comment is now out of context, can that be adjusted, please?
What's the advantage to moving the check to the start?

adjusted the comments

thanks


Reporter: ERROR org.ossreviewtoolkit.plugins.commands.reporter.ReporterCommand - Could not create 'SpdxDocument'

15:25:53.400 [main] ERROR org.ossreviewtoolkit.plugins.commands.reporter.ReporterCommand - Could not create 'SpdxDocument' report in 2.568317933s: IllegalArgumentException: The entries in licenseInfoInFiles must each be either an SpdxExpression, 'NONE' or 'NOASSERTION', but found GPL-2.0-or-later WITH NOASSERTION.
Creation of Notice files have started to fail with weird error.
https://github.com/oss-review-toolkit/ort/blame/main/utils/spdx/src/main/kotlin/model/SpdxFile.kt#L193 is the related line

NOASSERTION is not a valid operand for WITH, as WITH only accepts names of exceptions. You are required to curate this license finding in order to proceed.

Closing this in favor of https://github.com/oss-review-toolkit/ort/issues/8052.


Add vm.sleep(uint) to Vm.sol interface

Following this PR on foundry repo:
https://github.com/foundry-rs/foundry/pull/5519
I can open a PR but I was not sure how to test this change.

Hey, no tests needed since you just have to add the cheatcode interface, a PR would be appreciated! Check out https://github.com/foundry-rs/forge-std/pull/431/files for an example. You can add it to the VmSafe interface, then just add a comment above the cheat and use named function inputs/return values as shown in that PR

Thanks @mds1. Opened a PR. LMK if anything more is required :slightly_smiling_face:


Chart on number of new users vs time

I wanted to know how many new accounts have been made in 2020. Is there a way to keep track of this?

Related: https://github.com/Ameobea/robintrack/issues/37#issuecomment-429549038

Robinhood doesn't actually publish any regularly updated metrics about their total number of active accounts, so it isn't possible to provide that data on the website.  I'm working on a feature currently to try to gauge retail trading activity in a different manner, and it will hopefully be available by the end of the week.


golangci-lint timeout and TestRunEmbeddedEtcdWithCerts failed in s390x

It seems it spend long time run golangci-lint in 234 this build of s390x.
When I increase timeout to 20 minutes, you will see it spend 10 minutes running. You could search with level=info msg="Execution took in 233 build.

s390x 10m
arm64 58s
amd64 2m

After increase timeout, there is another issue happens in s390x TestRunEmbeddedEtcdWithCerts. You could search TestRunEmbeddedEtcdWithCerts in 233 build.
time="2023-10-26T10:25:58Z" level=info msg="Creating embedded etcd server"
    etcd_test.go:85: error running embedded etcd server listen tcp <IP_ADDRESS>:2380: bind: address already in use
--- FAIL: TestRunEmbeddedEtcdWithCerts (0.04s)
FAIL

However, arm64 and amd64 both are fine. Not sure what happened, need more investigation.

Somehow it works again, close it temporarily.


Installation Issue: Docker version wont run!

Hey All,
I tried to add the container but i get the error
error EACCES: permission denied, mkdir '/home/coder/.local/share/code-server/extensions'
Any Ideas?

In my case, I solved this as follows:
$ cd ~/
$ sudo mkdir .local/share/code-server/extensions

It assumes that docker mounting ${HOME}/.local/share/code-server:/home/coder/.local/share/code-server
However, for fundamental resolution, need fix commit like #1191

$ chown 1000:1000 -R ${HOME}/.local/share/code-server
Try it.

在 2020年1月2日，上午7:44，tomscatbilly<EMAIL_ADDRESS>写道：
Hey All,
I tried to add the container but i get the error
error EACCES: permission denied, mkdir '/home/coder/.local/share/code-server/extensions'
Any Ideas?
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub https://github.com/cdr/code-server/issues/1243?email_source=notifications&email_token=ADEVTAHK72VTH73DYU4KKTTQ3UTFLA5CNFSM4KB5JB22YY3PNVWWK3TUL52HS4DFUVEXG43VMWVGG33NNVSW45C7NFSM4IDTCBZQ, or unsubscribe https://github.com/notifications/unsubscribe-auth/ADEVTACLKJU4Q5NP5QHAUPLQ3UTFLANCNFSM4KB5JB2Q.

@bruce9399 Thank you that fixed it!


Input value substitution

According to the Input Value Substitution section of the page, an input value can be substituted into any url in a ViewAction or HttpPOST or into an HttpPOST body. However, input value substitution only works for me with an HttpPOST body. I get an error saying Target is not set or not in URL format. if I try to use input value substitution in am HttpPOST target. Similarly, if I do the same for ViewAction, the button does not do anything.

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

ID: 2fa51748-908b-c781-39b2-09c961b1637a
Version Independent ID: 51b88c0a-29d3-2ca8-0b54-d96be4779dd2
Content: Legacy actionable message card reference - Outlook Developer
Content Source: docs/actionable-messages/message-card-reference.md
Product: outlook
Technology: o365-connectors
GitHub Login: @jasonjoh
Microsoft Alias: jasonjoh

I have verified with the engineering team that input value substitution only works in the body of an HttpPOST. I will update the docs.


Moving to Microsoft.Data.Sqlite?

Due to this ticket: https://github.com/veepee-oss/Vp.FSharp.Sql/issues/18
We won't have any reason to get stuck with System.Data.Sqlite.Core.

I'm curious what your latest thinking on this is. I've made the minor changes needed for basic support of Microsoft.Data.Sqlite. However I see that you didn't want to make the change because of TransactionScope support.


steem.post() doesn't work when contains single quotes in body

I encountered some problems when I tried to use python-steem to post on steemit.
I will simplify the problem into the following code
from steem import Steem

tags=['test', 'spam']

content1 = "Test only, don't upvote"
content2 = "Test only, dont upvote"

steem=Steem()
steem.post(title='test only', body=content1, author='oflyhigh', tags=tags)
print("Done!")

The content1 doesn't work but content2 works well.
And all of them work well under piston.
So, what's wrong?

Error message:

ValueError: Invalid TransactionBuilder Format

Thank you for reporting this :)

You are welcome!


New release: v0.6.1

v0.6.1

add support for disable/enable decorating.animated
add support for customize spinners and colors of decorating.animated
implement the decorating.monitor_stdout decorator
fix tests about tests/__main__.py script
introduce the first bug of @monitor_stdout (sorry for that)

Codecov Report

Merging #38 into master will decrease coverage by 45.88%.
The diff coverage is 38.09%.

@@             Coverage Diff             @@
##           master      #38       +/-   ##
===========================================
- Coverage   97.58%   51.69%   -45.89%
===========================================
  Files          15       11        -4
  Lines         496      354      -142
===========================================
- Hits          484      183      -301
- Misses         12      171      +159

Impacted Files
Coverage Δ

tests/__main__.py
100% <100%> (ø)
:arrow_up:

decorating/__init__.py
100% <100%> (ø)
:arrow_up:

decorating/animation.py
46.4% <21.62%> (-43.87%)
:arrow_down:

decorating/monitor.py
54.54% <54.54%> (ø)

decorating/debugging.py
18.91% <0%> (-81.09%)
:arrow_down:

decorating/decorator.py
33.33% <0%> (-66.67%)
:arrow_down:

decorating/general.py
50% <0%> (-50%)
:arrow_down:

decorating/stream.py
57.69% <0%> (-40.39%)
:arrow_down:

decorating/color.py
61.53% <0%> (-38.47%)
:arrow_down:

... and 6 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 37708ff...fa12044. Read the comment docs.

I need fix the tests before merge it!

I don't have patience to fix that differential patch need; i'm merging anyway


 Improve UI in a way that makes it clear that there will be a confirmation step.

@dblock I see the problem here but I don't understand how telling them that there is a confirmation step will help them understand that their bid won't be placed in time. Seems like we need a slightly more holistic approach to solving this issue. I typically find that a line of copy is lost on a user who just wants to bid (this was true in the early days of user testing a prototype where there was much copy explaining each step)

Totally agree @katarinabatina. An example would be changing the "Bid" button to "Bid (You will be asked to confirm)", obviously that really ugly, I don't know what the solution is, but I know it's a problem :)

One idea that comes to mind is if instead of "Bid" it said "Next" as you start typing a number.

We could examine ways to make the process faster. Maybe use CC as a form of user authentication somehow? That way it's enter number - bid - swipe - done.

As far as I understand the problem, I agree with @ashfurrow. Isn’t having the payment go through the most important detail? You can deal with the personal details after the payment has gone through.

@ashfurrow I like the idea of using the CC as a personal identifier but that is probably a larger change out of scope for the immediate future.
@alloy getting a CC for unregistered users is the most important however to figure out whether or not they are registered we need to ask for personal details upfront...hence the cc swipe coming later in the flow.

Just want to put this out there, but even with this there are still plenty of design/implementation questions (listed at the bottom).
I assume the creditcard details are being stored on Stripe for later use? If so, Stripe offers a ‘fingerprint’ for each stored creditcard that can be used to identify a creditcard later on.
i.e. if I create an account and store my creditcard then Artsy can store the fingerprint of that creditcard along with my account and next time I use my creditcard Artsy can find my account by that fingerprint.

when a creditcard’s fingerprint is not found in the Artsy DB it could either be a new customer or an existing one using a different creditcard
when there are multiple Artsy accounts using the same creditcard


Making README consistent with Node's BUILDING

Checklist

[ ] npm install && npm test passes
[ ] tests are included
[x] documentation is changed or added
[ ] commit message follows commit guidelines

Description of change

This patch is to correct a misinformation in the README where it states that installing Xcode Command Line Tools will install gcc toolchain.

👍 thanks, landed in 8d4ea7f


Wire on search box

First pull request? Read our guide to contributing
Checklist:

[X] Test your work and double check you didn't break anything
[X] Update any relevant READMEs and docs

Description:
Wire on a basic search box in the DApp UI.
When a search query is entered in the box, the origin-js search method is called to retrieve the listing ids that match the query. See associated origin-js PR.
This is my first time writing code in React, Redux and JS... so would appreciate feedback on whether or not this is the right way of doing things ! Thanks :)
Note: I will hold off on landing this PR until after the Wed 8/8 release is out. This code is mostly meant as a starting point but is not ready for production yet (in particular the origin-js side has scalability issues).

Closing this. @sparrowDom has a much better version of the search bar in #396


qrc support

Is it possible to add qrc support to CMake?

I have added support to the cmake and added example usage to template_gui_node.cpp


Update README.md

This library was very useful for me when I worked as a data labeling intern. Making face data of celebrities. The noisy images were easily removed with the help of the deepFace libraries' gender detection capability.

ty but this should not be added to read me


mysql field type is datetime afterRecords not equals currentRecords

suggestion:
You can convert the field value to the field type, then compare

JDK version : 1.8
OS : window 7
Others: mysql5.7

Fix in https://github.com/seata/seata/pull/1090


sqlite dialect is not supported

I am using hapi-sequelize in my project. working fine with mysql dialect in development and production mode, but sqlite dialect is not working properly. It does not create .sqlite file when specified in options.
server.register(
    [
        {
            register: require('hapi-sequelized'),
            options: {
                dialect: 'sqlite',
                storage: "test.sqlite",
                models: 'models/**/*.js',
                sequelize: {
                    define: {
                        underscoredAll: true
                    }
                }
            }
        },
    ], function(err) {
        if (err) {
            console.error('failed to load plugin');
        }
    }
);

the above config options does not create sqlite file. can you help me where i am going wrong.

Please update to the new version


[page][ListPage] the list page should run the load action on modification of the 'sortBy' and 'sortAsc' store attribute.

@obtl can you please try to stick to the guideline @Tommass suggested for the issue template ? thank you !

@obtl any update on the issue description ?

+1

@obtl is it still valid ?

I think this is is already the correct behaviour see https://github.com/KleeGroup/focus-components/blob/develop/src/page/list/index.js#L80
Reopen it if you think it is not the case.


Rust problem matchers

Includes Rust errors in code review, for example:

Codecov Report

Merging #2974 (e3c7b01) into main (d203f58) will decrease coverage by 0.18%.
The diff coverage is n/a.

@@            Coverage Diff             @@
##             main    #2974      +/-   ##
==========================================
- Coverage   29.10%   28.92%   -0.18%
==========================================
  Files         304      125     -179
  Lines       36341    13643   -22698
==========================================
- Hits        10576     3946    -6630
+ Misses      25765     9697   -16068

see 179 files with indirect coverage changes
Help us with your feedback. Take ten seconds to tell us how you rate us. Have a feature suggestion? Share it here.


ci: add tsc lint check

Sometimes it can detect unused files containing errors

Current dependencies on/for this PR:

main

PR #226   👈

This stack of pull requests is managed by Graphite.


✨ e2e tests for the latest release

Summary
Add e2e tests for the latest release.
Related issue(s)
Fixes #1590

Note to @MikeSpreitzer - I am not sure how to go about testing this?  I would like to try the implementation of the action workflow in this PR as well as a variant of it that uses the following trigger:
on:
  release:
    types: [published]

Note to @MikeSpreitzer - I am not sure how to go about testing this? I would like to try the implementation of the action workflow in this PR as well as a variant of it that uses the following trigger:
on:
  release:
    types: [published]

Tested locally on my fork by merging into main and then creating a release named 'release-mike'.


Add check to nvm profile for nvm path

This PR aims to add a check for the profile before adding the path
Closes https://github.com/nvm-sh/nvm/issues/2076

 ✓ nvm_check_global_modules
  ✓ nvm_detect_profile
  ✓ nvm_do_install
  ✓ nvm_install_dir
  ✓ nvm_install_with_aliased_dot
  ✓ nvm_install_with_node_version
  ✓ nvm_profile_is_bash_or_zsh
  ✓ nvm_reset
  ✓ nvm_source

Looking at the travis I see that the nvm_check_if_path_exists test does not run here

ah, you'll need to chmod a+x test/install_script/nvm_check_if_path_exists so that it can be executed :-)

I've rebased this, and marked it as a draft. Please mark it as ready for review when you think it's ready.

@ljharb Do you want me to complete this ?


Starting issue with electron

Hello. I'm developing a React+Electron app and I'm also using this library to read some bands with a nfc reader. The problem I have is that on some computers the app runs perfectly, but on the others, the app starts as a background process and it stays there with no error.
Any idea what can cause this to happen?

LE: If I remove the line this.nfc = new NFC();, the app starts normally on all computers. So it's something cause by the initialization.

Attach a card-reader to the computer then start the program, it issome logic problem that if no card reader found it freezes the program withput any error response.

@danielhanzs I tried what you said. I installed the needed usb driver and attached the usb reader and now the app works. The strange thing is that it works now even without the nfc reader connected. Like it installed something when it connected and now it doesn't need it anymore. Any idea how to solve this?

I have another person which tried only installing the nfc usb driver, but no success. So it must be related to the usb reader itself.

If you connect the device and start the application and desconnect the devie without restarting the application it will start searching for the readers instead of stopping the application which is good.
I will try tomorrow the https://www.npmjs.com/package/usb-detection repo
var usbDetect = require('usb-detection');
usbDetect.startMonitoring();
usbDetect.on('add', function(device) {
console.log(device);
});
On add event I will check if the device, vendorId or productId or deviceName or manufacturer is the one I'm searching for (needed only for ACR122 USB reader) and then I will call the new NFC() class.
I'm at home will test it tomorrow at workplace if physical reader needed to be connected or the installed driver will solve the problem.
For a solid solution I will stick with usb detect.

Ok. Thank you very much!

If you connect the device and start the application and desconnect the devie without restarting the application it will start searching for the readers instead of stopping the application which is good.
I will try tomorrow the https://www.npmjs.com/package/usb-detection repo
var usbDetect = require('usb-detection');
usbDetect.startMonitoring();
usbDetect.on('add', function(device) {
console.log(device);
});
On add event I will check if the device, vendorId or productId or deviceName or manufacturer is the one I'm searching for (needed only for ACR122 USB reader) and then I will call the new NFC() class.
I'm at home will test it tomorrow at workplace if physical reader needed to be connected or the installed driver will solve the problem.
For a solid solution I will stick with usb detect.
PS.: For usb-detection you need full vs2017 community the windows-build-tools not sufficient enough to build it.

Hello! it is actually now, does it was succeed?  on 50% of windows computer, i have a problem with it

I don't think this is the "right" solution, there are many card readers on market and manually listing them in some enum is not very maintainable approach. Is there some flag for "not waiting for card reader connection"?


Define Design System governance process

[x] https://github.com/dxc-technology/halstack-style-guide/issues/665

Effort:
Documenting a process flow for governance is an important piece of the contribution model and feedback loop of a design system. It can set clear boundaries between the core team responsibilities and product teams while embracing component/pattern deviations.

Discuss and define the governance process that better fits our work culture and product vision.
Create and provide accessible and clear documentation about the process.
Advocate across the different product teams about the defined model.

References:
Brad Frost: A design system governance process. Article.
Inayaili León: Vanilla Framework V1. Case Study.
Impact:
Product teams: Change the current model of “request” to a more collaborative and dynamic process trying to solve the following concerns trough governance documentation:

They cannot find a component that does what they need
A design system component gets them 90% of the way there, but not 100%
They have questions or concerns about the design system

We are closing this issue since we have already defined and documented our internal processes.


Why is the community infinispan artifact used?

Given that the *-redhat version of the boosters should use product (supportable) bits, why does this booster use community versions of infinispan?  Perhaps we can/should use 9.4.6.Final-redhat-00002.

it should use 9.4.6.Final-redhat-00002.


'count' or 'for_each' with module breaks package.py

Steps to reproduce:

Try to create multiple notifiers using for_each:

module "notify_slack" {
  for_each = toset([
    "builds-develop",
    "builds-release",
    "builds-misc"
  ])

  source  = "terraform-aws-modules/notify-slack/aws"
  version = "~> 4.0"

  lambda_function_name = "${each.key}-slack"
  sns_topic_name       = "${each.key}-slack"
  slack_webhook_url    = "https://coolurl"
  slack_channel        = each.key
  slack_username       = "Jenkins"
}

Expected behaviour:
3 sets of lambda and sns have been created
Actual result:
Terraform fails with error:
Error: failed to execute "python3": Traceback (most recent call last):
  File ".terraform/modules/notify_slack.lambda/package.py", line 1228, in <module>
    main()
  File ".terraform/modules/notify_slack.lambda/package.py", line 1224, in main
    exit(args.command(args))
  File ".terraform/modules/notify_slack.lambda/package.py", line 1068, in prepare_command
    os.makedirs(artifacts_dir)
  File "/Library/Developer/CommandLineTools/Library/Frameworks/Python3.framework/Versions/3.7/lib/python3.7/os.py", line 221, in makedirs
    mkdir(name, mode)
FileExistsError: [Errno 17] File exists: 'builds'

Error: failed to execute "python3": Traceback (most recent call last):
  File ".terraform/modules/notify_slack.lambda/package.py", line 1228, in <module>
    main()
  File ".terraform/modules/notify_slack.lambda/package.py", line 1224, in main
    exit(args.command(args))
  File ".terraform/modules/notify_slack.lambda/package.py", line 1068, in prepare_command
    os.makedirs(artifacts_dir)
  File "/Library/Developer/CommandLineTools/Library/Frameworks/Python3.framework/Versions/3.7/lib/python3.7/os.py", line 221, in makedirs
    mkdir(name, mode)
FileExistsError: [Errno 17] File exists: 'builds'

There is a variable in the lamda module called artifacts_dir. May be we should be able to modify the variable.

Hi @okgolove !
The problem was in the Lambda module, which was fixed a couple of weeks ago but this module was not updated after that.
I will take a look into this now.

Please try to use code from the branch "ci-pre-commit" (ref #117).
It will require the recreation of lambda functions because the hash function has changed.

@antonbabenko thank you, now it works with for_each.

Good, thanks for the feedback and support!
v4.6.0 has been just released.


[fix] set_marker_center latlon

Coverage decreased (-0.006%) to 84.303% when pulling 03fdebf87f0e4cfeca68daeb3bf2211712e5c1d9 on fix/set_marker_center_latlon into b995d40ee37bf8d4b2661f3287743c9a32136e66 on master.


Reset state after when using the browser's back button

Type of change

[x] Breaking change (fix or feature that would cause existing functionality to not work as expected)

Description
Previously, the progress bar stayed outdated whenever the user clicks on the browser's back button. I resolved the issue by ensuring that the CalcHeader component is remounted whenever navigation changes using useEffect and useRouter.
Fixes Trello Ticket- link here
Image

Related Docs:
Next.js Doc on Resetting State after Navigation - link here

@kathyye15 for some reason on the felony classbpro and classcpro paths, when I reach an ineligible page, it doesn't show me the end page version of the progress bar (no text, all bars dark green) - it only seems to be on these two paths, can you check on that please? I'm not sure if this was happening before or not... the code is using the path.includes ineligible or eligible to set it as an end page, and works for the other paths.
Thanks for getting to the root of the issue, I'm glad it was such a straightforward fix. Getting fresh eyes on something is always super helpful!


Pdhote/fix model download

Description
Fix model download issue when model is stored in the registry and its asset_url with format 'https://blob-urlt/registry-id'
All SDK Contribution checklist:

[ ] The pull request does not introduce [breaking changes]
[ ] CHANGELOG is updated for new features, bug fixes or other significant changes.
[ ] I have read the contribution guidelines.

General Guidelines and Best Practices

[ ] Title of the pull request is clear and informative.
[ ] There are a small number of commits, each of which have an informative message. This means that previously merged commits do not appear in the history of the PR. For more information on cleaning up the commits in your PR, see this page.

Testing Guidelines

[ ] Pull request includes test coverage for the included changes.

API change check
API changes are not detected in this pull request.


Add GHA CI + ESLint + Prettier

Description
This PR:

Adds a basic CI using GitHub Action to install, build and lint the website
Fixes the linting issues using Prettier
Adds ESLint to find linting issues and fix them
Add the MIT License

Why MIT? Apache 2.0 is preferred for Enarx.

Why MIT? Apache 2.0 is preferred for Enarx.

I had a discussion with @nickvidal yesterday and he mentioned that we should use MIT License since Docusaurus uses MIT as well.

Is the licence applied to Docusaurus scripts/code or to the information it's serving?  If the latter, then I don't think we should change the default for Enarx, which is Apache 2.0, without good reason.

Is the licence applied to Docusaurus scripts/code

Yes, and since the code is going to remain mostly the same, we should keep it as MIT.
As for the content, should we adopt Creative Commons Attribution 4.0?

Nick -
On Thu, 2021-12-09 at 03:20 -0800, Nick Vidal wrote:

Is the licence applied to Docusaurus scripts/code
Yes, and since the code is going to remain mostly the same, we should
keep it as MIT.

Makes sense, thanks.

As for the content, should we adopt Creative Commons Attribution 4.0?

I suggest you raise this in the #general chat.
-Mike

—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub, or unsubscribe.

--
Mike Bursell - CEO, Profian


Changed homepage from Athena to UTD Trends

Fixes #39
Changed the title from "Welcome to Athena!" to "Welcome to UTD Trends!".

This was handled by a previous pull request #42.


feat(CategoryTheory): Finality of StructuredArrow.post

With a slight generalization to  map₂ (R' := T ⋙ S) (F := 𝟭 _) u (𝟙 (T ⋙ S)).

Thanks!
bors merge

Wdym? I didn't see any warnings :thinking:


Set explicit version in cluster tests

Codecov Report
All modified and coverable lines are covered by tests :white_check_mark:

Project coverage is 93.49%. Comparing base (49c5204) to head (ae2539d).
Report is 35 commits behind head on main.

Additional details and impacted files
@@           Coverage Diff           @@
##             main     #601   +/-   ##
=======================================
  Coverage   93.49%   93.49%
=======================================
  Files          19       19
  Lines        1984     1984
=======================================
  Hits         1855     1855
  Misses        129      129

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.


Update prow submit job's change scope trigger

Should not trigger CI builds when only changed the prow owner files
ref: https://www.kubernetes.dev/docs/guide/owners/

Done on master branch


MultiPartException('Missing boundary in multipart.') using test_client() on "multipart/form-data" API content

Description
I'm using connexion (v3.1.0) in unit testing. I have an API endpoint that uses content that multipart/form-data content. In connexion v2 (v2.14.2) this was possible. In connexion v3 I appear to be unable to test these endpoints without encountering a MultiPartException('Missing boundary in multipart.') ERROR.

For more details you can see connexion discussion 1964.

Expected behaviour
I should be able to use the test_client() to test APIs with multipart/form-data content. This might be a problem with connexion or starlette, it's certainly not something the test should need to be responsible for - after all the content tells the test client what's expected - I present data (in a Dictionary) - the test client adjusts it to satisfy the defined content for the API being tested.
Actual behaviour
I get an exception: -
ERROR    connexion.middleware.exceptions:exceptions.py:108 MultiPartException('Missing boundary in multipart.')

Steps to reproduce
See connexion discussion 1964.
Additional info:
Output of the commands:

python --version (Python 3.12.4)
pip show connexion | grep "^Version\:" (Version: 3.1.0)

See my answer in the discussion.


add scala 2.13 compatibility for fs2-grpc-codegen

I'm using the scala_proto_library rule from bazelbuild/rules_scala to generate gRPC stubs with a scala 2.13 based toolchain.
This pull request adds 2.13 cross-building to fs2-grpc-codegen along with the minimal set of changes to Fs2CodeGenerator for compatibility.
I see a version of this was attempted in https://github.com/typelevel/fs2-grpc/pull/352, hopefully this gives some further motivation for doing it.
note: although this worked in my bazel project i think this may fail CI with https://gist.github.com/mackenziestarr/7f01eb8bb5991948d7da79c26207790e
I am not very experienced with sbt but it may be because that these plugin dependencies still use 2.12 during the codegen step
https://github.com/typelevel/fs2-grpc/blob/66223210ea5cd27a8629ec47a8d76e7255a7b41b/project/plugins.sbt#L6-L7
Thanks in advance for looking,
Mackenzie

@mackenziestarr I also had trouble getting crossScalaVersions to work. I think the issue is that it would invoke the 2.13 version of codeGen to generate code for e2e for Scala 2.13, but code that executes within sbt must be compatible with Scala 2.12.  I ended up using sbt-matrixproject for all ScalaPB code gen projects. You can follow the pattern used in https://github.com/scalapb/scalapb-validate/blob/master/build.sbt

hi @thesamet thanks for the tip! i'll give that a try

hey @ahjohannessen updated the build to use sbt-matrixproject per @thesamet's suggestion and it appears to be working - was able to compile, test, and publish the root project using all the cross builds without errors

Great 👍 I’ll test it out tomorrow

Fixed by https://github.com/typelevel/fs2-grpc/pull/580

@mackenziestarr Do you have the possibility to publish your own artifacts until 2.5.0 final is released? 2.5.x-RC2 is tracking Cats-Effect 3.4.0-RC2 and a breaking change. If not, I guess I could create a temporary 2.4.x series branch and publish a minor version there.

@ahjohannessen yeah i can publish my own artifacts no worries. appreciate you taking the time to accommodate my use case, thank you!

@mackenziestarr Super :) No problem.


fix addCanvas Memory Leak

Please do not update the README or Change Log, we will do this when we merge your PR.
This PR (delete as applicable)

Fixes a bug

Describe the changes below:
src /  textures/ TextureManager.js
in the addCanvas function, there is a variable texture
var texture = null;

this variable will cause a reference to CanvasTexture instance, so Memory Leak happened
I test it by chrome dev tool - Memory snapshots

It's a local variable, it won't persist beyond the end of the function, where it is returned. I cannot see how this causes any memory leaks, it's the same pattern used through-out the whole API. Going to need more evidence to prove this does anything before I merge it, sorry.

It's a local variable, it won't persist beyond the end of the function, where it is returned. I cannot see how this causes any memory leaks, it's the same pattern used through-out the whole API. Going to need more evidence to prove this does anything before I merge it, sorry.

I create a demo to describe our team's problem, please read it and wish your replay.
https://github.com/atbulbs/phaser_memory_leak_test/tree/master

Thank you for making the test. However, this PR is changing code that isn't even used in that test, and doesn't fix anything. So please, can you open an issue requesting assistance with Game.destroy, which is what the actual issue is, and I'll close off this PR.


Extended snippet properties to support automatic import of related libraries

Code snippet is a very good feature to speed up programming. A shortcoming is that the third-party library objects that need to be referenced in the inserted code cannot be import together. I am now incorporating the import information into the code snippet as a comment.
For example:
	"Angular Module ForRoot": {
		"prefix": "xx.ng.module.forroot",
		"body": [
			"/**",
			" import { ModuleWithProviders } from '@angular/core';",
			"",
			" * need import in app module with forroot()",
			" * imports: [",
			" *   ${1:moduleName}.forRoot({sampleProperty: 'Sample Value'}),",
			" * ]",
			" */",
			"static forRoot(config: ${2:UserServiceConfig}): ModuleWithProviders {",
			"\treturn {",
			"\t\tngModule: ${1:moduleName},",
			"\t\tproviders: [",
			"\t\t\t{provide: $2, useValue: config}",
			"\t\t]",
			"\t};",
			"}"
		],
		"description": "Angular Module ForRoot"
	}

I know some extensions like "auto import" can help about this. But it also requires some extra keyboard and mouse action. If vs code snippet can add an extend property to record which third-party libraries need to be imported into the current script file, then vscode editor can complete this action after insert snippet code. That will be perfect!
For example:
	"Angular Module ForRoot": {
		"prefix": "xx.ng.module.forroot",
		"imports": [ "ModuleWithProviders|@angular/core" ]
		"body": [
			"/**",
			"",
			" * need import in app module with forroot()",
			" * imports: [",
			" *   ${1:moduleName}.forRoot({sampleProperty: 'Sample Value'}),",
			" * ]",
			" */",
			"static forRoot(config: ${2:UserServiceConfig}): ModuleWithProviders {",
			"\treturn {",
			"\t\tngModule: ${1:moduleName},",
			"\t\tproviders: [",
			"\t\t\t{provide: $2, useValue: config}",
			"\t\t]",
			"\t};",
			"}"
		],
		"description": "Angular Module ForRoot"
	}

More advanced snippet functionality like this is better suited to an extension that implements a CompletionItemProvider. Suggestions generated by a CompletionItemProvider can make additional text edits in the file to add imports