feat: 🎸 Return ticker value with asset details and link/unlink ticker with asset

JIRA Link
DA-1368, DA-1370
Changelog / Description

Return ticker value with asset details
Add endpoints to link and unlink ticker from asset

Checklist -

[x] New Feature ?
[x] Updated swagger annotation (if API structure is changed) ?
[x] Unit Test (if possible) ?
[ ] Updated the Readme.md (if required) ?

/fast-forward


[EPIC] Functional Groups

Glossary

FG - functional group (a set of atoms & bonds that can be considered as one entity)
Abbreviation - both 1) a shortened textual form of part of a molecule, 2) grouping of atoms and bonds
Remove Abbreviation - Ungroup, which means removing the inclusion of atoms and bonds in an FG, without removing the atoms and bonds.
Contract Abbreviation - Show only abbreviation, don't show the FG's atoms and bonds
Expand Abbreviation - Show the FG's atoms and bonds

1. As a user, I can place an FG on the canvas by importing it from an external file or by writing the FG's textual description.
The feature must be available via the Open Structure window.
Whether the imported FG appears contracted or expanded must be controlled by the SDS parameter in the file. If the SDS parameter has value EXP, the FG must appear expanded. If not, then contracted. If there is no SDS parameter in the textual description of the FG, the FG must appear contracted.
Contracted abbreviation looks as follows:

Expanded abbreviation looks as follows:

The supported file formats for FG import are MOL V2000, MOL V3000, KET.
The behavior of FGs in general
The FG must attach to the molecule via the connection atom(s) specified in the FG textual description.
For instance, PO3 attaches via the phosphorus atom.

FG can only be attached to the atoms. FG can only be attached as a list element.
No actions should happen when trying to attach FG to the bond.
At the moment of placing the FG, the application must calculate the rotation angle of the FG relative to the molecule so that there is no overlap with existing atoms and bonds.
For instance, attaching PO3:

A collapsed abbreviation (i.e. grouping) must be bold. As for an expanded abbreviation (i.e. grouping): when the user hovers over any of its atoms or bond, the whole group must be highlighted and surrounded with a square (similar to s-group).

2. As a user, I can place an FG on the canvas by loading it from Ketcher's library.
A button (named 'Functional Groups') invoking the 'Functional Groups' window must be placed next to the 'Custom Templates' button. Icon design: TO BE DEFINED
A user can also open the 'Functional Groups' window by pressing the key combination "SHIFT + F"
A user must be able to choose an FG in the window.
The window's UI should be similar to the UI of the 'Custom Templates' window.
The window must contain:

'Filter' field
'Save to SDF' button: SDF file for the FG should be created as it is created now for the template. Only the [BondID] metadata should be excluded. The file should have all the structures that are used by BIOVIA to create the same SDF file for the FGs.
'Cancel' button
'OK' button
Each FG's title (which is also the abbreviation) and image
No 'Edit' button in this version
Only the 'Functional Groups' tab in this version

The user must be able to add FGs to the library by changing the SDF file.
An FG added from the library must initially appear contracted.
3. As a user, I can expand, contract and remove an FG abbreviation (i.e. grouping).
3.1. Features for contracting, expanding, removing abbreviations (i.e. groupings) must be available under one group of buttons.
The group of buttons should be similar to the Reactions group of buttons.
Icons design: TO BE DEFINED
The group of buttons must include:

Expand / Contract Abbreviation Tool
Remove Abbreviation Tool

3.2. The user must be able to expand and contract an abbreviation (i.e. grouping).
The Expand / Contract Abbreviation Tool:
When the user uses the Expand / Contract Abbreviation Tool:

Hovering over a contracted abbreviation (i.e. grouping) must highlight it.

Hovering over any atom or bond in the expanded group must highlight and surround with a square the group, similar to s-group:

Left-clicking a contracted abbreviation (i.e. grouping) must expand it.

Left-clicking any atom or bond in the expanded group must contract the group to its abbreviation (i.e. grouping).

3.3. The user must be able to remove an abbreviation (i.e. ungroup).
The Remove Abbreviation Tool:
When the user uses the Remove Abbreviation Tool:

Hovering over a contracted abbreviation (i.e. grouping) must highlight it.

Hovering over any atom or bond in the expanded group must highlight and surround with a square the group, similar to s-group:

Left-clicking (1) the contracted abbreviation or (2) any atom or bond in the expanded group - must remove the abbreviation (i.e. ungroup). After removing the abbreviation, the FG must become expanded.
The Remove Abbreviation Tool does not removes the atoms and bonds. It only removes the inclusion of atoms and bonds in an FG.

4. As a user, I can do certain actions with an FG only after removing abbreviation (i.e. ungrouping).
The interaction of FGs with other Ketcher's features
Rotate Tool, Horizontal Flip, Vertical Flip, Lasso Selection, Rectangle Selection: allowed to be applied to individual atoms and bonds of the FG.

Fragment Selection: the whole FG must get selected.

Erase: individual atoms (bonds) and adjacent bonds (atoms) must get removed (similar to templates). Removing one atom or bond from and FG does not remove the whole FG.

Dragging one atom or bond does not cause dragging of the whole FG.

Aromatize, Dearomatize, R-Group Label Tool, R-Group Fragment Tool, Attachment Point Tool, Stereochemistry, S-Group, Data S-Group: TO BE DEFINED
Bonds, Chain, organic compound toolbar, chemical elements toolbar, Custom Templates, Charge Plus. Charge Minus: application to an FG must be forbidden. These features must be allowed for the FG's atoms and bonds only after removing abbreviation (i.e. ungrouping).
Other tools: allowed
When the user tries to apply the forbidden tools to an FG
When the user tries to apply the forbidden tools to an FG, s/he must be given a choice in a modal window to either (1) remove the abbreviation (i.e. ungroup), or (2) keep the abbreviation.
The window's text: "Do you want to remove the abbreviation? It is required for adding atoms and bonds to the group."
The buttons: Yes (default), No.
If the group was contracted, in the moment of removing abbreviation it expands.
5. As a user, I can export an FG to a MOL file.
The supported file formats for the FG export must be MOL V2000, MOL V3000, KET.

@AndreiMazol @nseufulina
20 August BA update

Glossary: changed to "Remove Abbreviation - Ungroup, which means removing the inclusion of atoms and bonds in an FG, without removing the atoms and bonds."
User story 1: changed to "Whether the imported FG appears contracted or expanded must be controlled by the SDS parameter. If SDS parameter has value EXP, the FG must appear expanded. If not, then contracted. If there is no SDS parameter in the textual description of the FG, the FG must appear contracted."
User story 1: merged here "The behavior of FGs in general" from the user story 2
Requirement 3.3: added "The Remove Abbreviation Tool does not removes the atoms and bonds. It only removes the inclusion of atoms and bonds in an FG"
User story 4: added "The interaction of FGs with other Ketcher's features"

BA Update 29/09/21
User story 1:  The description of the ability to open a FG by pressing a combination of hot keys has been added.

User Story no.2 updated for the FG window requirements:
Only the 'Functional Groups' tab in this version No tabs should be presented.
All Functional groups must be displayed when the window is opened.
When entering the text to the Filter field the list of Functional groups should be filtered so that only FGs with the name containing the row entered into the field will remain. If there is no FGs satisfying the text entered, the window should be displayed as empty with OK button disabled


[IOTDB-1960] Fix count timeseries in cluster mode.

The problem
count timeseries Msg: 304: Path [root.**] does not exist ，expect ：0
After fix

@Alima777  PTAL


proposal: Go 2: deferred code blocks

What version of Go are you using (go version)?

$ go version
go version go1.14.2 linux/amd64

What operating system and processor architecture are you using (go env)?
go env Output
$ go env
GO111MODULE=""
GOARCH="amd64"
GOBIN=""
GOCACHE="/home/damien/.cache/go-build"
GOENV="/home/damien/.config/go/env"
GOEXE=""
GOFLAGS=""
GOHOSTARCH="amd64"
GOHOSTOS="linux"
GOINSECURE=""
GONOPROXY=""
GONOSUMDB=""
GOOS="linux"
GOPATH="/home/damien/go"
GOPRIVATE=""
GOPROXY="https://proxy.golang.org,direct"
GOROOT="/usr/lib/go"
GOSUMDB="sum.golang.org"
GOTMPDIR=""
GOTOOLDIR="/usr/lib/go/pkg/tool/linux_amd64"
GCCGO="gccgo"
AR="ar"
CC="gcc"
CXX="g++"
CGO_ENABLED="1"
GOMOD=""
CGO_CFLAGS="-g -O2"
CGO_CPPFLAGS=""
CGO_CXXFLAGS="-g -O2"
CGO_FFLAGS="-g -O2"
CGO_LDFLAGS="-g -O2"
PKG_CONFIG="pkg-config"
GOGCCFLAGS="-fPIC -m64 -pthread -fmessage-length=0 -fdebug-prefix-map=/tmp/go-build816314905=/tmp/go-build -gno-record-gcc-switches"

Proposal: Deferred code blocks
Currently in Go, we can defer function calls like this:
defer f()

However, the problem with this is that we are unable to capture the return values of f and use them, so what someone like myself ends up doing is this:
defer func() {
   result := f()
   // do something with result
}()

Although it works, it's not exactly the best way to go about it; we could call f() at the end of the function without using defer then use the results as required.
What I thus propose is that we introduce deferred code blocks which will have this syntax:
defer {
   // do this at the end of the enclosing function
}

What this will do is execute the entire code block at the end of the function in which 'defer' is used in. Each line will in the code block will then be run sequentially. To give a more realistic example of where this would be useful:
f, err := os.Create("file.txt")

if err != nil {
   panic(err)
}

defer {
   err := f.Close()

   if err != nil {
      panic(err)
   }
}

As opposed to the current way of going about this:
f, err := os.Create("file.txt")

if err != nil {
   panic(err)
}

defer func() {
   err := f.Close()

   if err != nil {
      panic(err)
   }
}()

In some respect, you could argue that it's merely cosmetic since all the defer { } is doing is making the otherwise defer func () {}() look neater.
Thoughts?

So this proposal is simply to avoid func() and ()? Personally, it doesn't seem worth the high cost that all language syntax changes come with. Also, defer has a nice consistency now, just like go, where it's always followed by a function call. You would break that consistency, and thus break lots of tools too.

@mvdan That's not correct I'm afraid since introducing defer { } doesn't change the current nature of defer as it is. We're only augmenting what is already provided, not diminishing it. As it stands, the defer { } is only a shortcut for defer func () {} () which allows sequential statements of code to have its execution deferred to the end of the function.

 Which, as I explained, has a high cost - any static analysis tools that currently examine defer statements would need to be updated, for example. This is why the language spec is almost never touched, and even less so for syntax changes.

Also, please fill https://github.com/golang/proposal/blob/master/go2-language-changes.md.

Having considered the above document before raising this proposal, I still believe this is a worthy addition to Go. As it stands, this proposal is not:

Asking for the current 'defer' mechanism to be changed
Preventing people from using defer the usual way

Whilst I appreciate your concern for the integrity of the language spec, it remains an important issue in any language, not just Go, for the spec to always evolve according to the user base whilst maintaining compatibility with previous versions. Although, if you are still sceptical about this proposal, @mvdan, then your opinions are duly noted.

For language change proposals, please fill out the template at https://go.googlesource.com/proposal/+/refs/heads/master/go2-language-changes.md .
When you are done, please reply to the issue with @gopherbot please remove label WaitingForInfo.
Thanks!

I believe Swift's defer operates as proposed.
If you want to try it out you can fork my package: https://github.com/rocketlaunchr/igo and make a few adjustments and try it out.

