Newlib: implement locks

Looks like implementing mutex locks for newlib will help solve a few issues. The current use of critical regions for locking causes stutters or worse, such as getchar blocking with interrupts disabled.
Newlib has some statically allocated and initialized locks. It has been patched to make them globally visible so they can be initialized at startup.
The malloc lock is used early, and there is a runtime check to handle this.
So far only one use of a newlib lock in a critical region has been spotted, a use of the malloc lock in the ppTask, and this has been addressed with a binary patch to libpp.a.
This will need more testing, and feedback is welcomed.

Works like a charm!

Tested it with sysparam_editor and other examples. Works great!
Going to merge this PR.


Small patches and magic

tutgjygkhkhkh

Write a proper commit message.... 😏

Uncle....merge

guy merge my pr nau.....

Kamal merge my pr fgs


Integrate scalafix as a first-class module

Scalafix is now integrated with the rest of the build.  That means:

Code quality checks are enforced
Tests are run
A scalafix is published every time we publish, both snapshots and releases

Fixes #3523.

Why didn't CI run on this?

The docs job is failing, and I'm unsure how I rattled that one with this change.  mdoc doesn't run clean on 2.13 yet, but that's not the failure.


[Feature Request] Scoped styles

Would be useful to be able to use scoped styles for the vuetensils elements.
For example, maybe I don't want all the .vts-toggle__button classes to look the same all over the app.

Does it need to be scoped styles? I just added scoped classes to the nested dom nodes. Scoped styles wouldn't be too hard. However, why not just add modifier classes to the custom buttons? For example:
<VToggle /> and <VToggle class="custom" />
Then you could simply use the nested classes to style.

I faced the same issue and solved it this way:
<template>
  <VToggle open label="Click here to open the toggle">

Here is the content. Sweet!

  </VToggle>
</template>

It then generates something like:
.vts-toggle[data-v-1a96869e] .vts-toggle__label {
    background: red;
}

.vts-toggle is scoped so imo it is ok enough as you can unscoped and use the CSS cascade to style this specific component.

@lbineau are you trying to add styles for just this specific instance of VToggle? Because my original thought was that folks would style every instance the same. In that case, just doing the following would work:
.vts-toggle__label {
    background: red;
}

But for instances where you want a custom style, my thoughts were to use a custom class:
<template>
  <VToggle class="my-custom-class" label="Click here to open the toggle">
    content
  </VToggle>
</template>

Of course your way works as well and might work better for the people that perfer using scoped. Just wanted to put some options out there.

@Stegosource I wanted to style a specific instance (same than @jllagerberg as far as I understand).
The major benefit of CSS scope imo is when you have an application/widget integrated in a another plateform (a vueJS component inside a wordpress for instance). You don't have to fear your CSS is going to "leak" to the app website container.
But even in the case you want to style the same way all Vuetensils component, it is still possible to do it with scoped in the main App.vue and style your components with /deep/
<template>

  <VToggle class="my-custom-class" label="Click here to open the toggle">
    content
  </VToggle>

</template>

To be clear I'm not asking you to add the feature as this is just fine. I prefer not to add complexity to useful library and wanted to share how I solved this use case.

@lbineau. Thanks for the clarification. This is great. I want to put together a cookbook for useful snippets. This should be one of them :)


Bug: line numbers don't line up when breadcrumb trail is shown

Describe the bug
When breadcrumb trail view is shown in the editor, the line numbers gutter is not shifted down to account for it, so the line numbers no longer line up with the lines.
To Reproduce
Steps to reproduce the behavior:

Enable line numbers: Settings -> Editor -> "Show line number"
Install and enable Breadcrumbs plugin
Enable trail view in editor: Settings -> Breadcrumbs -> Views -> Trail/Grid/Juggl -> "Show Breadcrumbs in Edit/Live-Preview Mode"
Open a note
See line numbers don't line up anymore

Expected behavior
Line numbers should be moved down to account for the inserted breadcrumb trail view.
Screenshots
The blank line should be line 1, and the list item bullet should be line 2:

Desktop (please complete the following information):

OS: MacOS
Version 0.13.23

Additional context
Idea for how to fix: when div.BC-trail is added to div.cm-contentContainer, a corresponding element with height set to the computed height of the div.BC-trail should be added to either div.cm-gutter or div.cm-gutters.

Thank you for your idea to fix this! I'll give it a try :)

@avh4 I can't quite figure out what I'm doing wrong here...
After adding the BC-trail, I try to grab it's height off the div element, but it always comes back as 0.
Whether I use trailDiv.offsetHeight, trailDiv.clientHeight, or trailDiv.getBoundingClientRect().height, it always comes back 0. Any thoughts?

Fixed in #384, thanks @artem-barmin :)

Sorry for necro-bumping this, but I am experiencing this problem again when enabling trail in live-preview. Has something changed or am I missing something else?

Hey @Pummelfisch, no worries. I think there was a regression, indeed.
If you haven't heard elsewhere, I've rewritten like 95% of Breadcrumbs, and it's available via BRAT under V4. See here for more info: https://github.com/SkepticMystic/breadcrumbs/blob/master/V4.md
Once you've read the breaking changes, consider updating to V4 where this issue is resolved


Add JSDoc documentation