Here's the template that I've been asked to produce:
Would you consider yourself a novice, intermediate, or experienced Go programmer?
Intermediate.
What other languages do you have experience with?
I also have experience with C++, Java, Python and Perl
Would this change make Go easier or harder to learn, and why?
It will neither make Golang easier nor harder as extending the defer to encapsulate code will not break the existing arrangements in place for 'defer' as it stands. Although, those who might want to use the new proposal if it gets implemented might find it easier to work with than chaining defer statements. By issuing code inside one defer statement, it becomes more legible and obvious in the order the statements will execute.
Has this idea, or one like it, been proposed before?
Not to my knowledge
If so, how does this proposal differ?
N/A
Who does this proposal help, and why?
It would benefit anyone who uses defer statements. With this extension, it will allow the programmer to easily check for errors within the deferred codeblocks rather than wrapping each statement in a function and then checking for error messages whilst each line is deferred.
What is the proposed change?
Please see my first post above. In effect, it is augmenting the functionality of the 'defer' to wrap code intended for execution at the end of the enclosing function.
Please describe as precisely as possible the change to the language.
Please see my first post.
What would change in the language spec?
Only that the defer statement, as well as being able to be used for one line of code, can now wrap code within braces for which each line in the braces will be executed at the end of the enclosing function.
Please also describe the change informally, as in a class teaching Go.
Hello, young padowans! Did you know you can also wrap code within a defer statement too? Instead of writing multiple defer statements, you can now include them within the braces like so:
defer {
   // line 1
   // line 2
}

Doing it this way means you can now do the error checking inside the defer statement, without having to encapsulate that line in a function call! How awesome is that?
Is this change backward compatible?

This change is indeed backwards compatible as it does not break the current usage of defer; it only augments it to optionally include braces where code resides in.
Show example code before and after the change.
Please see my first post.
What is the cost of this proposal? (Every language change has a cost).
I'm not sure what this means, sorry.
How many tools (such as vet, gopls, gofmt, goimports, etc.) would be affected?
Gopls is mostly concerned with the symbols within a language which include variables, functions and objects to name a few. I'm not quite sure about gopls implementation as I've not used it, but if it performs checks on 'defer' then it would also need to extend those checks to cover the proposed usage of defer as well.
Gofmt would need to be amended to format code within the braces accordingly so that it is indented.
Goimports is unaffected.
With go vet, this proposal if implemented can mean defer codeblocks can be empty (defer { }) so we should add a check to ensure there are no empty defer codeblocks.
What is the compile time cost? What is the run time cost?
As it is a shorthand of writing defer func () {}(), the runtime and compile time cost should be the same as though you're writing the aforementioned.
Can you describe a possible implementation?
Not this early on, no.
Do you have a prototype? (This is not required.)
@pjebs I have taken a look at your repository, and I'll definitely take a look at using it to build something once time allows. Thanks for the tip :-)
How would the language spec change?
This is a repeat of an earlier question I answered. Ignored.
Orthogonality: how does this change interact or overlap with existing features?
As it is still early-days, it's unclear how this change will overlap with existing features. Briefly though, it only affects the functionality surrounding the current usage of 'defer'. Where features are concerned with that, those would be affected by this change. Naturally, it is not aiming at breaking the existing usage, but solely augmenting it.
Is the goal of this change a performance improvement?
If so, what quantifiable improvement should we expect?
Potentially as it would spare having to create a function and then deferring its call. It also means we can catch errors sooner and handling the errors sooner which will halt execution earlier. This in effect is a performance improvement.
How would we measure it?
We can benchmark the current arrangements with 'defer' with the augmented proposal. We'll compare the benchmarks of the current 'defer' before the change and then after the change. For the latter, we'll also include benchmarks for the proposed defer as well.
Does this affect error handling?
If so, how does this differ from previous error handling proposals?
It does as this means we can now check for errors within the deferred codeblock instead of ignoring the error completely. It won't change the fundamental way Golang checks for errors, but it will certainly make it easier for us to check for them when using 'defer'!
Is this about generics?
If so, how does this differ from the the current design draft and the previous generics proposals?
No, it is not about generics.

What happens if a return is in the code block?
func f() int {
    defer {
        return 7
    }
    return 5
}

That's not semantically equivalent to
func f() int {
    defer func() {
        return 7
    }()
    return 5
}

The latter is obviously wrong. Is the former wrong? Or does that return cause 7 to override 5?
Not sure if this is a ding for or against this proposal. It's definitely a weird semantic corner. But maybe, just maybe, if we allow it we can get rid of the must-name-return-values-to-update-them-with-defer problem.
A similar situation applies to goto. What if there is a goto to outside the defer block? Is that allowed? In this case, though, I think it is clearer that this is just an error.

@randall77 Good points there. In order to understand the use case of the proposed defer, scope here is also important. The defer function (defer func() { // return }()) will mean that any return will only affect the scope of the inner function the defer is caling. But in defer code blocks (defer { // return } ) it means that the outer function will return. This is because the proposed defer is encapsulating a sequence of statements and if a return is found then it would be the equivalent of a return statement being called at the end of the function in which the proposed defer appears.

But in defer code blocks (defer { // return } ) it means that the outer function will return.

To confirm, do other pending defers for the outer function then still get run?

What happens with nested defers? Are they associated with the outer function? We've never had a situation before where you can modify a function's defers while the defers are running. This might pose some implementation challenges.
Concretely, this program (https://play.golang.org/p/sVcNwWjb9Cy) prints 0, 1, 2, 3:
func main() {
	defer func() {
		println(3)
	}()
	defer func() {
		println(1)
		defer func() {
			println(2)
		}()
	}()
	println(0)
}

What does this program do?
func main() {
	defer {
		println(3)
	}
	defer {
		println(1)
		defer {
			println(2)
		}
	}
	println(0)
}

From Swift 5.2 reference manual:
Defer Statement
A defer statement is used for executing code just before transferring program control outside of the scope that the defer statement appears in.
A defer statement has the following form:
defer {
    statements
}

The statements within the defer statement are executed no matter how program control is transferred. This means that a defer statement can be used, for example, to perform manual resource management such as closing file descriptors, and to perform actions that need to happen even if an error is thrown.
If multiple defer statements appear in the same scope, the order they appear is the reverse of the order they are executed. Executing the last defer statement in a given scope first means that statements inside that last defer statement can refer to resources that will be cleaned up by other defer statements.
func f() {
    defer { print("First defer") }
    defer { print("Second defer") }
    print("End of function")
}
f()
// Prints "End of function"
// Prints "Second defer"
// Prints "First defer"

The statements in the defer statement can’t transfer program control outside of the defer statement.

What you probably want is not a simple conversion of defer {} to defer func() { }, which gets run just before the function returns, but rather something that runs before the immediately outside scope finishes

What if you'd able to defer statements?
Given your example:
f, err := os.Create("file.txt")

if err != nil {
   panic(err)
}

defer func() {
   err := f.Close()

   if err != nil {
      panic(err)
   }
}()

It could be:
f, err := os.Create("file.txt")

if err != nil {
    panic(err)
}

defer if err := f.Close(); err != nil {
    panic(err)
}

Another example:
f1, err := os.Create("file1.txt")
// handle err

f2, err := os.Create("file2.txt")
// handle err

defer for _, f := range []io.ReadCloser{f1, f2} {
    f.Close()
}

The basic idea here is syntactic sugar around the existing defer statement.  But as others have pointed out there are complexities if the new defer block uses a return or a goto out of the block.  Also, the emoji voting is not in favor.  Therefore, this is a likely decline.  Leaving open for three weeks for final comments.


Support running bpftrace commands against pods

At the current moment bpftrace commands can be attached only against nodes in a kubernetes cluster as they are listed by kubectl get nodes.
PR https://github.com/fntlnz/kubectl-trace/pull/1 already introduces support for this in the cli system, however we still need to figure out how to implement that.
A way could be to use a shared process namespace 1 between the user's pod and a container that is injected in the user's pod template instead of using a job as we do for nodes.
Tagging some people I discussed about this so that you can track this out guys: @calavera @leodido

Another way to do this would be to change targed cgroup based on the container
bpftrace -e 'tracepoint:syscalls:sys_enter_openat /cgroup == cgroupid("/sys/fs/cgroup/unified/mycg")/ { printf("%s\n", str(args->filename)); }'

I'd use the cgroup.
The cgroup bpf helper function unfortunately works only with cgroup v2 and Kubernetes normally works with cgroup v1. However, by booting the worker nodes in the systemd hybrid mode on the kernel command line (using cgroup v1 and v2 together) and configuring docker to use the cgroup systemd driver, it works.

Thanks for pointing that out @alban at this point I think that we should probably go with cgroup v2 as default and then finding something else to use as fallback just in case cgroup v2 are not enabled.

Dibs this, I have a poc implementation already, sending it out soon.

Basic pod support in the form of an helper to know the process id associated with the container is there in the form of the $container_pid variable now.
More sophisticated pod support can be added by opening new issues.


Integration gateway profiler

What the feature does
Adds a service and apigw subsystem that carries info on:

missed hits on registered routes
missed hits on non-existing routes
aggregations + hit details per-route, per-hit

Please check
Is the service and aggregation on the right layer (service)?
Can sorting be optimized?
Note, there is no hit purging yet, so the performance implications on that area are known.

Codecov Report

Merging #339 (ec9bd6f) into 2022.3.x (d95eec9) will decrease coverage by 0.12%.
The diff coverage is 25.84%.

:exclamation: Current head ec9bd6f differs from pull request most recent head 35c0fdf. Consider uploading reports for the commit 35c0fdf to get more accurate results

@@             Coverage Diff              @@
##           2022.3.x     #339      +/-   ##
============================================
- Coverage     43.35%   43.23%   -0.13%
============================================
  Files           757      766       +9
  Lines         74774    75434     +660
============================================
+ Hits          32422    32614     +192
- Misses        37726    38187     +461
- Partials       4626     4633       +7

Impacted Files
Coverage Δ

compose/automation/records_handler.go
24.86% <0.00%> (-2.30%)
:arrow_down:

compose/service/locale.gen.go
5.88% <0.00%> (-0.05%)
:arrow_down:

pkg/apigw/filter/proxy/proxy.go
71.01% <0.00%> (-1.05%)
:arrow_down:

pkg/apigw/pipeline/chain/profiler.go
0.00% <0.00%> (ø)

pkg/apigw/profiler/handler.go
0.00% <0.00%> (ø)

pkg/filter/pagination.go
71.42% <0.00%> (-1.10%)
:arrow_down:

pkg/options/options.gen.go
63.90% <ø> (ø)

pkg/report/frame.go
55.07% <0.00%> (-0.54%)
:arrow_down:

system/rest/request/apigwProfiler.go
0.00% <0.00%> (ø)

system/types/apigw_profiler.go
0.00% <0.00%> (ø)

... and 38 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 1931534...35c0fdf. Read the comment docs.


Decoding problems

When trying to decode values after encoding them I receive error.
valuesBug.txt
I'm attaching a file with 1931 numbers, the compression seems to be working fine, decoding's failing.
I've used:
CompositeCodec<BinaryPacking,
VariableByte> codec = CompositeCodec<BinaryPacking,
VariableByte>();

Added your array with 1931 numbers to our unit tests, please see the following commit...
https://github.com/lemire/SIMDCompressionAndIntersection/commit/64b6a0d3b7c400c7d25377444f05ca7fdb04cb9a
No issue found.
Please sync the code and check the unit tests.
If you think there is still a problem, please provide a full unit test that we can verify.

Yes, you are correct, I misused your code.
Thank you for the fast response.


Added the ability to call hide- and show menu when using cocoapods

When using cocoapods (frameworks) I'm not able to call the hide- or show menu function. I want to be able to hide the menu when the user opens the the drawermenu.

@elvirion: I added other public functions that wrapped showMenu() and hideMenu() to check whether menu is shown or not. Btw, thanks for your PR :+1: .


Considerations for Windows support without WSL

** Which Category is your question related to? **
aws-amplify cli
** Provide additional details e.g. code snippets **
Hi guys,
My main question would be: what are your plans for Windows support?
The CLI is not currently working on Windows without the Windows Subsystem for Linux.
I suspect many Windows developers will be puzzled by the problems they will face when using the WSL.
Adding to the fact that people using awsmobile-cli are being recommended aws-amplify/cli as the new cli to use.
I can help and try to find what are the causes of the problems on Windows and try to fix them but I would prefer to know the direction of the project beforehand.
Thank you,
Kaven

@kavengagne  Thanks for all the help you've provided for making the CLI work on windows and also submitting a PR to fix the windows issues with Gluegun! Appreciate the contribution.
We do want to support windows but were suggesting using WSL due to the Gluegun dependency issue which you fixed.

@kaustavghosh06 If you just dropped that stupid menu system as a requirement for using amplify-cli, most issues would be gone instantly (and it could be scripted).
It's a pretty poor CLI when it can't run non-interactive.

@LosD that’s exactly what hat we’re working on at the moment. Checkout this PR - https://github.com/aws-amplify/amplify-cli/pull/371

@kaustavghosh06 ah, that's perfect! Thanks for the heads up 🙂

@LosD we are working on this as mentioned. One thing I would like to comment on though is your statements using words like "stupid". Please be respectful when commenting in our issues and follow our Code of Conduct as outlined. We endeavor to make the experience great for all customer workflows, but we want to do so in a respectful and welcoming environment.

@undefobj I'm sorry, you're absolutely right.


#M11. Display Hackathon details

Create a new page to display the detailed information about a hackathon when clicking on the "Read More" link on the "View Hackathons" page.

@auxfuse 👋 I'll take this @stefdworschak and give it a whirl.

Thanks, @auxfuse! I just assigned it to you.

https://github.com/Code-Institute-Community/ci-hackathon-app/pull/119 <--- PR added for this.

Please consider closing this as this has already been fulfilled in part by another PR. I've closed my subsequent PR and unassigned myself from this in case you want to keep it open for the unfulfilled works to be carried out by another.

@stefdworschak
The work on this PR #119  looked really great, apart from the suggested layout (sticking with basic wireframes, but open to adjustments).
Honestly, looks like a significant amount of extra work versus the other PR that was merged.
Not urgently immediate, but I'd be happy to try and get #119 active again, @auxfuse  if you're game (no priority).


Update accordion to determine height after mount

This fixes a small issue where the Accordion wouldn't render open if the isOpen prop is initially true.
We're using a ref to determine content height inside the accordion, but we were attempting to set the height before we had access to the node, thus it was still mounting as '0px'.
This PR waits for node availability and then updates the height in componentDidMount.
@heyamykate --  RE: this PR -- I think this is why the photo upload accordion originally had the currentPerspective set to null, then it would update on mount so the accordion would actually open. Right now, it loads as open but the content height is still set to '0px', so users need to click it twice to get it to expand.

How did you go about testing this locally? I am still seeing the double-click issue after pulling in this source to a file and importing it in place of import { Accordion } from 'radiance-ui';


It freezes on the Escpos connect function

await EscPos.connect("<IP_ADDRESS>", 9100);
When I close the printer and trying to connect to printer, app freezes. I want that it gives error when I close the printer. How can I solve it ?

Thank you for reporting, I think the library is still unable to handle error correctly, let me relook into the implementation and fix them accordingly in the next few days.

Thank you for answer. I'll wait for this

I still wait for this. When can you do it ?

How about this coming weekend. I will fix it.

@sefatamak I have just pushed a new version, you should now be able to catch it using .catch or try catch block, I do not have a printer with me now I hope I didn't break anything, please do let me know if it is working. Thanks!

@leesiongchan Thank you! I will try it

@leesiongchan Looks like there is a regression regarding https://github.com/leesiongchan/react-native-esc-pos/commit/a58c650d3fed86d94fe96c94696239fa3af5c6c8:
> Task :@leesiongchan_react-native-esc-pos:compileDebugJavaWithJavac FAILED
/home/bradj/www/fishadmin/node_modules/@leesiongchan/react-native-esc-pos/android/src/main/java/leesiongchan/reactnativeescpos/EscPosModule.java:211: error: exception IOException is never thrown in body of corresponding try statement
        } catch (IOException e) {
          ^
/home/bradj/www/fishadmin/node_modules/@leesiongchan/react-native-esc-pos/android/src/main/java/leesiongchan/reactnativeescpos/EscPosModule.java:225: error: exception IOException is never thrown in body of corresponding try statement
        } catch (IOException e) {
          ^
Note<EMAIL_ADDRESS>uses or overrides a deprecated API.
Note: Recompile with -Xlint:deprecation for details.
2 errors

FAILURE: Build failed with an exception.

I'm not a java developer myself but after a bit of investigating this seems actually to be related to some missing throws declarations on the constructors for PrinterService. See PR below for an update that at least gets this building.

It freezes again. It doesn't work. Can you help me ?

I put try catch block but it doesn't work. It freezes. You can try it without printer. You can put connect code inside try catch block without printer and app will freezes. I need this when user's printer broke or close.

Do you look this issue? I need this quickly. Please help me

@sefatamak I will try to look into the issue over the weekend.

Ok @leesiongchan please answer quickly. My customers wait me for this.

@sefatamak I'm just going to chime in here and kindly remind you this is an open-source project for which there is no payment in play. To pressure others to work quickly because of a business consideration on your part is unfair. If it is that important, a typical model in this case would be to offer to sponsor development.

No its wrong, my app is free. I mean that my users wait me for this. You misunderstand. I just trust this project and team. That's it.

@leesiongchan you can close this issue. I tried again and it works. I think problem is my bundle. I changed version but it didn't change at the begining. Now its ok. App doesn't freezes. Thank you for help 😊

@sefatamak Glad to hear that!

@leesiongchan It still freezing app on connect, the render is applied only after connect success or fail. If I call a print with first instruction "show loader" and then connect, it's waiting for connect to success or fail to really render.


Migrating to Open API v3

In the launch stages page of the Etsy documentation it says that next year v2 will be removed.
https://developers.etsy.com/documentation/migration/index#launch-stages
Is there any plan to support v3 soon, because it will go obsolete if not?

That's what I am going to work on.
These days I am mainly "cleaning up the house" and within a week or two I hope to have a concrete plan for transition to the new Etsy API

Great @iamfmjk. Thanks

That's what I am going to work on.
These days I am mainly "cleaning up the house" and within a week or two I hope to have a concrete plan for transition to the new Etsy API

@iamfmjk any updates on this?


Add anti-spoofing option to rcpt_to.in_host_list

Re-opens #924 in a separate branch.
Based on the suggestion of GambitK on IRC last night.
I would usually suggest that the domains should set-up SPF and use the SPF plugin instead of this, but I can see a few scenarios where this might be better e.g.:
This has far less overhead than SPF, so if this is checked first a lot of extra work can be avoided.
The admin doesn't want to enable SPF rejections or use the SPF plugin at al..
The admin might not be able to get SPF configured on a domain for some reason.

IIRC, it's complicated. (currently failing tests, as the label says, it needs work before merging)

Actually - it works.  It's the test stubs that are crap.

@baudehlo - here's the problem:
✖ hook_mail - miss

Error: Expected 3 assertions, 0 ran
    at Object.test.done (/home/smf/Haraka/Haraka/node_modules/nodeunit/lib/types.js:121:25)
    at Object.exports.runTest (/home/smf/Haraka/Haraka/node_modules/nodeunit/lib/core.js:73:14)
    at /home/smf/Haraka/Haraka/node_modules/nodeunit/lib/core.js:118:25
    at /home/smf/Haraka/Haraka/node_modules/nodeunit/deps/async.js:513:13
    at iterate (/home/smf/Haraka/Haraka/node_modules/nodeunit/deps/async.js:123:13)
    at /home/smf/Haraka/Haraka/node_modules/nodeunit/deps/async.js:134:25
    at /home/smf/Haraka/Haraka/node_modules/nodeunit/deps/async.js:515:17
    at Object._onImmediate (/home/smf/Haraka/Haraka/node_modules/nodeunit/lib/types.js:146:17)
    at processImmediate [as _immediateCallback] (timers.js:330:15)

TypeError: Object function stub() {
        stub.called = true;
        if (Array.isArray(stub.args)) {
            stub.args.push(arguments);
        }
        else if (stub.args) {
            stub.args = [ stub.args, arguments ];
        }
        else {
            stub.args = arguments;
        }
        stub.thisArg = this;
        return returnValue;
    } has no method 'get'
    at Plugin.exports.hook_mail (rcpt_to.host_list_base:44:36)
    at Object.exports.hook_mail.miss (/home/smf/Haraka/Haraka/tests/plugins/rcpt_to.host_list_base.js:96:21)
    at /home/smf/Haraka/Haraka/node_modules/nodeunit/lib/core.js:232:20
    at /home/smf/Haraka/Haraka/node_modules/nodeunit/deps/async.js:168:13
    at /home/smf/Haraka/Haraka/node_modules/nodeunit/deps/async.js:131:25
    at /home/smf/Haraka/Haraka/node_modules/nodeunit/deps/async.js:165:17
    at /home/smf/Haraka/Haraka/node_modules/nodeunit/deps/async.js:463:34
    at Object._set_up (/home/smf/Haraka/Haraka/tests/plugins/rcpt_to.host_list_base.js:22:5)
    at /home/smf/Haraka/Haraka/node_modules/nodeunit/lib/core.js:260:35
    at /home/smf/Haraka/Haraka/node_modules/nodeunit/deps/async.js:458:21

It appears that calling this.config.get in a tested function causes it to blow up which seems rather sub-optimal given that it's a perfectly legitimate thing to do in a plugin hook.
I'm not really sure how to fix this properly which is why it's been sat here festering, so any help appreciated...

K. Might have a poke at it while I'm still angry at $coworker.

On Jul 9, 2015, at 6:29 PM, Steve Freegard<EMAIL_ADDRESS>wrote:
@baudehlo - here's the problem:
✖ hook_mail - miss
Error: Expected 3 assertions, 0 ran
at Object.test.done (/home/smf/Haraka/Haraka/node_modules/nodeunit/lib/types.js:121:25)
at Object.exports.runTest (/home/smf/Haraka/Haraka/node_modules/nodeunit/lib/core.js:73:14)
at /home/smf/Haraka/Haraka/node_modules/nodeunit/lib/core.js:118:25
at /home/smf/Haraka/Haraka/node_modules/nodeunit/deps/async.js:513:13
at iterate (/home/smf/Haraka/Haraka/node_modules/nodeunit/deps/async.js:123:13)
at /home/smf/Haraka/Haraka/node_modules/nodeunit/deps/async.js:134:25
at /home/smf/Haraka/Haraka/node_modules/nodeunit/deps/async.js:515:17
at Object._onImmediate (/home/smf/Haraka/Haraka/node_modules/nodeunit/lib/types.js:146:17)
at processImmediate [as _immediateCallback] (timers.js:330:15)
TypeError: Object function stub() {
stub.called = true;
if (Array.isArray(stub.args)) {
stub.args.push(arguments);
}
else if (stub.args) {
stub.args = [ stub.args, arguments ];
}
else {
stub.args = arguments;
}
stub.thisArg = this;
return returnValue;
} has no method 'get'
at Plugin.exports.hook_mail (rcpt_to.host_list_base:44:36)
at Object.exports.hook_mail.miss (/home/smf/Haraka/Haraka/tests/plugins/rcpt_to.host_list_base.js:96:21)
at /home/smf/Haraka/Haraka/node_modules/nodeunit/lib/core.js:232:20
at /home/smf/Haraka/Haraka/node_modules/nodeunit/deps/async.js:168:13
at /home/smf/Haraka/Haraka/node_modules/nodeunit/deps/async.js:131:25
at /home/smf/Haraka/Haraka/node_modules/nodeunit/deps/async.js:165:17
at /home/smf/Haraka/Haraka/node_modules/nodeunit/deps/async.js:463:34
at Object._set_up (/home/smf/Haraka/Haraka/tests/plugins/rcpt_to.host_list_base.js:22:5)
at /home/smf/Haraka/Haraka/node_modules/nodeunit/lib/core.js:260:35
at /home/smf/Haraka/Haraka/node_modules/nodeunit/deps/async.js:458:21
It appears that calling this.config.get in a tested function causes it to blow up which seems rather sub-optimal given that it's a perfectly legitimate thing to do in a plugin hook.
I'm not really sure how to fix this properly which is why it's been sat here festering, so any help appreciated...
—
Reply to this email directly or view it on GitHub.

#1171 does it all


Add Filter by file type

The API documentation notes that file_type is an available filter on the /files/list endpoint, but it is not implemented at https://github.com/putdotio/putio.js/blob/master/src/resources/Files/Files.ts

👍 👍 👍

added in v8.6.0


not compatible with other traj format?

Hi,
I tried editing in compute_bulk_r.py with - .pdb, .mdcrd, and 'O'  -  as structure, amber traj format, and oxygen atom type, respectively, - but several errors followed, beginning as:
File "/LAWS/lib/python3.11/site-packages/MDAnalysis/core/universe.py", line 375, in init
self.load_new(coordinates, format=format, in_memory=in_memory,
File "/LAWS/lib/python3.11/site-packages/MDAnalysis/core/universe.py", line 580, in load_new
self.trajectory = reader(filename, format=format, **kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/LAWS/lib/python3.11/site-packages/MDAnalysis/lib/util.py", line 2553, in wrapper
Mdanalysis appears to be able to read mdcrd and pdb format; is LAWS algorithm compatible with AMBER topology/traj format?
Many thanks

The LAWS algorithm relies on the MDAnalysis codebase, therefore it should read in all the trajectory formats supported by MDAnalysis


Add ShellCheck GitHub Action

Add a ShellCheck script analysis GitHub action.

Not seeing any action pop up, going to test this on my repo then reopen.


Added support for Redox

Added Redox support
This commit adds support for Redox OS. Along with that it does a bit of refactoring so UNIX code and Redox code live separately and the common stuff is defined only once. Rationale being that in the first
implementation (w/o separate sub-modules I ended up with many, many conditional compilation annotations and lots of duplicate functions and methods definitions).
I tried to preserved the original structure of the library for UNIX and preserve the same layout of the entities and the API son thing gets broken by this. This is part of the ongoing effort to support exa.
I'm sorry in advance. It looks like a lot of changes but is just moving code around and of course the Redox implementation.
Thanks for the work on the library it was easy to read!
Details

Separated UNIX and Redox implementations in a new base module
(previously in base.rs).
Separated UNIX and Redox implementations in a new switch module
(previously in switch.rs).
Added redox_users and redox_syscall dependencies (only on Redox
targets).
Added public(crate) visibility to fields in User and Group.
Implemented OS extensions for Redox.
Implemented From trait from redox_users::User to User.
Fixed imports due to changes in mod hierarchy.

Closing it as we are reworking the redox_users API. Will open again when we are happy with the API. Thanks!


Skip QPY backwards compatibility tests for pre-release tags

Summary
The QPY backwards compatibility tests install historical versions of qiskit-terra to generate different QPY payloads with previous payload formats and then load them and compare the output to verify that we don't break QPY's backwards compatibility guarantees. This testing is just getting the list of git tags and works it's way backwards until it reaches the release that QPY was first released. However, as part of this process the tests are also running on rc pre-release tags. In general there is no harm to doing this as the guarantees should also hold for the pre-release tags. But in practice this is just wasted CI time because we're essentially testing the release twice. This wasn't a concern when we first introduced QPY because Qiskit did not do pre-release tags back then. But since we've started doing at least one pre-release. As time goes on we're basically doubling our CI load for these tests with little benefit.  This commit adds a skip condition to the test runner script when it encounters an rc tag so we don't build a venv or run the tests for that tag. This should hopefully save some CI time (not a ton right now but over time this would be more significant).
Details and comments

Pull Request Test Coverage Report for Build<PHONE_NUMBER>

0 of 0   changed or added relevant lines in 0 files are covered.
2 unchanged lines in 1 file lost coverage.
Overall coverage increased (+0.001%) to 84.54%

Files with Coverage Reduction
New Missed Lines
%

qiskit/extensions/quantum_initializer/squ.py
2
79.78%

Totals

Change from base Build<PHONE_NUMBER>:
0.001%

Covered Lines:
62454

Relevant Lines:
73875

💛  - Coveralls


Notification for surface updates and a small fix in the test client

This way a client get updates of other clients on the compositor if they change their simple shell properties.

If you wish to make code contributions to this project, the master source is hosted at code.rdkcentral.com. You can submit your changes for review via that site. This repo is a mirror of the CMF Gerrit master. Pull requests will be ignored

Hi Bram,
I've transferred your two commits from this pull request to RDM gerrit and they have now been merged.


Update README.md

Added guidelines to the .env file
Once sanitised from @mintopia will also copy changes through to .env.example (and possibly create a .env.example.full)

Merged


Wrong title

Hello,
in https://github.com/jayendrapatil/kubernetes-exercises/blob/main/topics/configmaps.md and https://github.com/jayendrapatil/kubernetes-exercises/blob/main/topics/secrets.md the header is "Namespaces".
Riccardo

Thanks corrected.


SAP HANA XS Advanced - Asynchronous Non-Blocking I/O within Node.js SAP HANA applications

Tutorial URL: https://developers.sap.com/tutorials/xsa-node-async.html
Please specify the step you are referring to : Step 7
Hi,
Installation scenario: Hana express edition on preconfigured VM on my laptop.
Issue: upon running the web module and accessing /exerciseAsync, the message "Websocket Connection Closed" appears immediately. Pressing the buttons does nothing.
I believe the message is coded in the App.controller.js. Unfortunately i couldn't debug whats happening, i am getting a "could not connect to websockets" error when trying to debug(i have raised that question here as well).
Best,
Frank

As you have asked the question already on the SAP Community Q&A I'll close the issue here. - Actually you have the same fundamental question in two places. The other one: https://answers.sap.com/questions/13126186/opensap-hana-7-exercise-44-websocket-connection-im.html  - I commented on that already.


Feature: io_uring_prep_getdents

Could io_uring_prep_getdents https://linux.die.net/man/2/getdents64 be added to liburing?
With io_uring crazy fast async buffered reads support now I wonder how this feature will be effected :)
Thank you

Closing as a dupe of #111


7.3.0

Release details
Checklist
Before merge

[ ] Wiki updated with info in ticket listed under Documentation
[x] ran npm audit fix
[x] ran npm run lint-ts
[x] ran npm run lint:fix

After merge

[ ] merged all dependabot PRs that target main branch
[x] updated bug template to include the new version
[x] updated .mcdevrc for tests to the new version
[x] ran npm run version:major/minor/patch
[x] merged main branch into develop branch
[x] closed GitHub milestone
[x] created new GitHub Release

Documentation

#1611 / #1612

https://github.com/Accenture/sfmc-devtools/pull/1613#issuecomment-2351023792

#1020 / #1618

https://github.com/Accenture/sfmc-devtools/pull/1613#issuecomment-2351109351

#1619 / #1623

TODO

#1522

TODO

Issues

closes #1599
closes #1608
closes #1611
closes #1614
closes #1616
closes #1020
closes #1619
closes #1522

https://github.com/Accenture/sfmc-devtools/wiki/06.b-~-Standard-Commands/_edit

delete
Command: mcdev delete <business unit> [type] [external key] [--metadata]
Alias: mcdev del
Deletes the given metadata from your server. This needs to be run with care as any data stored in the deleted meta-data will be lost.
Currently supported types: Metadata Type Support
Example:
mcdev delete MyProject/_ParentBU_ dataExtension MyUserTable

You can also delete multiple keys at once, even across types:
mcdev delete MyProject/_ParentBU_ -m dataExtension:MyUserTable -m query:myKey -m query:myKey2

mcdev delete MyProject/_ParentBU_ dataExtensionField MyUserTable.MyFieldName

Journeys are somewhat special because they are the only metadata type in SFMC that has versions stored in the platform itself. Therefore, when deleting a journey, you need to specify what version you want to delete - or if you want to delete the journey with all its versions. You achieve that by appending "/3" for deleting version 3 or "/*" for deleting all versions.
You can even provide the journey ID instead of the key. In the first example below, we are trying to delete version 4 of ID "5cfb1bcb-9cb7-42c9-81de-033943bbc18c".
mcdev del MyProject/_ParentBU_  journey id:%235cfb1bcb-9cb7-42c9-81de-033943bbc18c/4
mcdev del MyProject/_ParentBU_ journey id:5cfb1bcb-9cb7-42c9-81de-033943bbc18c/4
mcdev del MyProject/_ParentBU_ -m journey:id:5cfb1bcb-9cb7-42c9-81de-033943bbc18c/4
mcdev del MyProject/_ParentBU_ -m journey:myJourneyKey/4

mcdev del MyProject/_ParentBU_ -m journey:myJourneyKey/*

Note for nerds: When copying the ID from the URL, you might notice it's prefixed with "%23". If you do copy that together with the Id, mcdev del will automatically filter it for you. It, therefore, works with or without the leading "%23".

https://github.com/Accenture/sfmc-devtools/wiki/06.b-~-Standard-Commands/_edit
pause
Command: mcdev pause <business unit> [type] [key] [--like] [--metadata]
Alias: mcdev p
This command lets you pause metadata of a given type and key.
Currently supported types:

Name
CLI Argument
Effect

Automation
automation
pauses scheduled automation

Journey
journey
pauses running journey

Example:
mcdev pause MyProject/DEV automation key1
mcdev pause MyProject/DEV journey key3
mcdev pause MyProject/DEV automation "key1,key2,key3"
mcdev pause MyProject/DEV -m automation:key1 -m automation:key2
mcdev pause MyProject/DEV -m automation:key1 automation:key2 journey:key3

pause with --like operator:
mcdev pause MyProject/DEV automation --like.key "myprefix_%"
mcdev pause MyProject/DEV automation --like.key "myprefix_%" --like.r__folder_Path "Query/Testing%"

pause on all BUs:
This is a variation of pause command that allows you to pause specified items on all BUs. mcdev will look for the items of specified types and keys on all BUs and pause them.
Example:
mcdev pause MyProject/* automation key1
mcdev pause MyProject/* automation "key1,key2,key3"

stop
Command: mcdev stop <business unit> [type] [key] [--like] [--metadata]
Alias: -
This command lets you stop metadata of a given type and key.
Currently supported types:

Name
CLI Argument
Effect

Journey
journey
stops running journey

Example:
mcdev stop MyProject/DEV journey key3
mcdev stop MyProject/DEV journey "key1,key2,key3"
mcdev stop MyProject/DEV -m journey:key1 journey:key2

stop with --like operator:
mcdev stop MyProject/DEV journey --like.key "myprefix_%"
mcdev stop MyProject/DEV journey --like.key "myprefix_%" --like.r__folder_Path "my Journeys/Testing%"

stop on all BUs:
This is a variation of stop command that allows you to stop specified items on all BUs. mcdev will look for the items of specified types and keys on all BUs and stop hem.
Example:
mcdev stop MyProject/* journey key1
mcdev stop MyProject/* journey "key1,key2,key3"
mcdev stop MyProject/* -m journey:key1 journey:key2 journey:key3

https://github.com/Accenture/sfmc-devtools/wiki/06.c-~-Templating-Commands/_edit
build
Command: mcdev build <--buFrom> <--marketFrom> <--buTo> <--marketTo> <--metadata> [--bulk] [--dependencies] [--retrieve]
This combines the power of buildTemplate and buildDefinition in one command, making it easier if you continuously use both commands sequentially.
Example:
// before
mcdev bt MyProject/DEV --market pilotMarketDEV1 -m dataExtension:table1 -m dataExtension:table2 -m dataExtension:table3 -m query:sql1 -m query:sql2
mcdev bd MyProject/QA --market pilotMarketQA1 -m dataExtension:table1 -m dataExtension:table2 -m dataExtension:table3 -m query:sql1 -m query:sql2

// after
mcdev build --buFrom MyProject/DEV --buTo MyProject/QA --marketFrom pilotMarketDEV1 --marketTo pilotMarketQA1 -m dataExtension:table1 dataExtension:table2 dataExtension:table3 query:sql1 query:sql2

And if you already have market lists set up and want to use buildDefinitionBulk instead all you need to do is append --bulk:
Example:
// before
mcdev bt MyProject/DEV --market pilotMarketDEV1 -m dataExtension:table1 -m dataExtension:table2 -m dataExtension:table3 -m query:sql1 -m query:sql2
mcdev bdb pilotMarketsQA -m dataExtension:table1 -m dataExtension:table2 -m dataExtension:table3 -m query:sql1 -m query:sql2

// after
mcdev build --buFrom MyProject/DEV --marketFrom pilotMarketDEV1 --marketTo pilotMarketsQA --bulk -m dataExtension:table1 -m dataExtension:table2 -m dataExtension:table3 -m query:sql1 -m query:sql2

Note how in this bulk-example the parameter --toBu MyProject/QA was omitted and that --toMarket pilotMarketsQA now holds the name of the market list that bdb needs to work.
build with --dependencies (and with --retrieve):
These two parameters are passed through to buildTemplate. Please see that commands documentation for details. The resulting list of types & keys of whatever buildTemplate will create are then handed over to buildDefinition(Bulk), making this a powerful solution.
buildTemplate
Command: mcdev buildTemplate <business unit> [type] [key] [market] [--metadata] [--market] [--dependencies] [--retrieve]
Alias: mcdev bt
The bt command uses previously retrieved metadata on your local computer and uses your market configuration in .mcdevrc.json to replace strings with variables. The result is then stored in your template/ folder. Please note that files stored here will keep their original name, despite this possibly containing market-specific suffixes or similar. Also note, that contrary to the deploy & retrieve folders, you will not see credential- or Business Unit-sub-folders here.
This command is a prerequisite for the buildDefintion command. Alternatively, you can copy-paste retrieved metadata from your retrieve/ folder to your template/ folder and update it manually - or even create it from scratch.

Note: Before using this command, you need to configure your markets first! Check out our guide on Market Configuration to understand how to use templating and prepare your market config.

Currently supported types: Check out Metadata Type Support.
Example:
mcdev bt MyProject/DEV dataExtension MyUserTable pilotMarketDEV1
mcdev bt MyProject/DEV --market pilotMarketDEV1 -m dataExtension:MyUserTable

This will result in MyUserTable.dataExtension-meta.json being created in your template/ directory.


Enhancing UI and Centering the Contact Form

Prerequisites

[X] I am an Open Source Contributor
[X] I checked to make sure that this issue has not already been filed

Description

the Contact Form was not exactly in center of the page.
now have adjusted this for smaller screens as well.
added shadows in the Contact Form to Improve the UI for this page

Screenshots and screen recordings are provided below
Screenshots
Screenshots
before

after

Screen Recording (After)
https://github.com/Rakesh9100/Beautiify/assets/98605616/8a9ce87a-995a-4eb2-99e6-158c34ba0598
Code of Conduct

[X] I follow Contributing Guidelines of this project.

Please assign this Issue to me for the SWOC'24, so that I can work on it. @Rakesh9100

heyyy @Rakesh9100  can i work on this?

@shivamm-verma Start working. But make sure to pull the latest changes and then make your changes as UI is completely changed.

sure i will take care of that. Thankyou for assigning

it is now changed to in the latest version... (check screenshot below)

do you want me to Change and make the UI As Mentioned in the Issue Above??... (check screenshot below)

(includes resizing of this Card, change of the background color)

Do check the latest version again. It already have some different good background @shivamm-verma

checked...

Can I Enhance the texts as depicted in the Issue & Add hover effects?

You can just add slight hover effect but do not change any text enhancement. Make it fully responsive @shivamm-verma


Incorrect dimension of ERI tensor in PBC calculations

Dear pyscf developers and users,
I want to obtain the two-electron integral in PBC calculations via pyscf.
I found that there is an example file in https://github.com/pyscf/pyscf/blob/88266d5eec783752c75615728978f4bfbd5b855f/examples/pbc/30-ao_integrals.py
However, when I run this part of the example,
‘’‘
In PBC, 2e integrals are all computed with 3-ceter integrals, ie from
density fitting module.  Without kpts argument, the DF gives gamma point AO
2e-integrals.  Permutation symmetry is not considered
’‘’
mydf = df.FFTDF(cell)
eri = mydf.get_eri()
print('ERI shape (%d,%d)' % eri.shape)
the shape of eri returns (528,528)
To my knowledge, the dimension of 2e-integral is (32,32,32,32), which is not (528,528).
where am I wrong? How can I obtain the 2e-integral in PBC calculations (in particular at GAMMA point)?
Additionally, I have encountered memory issues with large systems where the dimension of the ERI tensor becomes too huge to be saved in memory. In such cases, is it possible to calculate only a specific part of the ERI tensor? If so, how can I specify the four indices (ij|kl) of the ERI tensor?
I apologize for any inconvenience and thank you all for your assistance!

The integral at Gamma has 4-fold symmetry, ij are the lower triangular part, so it has dimension nao*(nao+1)//2. You can use ao2mo.restore(1, eri, nao) to get the 1-fold symmetry ERI.
If you can get ERI at arbitrary k, you can use Fourier transform to get some part of the supercell integral.
For example, in the embedding codes, the unit cell ERI can be constructed like this:
https://github.com/gkclab/libdmet_preview/blob/6089d5600fde7e51c432bd94270f88a067e7f54a/libdmet/basis_transform/eri_transform.py#L87

The integral at Gamma has 4-fold symmetry, ij are the lower triangular part, so it has dimension nao*(nao+1)//2. You can use ao2mo.restore(1, eri, nao) to get the 1-fold symmetry ERI.
If you can get ERI at arbitrary k, you can use Fourier transform to get some part of the supercell integral. For example, in the embedding codes, the unit cell ERI can be constructed like this: https://github.com/gkclab/libdmet_preview/blob/6089d5600fde7e51c432bd94270f88a067e7f54a/libdmet/basis_transform/eri_transform.py#L87

Thanks for your reply, ao2mo.restore works well!
However, the size of eri is huge when the number of basis set becomes large. Can I just calculate part of the eri (ij|kl) with specific i,j,k,l in PBC calculations? The function df.get_eri() could not use the keyword shls_slice. Thanks again!

Unfortunately, I don't think the PBC code supports slicing over shells. One possible way is that you may truncate the basis when you set up the cell and then generate integrals.

Hi @WenkaiChen , thanks for your question. Has it been answered?

Hi @WenkaiChen , thanks for your question. Has it been answered?

Actually not.  Nevertheless, the system I am interested in is only considered Gamma point, thus, I have obtained the ERI from non-periodic version from pyscf. Thus, the problem has been solved. I will close this issue. Thanks for your attention.


[WFLY-16848] Upgrade eclipselink to 2.7.11 and 3.0.3

Fixes https://issues.redhat.com/browse/WFLY-16848

Please find all links in the Jira for a review.

Thanks @boris-unckel


[FIX-1554] fixture_file_upload cannot find files

@JonRowe ping

I did the changes as suggested, but then still including unecessary methods to in initial caller, it's your call.

@JonRowe finally, suggested implementation was not working as expected.
I reverted the code to my first proposal, I let you see if you want to take it as it is or just drop it.

Thanks, I'll refactor it a bit before release


[dv] VCS coverage incorrect report

The OutputsKnown_A assertion in prim_mubi4_sync shows no attempts in many instances, but that cannot be since the mubi_i input and mubi_o output toggle, so the assertion should have attempts. One example is for u_io_div2_div_scanmode_sync in clkmgr.sv. Notice the prim_mubi4_sync parameter AsyncOn is set to 0 for most instances I reviewed.
This failure causes the coverage report to be pessimistic, which is conservative.
This was reported to Synopsys AE. We expect to be able to work-around this tool defect.

This specific issue was diagnosed by the Synopsys folks: we have code that mistakenly disables this assertion, so we can fix this ourselves. I will close this issue with the PR that corrects the problem.

Well, this is a bit subtle since there is no simple way to globally disable a subset of assertions in a module. We are discussing some alternative mechanisms. It is better to close this and track the solution in separate issues.


Uncaught TypeError: Cannot read property 'offenses' of undefined

I upgraded Rubocop from 0.27.1 to 0.29.1 and this error started happening.

Use Rubocop 0.29.1

Atom Version: 0.178.0
System: Mac OS X 10.10.2
Thrown From: atom-lint package, v0.20.1
Stack Trace
Uncaught TypeError: Cannot read property 'offenses' of undefined
At /Users/bumontherun/.atom/packages/atom-lint/lib/linter/rubocop.coffee:18

TypeError: Cannot read property 'offenses' of undefined
  at /Users/bumontherun/.atom/packages/atom-lint/lib/linter/rubocop.coffee:18:24
  at /Users/bumontherun/.atom/packages/atom-lint/lib/linter/rubocop.coffee:54:9
  at ChildProcess.<anonymous> (/Users/bumontherun/.atom/packages/atom-lint/lib/command-runner.coffee:32:7)
  at ChildProcess.emit (events.js:119:17)
  at maybeClose (child_process.js:1013:16)
  at Process.ChildProcess._handle.onexit (child_process.js:1085:5)

Commands
     -2:24.6 fuzzy-finder:toggle-file-finder (ul.list-inline.tab-bar.inset-panel)
     -2:23.3 core:confirm (atom-text-editor.editor.mini)
     -2:15.8 find-and-replace:show (atom-text-editor.editor)
     -2:14.0 core:backspace (atom-text-editor.editor.mini)
     -2:12.9 core:confirm (atom-text-editor.editor.mini)
     -2:01.8 fuzzy-finder:toggle-file-finder (atom-text-editor.editor)
     -1:59.2 core:move-down (atom-text-editor.editor.mini)
     -1:58.9 core:confirm (atom-text-editor.editor.mini)
     -1:56.0 core:backspace (atom-text-editor.editor)
     -1:39.7 find-and-replace:show (atom-text-editor.editor)
     -1:38.1 core:backspace (atom-text-editor.editor.mini)
     -1:37.6 core:confirm (atom-text-editor.editor.mini)
     -1:34.6 cut-line:paste-line (atom-text-editor.editor)
     -0:07.2 fuzzy-finder:toggle-file-finder (atom-text-editor.editor)
     -0:04.0 core:confirm (atom-text-editor.editor.mini)

Config
{
  "core": {
    "followSymlinks": true,
    "disabledPackages": [
      "minimap-git-diff",
      "wrap-guide",
      "metrics",
      "autocomplete-snippets",
      "autocomplete-paths",
      "linter-ruby",
      "linter",
      "linter-rubocop",
      "file-icons",
      "autocomplete-plus"
    ],
    "themes": [
      "seti-ui",
      "seti-syntax"
    ]
  },
  "atom-lint": {
    "ignoredNames": [
      "tmp/**",
      "db/schema.rb"
    ],
    "rubocop": {
      "path": "/usr/local/var/rbenv/shims/rubocop"
    },
    "coffeelint": {
      "path": "/usr/local/bin/coffeelint"
    },
    "jshint": {
      "path": "/usr/local/lib/node_modules/jshint/bin/jshint"
    }
  }
}

Installed Packages
# User
atom-lint, v0.20.1
cut-line, v0.10.0
dash, v1.0.2
editor-stats, v0.17.0
language-haml, v0.15.0
language-liquid, v0.2.0
pain-split, v1.3.1
pretty-json, v0.3.2
project-manager, v1.15.5
related-files, v0.3.0
ruby-string-interpolation, v0.1.8
ruby-syntax-replacer, v0.3.1
seti-syntax, v0.3.3
seti-ui, v0.6.3
toggle-quotes, v0.10.0
tree-view-open-files, v0.2.3

# Dev
No dev packages

Sorry. This turned out to be a change in rubocop removing support for something in our config. I thought I had retested atom-lint after updating our config.

I still get this on an empty file

Create a new file
Save the file

Atom Version: 0.187.0
System: Mac OS X 10.9.4
Thrown From: atom-lint package, v0.20.1
Stack Trace
Uncaught TypeError: Cannot read property 'offenses' of undefined
At /Users/ahmet/.atom/packages/atom-lint/lib/linter/rubocop.coffee:18

TypeError: Cannot read property 'offenses' of undefined
  at /Users/ahmet/.atom/packages/atom-lint/lib/linter/rubocop.coffee:18:24
  at /Users/ahmet/.atom/packages/atom-lint/lib/linter/rubocop.coffee:54:9
  at ChildProcess.<anonymous> (/Users/ahmet/.atom/packages/atom-lint/lib/command-runner.coffee:32:7)
  at ChildProcess.emit (events.js:119:17)
  at maybeClose (child_process.js:1013:16)
  at Socket.<anonymous> (child_process.js:1181:11)
  at Socket.emit (events.js:116:17)
  at Pipe.close (net.js:477:12)

Commands
     -2:56.0 core:confirm (atom-text-editor.editor.mini)
     -2:35.0 core:close (atom-workspace.workspace.scrollbars-visible-when-scrolling.theme-monokai.theme-flatland-dark-ui)
     -2:34.3 pane:show-item-3 (atom-workspace.workspace.scrollbars-visible-when-scrolling.theme-monokai.theme-flatland-dark-ui)
     -2:30.0 spec-maker:open-or-create-spec (atom-text-editor.editor)
     -2:20.8 core:close (atom-text-editor.editor.is-focused)
  2x -2:11.8 core:confirm (atom-text-editor.editor.mini)
     -1:17.6 core:close (atom-workspace.workspace.scrollbars-visible-when-scrolling.theme-monokai.theme-flatland-dark-ui)
     -1:01.9 core:confirm (atom-text-editor.editor.mini)
     -0:57.5 core:select-all (atom-text-editor.editor.mini)
     -0:56.8 core:confirm (atom-text-editor.editor.mini)
     -0:27.2 pane:show-item-1 (atom-workspace.workspace.scrollbars-visible-when-scrolling.theme-monokai.theme-flatland-dark-ui)
     -0:24.8 rails-rspec:toggle-spec-file (atom-text-editor.editor)
     -0:10.7 core:close (atom-text-editor.editor.is-focused)
     -0:08.1 rails-rspec:toggle-spec-file (atom-text-editor.editor)
     -0:05.1 core:close (atom-text-editor.editor.is-focused)
     -0:01.8 rails-rspec:toggle-spec-file (atom-text-editor.editor)

Config
{
  "core": {
    "projectHome": "/Users/ahmet/Projects",
    "disabledPackages": [
      "atom-bitcoin",
      "atom-ctags",
      "linter"
    ],
    "themes": [
      "flatland-dark-ui",
      "monokai"
    ],
    "ignoredNames": [
      ".DS_Store",
      "tmp",
      ".keep",
      ".git",
      "tags",
      "config.ru",
      "Gemfile.lock",
      "Rakefile",
      "vendor",
      "public",
      "log",
      "bin",
      ".capistrano",
      ".gitkeep",
      "*.caching",
      "script",
      "docs",
      ""
    ]
  },
  "atom-lint": {}
}

Installed Packages
# User
atom-beautify, v0.22.3
atom-lint, v0.20.1
autocomplete-plus, v2.5.0
autocomplete-ruby, v0.0.1
file-icons, v1.5.1
flatland-dark-ui, v0.2.3
highlight-line, v0.10.1
highlight-selected, v0.9.1
language-rspec, v0.3.0
linter-rubocop, v0.2.2
linter-ruby, v0.1.4
monokai, v0.12.0
pain-split, v1.3.1
rails-rspec, v0.3.1
rspec, v0.1.9
symbol-gen, v0.2.0
tabs-to-spaces, v0.8.1
travis-ci-status, v0.13.0

# Dev
No dev packages


ELRS backpack integration

This is a cleanup and of the ESP32 flashing code, building the flashing into the goggle code rather than a separate executable, with progress of each binary being flashed to the ESP32.
The ELRS backpack functionality currently supported by this PR are

Channel changing/setting from VTx Admin menu in ELRS Lua.
DVR start/stop (with configurable delays) assigned to an Aux channel/switch

To be done, is the OSD support that ELRS backpack can provide (i.e. for putting race/lap times on screen).
To use this PR, you should also build the ELRS backpack for the HDZero VRx using this PR https://github.com/ExpressLRS/Backpack/pull/73

Seems to work beautifully, tested:

[x] flashing via the goggles
[x] binding to the tx module (maybe a note to update the tx backpack to latested somewhere would be good)
[x] channel switch (hdzero)
[X] dvr toggle via AUX

Only thing i found counterintuitive, i would have expected the flash button to be located in the "Firmware" menu vs the "Connections" menu, but that might just be me.

Only thing i found counterintuitive, i would have expected the flash button to be located in the "Firmware" menu vs the "Connections" menu, but that might just be me.

I do agree, but that was just where it was initially. We can easily move it, if we get consensus.

Only thing i found counterintuitive, i would have expected the flash button to be located in the "Firmware" menu vs the "Connections" menu, but that might just be me.

Agreed. Better to move it to Firmware


⚠ SceneTime has degraded performance

In 1d227b7, SceneTime ($ST) experienced degraded performance:

HTTP code: 200
Response time: 1156 ms

Resolved: SceneTime performance has improved in 5bc3429 after 7 minutes.


Fixed 'onTouchStart event doesn't work' bug on list-item component

What do you mean, by doesn't work?

This https://github.com/callemall/material-ui/pull/1554 may help

#1554 takes care of this as well as the documentation. Thanks @loveholly


Please override instead of append to packit created dist-git branch

What happened? What is the problem?
When running packit pull-from-upstream multiple times  for the same package, packit will append dist-git commit instead of overriding exsiting ones.
For example: https://gitlab.com/redhat/centos-stream/rpms/nmstate/-/merge_requests/82/commits
It contains two git commits created by packit.
What did you expect to happen?
Packit override branch  it creates by discarding all previous commit it created.
Example URL(s)
https://gitlab.com/redhat/centos-stream/rpms/nmstate/-/merge_requests/82/commits
Steps to reproduce
1. centpkg clone nmstate
2.

echo '
---
downstream_package_name: nmstate
upstream_project_url: https://github.com/nmstate/nmstate
issue_repository: https://github.com/nmstate/nmstate
update_release: false
upstream_package_name: nmstate
upstream_tag_template: v{version}
copy_upstream_release_description: true

packages:
  nmstate-centos:
    pkg_tool: centpkg
    specfile_path: packaging/nmstate.spec

jobs:
  - job: pull_from_upstream
    trigger: release
    packages: [nmstate-centos]
    dist_git_branches:
      - c9s' > ~/packit_ds_nmstate.yml

3. packit -d --config ~/packit_ds_nmstate.yml pull-from-upstream
4. packit -d --config ~/packit_ds_nmstate.yml pull-from-upstream

Workaround

[ ] There is an existing workaround that can be used until this issue is fixed.

Participation

[ ] I am willing to submit a pull request for this issue. (Packit team is happy to help!)

I believe the second pull-from-upstream run is supposed to to be:
packit -d --config ~/packit_ds_nmstate.yml pull-from-upstream --resolve-bug RHEL-19409

And the bug ID has to be different that the one autodetected by the first pull-from-upstream run.

I believe the second pull-from-upstream run is supposed to to be:
4. packit -d --config ~/packit_ds_nmstate.yml pull-from-upstream --resolve-bug RHEL-19409

And the bug ID has to be different that the one autodetected by the first pull-from-upstream run.

I believe the second pull-from-upstream run is supposed to be:
4. packit -d --config ~/packit_ds_nmstate.yml pull-from-upstream --resolve-bug RHEL-19409

And the bug ID has to be different that the one autodetected by the first pull-from-upstream run.

I believe the second pull-from-upstream run is supposed to be:
4. packit -d --config ~/packit_ds_nmstate.yml pull-from-upstream --resolve-bug RHEL-19409

And the bug ID has to be different than the one autodetected by the first pull-from-upstream run.

I can reproduce it on Fedora with CLI as well, however when commenting /packit pull-from-upstream --resolved-bugs rhbz#NNNNNN  on a PR, Packit service amends the existing commit and force pushes to the branch, so there is no issue there. CLI commands should probably do the same.

If we changed the resolve-bug, can we also override previous changes?


datastore: Support insert and update

Cloud Datastore API have support of insert and update as primitive mutation
but google-cloud-go support upsert and delete only.
https://cloud.google.com/datastore/docs/reference/rpc/google.datastore.v1?hl=en#mutation
We often implement insert or update using transaction.
It can be avoided by support primitive insert and update.
Ruby and Node.js and .NET client library already support it.
https://github.com/GoogleCloudPlatform/google-cloud-ruby/pull/680
https://cloud.google.com/nodejs/docs/reference/datastore/1.3.x/DatastoreRequest#save
http://googlecloudplatform.github.io/google-cloud-dotnet/docs/Google.Cloud.Datastore.V1/api/Google.Cloud.Datastore.V1.Mutation.html
I guess the reason may be that AppEngine SDK haven't support of the mutation options and it can be confusing.
(Added) I noticed that Java and PHP client library also support it.

This was done in 02a2d936c7c22d0d585fb1e86ac05043bacb3a13.


Turtlebot don't move

ISSUE TEMPLATE ver. 0.2.0

Which TurtleBot3 you have?

[ ] Burger
[ ] Waffle
[+] Waffle Pi

Which SBC(Single Board Computer) is working on TurtleBot3?

[ ] Raspberry Pi 3
[ ] Intel Joule 570x
[+] INTEL NUC

Which OS you installed in SBC?

[ ] Ubuntu MATE 16.04 or later
[ ] Raspbian
[+] Ubuntu 16.04 LTS (Xenial Xerus)

Which OS you installed in Remote PC?

[+] Ubuntu 16.04 LTS (Xenial Xerus)
[ ] Ubuntu 18.04 LTS (Bionic Beaver)
[ ] Linux Mint 18.x
[ ] etc (PLEASE, WRITE DOWN YOUR OS)

Write down software version and firmware version

Software version: [1.12.14]
Firmware version: [1.3.2]

Write down the commands you used in order

roslaunch turtlebot3_bringup turtlebot3_robot.launch
started roslaunch server http://localhost:43983/

SUMMARY
PARAMETERS

/rosdistro: kinetic
/rosversion: 1.12.14
/turtlebot3_core/baud: 115200
/turtlebot3_core/port: /dev/ttyACM0
/turtlebot3_core/tf_prefix:
/turtlebot3_lds/frame_id: base_scan
/turtlebot3_lds/port: /dev/ttyUSB0

NODES
/
turtlebot3_core (rosserial_python/serial_node.py)
turtlebot3_diagnostics (turtlebot3_bringup/turtlebot3_diagnostics)
turtlebot3_lds (hls_lfcd_lds_driver/hlds_laser_publisher)
auto-starting new master
process[master]: started with pid [30950]
ROS_MASTER_URI=http://localhost:11311
setting /run_id to f4bc6910-f7c0-11e8-94ed-88b11116d433
process[rosout-1]: started with pid [30963]
started core service [/rosout]
process[turtlebot3_core-2]: started with pid [30967]
[INFO] [1543926876.294996]: ROS Serial Python Node
[INFO] [1543926876.309214]: Connecting to /dev/ttyACM0 at 115200 baud
[INFO] [1543926880.786663]: Note: publish buffer size is 1024 bytes
[INFO] [1543926880.787324]: Setup publisher on sensor_state [turtlebot3_msgs/SensorState]
[INFO] [1543926880.791211]: Setup publisher on firmware_version [turtlebot3_msgs/VersionInfo]
[INFO] [1543926880.987357]: Setup publisher on imu [sensor_msgs/Imu]
[INFO] [1543926880.995942]: Setup publisher on cmd_vel_rc100 [geometry_msgs/Twist]
[INFO] [1543926881.074045]: Setup publisher on odom [nav_msgs/Odometry]
[INFO] [1543926881.081365]: Setup publisher on joint_states [sensor_msgs/JointState]
[INFO] [1543926881.088756]: Setup publisher on battery_state [sensor_msgs/BatteryState]
[INFO] [1543926881.096880]: Setup publisher on magnetic_field [sensor_msgs/MagneticField]
[INFO] [1543926882.814370]: Setup publisher on /tf [tf/tfMessage]
[INFO] [1543926882.822962]: Note: subscribe buffer size is 1024 bytes
[INFO] [1543926882.824044]: Setup subscriber on cmd_vel [geometry_msgs/Twist]
[INFO] [1543926882.838255]: Setup subscriber on sound [turtlebot3_msgs/Sound]
[INFO] [1543926882.846524]: Setup subscriber on motor_power [std_msgs/Bool]
[INFO] [1543926882.852195]: Setup subscriber on reset [std_msgs/Empty]
[INFO] [1543926883.824171]: Setup TF on Odometry [odom]
[INFO] [1543926883.826076]: Setup TF on IMU [imu_link]
[INFO] [1543926883.827877]: Setup TF on MagneticField [mag_link]
[INFO] [1543926883.829590]: Setup TF on JointState [base_link]
[INFO] [1543926883.834018]: --------------------------
[INFO] [1543926883.835810]: Connected to OpenCR board!

roslaunch turtlebot3_teleop turtlebot3_teleop_key.launch

upload turtlebot3_setup_motor

opencr_ld ver 1.0.2
opencr_ld_main

file name : /tmp/arduino_build_869990/turtlebot3_setup_motor.ino.bin
file size : 115 KB
Open port OK
Clear Buffer Start
Clear Buffer End

Board Name : OpenCR R1.0
Board Ver  : 0x17020800
Board Rev  : 0x00000000

flash_erase : 0 : 1.097000 sec
flash_write : 0 : 1.923000 sec
CRC OK B6ACB6 B6ACB6 0.004000 sec
[OK] Download
jump_to_fw
Succeeded to open the port!

Device Name : /dev/OpenCR
Baudrate    : 57600

Start turtlebot3 setup motor

setup left  motor
setup right motor
test  left  motor
test  right motor

Do you really want to setup ? y/n : yes
setup.... left
Find Motor...
setbaud : 57600
[TxRxResult] There is no status packet!
setbaud : 1000000
[TxRxResult] Incorrect status packet!

setup left  motor
setup right motor
test  left  motor
test  right motor

Do you really want to setup ? y/n : yes
setup.... right
Find Motor...
setbaud : 57600
[TxRxResult] There is no status packet!
setbaud : 1000000
[TxRxResult] Incorrect status packet!

setup left  motor
setup right motor
test  left  motor
test  right motor

test.... left
Test Motor Left...
no dxl motors

setup left  motor
setup right motor
test  left  motor
test  right motor

test.... right
Test Motor Left...
no dxl motors

Upload DynamixelWorkbench monitor

[CMD] : begin 57600
Succeed to begin(57600)
[CMD] : scan
Can't find Dynamixel
[CMD] : begin 1000000
Succeed to begin(1000000)
[CMD] : scan
Can't find Dynamixel

Please, describe detailedly what difficulty you are in

Hi!
For several days after replacing the OpencCR on the other OpenCR, the motors don't work.
Dynamixel motors don't move when I send velocity commands or run roslaunch teleop.
I get errors when setting the ID in the Arduino IDE.
Thanks

Hi @ quip95 :)
Did you update your OpenCR replaced? If you are not, refer to here.

@kijongGi , Hi, thanks for reply.
Yes, I successfully updated OpenCR before testing.

I'm sorry for late reply.
How about your problem?


feat(ui): supported separate column for pipeline entity version

Describe your changes:
Fixes for Pipeline Entity : https://github.com/open-metadata/OpenMetadata/issues/11281

Supporting separate tags and glossary columns in Pipeline Version table

Type of change:

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

Checklist:

[x] I have read the CONTRIBUTING document.
[ ] My PR title is Fixes <issue-number>: <short explanation>
[ ] I have commented on my code, particularly in hard-to-understand areas.
[ ] For JSON Schema changes: I updated the migration scripts or explained why it is not needed.

@chirag-madlani changes made along with the code smell fix!


[💡 FEATURE REQUEST]: upgrade TCP plugin

Plugin
TCP
I have an idea!
I think the TCP plugin needs to be reworked.
The way the RR-TCP plugin works now:
RR cuts off data by separator and sends it to different workers.
This approach works well when writing an SMTP server, but it's not enough for a true TCP server.
For example we can't handle HTTP protocol, binary protocol or any custom protocol.

I propose to make the plugin so that a PHP-worker works with RR-TCP-plugin like with a stream.
When RR accepts a connection from a user, it tells the free PHP worker about it and attaches the connection to it.
The worker in this case can:

ask how many bytes to read

with specifying the max length
with specifying the separator
with specifying the min length (for blocking reading mode)

which data to write (using a buffer or with an immediate error if the connection is not ready to write)
when to pass the connection to another worker (detach the worker from the connection)
when to disconnect the client

Hey @roxblnfk 😃

For example we can't handle HTTP protocol, binary protocol or any custom protocol.

Actually, you can easily handle HTTP or any binary protocol, since they has a delimiters which you can specify in the configuration. From the practical POV, there is no sense to handle an http frames via this plugin since we have a dedicated HTTP plugin.

When RR accepts a connection from a user, it tells the free PHP worker about it and attaches the connection to it

RR can't bind a worker to a connection, because in case of 1000 simultaneous connections you'll have a 1000 workers. Imagine, all of them occupy a minimum of 25MB RSS memory...then you should have a 25GB of RAM (minimum) to handle a 1000 connection. Thus, we have a pool of workers and doesn't bind connections in such way.

ask how many bytes to read
with specifying the max length
with specifying the separator
with specifying the min length (for blocking reading mode)

What you're saying here, is an addition to the existing commands. So, not READ like in existing implementation, but READ 10 bytes,  READ 10 bytes WITH '/n'.
Also, I'm not sure, what's true TCP server ?

Actually, you can easily handle HTTP or any binary protocol, since they have delimiters that you can specify in the configuration.

Could you provide examples of configs for handling HTTP requests and the Goridge plugin?

From the practical POV, there is no sense to handle an http frame via this plugin since we have a dedicated HTTP plugin.

The TCP plugin can provide more flexible handling of the HTTP protocol. It just needs to be refined.

RR can't bind a worker to a connection, because in the case of 1000 simultaneous connections you'll have 1000 workers. Imagine, all of them occupy a minimum of 25MB RSS memory...then you should have 25GB of RAM (minimum) to handle a 1000 connection. Thus, we have a pool of workers and don't bind connections in such way.

I'm sure that RR has a queuing mechanism and there is no need to create a separate worker for each request. It is enough to have several workers and a functioning pool.

packages from the Goridge plugin

Goridge3 protocol itself behaves more like TCP/IP itself so, to handle transport protocols, we need to have the second part of your proposal - additional command (to read a particular number of bytes for example), there is no problem to extend existing commands. To handle application protocols, like HTTP it's enough to know the frames delimiter, in the case of HTTP it's CLRF (also you'll need to implement 2616 RFC)
From your proposal, If I understand correctly, we need to add additional commands to the existing set, they are:

ask how many bytes to read
how many bytes to read with specifying the max length
how many bytes to read with specifying the separator
ask how many bytes to read with specifying the min length
which data to write (using a buffer or with an immediate error if the connection is not ready to write) - what type of buffer do you mean?
when to disconnect the client -> CLOSEcommand, already exists.

when to pass the connection to another worker (detach the worker from the connection)
The worker is not attached to the connection, so, there is nothing to detach.


Egg game using Redis and documentation

New game (using Redis) consisting of getting the highest number of clicks and some documentation.

I have created the "hasWon" method that checks if a user has exceeded the saved score, moving this functionality out of the "eggPlayed" method.


[dev] Now dev fails to serve api functions when used with Gridsome

Following the Gridsome example project and executing now dev will lunch the Gridsome Dev mode but the Now api functions will be ignored.
A solution is to remove the dev script from the package.json, but it is not clear then if its a bug or a missconfiguration as the documentation and the example encourages setting the script.

The latest now dev (17.0.2) doesn't work with Gridsome projects before going to project settings and changing the framework preset from Vue to Gridsome.
After that, however, now devstarts both Gridsome and api functions but while the proxy address is at port 3000, Gridsome still thinks that it's running in a totally different port so you end up seeing the wrong dev URLs after the server has started. (This latter issue should maybe be fixed w/ gridsome serve as well.)
So the current workaround is just to remember the port 3000 and you're golden :)
Here's a debug log from me starting a project where it works OK in port 3000, but only thing you see after the command has finshed (as Gridsome "helpfully" cleans up all console messages) is "Site running at http://localhost:55620/" (even though the correct URL is http://localhost:3000/
 Projects/GitHub/og-image-builder   master  now dev --debug
> [debug] [2020-02-07T17:45:28.875Z] Found config in file /Users/uninen/LocalDocuments/Projects/GitHub/og-image-builder/now.json
Now CLI 17.0.2 dev (beta) — https://zeit.co/feedback
> [debug] [2020-02-07T17:45:28.919Z] user supplied known subcommand
> [debug] [2020-02-07T17:45:28.939Z] Spinner invoked (Retrieving scope…) with a 1000ms delay
> [debug] [2020-02-07T17:45:29.955Z] Spinner ended (Retrieving scope…)
> [debug] [2020-02-07T17:45:30.119Z] Spinner invoked (Retrieving project…) with a 1000ms delay
> [debug] [2020-02-07T17:45:30.121Z] GET https://api.zeit.co/projects/QmU1frWd5aJTJ642yhKuZMn7YX5Mr3kK1BN85KVfMzmtgt?
> [debug] [2020-02-07T17:45:30.768Z] GET https://api.zeit.co/projects/QmU1frWd5aJTJ642yhKuZMn7YX5Mr3kK1BN85KVfMzmtgt? : 645.811ms
> [debug] [2020-02-07T17:45:30.769Z] Spinner ended (Retrieving project…)
> [debug] [2020-02-07T17:45:30.793Z] The yarn executable is already cached, not re-downloading
> [debug] [2020-02-07T17:45:30.796Z] Reading `package.json` file
> [debug] [2020-02-07T17:45:30.797Z] Reading `now.json` file
> [debug] [2020-02-07T17:45:30.798Z] Searching files inside of /Users/uninen/LocalDocuments/Projects/GitHub/og-image-builder/
> [debug] [2020-02-07T17:45:33.375Z] Found 27948 and filtered out 27898 files
> [debug] [2020-02-07T17:45:33.390Z] Using local env: /Users/uninen/LocalDocuments/Projects/GitHub/og-image-builder/.env
> [debug] [2020-02-07T17:45:33.407Z] Locating files /Users/uninen/LocalDocuments/Projects/GitHub/og-image-builder
> [debug] [2020-02-07T17:45:33.407Z] Ignoring /Users/uninen/LocalDocuments/Projects/GitHub/og-image-builder/.DS_Store
> [debug] [2020-02-07T17:45:33.407Z] Ignoring /Users/uninen/LocalDocuments/Projects/GitHub/og-image-builder/.cache
> [debug] [2020-02-07T17:45:33.407Z] Ignoring /Users/uninen/LocalDocuments/Projects/GitHub/og-image-builder/.env
> [debug] [2020-02-07T17:45:33.408Z] Ignoring /Users/uninen/LocalDocuments/Projects/GitHub/og-image-builder/.env.example
> [debug] [2020-02-07T17:45:33.408Z] Ignoring /Users/uninen/LocalDocuments/Projects/GitHub/og-image-builder/.git
> [debug] [2020-02-07T17:45:33.408Z] Ignoring /Users/uninen/LocalDocuments/Projects/GitHub/og-image-builder/.gitignore
> [debug] [2020-02-07T17:45:33.408Z] Ignoring /Users/uninen/LocalDocuments/Projects/GitHub/og-image-builder/.now
> [debug] [2020-02-07T17:45:33.408Z] Ignoring /Users/uninen/LocalDocuments/Projects/GitHub/og-image-builder/node_modules
> [debug] [2020-02-07T17:45:33.409Z] Ignoring /Users/uninen/LocalDocuments/Projects/GitHub/og-image-builder/dist/.DS_Store
> [debug] [2020-02-07T17:45:33.409Z] Ignoring /Users/uninen/LocalDocuments/Projects/GitHub/og-image-builder/src/.DS_Store
> [debug] [2020-02-07T17:45:33.410Z] Ignoring /Users/uninen/LocalDocuments/Projects/GitHub/og-image-builder/static/.DS_Store
> [debug] [2020-02-07T17:45:33.410Z] Ignoring /Users/uninen/LocalDocuments/Projects/GitHub/og-image-builder/dist/img/.DS_Store
> [debug] [2020-02-07T17:45:33.411Z] Ignoring /Users/uninen/LocalDocuments/Projects/GitHub/og-image-builder/src/assets/.DS_Store
> [debug] [2020-02-07T17:45:33.411Z] Ignoring /Users/uninen/LocalDocuments/Projects/GitHub/og-image-builder/static/img/.DS_Store
> [debug] [2020-02-07T17:45:33.418Z] Locating files /Users/uninen/LocalDocuments/Projects/GitHub/og-image-builder: 10.970ms
> [debug] [2020-02-07T17:45:33.435Z] No Runtimes need to be installed
> [debug] [2020-02-07T17:45:33.751Z] Adding build match for "api/search"
> [debug] [2020-02-07T17:45:33.752Z] Adding build match for "api/track"
> Running Dev Command “gridsome develop -p $PORT”
> [debug] [2020-02-07T17:45:33.828Z] Starting dev command with parameters : {"cwd":"/Users/uninen/LocalDocuments/Projects/GitHub/og-image-builder","devCommand":"gridsome develop -p 55620","port":55620}
> [debug] [2020-02-07T17:45:33.830Z] Spawning dev command: npx --no-install gridsome develop -p 55620
Gridsome v0.7.12

Initializing plugins...
Load sources - 0s
Create GraphQL schema - 0.05s
Create pages and templates - 0.09s
Generate temporary code - 0.06s
Bootstrap finish - 2.45s
> [debug] [2020-02-07T17:45:37.702Z] Filesystem watcher notified of 7 events
> [debug] [2020-02-07T17:45:37.704Z] File modified: src/.temp/config.js
> [debug] [2020-02-07T17:45:37.705Z] File modified: src/.temp/constants.js
> [debug] [2020-02-07T17:45:37.705Z] File modified: src/.temp/plugins-server.js
> [debug] [2020-02-07T17:45:37.706Z] File modified: src/.temp/icons.js
> [debug] [2020-02-07T17:45:37.706Z] File modified: src/.temp/routes.js
> [debug] [2020-02-07T17:45:37.706Z] File modified: src/.temp/now.js
> [debug] [2020-02-07T17:45:37.706Z] File modified: src/.temp/plugins-client.js
> [debug] [2020-02-07T17:45:37.707Z] Reading `package.json` file
> [debug] [2020-02-07T17:45:37.707Z] Reading `now.json` file
> [debug] [2020-02-07T17:45:37.708Z] Searching files inside of /Users/uninen/LocalDocuments/Projects/GitHub/og-image-builder/
32% building 185/217 modules 32 active ...inen/LocalDocuments/Projects/GitHub/og-image-builder/node_modules/core-js/modules/_array-species-constructor.js> Ready! Available at http://localhost:3000
42% building 273/282 modules 9 active /Users/uninen/LocalDocuments/Projects/GitHub/og-image-builder/node_modules/core-js/library/fn/symbol/index.js> [debug] [2020-02-07T17:45:40.958Z] Found 27948 and filtered out 27898 files
51% building 349/359 modules 10 active ...2-oneOf-1-2!/Users/uninen/LocalDocuments/Projects/GitHub/og-image-builder/node_modules/tailwindcss/tailwind.css> [debug] [2020-02-07T17:45:41.430Z] No builders were updated

 DONE  Compiled successfully in 8602ms                                                                                7:45:46 PM

  Site running at:
  - Local:                 http://localhost:55620/
  - Network:               http://<IP_ADDRESS>:55620/

  Explore GraphQL data at: http://localhost:55620/___explore

I tried with the latest Now CLI and used now init gridsome && cd gridsome to start a new project.
When I ran now, it correctly identified the project as Gridsome.
Auto-detected project settings (Gridsome):
- Build Command: `gridsome build` or `build` from `package.json`
- Output Directory: dist
- Development Command: gridsome develop -p $PORT

Then I ran npm install followed by now dev and it seemed to work too, I just had to scroll up to see the output from Now instead of the output from Gridsome.
now dev
Now CLI 17.0.4 (beta) — https://zeit.co/feedback
> Running Dev Command “gridsome develop -p $PORT”
Gridsome v0.6.9

Initializing plugins...
Initialize - 0.97s
Load sources - 0s
Create GraphQL schema - 0.22s
Create pages and templates - 0.05s
Generate code - 0.04s
Bootstrap finish - 1.28s
10% building 1/1 modules 0 active> Ready! Available at http://localhost:3000

Maybe we need to make the URL clearer because http://localhost:3000 is from now dev but the other URL is printed from Gridsome http://localhost:65350 and it will not work with Serverless Functions (because Gridsome doesn't support functions).

This has been fixed in the canary channel.
Try it out with npm i -g now@canary.


update #555 - add Learn page

This PR:

adds new self-hosted page  - Learn (previously Journey). I've omitted Training Camp and everything below, lesson list is available on curriculum page anyways while git videos are mentioned in some early lesson. I need to find a place for Number bases page though. Note: AppNav link still redirects to notion.
changes development setup link from notion to self-hosted page. I think it's good enough at this point.
updates ModalImage component to handle very tall or very long images (custom css based on manually passed props). If you open current development setup page on mobile device shell image is too small even if you click on it, this pr fixes it.

Vercel. Check development setup button, set responsive layout, click on shell image, you will see bigger scrollable pop up.
Learn page.

I changed ModalImage types a bit, there is one general proportion type which can be either long or tall. proportions='tall' looks less awkward that tall='true' and etc.


Update multimer input pipeline

Now that the ground truth features will now be added with recycling dimesions or cropped

Closing this since the newer one contains these changes.


Is there any harm in me doing something similar?

Is there any harm in me doing something similar?

Is there any harm in me doing something similar?

I don't think there's anything wrong with being inspired as long as you do something original.


Replace TimeoutError with Timeout::Error

TimeoutError is deprecated in Ruby 2.3.0, causing some of the warnings seen in #976.
It has been an alias for Timeout::Error starting in Ruby 1.8.0, and should be safe to replace. Here's the original commit from 2003: https://github.com/ruby/ruby/commit/9d22a06ea06e9bec5030fd6e2c8481958fcd30d9

Great! Thanks for this!!


manage folder and old images

add a module to manage folder with img files and old cropped images (1 month old)

done


Update outputs from one source, automatically

Maybe the data should be stored in a CSV or YAML or something. Then a GitHub Action can take that 'single point of truth' and update the static README and update the proposed webpage (#3).

There are guidelines to use the Awesome badge and create an "Awesome list".
Automated list are not allowed for instance, a table of contents has to be present, etc., see https://github.com/sindresorhus/awesome/blob/main/pull_request_template.md.

Ah, thank you @mcanouil. Clearly I did not read anything. I'm pulling the badge/'awesome' references for now.
Re 'automated': not in the sense that items are gathered in an automated way, but in the sense that the existing items could be automatically read from this repo and added into an interactive table served with GitHub Pages so that people could filter the list, etc. But I don't think the list is ever going to be long enough that it's even worth having this alternate approach to viewing it.

But I don't think the list is ever going to be long enough that it's even worth having this alternate approach to viewing it.

In that case and because of "It's the result of hard work and the best I could possibly produce. If you have not put in considerable effort into your list, your pull request will be immediately closed."  , I would recommend to simply do whatever you want outside of the "Awesome List" thing (which is referenced by GitHub, especially in the mobile app).

Yes, I think the biggest problem is that there probably aren't enough items to warrant a properly curated list. I think probably it ends up as just a list. Thank you for highlighting this.

Closing because the repo has renamed away from 'awesome' and this has been acknowledged in the README.


CronWorkflow gets scheduled on schedule change if new schedule is between current time and last schedule.

Summary
I have noticed that CronWorkflows get executed even when they are not scheduled to do so. This happens if you change the schedule of the cronworkflow and put it in another time, that is after the time of the previous schedule, but before current time.
I think that the workflow controller checks the new schedule, and sees that a cronworkflow should have been executed in the meantime, triggering it.
What is more strange though is that argo cron list doesn't capture this behavior, so pods are being scheduled, but you can not find through argo.
Diagnostics
I am using:
Argo Workflows version 3.2.0
Kubernetes version 1.21.1
Executor: PNS
To replicate. Let's say it is 13:50 and we want to schedule a CronWorkflow that executes at 14:00 each day:
Create this CronWorkflow:
apiVersion: argoproj.io/v1alpha1
kind: CronWorkflow
metadata:
  name: test
spec:
  schedule: "0 14 * * *"
  suspend: false
  concurrencyPolicy: "Forbid"
  failedJobsHistoryLimit: 1
  successfulJobsHistoryLimit: 1
  timezone: CET
  workflowSpec:
    entrypoint: job
    templates:
    - name: job
      container:
        image: centos:centos7
        command: ["/bin/sh","-c"]
        args: ["/bin/echo \"hello argo\""]
        imagePullPolicy: Always

A Workflow will be created at 14:00 correctly. However, let's say the time now is 14:10 and we decide that for the next days, we want the schedule to be at 14:05 instead of 14:00.
Change the cronworkflow to:
apiVersion: argoproj.io/v1alpha1
kind: CronWorkflow
metadata:
  name: test
spec:
  schedule: "5 14 * * *"
  suspend: false
  concurrencyPolicy: "Forbid"
  failedJobsHistoryLimit: 1
  successfulJobsHistoryLimit: 1
  timezone: CET
  workflowSpec:
    entrypoint: job
    templates:
    - name: job
      container:
        image: centos:centos7
        command: ["/bin/sh","-c"]
        args: ["/bin/echo \"hello argo\""]
        imagePullPolicy: Always

and do kubectl apply -f test.yaml
This will trigger a new workflow even though the time now is 14:10 (5 minutes after the supposed new schedule).
However using argo cron list, in the LAST RUN field we get workflow that was execute at 14:00 and not at the 14:05.
So two things here.

Is it the expected behavior to execute a cronworkflow outside of the schedule like this?
Shouldn't the LAST RUN show the correct last executed workflow?

The expected behavior for me would be to execute the CronWorkflow on the schedule.

Message from the maintainers:
Impacted by this bug? Give it a 👍. We prioritise the issues with the most 👍.

I'll take a look

I think that the controller behaves as if the workflow was missed, and since no startingDeadlingSeconds is set, it gets executed immediately.

Yup, that's my thought as well

I have the same issue with 3.1.1.

@simster7 can you please look into this issue?

Yes, I'll look

I took a look.

I think that the controller behaves as if the workflow was missed, and since no startingDeadlingSeconds is set, it gets executed immediately.

This is correct. When you edit a cron workflow and it gets reloaded by the workflow controller, it has no way of knowing if a change was made to the Schedule or if an execution was missed. Using replace works because it replaces the whole cron workflow (including the Status fields which contain the last known execution time).
Two ways forward:

As a workaround, simply use kubectl replace to modify cron workflows. Improve UX with https://github.com/argoproj/argo-workflows/issues/7344. Also, if using kubectl edit or similar, simply delete the status.lastScheduledTime field.
For best UX, record in CronWorkflow.Status a field called lastAppliedSchedule and if the current schedule does not match lastAppliedSchedule, then do not execute missed workflows
@gpanagiotidis