Also added ESLint rule for object-curly-braces
Compressed ESLint rules where possible
Added ESLint plugin and rules for JSDoc and overrides to ignore tests and eslint config
Added ESLint plugin and rules for MarkDown
Set documentative examples to follow MarkDown rules
Added ESLint and gitignore rule for JSDoc output
Added npm script to generate docs (called `docs')
Updated ESLint version
Updated node-fetch version (2.6.1 fixes important security vulnerability)


An error occurs when executing command "Execute NoSQL Query"

OS: All
Build Version: 20240312.1
Regression: Not a regression
Repro Steps:

F1 -> Select "Cosmos DB: Execute NoSQL Query".
Check whether the next step is "Select resource".

Expect:
The next step is "Select resource".
Actual:
An error occurs.

Verified this issue on extension build 20240312.4, this issue still reproduces. Please get the details from below.

There is no command "Execute NoSQL Query" in Command Palette if there is no new NoSQL query created.
After creating a new NoSQL query, there is a command "Execute NoSQL Query" in Command Palette.
Select the command "Execute NoSQL Query" to execute, the same error occurs. (The collection has been connected on active nosql document)

The similar issue occurs when executing "Get NoSQL Query Plan" command from Command Palette. Regardless of whether the NoSQL query is created.


Can't specify negative numbers for an int

Example code:
type Options struct {
       	Num int `short:"n" long:"num" description:"Number"`
}

func main() {
       	var opts Options
       	_, err := flags.Parse(&opts)
       	if err != nil {
       		log.Fatal(err)
       	}

       	fmt.Println("Num", opts.Num)
}

Works fine for 0/positive numbers:
$ ./flags -n 0
Num 0
$ ./flags -n 1
Num 1

But it fails for negative numbers, since it thinks the - is part of an options:
$ ./flags -n -1
expected argument for flag `-n, --num', but got option `-1'

This works fine with the standard library
var n = flag.Int("n", 0, "Num")

func main() {
       	flag.Parse()
       	fmt.Println("Num:", *n)
}

$ ./stdflags -n 0
Num: 0
$ ./stdflags -n 1
Num: 1
$ ./stdflags -n -1
Num: -1

Normally the answer is that this is not supported, if you want to pass anything as an argument starting with -, you need to use the -n=-1 syntax. However, I made an exception for numbers since it's relatively obvious what the user wants in that case.

Thanks for the quick fix @jessevdk!


Make word-swapping feature

Summary
This PR fixes #121010
We have made some commits for editor-find so that you can swap words.
In this code, you can swap like this gif animation by pushing Swap-All button or pressing shortcut key(ctrl+shift+enter).

You can use this function only when Match-Case button is on and Regular-Expression button is off.
Things to be considered

in this code, you can't swap words one by one by selecting words.
this PR will change current UI.

After the discussion, we'll write the test code!
Thanks!

ill check up hhat
thank you


[TypeResolution] Remove unnecessary parameter pack special case from function type resolution.

This code is a remnant from when parameter packs and classic variadic parameters both used the '...' syntax. Now, parameter packs can use the standard resolveType code path.

@swift-ci please smoke test

I wonder whether maybeResolvePackExpansionType as a distinct method even should exist with this change, or just be incorporated into resolvePackExpansionType?

@sophiapoirier you're right, maybeResolvePackExpansionType seems completely unnecessary now! I'll fold it into resolvePackExpansionType

@swift-ci please smoke test


Cannot build: failed to verify certificate

When running the documented command:
docker run --rm -it -u "$(id -u):$(id -g)" -v "${PWD}:/xk6" grafana/xk6 build v0.43.1 \
  --with<EMAIL_ADDRESS>\
  --with<EMAIL_ADDRESS>
It fails because of SSL validation.
2024/05/06 17:31:07 [INFO] Temporary folder: /tmp/buildenv_2024-05-06-1731.563602991
2024/05/06 17:31:07 [INFO] Initializing Go module
2024/05/06 17:31:07 [INFO] exec (timeout=10s): /usr/local/go/bin/go mod init k6
go: creating new go.mod: module k6
2024/05/06 17:31:07 [INFO] Pinning versions
2024/05/06 17:31:07 [INFO] exec (timeout=0s): /usr/local/go/bin/go mod edit -require<EMAIL_ADDRESS>2024/05/06 17:31:07 [INFO] exec (timeout=0s): /usr/local/go/bin/go mod tidy -compat=1.17
go: downloading github.com/mostafa/xk6-kafka v0.17.0
go: k6 imports
	github.com/mostafa/xk6-kafka<EMAIL_ADDRESS>verifying module<EMAIL_ADDRESS>Get<EMAIL_ADDRESS>tls: failed to verify certificate: x509: certificate signed by unknown authority
2024/05/06 17:31:08 [INFO] Cleaning up temporary folder: /tmp/buildenv_2024-05-06-1731.563602991
2024/05/06 17:31:08 [FATAL] exit status 1

It appears the images CA certificates are out of date.

False alarm. Cisco Umbrella is being a man in the middle https://stackoverflow.com/a/68333945/185316


[Question] window not pinning

I'm wondering if there is something more to pinning, than just setting <PinningSupported>true</PinningSupported> and inside gamebar clicking the pin, cause mine is not pinning at all, I'm able to pin performance, but for some reason mine is not pinning.
any help would be appreciated.

Hello,
Are you seeing the pin button show up and it just isn't staying up when going into PinnedOnly mode? Or are you not seeing the pin button show up on your widget at all?

I'm seeing the pin button, but it's not staying up when the pin is solid.

Do the samples work for you? Could you make a small sample project that reproduces the issue you are seeing so I could take a look?

I haven't tried the samples, I was just reading the docs trying to set it all up myself from scratch. I also notice, that when I do make the pin solid, and switch back to the app, the area where the window was, seems to be blocking mouse clicks, which I think might be wrong to, cause it's supposed to enable click through. anyway  I added a project of what I currently have, it's at https://github.com/doubletoker/kemu if you would take a look and help me figure it out, I'd appreciate the effort. I'm just trying to learn what step I'm missing, with the blocking of the mouse clicks, I was thinking maybe it's a draw issue? who really knows though, thanks.

alright my bad, it's a combination of problems all on me. at one point when it wasn't displaying, I tried to make the constructor for the widget default, so it didn't call InitializeComponet, and also I was trying to use directx and I was using a swapchainpanel before I initialized and painted the first screen, inside gamebar, it was black when it loaded in game bar, so I assumed it would be black still when I pinned and clicked out of it, but that panel is transparent, and the click through stuff, was because I clicked to disable click through, thanks for everything though.

Glad to hear you got it sorted!


scrollspy

Is it possible to implement a scroll-spy like the ToC of gitbook V2 document?
https://docs.gitbook.com/v2-changes/important-differences
The most straight forward method I know is using Twitter Bootstrap. Here's an example:
https://afeld.github.io/bootstrap-toc/
Also there are many other alternatives. For example a jQuery based scenario: https://www.jqueryscript.net/menu/fixed-table-contents-scrollspy.html

I've already started implementing a scrollspy functionality - hope it will be ready soon.

Please have a look at PR #14
With this PR I've implemented different layout modes along with improved scrollspy behavior.
Do these changes fit?


Could not find a relationship between 'workspaces' and 'models' in the schema cache

For some reason my hosted version of Chatbot UI started producing errors. When a logged in user tried to access the website, it would infinitely load.
Browser console errors
Failed to load resource: the server responded with a status of 400 ()
710-c70754b0ced44bdc.js:1  Uncaught (in promise) Error: Could not find a relationship between 'workspaces' and 'models' in the schema cache
    at s (710-c70754b0ced44bdc.js:1:4050)
    at async en (layout-c49fbd18a0ef982d.js:1:5471)

Supabase reports

First console error

{
    "message": "No API key found in request",
    "hint": "No `apikey` request header or url param was found."
}

Second console error

I just ran into this again today. Was there a workaround?

after pulling the latest and updating/migrating by the book I'm getting something similar:
"Error: Could not find a relationship between 'workspaces' and 'tools' in the schema cache"

Fixed it by doing a db restart 😅

I have the same problem and can't fix it.
I keep getting various errors such as:
"Error: Could not find a relationship between 'workspaces' and 'tools' in the schema cache"
or user_id issues. it does not get any workspace.
Anyone with a solution?

I was able to able to find another similar issue with the same error. Apparently, you need to update the DB but I'm not sure how to do that since I'm quite new to Supabase.

You need to apply the latest migrations to your hosted DB.

Originally posted by @mckaywrigley in https://github.com/mckaywrigley/chatbot-ui/issues/1291#issuecomment-1912939482

I was able to find docs on how to migrate projects for Supabase but it seems awfully complex with needing to back everything up and so you can move to another organization?

Migrating projects can be achieved using the Supabase CLI. This is particularly useful for older projects (e.g. to use a newer Postgres version).
https://supabase.com/docs/guides/platform/migrating-and-upgrading-projects#migrate-your-project


Make OMPT region detection opt-in

Overhead from OMPT calls can be significant
Since only benefits some use cases, change it to opt-in rather than opt-out

srun -N 1 -n 1 lscpu

srun -N 1 -n 1 lscpu

test_regions_absent (test.test_omp_outer_loop.TestIntegrationOMPOuterLoop)
Test that the first run's report does NOT contain ... ok
test_regions_present (test.test_omp_outer_loop.TestIntegrationOMPOuterLoop)
Test that the second run's report DOES contain the ... ok

srun -N 1 -n 1 lscpu

test_unmarked_ompt (test.test_ompt.TestIntegration_ompt) ... ok

----------------------------------------------------------------------
Ran 3 tests in 38.553s

OK


Error when using latest version of tws

Hello I installed tws gateway the latest version and after installation when i run my bot i get this
Traceback (most recent call last):   File "bottrader.py", line 1, in <module>     from ib_insync import *   File "/usr/local/lib/python3.5/dist-packages/ib_insync/__init__.py", line 14     f'Old version ({ibapi.__version__}) of ibapi package detected. '
What might be the issue?

Like the error message says, it's the ibapi package that is too old (not TWS).


Add a test case that we get build settings for a SwiftPM package if package hasn't been resolved

https://github.com/swiftlang/swift-package-manager/pull/7865
@swift-ci please test


Rename js file

After renaming js script file download link is no more longer available (404). Reverted commit with file rename

O, thanks I miss that out.


Added internet ipv4 cidr range faker

Implementation is a little crude giving a host address rather than the
network address.

Closing as this has been replaced with  kkirsche's commit


API: Retrieve Resource labels

There has been some discussion on #24 about the best way to expose labels from the Resource API. This is covered in the retrieve labels section of the Resource spec.
We are currently exposing an enumerator and not the underlying frozen hash of labels. Exposing the underlying hash would require that all SDKs would have to return labels with a data structure matching that interface. See the discussion here.
Several options have been proposed:

labels should return an enumerable, the exact implementation would be up to the SDK
a each_label method
exposing the underlying hash

If there are any other options we should add them here and discuss what we'd like to do going forward.

Is this still something we want to explore @mwear?

Is this still something we want to explore @mwear?


KeyError: 'tracks'

Error running the below cmd:
python joox_dl.py -hq -m -u https://www.joox.com/hk/album/zqqPGaE4OdJH95D5ZlisMw==
Traceback (most recent call last):
File "/home/xxxxx/Downloads/joox_dl/joox_dl.py", line 518, in
main()
File "/home/xxxxx/Downloads/joox_dl/joox_dl.py", line 443, in main
total_song = data['tracks']['total_count']
KeyError: 'tracks'

as you can see i have problem with my connection, i need free vpn with hongkong location, can you suggest me what I can use?

Try proton VPN

try windscribe.com


Ionic 2 RC.2: build error Cannot find module

Hello!
file add.html
<input class="input_type_text" [(ngModel)]="auto" placeholder="0" type="number">

IONIC SERVE - is Ok!
IONIC BUILD - error ->
Your environment has been set up for using Node.js 6.7.0 (ia32) and npm.

C:\..............\proba>ionic build android

> Proba@ ionic:build C:\Users\Admin.MFC\Desktop\publikun
> ionic-app-scripts build

[08:34:31]  ionic-app-scripts 0.0.43
[08:34:31]  build prod started ...
[08:34:31]  clean started ...
[08:34:31]  clean finished in 23 ms
[08:34:31]  copy started ...
[08:34:31]  ngc started ...
[08:34:38]  copy finished in 7.19 s
[08:37:14]  Error: Error at
            C:/Users/Admin.MFC/Desktop/proba/.tmp/pages/myrayon/obay/add_
/gn/add_.ngfactory.ts:82:27
[08:37:14]  Cannot find module
            '../../../../../node_modules/@angular/forms/src/directives/number_va
lue_accessor.ngfactory'.
[08:37:14]  ngc failed
[08:37:14]  ionic-app-script task: "build"
[08:37:14]  Error: Error

npm ERR! Windows_NT 6.2.9200
npm ERR! argv "C:\\Program Files\\nodejs\\node.exe" "C:\\Users\\Admin.MFC\\AppDa
ta\\Roaming\\npm\\node_modules\\npm\\bin\\npm-cli.js" "run" "ionic:build" "--"
npm ERR! node v6.7.0
npm ERR! npm  v3.10.8
npm ERR! code ELIFECYCLE
npm ERR! Proba@ ionic:build: `ionic-app-scripts build`
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the Proba@ ionic:build script 'ionic-app-scripts build'.
npm ERR! Make sure you have the latest version of node.js and npm installed.
npm ERR! If you do, this is most likely a problem with the Publikun package,
npm ERR! not with npm itself.
npm ERR! Tell the author that this fails on your system:
npm ERR!     ionic-app-scripts build
npm ERR! You can get information on how to open an issue for this project with:
npm ERR!     npm bugs Publikun
npm ERR! Or if that isn't available, you can get their info via:
npm ERR!     npm owner ls Proba
npm ERR! There is likely additional logging output above.

npm ERR! Please include the following file with any support request:
npm ERR!     C:\Users\Admin.MFC\Desktop\proba\npm-debug.log

C:\Users\Admin.MFC\Desktop\proba>

** and **
file add.html
<input class="input_type_text" [(ngModel)]="auto" placeholder="0">

BUILD - OK

I think this is a dupe of #311.

Hello all! I am going to close this issue as a duplicate of https://github.com/driftyco/ionic-app-scripts/issues/311. Thanks!


Towny data removes itself after reload and doesnt auto update on pl3x Map

When reloading the pl3xtowny plugin all of the towny data removes itself, this happens with a manual reload or a server restart. @silverwolfg11

It looks like one of your towns may be corrupted. The error you posted in the Towny discord indicates that the plugin cannot fetch the name of a mayor of one of your towns. This is usually due to a corrupted town.
To make this easier to spot, I will add an appropriate error message that displays the town name that is causing the error, but the root issue is not from the Pl3xMap-Towny plugin.

Thanks so much for the reply, I will try and locate the issue whilst you work on the update so for the future.

Towns doesn't load with me aswell, new towns gets shown on the map, but towns that were here when installing pl3xmap towny doesn't automatically get rendered and requires a manual render.

Here is a error that's coming on console if that helps:
[14:35:35 WARN]: [Pl3xMap-Towny] Task #3701610 for Pl3xMap-Towny v1.0.0-ALPHA-2 generated an exception
java.lang.NullPointerException: null
at me.silverwolfg11.pl3xmaptowny.managers.TownInfoManager.lambda$registerReplacements$0(TownInfoManager.java:104) ~[?:?]
at me.silverwolfg11.pl3xmaptowny.managers.TownInfoManager.getWindowHTML(TownInfoManager.java:241) ~[?:?]
at me.silverwolfg11.pl3xmaptowny.managers.TownInfoManager.getClickTooltip(TownInfoManager.java:228) ~[?:?]
at me.silverwolfg11.pl3xmaptowny.managers.TownyLayerManager.buildTownEntry(TownyLayerManager.java:135) ~[?:?]
at me.silverwolfg11.pl3xmaptowny.tasks.RenderTownsTask.run(RenderTownsTask.java:53) ~[?:?]
at org.bukkit.craftbukkit.v1_16_R3.scheduler.CraftTask.run(CraftTask.java:100) ~[patched_1.16.5.jar:git-PurpurTracker-"7126ab4"]
at org.bukkit.craftbukkit.v1_16_R3.scheduler.CraftScheduler.mainThreadHeartbeat(CraftScheduler.java:468) ~[patched_1.16.5.jar:git-PurpurTracker-"7126ab4"]
at net.minecraft.server.v1_16_R3.MinecraftServer.b(MinecraftServer.java:1502) ~[patched_1.16.5.jar:git-PurpurTracker-"7126ab4"]
at net.minecraft.server.v1_16_R3.DedicatedServer.b(DedicatedServer.java:451) ~[patched_1.16.5.jar:git-PurpurTracker-"7126ab4"]
at net.minecraft.server.v1_16_R3.MinecraftServer.a(MinecraftServer.java:1415) ~[patched_1.16.5.jar:git-PurpurTracker-"7126ab4"]
at net.minecraft.server.v1_16_R3.MinecraftServer.w(MinecraftServer.java:1141) ~[patched_1.16.5.jar:git-PurpurTracker-"7126ab4"]
at net.minecraft.server.v1_16_R3.MinecraftServer.lambda$a$0(MinecraftServer.java:292) ~[patched_1.16.5.jar:git-PurpurTracker-"7126ab4"]
at java.lang.Thread.run(Thread.java:834) [?:?]

This is hopefully fixed in build Alpha-3 courtesy of AAigars for noticing the issue and the PR to resolve.

It is indeed fixed, thanks!


Fix: Issue #135

save_images() function was hardcoded to handle only 8x8 image samples (batch size of 64)
Now it is calculating the best fitting square to the batch size.
in merge() function the number of channels was hardcoded to handle 3 channels. It might be a problem i.e.
by using RGBA images (4 channels). I fixed it to get the number of channels from the actual generated samples.

originally I wanted to pull only 309ca93, somehow I included other commits too. Unfortunately I'm relatively new to git/github I still need to learn how to use it.

One of the easiest way to do this is

delete your current fork
fork this code again
clone the fork again
edit only what you want to give a PR
push and give me a PR again.

Thanks for the advise!


ISPC codegen backend and floating point values

ISPC backend needs to print floating point values in different form because floating point values are treated as float by default. From ISPC docs:
Updating ISPC Programs For Changes In ISPC 1.5.0

This release adds support for double precision floating point constants.
Double precision floating point constants are floating point number with
d suffix and optional exponent part. Here are some examples:
3.14d, 31.4d-1, 1.d, 1.0d, 1d-2. Note that floating point number without
suffix is treated as single precision constant.

For this reason, ISPC has double_to_string routine to convert floating point values into ISPC compatible form:   https://github.com/BlueBrain/nmodl/blob/ac46928a78cba40fa97900835814cfc765b143ff/src/codegen/codegen_ispc_visitor.cpp#L126
But as observed in #431 and #144, this could result in discrepancies in C++ backend and ISPC backend.
As part of this ticket we need to review the implementation and see if values calculated for units is same/similar to CPP backend.
One option could be hex representation:
Floating-point constants can be specified in one of three ways. First, they may be a sequence of zero or
more digits from 0 to 9, followed by a period, followed by zero or more digits from 0 to 9. (There must be
at least one digit before or after the period).

The second option is scientific notation, where a base value is specified as the first form of a floating-point
constant but is then followed by an "e" or "E", then a plus sign or a minus sign, and then an exponent.

Finally, floating-point constants may be specified as hexadecimal constants; this form can ensure a perfectly
bit-accurate representation of a particular floating-point number. These are specified with an "0x" prefix,
followed by a zero or a one, a period, and then the remainder of the mantissa in hexadecimal form, with digits
from 0-9, a-f, or A-F. The start of the exponent is denoted by a "p", which is then followed by an optional plus
or minus sign and then digits from 0 to 9. For example:

float two = 0x1p+1;  // 2.0
float pi  = 0x1.921fb54442d18p+1;  // 3.1415926535...
float neg = -0x1.ffep+11;  // -4095.

Floating-point constants can optionally have a "f" or "F" suffix (ispc currently treats all floating-point
constants as having 32-bit precision, making this suffix not currently have an effect.)

Tested current use cases in https://github.com/BlueBrain/nmodl/pull/431#issuecomment-73914887 and they seems to be working fine. We need to identify if there is/will be any corner case.

In ISPC codegen currently we are printing double values with a certain accuracy.
See: https://github.com/BlueBrain/nmodl/blob/ac46928a78cba40fa97900835814cfc765b143ff/src/codegen/codegen_ispc_visitor.cpp#L131
This is problematic when constants less than 1e-18 are defined. I came across this when compiling this file: https://github.com/iomaganaris/netpyne/blob/977307b5ccdf4aadd0a6a4181feadfd7a98d5255/examples/coreneuron/m1/mod/kBK.mod#L93
and the printed value in the .ispc file is 0.0000000000000000000d.
I think that we should handle the constant in ISPC as strings, same as the c++ codegen.
I believe it will be fairly easy to do this by converting whatever scientific notation is used to define the constant in the first place to an ISPC format string.
To do this we need to:

Convert e and E to d for double constants
Add d in the end of a double variable if it's not defined with scientific notation
Add f in the end of a float variable if it's not defined with scientific notation
Another option would be using hexadecimal values however I am afraid that this might add discrepancies in the generated results compared to the c++ backend.

I have started some initial work to solve this issue here: https://github.com/BlueBrain/nmodl/tree/magkanar/ispc_string_doubles

@iomaganaris yes, the problem of a fixed accuracy keeps popping up. This could be a solution


For wram0 pointer wcxyz, BANK(wcxyz) does not evaluate to 0 let alone a char

Given the following code:
SECTION "Test WRAM", WRAM0
wc000::

SECTION "Test ROM", HOME
RST_00::
    ld a, BANK(wc000)
    ret

Expected result:
0000: 3e 00 c9 ...
Error message: Value must be 8-bit

#121

The PR's been merged - this issue can be closed.

Fixed in https://github.com/rednex/rgbds/pull/121


Revert on Json RPC error

There is currently no way to get the error from a JSON RPC call if it fails, which is very annoying for both debugging and contract logic.
This is but a suggestion on how to handle it, alternatives that come up to my mind are:

This solution
Returning the whole JSON response, not just the result item.
Adding a bool success to the return values, returning False and the error as string instead of reverting.

@ferranbt I synced with main, so maybe the CI will pass now? I have no idea why there was a segfault


Test projects in QA for key stakeholders

Wind Cowles and Curt Hillegas would like to have test projects available to them in the QA environment, so they can explore the MVP functionality more.
Completion Criteria

[ ] Wind has three projects available to her: 1 as Data Sponsor, 1 as Data Manager, and 1 as Data User
[ ] Curt has three projects available to him: 1 as Data Sponsor, 1 as Data Manager, and 1 as Data User
[ ] All 6 of the above projects have some fixture data
[ ] Matt Chandler is a Data User on all 6 of the above projects

running bundle exec rake projects:create_small_project[<owner>,<name>] six times
updating the projects in the console
project = Project.find(id)
project.title
project.metadata_model
project.metadata_model.data_sponsor = "user"
project.metadata_model.data_manager = "user"
project.metadata_model.data_user_read_only << "mjc12"

6 projects were added by running the rake task and adjusting the roles and then approving the project in the UI.  The approval process was needed before the size accumulator showed correctly.


Update SPA template versions

Fixes aspnet/AspNetCore-Internal#2684.
Just running npm audit fix wasn't enough because there were conflicting versions of babel-eslint. In the end the only way I could figure out to both not have conflicting dependencies and not have any vulnerabilities was to totally remove eslint-config-react-app. @danroth27 for customer experience thoughts on that and @javiercn for engineering concerns it might raise.

That will degrade the config experience for react. There must be a vulnerability free version you can install that doesn’t offer conflicts.

:up::date:

Do we have any warnings left? It would be good to understand that

@aspnet-hello triage https://dev.azure.com/dnceng/public/_build/results?buildId=238895

This comment was made automatically. If there is a problem contact<EMAIL_ADDRESS>I've triaged the above build. I've created/commented on the following issue(s)
https://github.com/aspnet/AspNetCore-Internal/issues/2717


Recovery Services

Our team has some powershell scripts making use of Azure Backup and AzureRmRecoveryServices.
We would like to be able to have this functionality within the Azure CLI.  Is there a reason it's not supported?  What would it take to add this functionality?

Duplicate of #2384.


oci-seccomp-bpf-hook: new at 1.2.0

Motivation for this change
Add a new package for the OCI seccomp BPF hook package.
Things done

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

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

[ ] Tested via one or more NixOS test(s) if existing and applicable for the change (look inside nixos/tests)
[x] Tested compilation of all pkgs that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review wip"
[x] Tested execution of all binary files (usually in ./result/bin/)
[x] Determined the impact on package closure size (by running nix path-info -S before and after)
[x] Ensured that relevant documentation is up to date
[x] Fits CONTRIBUTING.md.

cc @NixOS/podman

@ofborg build oci-seccomp-bpf-hook

@saschagrunert Do you want to try fixing aarch64 build failure before we merge? If not I'm fine with just disabling the package on aarch64.

@saschagrunert Do you want to try fixing aarch64 build failure before we merge? If not I'm fine with just disabling the package on aarch64.

Hm yeah let's exclude it for now. I check if I can fix this in the upstream sources.

@ofborg build oci-seccomp-bpf-hook

@ofborg build oci-seccomp-bpf-hook


Link signatures to wh connections

Under development.
When finished will link signatures in the signature panel to specific WH connections, automatically creating new signature records for new WH connections and allowing the user to assign connections to existing signatures.
This lays the foundation for other developments such as automatically updating the remaining time of the wormhole, and potentially even mass tracking holes.

Nice work!
Important hint: Do not edit anything in `public/js/vX.X.X/.... (like:   public/js/v1.1.1/app/ui/system_signature.js) The js files in here will be overwritten from the /js source when running any Gulp task.

@exodus4d gotcha. I'm having to edit those for testing purposes, but I'll be sure to copy all the changes to the js/app/ folder too.

Please also add a function that deletes signatures in the list and connections on the map together. So if you delete one, it deletes the other.

@Grookshank that's within scope of this PR most likely yes, but feel free to create a separate issue.

I'm having to edit those for testing purposes,
Actuall you don't, check https://github.com/exodus4d/pathfinder/wiki/Build process
but do not get fooled like I was in using the "development" way because you are developing as it doesnt stop the process and waits forever for new changes. Use the production option instead and change the version string in pathfinder.ini in line with what you had in the tag field for the npm command.

Note: I'm no longer playing eve so unlikely to finish this PR. feel free to take code from here or close as you see fit.

@exodus4d since this is implemented in #290 I guess this PR can be closed?

@MorpheusXAUT yeah you are right :) Thanks


should explain why deprecated in README

The README already has a reference to https://github.com/request/request/issues/3142 where everything is explained.


Design subscription options

Prototype some options for adding RSS links to bottom and top of page
Recommendation from study 01

Consider the use of Gov Delivery (free): https://admin.govdelivery.com/session/new


Change 'phone number' to 'phone numbers'

For the Committer

[ ] I made sure that the site looks great and functions perfectly live
[ ] I ran splell check
[ ] I'm ready for these changes to be made live

For the Reviewer
General Review

[ ] All changes/updates requested were intentionally changed or added (no extraneous file or partial updates)
[ ] The live rendered page behaves and looks like intended.
[ ] All links work as intended. (click every link to make sure that it takes the user to the expected place).
[ ] The markdown was rendered to HTML as intended. (Tables look right, code samples are gated properly).
[ ] Any style or CSS changes are tested on multiple different pages to ensure nothing unexpected broke or changed.
[ ] I proof-read the live site (gitbook serve) and there are no oblivious splelling or grammer misteaks.

Gitbook Specific

[ ] Any new documentation pages have been added to the SUMMARY.md file so they are rendered to HTML.
[ ] Any links to other pages within this documentation use relative links ([read more about ...](guides/voice/voicemail.md)).
[ ] Gitbook can install and build the documentation (gitbook install & gitbook build)

Code Specific

[ ] All code has been tested against the live API.
[ ] All code can be run without throwing errors or new warnings.
[ ] All code is formatted correctly and consistently (spaces, tabs).
[ ] All code is legible and idiomatic to the language.
[ ] All code uses sensical method, function, and variable names.
[ ] All code samples use the appropriate syntax highlighting.
[ ] Any examples re-use same phone numbers, uuids, variable names, etc... throughout (IE don't have something like {from: '+19191231234', to: '+19191231234'} unless it's meant to show the same phone number calling/texting itself ).

TL;DR

[ ] I did these things
[ ] I'm ready for these changes to be made live

 Usabilla Feedback Item - In that first sentence, phone number should be plural. :)

Preview Changes at:
http://bw-apdocs-plural-phone-numbers.s3-website-us-east-1.amazonaws.com/


case sensitive routes

i've seen the 2 other posts regarding case sensitive routes and have tried the
Navigo.MATCH_REGEXP_FLAGS = 'i'
but to no avail...  is there any additional info on how/when/where to implement this assignment so that it works?

in case anyone else wanders across this using IIS....  here's what seems to be working for me.  add the block to <system.webservers> in web.config.  the first rule does a redirect to the route, but in lower case.  the second rule does a rewrite to assure that all routes load the default.html page.
<rewrite>
  <rules>
    <rule name="ToLowerCase" stopProcessing="true">
      <match url="[A-Z]" ignoreCase="false" />
      <action type="Redirect" url="{ToLower:{URL}}" />
    </rule>
    <rule name="SPA Routes" stopProcessing="true">
      <!-- match everything by default -->
      <match url=".*" />
      <conditions logicalGrouping="MatchAll">
        <add input="{REQUEST_FILENAME}" matchType="IsFile" negate="true" />
        <add input="{REQUEST_FILENAME}" matchType="IsDirectory" negate="true" />
        <add input="{REQUEST_URI}" pattern="^/(api)" negate="true" />
      </conditions>
      <action type="Rewrite" url="/default.html" />
    </rule>
  </rules>
</rewrite>


Alignment problem with casting from int8 to int32 sized objects

Hi!  Thanks for the excellent library!  It works like a charm.
However, I did find a nasty problem with the way casting was done.  I changed the way the buffering was implemented so it never has to cast from a smaller to a larger alignment (which is what was causing some nasty behavior on an embedded cortext M7.
The only publicly visible change is that I changed the name of the buffer from cliBuffer to cliBuffer32 just to bring awareness to the change, and the data type is a 32-bit data type, so that if there will be a casting warning, it'll be valid, and show up in the caller's code.

Thanks for your contribution! I'll need to think about it a bit more on how it can be integrated. I'm not sure that changing cliBuffer to cliBuffer32 and its type is really necessary. I think it can be left as uint8_t*. When creating, totalSize is already includes all alignments.

Was doing a bit more reading here, and here
There are suggested workarounds, but as far as I can see, it looks like it requires changing the type to an (int *).

Can you post full list of all warnings when you compile current version of master and when you're compiling yours version? I want to reproduce problem on my side and investigate it a bit more.

@ccrome please take a look at fix-alignment branch. I've adapted your changes a bit to be more portable (to be correct for 64bit also). I also decided to include -Werror and -Wall (with others) flags to my compile options and fixed all errors. If you have time, try to test that changes on your hardware.
Waiting for your feedback.

Here is the full list of warnings when compiled with 1d945ea6018c59422f5e306acc04c2f9a6606684:
`
/home/caleb/se/md2022-new-version/00-md2022-top/md2022/embedded-cli/lib/src/embedded_cli.c: In function 'embeddedCliNew':
/home/caleb/se/md2022-new-version/00-md2022-top/md2022/embedded-cli/lib/src/embedded_cli.c:397:11: warning: cast increases required alignment of target type [-Wcast-align]
397 |     cli = (EmbeddedCli *) buf;
|           ^
/home/caleb/se/md2022-new-version/00-md2022-top/md2022/embedded-cli/lib/src/embedded_cli.c:400:18: warning: cast increases required alignment of target type [-Wcast-align]
400 |     cli->_impl = (EmbeddedCliImpl ) buf;
|                  ^
/home/caleb/se/md2022-new-version/00-md2022-top/md2022/embedded-cli/lib/src/embedded_cli.c:410:22: warning: cast increases required alignment of target type [-Wcast-align]
410 |     impl->bindings = (CliCommandBinding ) buf;
|                      ^
/home/caleb/se/md2022-new-version/00-md2022-top/md2022/embedded-cli/lib/src/embedded_cli.c: In function 'initInternalBindings':
/home/caleb/se/md2022-new-version/00-md2022-top/md2022/embedded-cli/lib/src/embedded_cli.c:7:20: warning: unused variable 'impl' [-Wunused-variable]
7 |   EmbeddedCliImpl impl = (EmbeddedCliImpl)t->_impl;
|                    ^~~~
/home/caleb/se/md2022-new-version/00-md2022-top/md2022/embedded-cli/lib/src/embedded_cli.c:803:5: note: in expansion of macro 'PREPARE_IMPL'
803 |     PREPARE_IMPL(cli)
|     ^~~~~~~~~~~~
/home/caleb/se/md2022-new-version/00-md2022-top/md2022/embedded-cli/lib/src/embedded_cli.c: In function 'getAutocompletedCommand':
/home/caleb/se/md2022-new-version/00-md2022-top/md2022/embedded-cli/lib/src/embedded_cli.c:896:27: warning: comparison of integer expressions of different signedness: 'int' and 'size_t' {aka 'unsigned int'} [-Wsign-compare]
896 |         for (int j = 0; j < prefixLen; ++j) {
|                           ^
/home/caleb/se/md2022-new-version/00-md2022-top/md2022/embedded-cli/lib/src/embedded_cli.c:917:39: warning: comparison of integer expressions of different signedness: 'int' and 'size_t' {aka 'unsigned int'} [-Wsign-compare]
917 |         for (int j = impl->cmdSize; j < cmd.autocompletedLen; ++j) {
|                                       ^
/home/caleb/se/md2022-new-version/00-md2022-top/md2022/embedded-cli/lib/src/embedded_cli.c: In function 'printLiveAutocompletion':
/home/caleb/se/md2022-new-version/00-md2022-top/md2022/embedded-cli/lib/src/embedded_cli.c:938:35: warning: comparison of integer expressions of different signedness: 'int' and 'size_t' {aka 'unsigned int'} [-Wsign-compare]
938 |     for (int i = impl->cmdSize; i < cmd.autocompletedLen; ++i) {
|                                   ^
/home/caleb/se/md2022-new-version/00-md2022-top/md2022/embedded-cli/lib/src/embedded_cli.c: In function 'clearCurrentLine':
/home/caleb/se/md2022-new-version/00-md2022-top/md2022/embedded-cli/lib/src/embedded_cli.c:1003:23: warning: comparison of integer expressions of different signedness: 'int' and 'size_t' {aka 'unsigned int'} [-Wsign-compare]
1003 |     for (int i = 0; i < len; ++i) {
|                       ^
/home/caleb/se/md2022-new-version/00-md2022-top/md2022/embedded-cli/lib/src/embedded_cli.c: In function 'writeToOutput':
/home/caleb/se/md2022-new-version/00-md2022-top/md2022/embedded-cli/lib/src/embedded_cli.c:1013:23: warning: comparison of integer expressions of different signedness: 'int' and 'size_t' {aka 'unsigned int'} [-Wsign-compare]
1013 |     for (int i = 0; i < len; ++i) {
|                       ^
/home/caleb/se/md2022-new-version/00-md2022-top/md2022/embedded-cli/lib/src/embedded_cli.c: In function 'historyRemove':
/home/caleb/se/md2022-new-version/00-md2022-top/md2022/embedded-cli/lib/src/embedded_cli.c:1119:13: warning: cast discards 'const' qualifier from pointer target type [-Wcast-qual]
1119 |     memmove((char *) item, &item[len + 1], remaining);
|             ^
`

With funbiscuit/fix-alignment (funbiscuit/fix-alignment), there are zero warnings, and it seems to work without a hitch!

I've merged branch fix-alignment to the master (#3), so I'll close this PR. Thanks again for contributing!


[Component] Tag: Implement intrinsicContentSize

Our UIKit components don't work well when embedded in SwiftUI views which leads to troubles in Polaris
Implementing intrinsicContentSize should correct this issue

Ticket closed because we already have SwiftUI component for tag


fix: Semver tag with prefix validation.

Addresses an issue where 'sous build' fails when tag has a non-numeric prefix. Related to #413

          1 Error

:no_entry_sign:
Please include a CHANGELOG entry.

  Generated by :no_entry_sign: Danger

Codecov Report

Merging #426 into master will increase coverage by <.01%.
The diff coverage is 60%.

@@            Coverage Diff             @@
##           master     #426      +/-   ##
==========================================
+ Coverage   67.36%   67.37%   +<.01%
==========================================
  Files         148      148
  Lines        8755     8739      -16
==========================================
- Hits         5898     5888      -10
+ Misses       2400     2397       -3
+ Partials      457      454       -3

Impacted Files
Coverage Δ

lib/build_config.go
96.07% <0%> (ø)
:arrow_up:

lib/source_context.go
88.46% <100%> (+0.46%)
:arrow_up:

ext/docker/image_mapping.go
75.9% <0%> (+0.85%)
:arrow_up:

config/deploy_filter.go
100% <0%> (+6.25%)
:arrow_up:

Continue to review full report at Codecov.

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


Update SublandingFilterablePage

Update SublandingFilterablePage to match specs - a follow-up to https://github.com/cfpb/cfgov-refresh/pull/1557
Additions

Added text_introduction to the header, and featured_content to content section

Removals

Changes

Testing

Create a SublandingFilterablePage and verify the needed modules are there.

Review

@kave @kurtw  @KimberlyMunoz @schaferjh

Screenshots

Notes

The text intro looks kind of weird as a header item (see above screenshot); is that what we want?

Todos

Checklist

[x] Changes are limited to a single goal (no scope creep)
[x] Code can be automatically merged (no conflicts)
[ ] Code follows the standards laid out in the front end playbook
[x] Passes all existing automated tests
[ ] New functions include new tests
[ ] New functions are documented (with a description, list of inputs, and expected output)
[ ] Placeholder code is flagged
[x] Visually tested in supported browsers and devices
[x] Project documentation has been updated (including the "Unreleased" section of the CHANGELOG)

Yes, that does look odd, which is why I believe the text intro is placed in the content area on the standard sublanding page template, even though it's a header item in concept. Wagtail setup for standard Sublanding pages:

@schaferjh Got it, will do that! I got confused because featured content, as an example, is in the header in BrowseFilterable but in the content in Sublanding, so I thought the text intro might similarly move around.

This is ready for review again

:+1:

:+1: looks good to me


State does not persist when rebooting while still in plotting/syncing phase.

System
Windows 11
v0.4.8
Issue
When in the syncing/plotting phase if the user reboots their computer or the application it is reset to fresh setup and requires the user to start over. Considering how windows is already a longer sync than others this issue is very frustrating (from first hand experience 😆)

This issue is also present in main branch.
It is due to -> when imported mnemonic, or when there is a leftover reward address from previous runs, the app is not setting/updating plot related configurations. Fix is on the way.
Thanks Justin 👍
Please include the log file next time in here too!


how to use prepare_training_set.py?

Can you give your an example

Making sure you have two .txt files that store the paths of images and their features. Using file_path_extractor.py to collect these paths.
Using identity_label_collection.py to get and save the labels. Note that, labels actually are not needed in this work. I keep them for possible future work. If your dataset is not formed as id/image, please modify this code to get correct labels.
Then you have everything ready for creating a .lmdb training set.

python prepare_training_set.py \
-im image/path/.txt \
-f feature/path/.txt \
-l label/path/.txt \
-d destination \
-n file/name

Which model to extracte feature?

You can use any FR packages to extract the feature. I am using SOTA-Face-Recognition-Train-and-Test. You can follow the instruction there to extract the image features.

You can using any of them in the model zoo. I am using ArcFace-R100 trained with glint360k dataset.


make: Add "GOPATH not set"

Most of the projects, they can be built with "make".  After that,
"sudo make install" can install the application.
It is not work for kata-runtime because kata-runtime's make must work
with golang in the environment that default sudo cannot supply it.
But "make install" doesn't need golang.
So add "GOPATH not set" to handle the issue.
Fixes: #1008
Signed-off-by: Hui Zhu<EMAIL_ADDRESS>

/test

/test

LGTM

LGTM
Actually, I found this issue during the kubecon demo rehearsal, and thanks @teawater for solving it.

@jcvenegas
but agree probably wont need to block if non of the GOLANG variables are not set.

Yes, this is my point.


knife client create fails when attempting to upload a public_key

The Chef Server API allows a user to upload a client with a public_key from a pre-made keypair.  knife client create however, makes this difficult.
Regardless of the public_key value in the passed json, a new private_key is returned and the old private_key does not work:
> cat clients/upload_test_3.json
{
  "name": "upload_test_3",
  "public_key": "-----BEGIN PUBLIC KEY-----\nMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAnRWBJ3edLpFdjasMYlY1\nFAMX9kABCjTJfscIozqpShOPuxaNjEgcVbmhg4nsZialoBbOa9O2eDgNm4urEmNS\nWHWz8842/UFJCb2LqingSrDrASKFQ2M7xP7tDL5uqeox0MEM8UUWiTQLVZe6/C7y\nqSYRxm31UeGQMgCZQuUccIU5hf6Ssh9dWlhCNKFGtDM8jxAHZWWBgdFdxAXUukSB\ngPUbMvpBjMbhjCZ4M0PqrktVBCV5Ii4xYaJkx43MmL4v677C4xwd+W6s4pZzr/eN\nZ3Tbt7q2IA3bUmS9fU851nq7wrKBk/Qtr/Z3ef57hz6lG29VEt5JA9gdwgXdUxRn\npwIDAQAB\n-----END PUBLIC KEY-----",
  "json_class": "Chef::ApiClient"
}
> EDITOR="cat clients/upload_test_3.json >" knife client create upload_test_3
Created client[upload_test_3]
-----BEGIN RSA PRIVATE KEY-----
REDACTED
-----END RSA PRIVATE KEY-----
> knife node list -k mykey.pem -u upload_test_3
ERROR: Failed to authenticate to https://api.chef.io/organizations/steve-ocs as upload_test_3 with key /Users/sdanna/src/oc/steve-ocs/mykey.pem
Response:  Invalid signature for user or client 'upload_test_3'

Attempting again with private_key: false in the json also yields an error:
> knife client delete -y upload_test_3
Deleted client[upload_test_3]
> cat clients/upload_test_3.json
{
  "name": "upload_test_3",
  "public_key": "-----BEGIN PUBLIC KEY-----\nMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAnRWBJ3edLpFdjasMYlY1\nFAMX9kABCjTJfscIozqpShOPuxaNjEgcVbmhg4nsZialoBbOa9O2eDgNm4urEmNS\nWHWz8842/UFJCb2LqingSrDrASKFQ2M7xP7tDL5uqeox0MEM8UUWiTQLVZe6/C7y\nqSYRxm31UeGQMgCZQuUccIU5hf6Ssh9dWlhCNKFGtDM8jxAHZWWBgdFdxAXUukSB\ngPUbMvpBjMbhjCZ4M0PqrktVBCV5Ii4xYaJkx43MmL4v677C4xwd+W6s4pZzr/eN\nZ3Tbt7q2IA3bUmS9fU851nq7wrKBk/Qtr/Z3ef57hz6lG29VEt5JA9gdwgXdUxRn\npwIDAQAB\n-----END PUBLIC KEY-----",
  "json_class": "Chef::ApiClient",
  "private_key" : false
}
> EDITOR="cat clients/upload_test_3.json >" knife client create upload_test_3
ERROR: Chef::Exceptions::ValidationFailed: Option private_key must be a kind of String!  You passed false.

Using the ChefFS upload command on the original json, yields the expected results:
> knife upload clients/upload_test_3.json
Created clients/upload_test_3.json
> knife node list -k mykey.pem -u upload_test_3 >/dev/null
> echo $?
0

Feels like this is part of a entire level up of old commands to new ChefFS commands that needs to occur.

Fixing this is part of #3368

What's the status on this? We are attempting to migrate from chef11 -> chef12, and the following methods fail:

restoring a backup created with knife-backup doesn't respect admin: true in the json (but does create the user)
knife client edit from the above method fails with ERROR: Chef::Exceptions::ValidationFailed: Option private_key must be a kind of String!  You passed false. regardless of if I pass private_key as a string or not at all
knife upload results in

/usr/lib/ruby/vendor_ruby/chef/chef_fs/file_system/base_fs_object.rb:121:in `create_child': Chef::ChefFS::FileSystem::OperationNotAllowedError (Chef::ChefFS::FileSystem::OperationNotAllowedError)
	from /usr/lib/ruby/vendor_ruby/chef/chef_fs/file_system.rb:414:in `get_or_create_parent'
	from /usr/lib/ruby/vendor_ruby/chef/chef_fs/file_system.rb:410:in `get_or_create_parent'
	from /usr/lib/ruby/vendor_ruby/chef/chef_fs/file_system.rb:410:in `get_or_create_parent'
	from /usr/lib/ruby/vendor_ruby/chef/chef_fs/file_system.rb:410:in `get_or_create_parent'
	from /usr/lib/ruby/vendor_ruby/chef/chef_fs/file_system.rb:410:in `get_or_create_parent'
	from /usr/lib/ruby/vendor_ruby/chef/chef_fs/file_system.rb:144:in `block in copy_to'
	from /usr/lib/ruby/vendor_ruby/chef/chef_fs/parallelizer.rb:95:in `call'
	from /usr/lib/ruby/vendor_ruby/chef/chef_fs/parallelizer.rb:95:in `process_input'
	from /usr/lib/ruby/vendor_ruby/chef/chef_fs/parallelizer.rb:70:in `each'
	from /usr/lib/ruby/vendor_ruby/chef/chef_fs/file_system.rb:422:in `to_a'
	from /usr/lib/ruby/vendor_ruby/chef/chef_fs/file_system.rb:422:in `parallel_do'
	from /usr/lib/ruby/vendor_ruby/chef/chef_fs/file_system.rb:142:in `copy_to'
	from /usr/lib/ruby/vendor_ruby/chef/knife/upload.rb:60:in `block in run'
	from /usr/lib/ruby/vendor_ruby/chef/knife/upload.rb:59:in `each'
	from /usr/lib/ruby/vendor_ruby/chef/knife/upload.rb:59:in `run'
	from /usr/lib/ruby/vendor_ruby/chef/knife.rb:492:in `run_with_pretty_exceptions'
	from /usr/lib/ruby/vendor_ruby/chef/knife.rb:174:in `run'
	from /usr/lib/ruby/vendor_ruby/chef/application/knife.rb:135:in `run'
	from /usr/bin/knife:24:in `<main>'

Can you advise on a timeframe, or if you need more information because I'm in a unique situation?

note:
EDITOR="cat clients/example_client.json >" knife client create example_client creates a client, but also doesn't respect the admin: true field within the json, and editing that fails as well.

Another issue that we should probably just fix and not block on the knife epic that we're unlikely to ever complete.


revise description of selectivity 24 parameters 5 and 6?

The user manual describes selectivity 24 parameters 5 and 6 as "logistic between 0 and 1":
https://github.com/nmfs-stock-synthesis/doc/blob/553c2aea2df58edbbfb2be74c08ae15d36dc5d4d/9control.tex#L1868-L1869. This has been the language since at least version 3.24.
I think that this should be clarified to make clear that the input for selectivity 24 is a real number which gets a logistic transformation to specify the in initial or final selectivity within the 0-1 range.

@iantaylor-NOAA Would this work?
\item p5 - initial: selectivity at first bin, as logistic between 0 and 1 (for pattern 20). For pattern 24 size selectivity at first bin, a real number which gets a logistic transformation to specify the initial selectivity between 0 and 1.
\item p6 - final: selectivity at last bin, as logistic between 0 and 1 (for pattern 20). For pattern 23 age selectivity at last bin, as absolute value, so can be > 1.0. Warning: do not allow this value to go above 1.0 if the F\_method uses Pope's approximation. It can above 1.0 when F is in exponential form.  When this parameter is above 1.0, the overall selectivity pattern will have an intermediate plateau at 1.0 (according to peak and top), then will ascend further to the final value. For pattern 24 size selectivity at final last bin, as a real number which gets a logistic transformation to specify the final selectivity between 0 and 1.

Also, where it reads "For pattern 23 age selectivity" should that read size selectivity instead or pattern 20? Because it says that pattern 23 and 24 are size and 20 is age in the section header so I'm a little confused.

@e-gugliotti-NOAA, I like the changes, but I think the paragraphs are too long so nobody will read them in full. I tried splitting it up into bullets and merging with the "Notes" section below related to the various codes in<PHONE_NUMBER>5568af6f227c31dd73fa91df55adcb to branch "selex_issue_169" as shown below in screenshot from compiled PDF.
@Rick-Methot-NOAA, could you confirm that we have the descending parameterization described correctly here?

see herehttps://docs.google.com/document/d/11FeYAI1sZDFTurJ05coNQD3miUNAF9YQZzvsskpHx1Y/edit?usp=sharing

refresh her


Backward compactibility broken with markdown raw html issue fix

Laravel Version: 6.10.1
PHP Version: all
Database Driver & Version:

Description:
I think we should consider the way of fixing issue #31065 . With fix applied on this issue will bug persist for all users who have published vendor mail templates before v6.10.0, including users who will migrate from v5 to v6. Many users could publish vendor templates also without touching file panel.blade.php and others...
https://github.com/laravel/framework/issues/31065#issuecomment-572280878

Since the changes which caused this were made as a security patch we unfortunately won't be reverting them. I realise this is unfortunate but please update your templates.

Sorry for jumping in,
@driesvints I do not know  why you are closing reported issues, which are not fixed.
If the Laravel core team thinks this solution is fine, than the upgrade instructions should be updated as minimum.
Current state and handling of this new behavior and the related is not professional, many upgraded projects will be broken and the issues is hard to find.
I tried to post this in https://github.com/laravel/framework/issues/31065, but you already closed this thread.
ps.:
You should update your comment https://github.com/laravel/framework/issues/31065#issuecomment-628685766, because this issue occurs not only in 7.x, 6.x is effected too.
Again: as minimum I expect an explicit notice about this in the upgrade instructions.


Middleware support

Hello,
it is possible with Grapnel to make a middleware?
Like:
// Middleware
router.get('product/*', function(req, event, next) {
    console.log('middleware called');
  next();
});

// Basic route
router.get('product/:id', function(req, event) {
    console.log('route called');
});

As I understand this, then the next callback would just call the next route (if any)?

Yes like the router of Express (or page.js). It just pass through.
Unless I missed something, currently the only solution is to use the match event and check the req.route.

Grapnel automatically calls the equivalent of next() unless event.stopPropagation() is called somewhere in the stack. However, the req object is different for route handlers that are called later on. So the concept of middleware is already there.
The solution is simple: allow req to be accessed by other handlers in the stack.

router.get('/profile/*', function(req, e){
    if(user.auth()){
        req.user = user;
    }else{
        e.stopPropagation();
        // Handle
    }
});

router.get('/profile/:user', function(req, e){
    console.log(req.user.id);
});

I'll add this to the next release.

Excellent, thanks.
Yes, the first solution is more simple and quick to write.

A suggestion, may be coupled with #19
It would be great!

@Nicolab @supermensa
Landed in v0.5.3

It's excellent, thanks :)


Figure out the environment inside any override.ts file

Is this feature request related to a new or existing Amplify category?
auth, storage, api
Is this related to another service?
No response
Describe the feature you'd like to request
There is no context available in the override.ts files.
I was recently trying to reference a function name and in order to do that properly I needed to know to environment name. I wasn't able to neither figure it out nor to reference the stack parameters.
It would be useful if these files are given a context that contains the stack and project parameters.
Describe the solution you'd like
I would like to have a context parameter available during inside the override.ts file
Describe alternatives you've considered
I considered introspecting values already set inside the one object that's being passed to the override.ts, for example, in the case of Auth a parameter of type AmplifyAuthCognitoStackTemplate is available and there are attributes set in it which names contain the environment name like the cognito trigger function names. I wasn't able to do this because the values (of type String) that are already set in that object are some sort of internal reference.
Additional context
No response
Is this something that you'd be interested in working on?

[ ] 👋 I may be able to implement this feature request
[ ] ⚠ This feature might incur a breaking change

Got the same issue here.
I want to set a trigger function to my s3 bucket with the following override function (maybe someone can use this, when migrating his s3 setup)
import { AmplifyS3ResourceTemplate } from '@aws-amplify/cli-extensibility-helper';

export function override(resources: AmplifyS3ResourceTemplate) {
  resources.s3Bucket.notificationConfiguration = {
    lambdaConfigurations : [
      {
        event: 's3:ObjectCreated:*',
        function:'Here I need access for my env specific lambda function',
        filter: {
          s3Key: {
            rules: [
              {
                name: 'prefix',
                value: 'exchange'
              },
              {
                name: 'suffix',
                value: 'xml'
              }
            ]
          }
        }
      },
      {
        event: 's3:ObjectRemoved:*',
        function:'functionDriversAppFileInterfaceHandlerArn',
        filter: {
          s3Key: {
            rules: [
              {
                name: 'prefix',
                value: 'exchange'
              },
              {
                name: 'suffix',
                value: 'xml'
              }
            ]
          }
        }
      }
    ]
  }
}

Of course I can hardcode it, but I guess this doesn't make sense in long term and isn't the idea behind this new override pattern,

@cespin @chris-mds Thanks for explaining your use cases. What all information would be helpful for you’ll to be present in this context apart from env name?

@kaustavghosh06 for me it would be very helpful to access my configured external resources just like we know it from a lambda function:
/* Amplify Params - DO NOT EDIT 	API_APPGRAPHQLAPI_GRAPHQLAPIENDPOINTOUTPUT 	API_APPGRAPHQLAPI_GRAPHQLAPIIDOUTPUT 	ENV 	REGION 	STORAGE_APPSTORAGE_BUCKETNAME Amplify Params - DO NOT EDIT */
So e.g.
amplify update storage
Do you need to access other resources from this project? (Y/n)
Chose the resources you need to access
- Auth ( )
- Function (x)
- Storage ( )
- ...

Chose which function you need to access
- MySuperCoolLambdaFunction (x)

and this will give you all the necessary informations you need to implement in your override function. Without this kind of functionality I don't have a clue, how I can access my functions for the trigger

In short: access to the same info that the we have available when editing the stack's CloudFormation file manually. Mainly the (nested) stack's parameters. The environment is just one of these parameters. Like this we can keep on adding parameters and secrets through the Amplify CLI and reuse them here.

If you need just the environment name and app id, you can access it via
import {
   getProjectInfo,
} from '@aws-amplify/cli-extensibility-helper';

export function override(resources: ...) {
  const projectInfo = getProjectInfo();

}

Thanks @gakinson,
Is this somewhere documented?
I updated my code with the new variable and it works for different env like expected. Maybe someone can use this as a reference. Function overrides trigger for an s3 bucket with prefix 'exchange' and suffix 'xml' in this example. Trigger lambda function gets called for every create and put event when the filter matches. And of course you have to replace the 'xxxx' in the arn with your account id as well as your region and function name.
import { AmplifyS3ResourceTemplate, getProjectInfo } from '@aws-amplify/cli-extensibility-helper';

export function override(resources: AmplifyS3ResourceTemplate) {
  const projectInfo = getProjectInfo()
  resources.s3Bucket.notificationConfiguration = {
    lambdaConfigurations : [
      {
        event: 's3:ObjectCreated:*',
        function:`arn:aws:lambda:YourRegion:xxxxxxx:function:YourSuperCoolTriggerFunctionName-${projectInfo.envName}`,
        filter: {
          s3Key: {
            rules: [
              {
                name: 'prefix',
                value: 'exchange'
              },
              {
                name: 'suffix',
                value: 'xml'
              }
            ]
          }
        }
      },
      {
        event: 's3:ObjectRemoved:*',
        function:`arn:aws:lambda:YourRegion:xxxxxxx:function:YourSuperCoolTriggerFunctionName-${projectInfo.envName}`,
        filter: {
          s3Key: {
            rules: [
              {
                name: 'prefix',
                value: 'exchange'
              },
              {
                name: 'suffix',
                value: 'xml'
              }
            ]
          }
        }
      }
    ]
  }
}

I get a new error I didn't recognized before when using the getProjectInfo.
⠇ Building resource storage/MyStorage🛑 Error: Skipping override due to VMError: Access denied to require 'os'
So I guess this helper function tries to get the env through the os, which is denied by my system. How can I fix this?

I had already tried this @chris-mds, the only difference on my side is that I was overriding the Auth. I got the same error.
I also tried to access the nested stack's parameter using CDK primitives, all the info we need is the params. I got a similar error that said that I didn't have permissions to access 'fs'.
@kaustavghosh06, why can't we import CDK constructs in the override.js files and use them? I was trying to set a Ref this way and I got the error I mentioned above. Similarly, if we need to use the SSM/secret manager resolve feature we cannot because imports and CDK primitives are restricted.
@chris-mds , it's documented here

I am also experiencing the same error when I add the getProjectInfo function to my overrides.ts file in auth. I tried doing a bunch of debugging last night, but didn't get anywhere. Hopefully the Amplify team can help with this one soon.

Hi @akshbhu,
Do you have an ETA for this fix? Without it, we cant migrate amplify to the new versions >= 7.x.x properly

Any ETA? Overrides are not fully useful if the env can't we obtained.

I have not seen a pr for the proposed solution from @akshbhu

Currently fs/ env access is blocked in override files except for custom resources which we use at build time, so getProjectInfo wont work in overrides.ts files.
We are working as an enhancement to provide project/env info in the overrides function.

I have opened pr #9241 to provide project/env into overrides via global.amplify. 🤷

I could get backend setting using require command in override.ts like this:
// This file is used to override the REST API resources configuration
import { AmplifyApiRestResourceStackTemplate } from '@aws-amplify/cli-extensibility-helper';

export function override(resources: AmplifyApiRestResourceStackTemplate) {
  // access to `<project_dir>/amplify/backend/amplify-meta.json`
  const amplifyMetaJson = require('../../../amplify-meta.json');
}

Could this be a work around solution?

Nice work around @ahiratan !
Did you test it? Don't you get any of those errors about not having access to 'fs' or 'os' ?
In amplify-meta.json there are ways to figure out the env name, for example, chopping the stackName in pieces should do the trick. It's still a work around but better than being completely blocked.

Ok, @ahiratan 's work around does the trick. Just tested it.
I could get the environment like this:
    const amplifyMetaJson = require('../../../amplify-meta.json');
    console.log(amplifyMetaJson.providers.awscloudformation.StackName.split("-").slice(-2, -1).pop());

It's obviously a hack but better than nothing.

Good.
As you say this not a good solution and I expect that at least getProjectInfo() will work properly because this function is now exposed to users.
https://github.com/aws-amplify/amplify-cli/blob/v7.6.3/packages/amplify-cli-extensibility-helper/src/index.ts#L2
And also I think it's better that we can use with "Export Amplify project to CDK".
https://docs.amplify.aws/cli/usage/export-to-cdk/

@cespin and @ahiratan thanks for this. I'm using this hack, but it's pretty scary. I'm also using it to get the outputs from other stacks so I can refer to them in my Auth overrides.ts (in this case, I need to reference an EmailConfiguration).
It's wacky to me that such a hack is needed, and I'm still on the fence about just reverting to an older version of the amplify cli. If this hack suddenly stops working I'm in trouble...

Also attempting to migrate my auth resource to v7, it had some custom stuff in cloudformation but now in the override.ts there's isn't any way to access !Ref parameters from other resources in the amplify project.
How can we reference a Lambda function name and function arn? Functions which were added through the amplify CLI.

I'm also getting the error Failed to override [category] due to: VMError: Access denied to require 'os'. when calling the AmplifyHelpers.getProjectInfo() inside the override.ts.
@cespin workaround works👍🏼, but better to sort it out in the amplify cli.

I need to change elasticsearch instances based on env, I cannot detect which env name ,I get always Access denied to require 'os' and somehow the prev workaround does not work anymore ?

As a temporary workaround, you can use a CloudFormation intrinsic function or reference in many cases. The type system might complain, so you may need to use a less strict type instead of the provided type.
For example, let's say I want to include the environment for my rest API in the description:
export function override(resources: any) {
  resources.restApi.description = { 'Fn::Sub': 'REST API for environment ${env}' };
}

Hi @jhockett,
Do you have an example, how to get your approach working on the s3 override inside a more nested property? I have posted my code a bit above.

It seems the workaround to require the amplify-meta.json has stopped working. I was using that to get the environmental info: ARNs, function names etc for use when setting the user pool triggers (in the override method it's the resources.userPool.lambdaConfig property).
This workaround in the auth override.ts file which was previously working correctly is now throwing a syntax error on amplify push about an unexpected token:
I'm not sure why this require statement is the problem now after previously working during several amplify push's.
Line of code causing error (it works when I comment out this require statement):
const amplifyMetaJson = require('../../../amplify-meta.json')
Error message (occurs during amplify push):
Error: Skipping override due to SyntaxError: Unexpected token (2:13)
To get around this I have hardcoded the ARN values and function names inside of my override.ts file. I have different values in the file on git branches for prod/staging.

Hello everyone,
I also needed some environment information in my auth override.
First I tried @ahiratan and @cespin 's workaround. which was to get amplify-meta.json and retrieve properties via some string operations. Which worked locally but when it goes through CI/CD Code pipeline it cause the error mentioned by @aqarcoSys  which was saying Error: Skipping override due to SyntaxError: Unexpected token (2:13) This was caused due to a node version error in the runtime env (in CI/CD).
My Solution
To overcome the above problem I used Amplify Command Hooks, specifically the pre-push hook.
You can read the amplify-meta.json  at that time since the project is already initiated. So read the amplify-meta.json  and retrieve and assign all properties you need to a string variable and create a new file from that for you to use inside your override.ts
Inside pre-push.js
const hookHandler = async (data, error) => {
  const fs = require("fs");
  let amplifyMeta = JSON.parse(
    fs.readFileSync("amplify/backend/amplify-meta.json")
  );
  let resourceName = Object.keys(amplifyMeta.auth)[0];
  let accountId = amplifyMeta.providers.awscloudformation.AuthRoleArn.split(":")[4];
  let region = amplifyMeta.providers.awscloudformation.Region;

  const content = `
  export const authConfig = {
    "amplify_env": "${data.amplify.environment.envName}",
    "resource_name":"${resourceName}",
    "account_id":"${accountId}",
    "region":"${region}"
}
  `;
  try {
    fs.writeFileSync(`amplify/backend/auth/${resourceName}/config.ts`, content);
    process.exit(0);
  } catch (err) {
    console.error(err);
    process.exit(1);
  }
};

In my case, I can read those properties by importing config.ts to override.ts. By this workaround, it is possible to get any values from the amplify-meta.json.
Refer,
Command Hooks Doc

Marvellous suggestion to use hooks @nickwilldoit / @himesh-sv .
I had to modify @himesh-sv 's solution a bit to make it work with my project. Here's a detailed step-by-step of what I did:

Create the file amplify/hooks/pre-push.js and include this:

const fs = require("fs");
const parameters = JSON.parse(fs.readFileSync(0, { encoding: 'utf8' }));
let amplifyMeta = JSON.parse(
    fs.readFileSync("amplify/backend/amplify-meta.json")
);
let resourceName = "YOUR_USERPOOL_RESOURCE_NAME";
let accountId = amplifyMeta.providers.awscloudformation.AuthRoleArn.split(":")[4];
let region = amplifyMeta.providers.awscloudformation.Region;

const content = `export const AuthContext = {
    "environment": "${parameters.data.amplify.environment.envName}",
    "resource_name":"${resourceName}",
    "account_id":"${accountId}",
    "region":"${region}"
}`;
try {
    fs.writeFileSync(`amplify/backend/auth/${resourceName}/config-auth-override.ts`, content);
    process.exit(0);
} catch (err) {
    console.error(err);
    process.exit(1);
}

Remember to change "YOUR_USERPOOL_RESOURCE_NAME" for the value that makes sense for your Amplify project. I did it like this and not like @himesh-sv because in my case I have two items in the array.

Use the new module in your Auth override.ts file:

import {AuthContext} from "./config-auth-override";
...
console.log(AuthContext["environment"]);

Exclude the generated file config-auth-override.ts from version control. I added this to my .gitignore file:

config-*-override.ts

Still a hack, it's just a cleaner hack =D Ideally the final context would be provided as an invocation param.

any update for this issue ?

Hello,
Was there something special to get the suggested hack mentioned from @cespin to work in the CI/CD? I have the pre-push.js file in the amplify/hooks directory and the amplify console CI/CD is not executing the hook. Works locally, but not in console.
Thank you!

Hello @gakinson,
To make it work in Amplify Console can you try doing "amplify push" locally, as mentioned here https://docs.amplify.aws/cli/project/command-hooks/#using-command-hooks-in-amplifys-cicd-pipeline , we need to do "amplify push" locally to upload the hooks. Hope it helps :)

@gakinson , it literally took me ~5 hours to make the pipeline execute the hooks. In my case, I tried different flavours of what @anurag128 is suggesting but it wasn't working out.
I tried different things (and commits and amplify push commands) so I'm not 100% sure what made the pipeline finally execute the hooks but when it finally did it once it never stopped working.
Assuming that you're following the recipe that I described above, try this:

Go to the folder /amplify/backend/auth/YOUR_USERPOOL_RESOURCE_NAME
In there, create the file config-auth-override.ts
Put this inside the file:

export const AuthContext = {
    "environment": "XXX",
    "resource_name":"YOUR_USERPOOL_RESOURCE_NAME",
    "account_id":"000000000000",
    "region":"us-east-1"
}

Commit and push to let the pipeline run

Let me know if it works, I'm curious :)

Hi @gakinson ,
For some reason, Amplify Hook (pre-push.js) is getting overwritten with a default file at the time of running amplify push in the CI/CD pipeline. You can programmatically copy the file and insert it before running amplify push  in your deployment script. First copy your current pre-push.js to your root (better to check in the file) and add the following to your deployment script before amplify push command.
cp pre-push.js amplify/hooks/

Thanks for all the help!
I will test some stuff out today, but I did find that if I ran an amplify push locally for an environment, the contents in the s3 bucket for deployment get updated. I may just try copying the content directly into the S3 deployment bucket to see if that works.

One thing I ended up doing was deploy just the hook change first so that it gets uploaded to the cloud on the end of the deployment. Then I did the change for the auth resource and pushed after.

For anyone still fighting with this:

I had to disable the --simple flag in my amplify.yml file. Otherwise my pre-push hook wouldn't run.
Within the pipeline execution I couldn't get a hold of the amplify-meta.json file so I had to grab the values from env vars. The end result is this:

const fs = require("fs");
const parameters = JSON.parse(fs.readFileSync(0, {encoding: 'utf8'}));
let accountId, region, environment;

try {
    const amplifyMeta = JSON.parse(fs.readFileSync("amplify/backend/amplify-meta.json"));
    accountId = amplifyMeta.providers.awscloudformation.AuthRoleArn.split(":")[4];
    region = amplifyMeta.providers.awscloudformation.Region;
    environment = parameters.data.amplify.environment.envName;
} catch (e) {
    console.warn("No amplify-meta.json found, falling back to environment variables");
    accountId = process.env.CUSTOMER_ACCOUNTID;
    region = process.env.AWS_REGION;
    environment = process.env.AWS_BACKEND_ENVIRONMENT_ARN.split("/").pop();
}
if (!accountId || !region || !environment) {
    throw new Error("Couldn't find accountId, region or environment");
}
const content = `export const BuildContext = {
    "environment": "${environment}",
    "account_id":"${accountId}",
    "region":"${region}"
}`;
console.info("config-override content:", content);
try {
    fs.writeFileSync(`amplify/backend/auth/MY-AUTH-RESOURCE/config-override.ts`, content);
    fs.writeFileSync(`amplify/backend/api/MY-API-RESOURCE/config-override.ts`, content);
    process.exit(0);
} catch (err) {
    console.error(err);
    process.exit(1);
}

The first case with the amplify-meta.json file works in my local environment and the second one with the env vars works for the pipeline.
With that I can do this in the override.ts files:
import {BuildContext} from "./config-override";
...
console.info(BuildContext["environment"]);
console.info(BuildContext["account_id"]);
console.info(BuildContext["region"]);

Any update to this? if we can't get the ARN of amplify generated resource the override feature is useless...🥲

Even importing file from current directory won't work .
For example import X from './XXX.ts' won't work.
Please considering include the directory path of the override.ts, by setting the require.root option in the upstream lib vm2.

Hey folks in the thread :wave: this is now possible with resource overrides for all categories except for API (for now). You can upgrade to the latest CLI (11.0.3 at the time of writing) and upgrade the Extensibility helper - with CDK v2.
Once upgraded, you can add the second argument to the override function amplifyProjectInfo to get the project name and environment name! 🎉
import {
  AmplifyAuthCognitoStackTemplate,
  AmplifyProjectInfo,
} from '@aws-amplify/cli-extensibility-helper'

export function override(
  resources: AmplifyAuthCognitoStackTemplate,
  amplifyProjectInfo: AmplifyProjectInfo
) {
  console.log(amplifyProjectInfo.projectName, amplifyProjectInfo.envName)
}

Closing as this issue is now resolved 🙂

In case anyone is looking into this and don't want to upgrade just yet, take a look at this comment on the use of addPropertyOverride to write plain cfn code into override.ts (using Fn:Sub or Ref with access to the cfn properties like env and so on)
https://github.com/aws-amplify/amplify-cli/issues/12582#issuecomment-1535038019

Hey folks in the thread 👋 this is now possible with resource overrides for all categories except for API (for now). You can upgrade to the latest CLI (11.0.3 at the time of writing) and upgrade the Extensibility helper - with CDK v2.
Once upgraded, you can add the second argument to the override function amplifyProjectInfo to get the project name and environment name! 🎉
import {
  AmplifyAuthCognitoStackTemplate,
  AmplifyProjectInfo,
} from '@aws-amplify/cli-extensibility-helper'

export function override(
  resources: AmplifyAuthCognitoStackTemplate,
  amplifyProjectInfo: AmplifyProjectInfo
) {
  console.log(amplifyProjectInfo.projectName, amplifyProjectInfo.envName)
}

Hi, this is not working for me when deploying the branch to Amplify Hosting, the back-end build fails with an error message :
Cannot read property 'envName' of undefined
Indeed, amplifyProjectInfo is undefined when the override function is called at that time.
What's really strange is that it works fine when building and pushing locally!
I tried both with amplify CLI 11.0.5 and latest (12.1.1).
Any idea of what's wrong?

Hey, I have the same problem with @macamhi.

I paid a little more attention to this comment and I saw that I was trying to use amplifyProjectInfo in an API's override.ts.
Is there any workaround for the API category? Because I can't merge my changes otherwise.

Hey folks in the thread 👋 this is now possible with resource overrides for all categories except for API (for now). You can upgrade to the latest CLI (11.0.3 at the time of writing) and upgrade the Extensibility helper - with CDK v2.
Once upgraded, you can add the second argument to the override function amplifyProjectInfo to get the project name and environment name! 🎉
import {
  AmplifyAuthCognitoStackTemplate,
  AmplifyProjectInfo,
} from '@aws-amplify/cli-extensibility-helper'

export function override(
  resources: AmplifyAuthCognitoStackTemplate,
  amplifyProjectInfo: AmplifyProjectInfo
) {
  console.log(amplifyProjectInfo.projectName, amplifyProjectInfo.envName)
}


Origins for PolkaETH dispatchables need to be verified

https://github.com/Snowfork/polkadot-ethereum/pull/15/files#r454417710

Obsoleted by #79.


Update specs2-core, specs2-junit to 4.12.11

Updates

org.specs2:specs2-core
org.specs2:specs2-junit

from 4.12.3 to 4.12.11.
I'll automatically update this PR to resolve conflicts as long as you don't change it yourself.
If you'd like to skip this version, you can just close this PR. If you have any feedback, just mention me in the comments below.
Configure Scala Steward for your repository with a .scala-steward.conf file.
Have a fantastic day writing Scala!

Ignore future updates
Add this to your .scala-steward.conf file to ignore future updates of this dependency:
updates.ignore = [ { groupId = "org.specs2" } ]

labels: test-library-update, semver-patch

Superseded by #129.


Custom event compile incorrect in child component

I am interested in helping provide a fix!
Yes，need guide
Which generators are impacted?

[ ] All
[X] Angular
[X] HTML
[ ] Preact
[X] Qwik
[ ] React
[ ] React-Native
[ ] Solid
[ ] Stencil
[X] Svelte
[X] Vue
[X] Web components

Reproduction case
https://mitosis.builder.io/?outputTab=G4VwpkA%3D&code=JYWwDg9gTgLgBAbzgVwM4FMDKNrrgXzgDMoIQ4ByAAQCNlgAbAE3SgDpgIB6EYHVYKgoAoUJFiI4ASQB2YZPACGqOAAVFs%2BfEIkylNmy7A5CkcPQAPcfBZFFyBvCLIZAYxicZcbOjBhWABRgpGCoAJSIwnBwrhAyqPAJijB4ALwoGNi4AQhR0XAAFooyTAzoAEIMyFAB6ABu6DIwAFxwAGIQrmgAog1NEbn5BAA0wnnRRSVlAMKTAObotX0tcAlQxnMD4%2Fmx8RBlbAwQcwEUrvPoFMNw9Y0wYdv4o9H4D3lQ6DDVXgHbADzqTQKbbROIdLqoVIIJZ3CKpAB8cGCEFCbDBnTQMP6%2BBBcDis2KCyhWPucARqxgyXQbEmpXQBJkCxJYRxQ1BMkq1WJt36ZMRSRSNOKdM5NR591Z%2BS48LG0QeOLGXAAVEqokq1ED4II4ABZPgQAQqWaMJhwaZkSAyO5qvEycFoa74i7XADyHKqUDg2ohOHI4ptNtkcAAash0NcfXpxXBlEiQiowMoVDgYha4nc4DIIPAqOKIwUTanwOmmqsChAHKbFAxUBAi2BGHgU8jQgG4H9EwBaYxabboiGpABE%2FcxABJxWFB32ZAyiYPaTMLgFx8tJ9PRUOFxUPcuJ1PovC%2Flwuz2FDK8kHswVWMQoIoQOgAO7QADWmezqagH3cNwsrl88CDgASugig%2Fq495gPuSpcEAA%3D%3D%3D
Expected Behaviour
import { useStore } from<EMAIL_ADDRESS>import { Input as PaInput } from '../input'

export default function Stepper(props) {
  const state = useStore({
    handleBlur(event: FocusEvent) {
    },

    handleChange(event: string) {
      console.log('change', event)
    },
  })

  return (
    <PaInput
      onFocus={(event) => props.onFocus(event)}
      onChange={(event) => state.handleChange(event)}
      onBlur={(event) => state.handleBlur(event)}
    />

  )
}

PInput is Mitosis Child Component, onFocus,  onChange,  onBlur is custom event,

In Vue, custom event as props pass to component not @event, child component should also compile to props,
In other framework not correct except "React camp"

<pa-input
  onFocus="onFocus($event)"
  onChange="handleChange($event)"
  onBlur="handleBlur($event)"
></pa-input>

Actual Behaviour
Compile it into the Custom Event writing method of the corresponding framework, not the props writing method
Additional Information
No response

This would be a duplicate of #833. There's a bit of a long discussion around it, and I need to find the time to dive deeper into what a solution would look like.

Yes, they are somewhat similar, but they can also be grouped together. I'm a little curious about whether there is such a usage scenario in the builder sdk, using a Child component in a Component.

Haven't had an issue with the lack of Vue's events feature in Mitosis. It seems like just syntactic sugar/a nice-to-have feature, there's nothing wrong with passing onFocus events to Vue. It's "react-style" but nothing breaks IMO.

@samijaber

@samijaber
No No No, this is not just syntax sugar. This problem prevents us from reusing existing components in mitosis new components, which is a fatal bug. You may not understand the example above, the focus is on the compilation of custom events in child components, not the syntax sugar in #833.
Now using mitosis compiled basic components
Basic component Input
mitosis code
// input.lite.tsx
import { useStore } from<EMAIL_ADDRESS>
export default function Input(props) {
  const state = useStore({
    handleFocus(event) {
      props.onFocus && props.onFocus(event.target?.value)
    },

    handleChange(event) {
      props.onChange && props.onChange(event.target?.value)
    },

    handleBlur(event) {
      props.onBlur && props.onBlur(event.target?.value)
    },
  })

  return (
    <input
      onFocus={(event) => state.handleFocus(event)}
      onChange={(event) => state.handleChange(event)}
      onBlur={(event) => state.handleBlur(event)}
    />
  )
}

compiled vue
<!-- input.vue -->
<template>
  <input @focus="handleFocus($event)" @input="handleChange($event)" @blur="handleBlur($event)" />
</template>

<script>
  import { defineComponent } from 'vue'

  export default defineComponent({
    name: 'pa-input',

    props: ['onFocus', 'onChange', 'onBlur'],

    methods: {
      handleFocus(event) {
        this.onFocus && this.onFocus(event.target?.value)
      },
      handleChange(event) {
        this.onChange && this.onChange(event.target?.value)
      },
      handleBlur(event) {
        this.onBlur && this.onBlur(event.target?.value)
      },
    },
  })
</script>

Usage scenario one
This is how we use the Input component in a vue project. onFocus, onChange, and onBlur are 'react-style' events passed into the component as props, which is no problem.
<!-- Home.vue -->
<template>
  <pa-input
    :onFocus="onFocus($event)"
    :onChange="handleChange($event)"
    :onBlur="handleBlur($event)"
  ></pa-input>
</template>

<script>
  import { defineComponent } from 'vue'
  import { Input as PaInput } from './input.vue'

  export default defineComponent({
    components: { PaInput: PaInput },

    methods: {
      handleBlur(event) {},
      handleChange(event) {
        console.log('change', event)
      },
    },
  })
</script>

Usage scenario two
Use the basic component Input in a new component. In mitosis, a new component Stepper uses the Input component, reusing our own component. Similarly, onFocus, onChange, and onBlur events are passed into the component as props, because that's how they're defined in our child component Input. So far, there is no problem, and then we compile to react and vue.
mitosis code
// stepper.lite.tsx
import { useStore } from<EMAIL_ADDRESS>import { Input as PaInput } from './input.lite'

export default function Stepper(props) {
  const state = useStore({
    handleStepperFocus(event) {},
    handleStepperChange(event) {},
    handleStepperBlur(event) {},
  })

  return (
    <PaInput
      onFocus={(event) => state.handleStepperFocus(event)}
      onChange={(event) => state.handleStepperChange(event)}
      onBlur={(event) => state.handleStepperBlur(event)}
    />
  )
}

compiled react
import * as React from 'react'
import { Input as PaInput } from './input'

function Stepper(props) {
  function handleStepperFocus(event) {}

  function handleStepperChange(event) {}

  function handleStepperBlur(event) {}

  return (
    <PaInput
      onFocus={(event) => handleStepperFocus(event)}
      onChange={(event) => handleStepperChange(event)}
      onBlur={(event) => handleStepperBlur(event)}
    />
  )
}

export default Stepper

compiled vue
<template>
  <pa-input
    @focus="handleStepperFocus($event)"
    @change="handleStepperChange($event)"
    @blur="handleStepperBlur($event)"
  ></pa-input>
</template>

<script>
  import { defineComponent } from 'vue'

  import { Input as PaInput } from './input.vue'

  export default defineComponent({
    name: 'stepper',
    components: { PaInput: PaInput },

    methods: {
      handleStepperFocus(event) {},
      handleStepperChange(event) {},
      handleStepperBlur(event) {},
    },
  })
</script>

The above is the compilation result of react and vue:

In react, onFocus, onChange, and onBlur events are passed into the component as props, which is no problem.
In vue, onFocus, onChange, and onBlur events should also be passed into the component as props, consistent with Usage scenario one, but in the actual compilation result, they become @focus, @change, and @blur, which is a problem.

This could be the cause of the problem:
https://github.com/BuilderIO/mitosis/blob/main/packages/core/src/generators/vue/blocks.ts#L320-L350
Add condition only VALID_HTML_TAGS.includes(node.name) meet this, and other target should also add this.

@samijaber Please take a good look at this. Am I right or wrong?


version our documentaiton

We want to start versioning our docs. Docusaurus supports this. The process for doing it needs to be as automated as possible and documented.
Here's an example of s docusaurus site that supports versioning: https://docs.rancherdesktop.io/

We now support versioning for our docs - https://docs.acorn.io/ . Currently we have 0.3,0.4,0.5,Next versions.


Add the support of repo_tree config - Folder to be deployed

So you want to deploy a subtree of git? As far as I know, it would require the whole repository to generate the subtree commit history, but then I don't really see the point.

No longer possible. This feature was removed.


Text formatting

[x] Italics/emphasis
[x] Bold/strong
[ ] Underline
[x] Strikethrough
[x] Links
[ ] Code/preformatted
[ ] Multiline Code/preformatted
[ ] Blockquotes
[ ] Lists? (Not sure how well this would work for the mini-chat)
[ ] Bullets? (Not sure how well this would work for the mini-chat)
[ ] Images? (Not sure how well this would work for the mini-chat)
[ ] Newlines? (IRCv3 spec in progress: ircv3/ircv3-specifications/issues/208)

Need to look into the correct IRCv3 spec to do this (if it exists), I know some clients use control characters (though not necessarily for all things listed here), may possibly be a post-flash item depending on how compatibility will work. Probably want to use markdown to write it before it goes over the wire at least, but there are a few flavors available.

See: http://modern.ircdocs.horse/formatting.html

Some of this can be implemented with the Flash chat by simply taking advantage of the currently available HTML formatting (, , , , , , , and  (on it's own message), as well as CSS styling I know exist currently)

Correction, <br> does not do anything

Thinking about using this markdown parser: https://github.com/evilstreak/markdown-js
Should use the standard IRC control characters over the wire, but this would be a good for everything else. This will probably be a post-Flash thing, since we are actually expecting to replace Flash chat in the relatively near future. Assigning it to the rewrite milestone since I think it would fit well with the infrastructure changes.

Started this in 7a40759, though without the block-level items, without images, and needing some slight eventual adjustment.
Also: Would probably be good to document these capabilities


[Flaky Test] Disables flaky test_l2_normalization

Description
Disables flaky test_l2_normalization (see #15004).
Checklist
Essentials
Please feel free to remove inapplicable items for your PR.

[x] The PR title starts with [MXNET-$JIRA_ID], where $JIRA_ID refers to the relevant JIRA issue created (except PRs with tiny changes)
[x] Changes are complete (i.e. I finished coding on this PR)
[x] All changes have test coverage:
Unit tests are added for small changes to verify correctness (e.g. adding a new operator)
Nightly tests are added for complicated/long-running ones (e.g. changing distributed kvstore)
Build tests will be added for build configuration changes (e.g. adding a new build option with NCCL)
[x] Code is well-documented:
For user-facing API changes, API doc string has been updated.
For new C++ functions in header files, their functionalities and arguments are documented.
For new examples, README.md is added to explain the what the example does, the source of the dataset, expected performance on test set and reference to the original paper if applicable
Check the API doc at http://mxnet-ci-doc.s3-accelerate.dualstack.amazonaws.com/PR-$PR_ID/$BUILD_ID/index.html
[x] To the my best knowledge, examples are either not affected by this change, or have been fixed to be compatible with this change

@mxnet-label-bot add[CI, pr-awaiting-review]

@perdasilva For temporarily dealing with flaky tests, it is probably better to specify a fixed seed (see https://github.com/zachgk/incubator-mxnet/blob/master/tests/python/unittest/common.py#L117) rather than disable the test completely

@zachgk good idea! I'll try to do that in the future. I'll also spread the word.

@zachgk, @marcoabreu claims this was the procedude in the past. But it made flaky test fixes fall in priority, since this creates no sense of urgency... maybe you would like to bring this up as a topic for discussion on the mailing list?

@zachgk @perdasilva FYI just in case you aren't aware, we used to mark tests with fixed seed as issues to fix. https://github.com/apache/incubator-mxnet/issues/11726

And here's the guideline on fixing flaky tests: https://cwiki.apache.org/confluence/display/MXNET/Fixing+Flaky+Tests