Issues with react-navigation and ViroARSceneNavigator

I'm having a strange issue where after a ViroARSceneNavigator is rendered, then closed, the app becomes unresponsive. No errors are shown in XCode or inside the app. All touches and clicks are not registering and I need to rebuild the app in XCode to unfreeze.
Inside my app I'm conditionally rendering different ViroARSceneNavigators based on the type of experience the user has selected. I also have a back button rendered along with the AR Scene to pop them out of the AR Scene. After using the back button, this is when the freezing happens.
I'm wondering if after removing the ViroARSceneNavigator (which overlays the entire screen) is it still somehow sitting on top of the rest of my app's content and making it unclickable?
Is there a preferred way to disable or uninit an AR Scene?

Also, I'm not sure how much this helps, but here's a video of the issue:
https://cl.ly/2u0h1l1T2Q14
You'll notice I click tabs at the bottom to show different screens, afterward jumping into the AR scene. After I click the back button within ViroARSceneNavigator, the app is frozen and none of my other clicks are registering.
Here is a version of the same workflow, however with the ViroARSceneNavigator removed and replaced with a simple <Text> component. You'll notice on this one, I'm able to navigate back and afterward can continue to move between tabs.
https://cl.ly/032P0s3P1s3u

Hi @bryantAXS,
Thanks for reporting this issue. If you look at our Hello World Project, we "add" and "remove" the ViroARSceneNavigator component programatically and that has worked for us. However, we've not tried it extensively with React-Navigation.
Something that would help us debug would be, if you load up your application in Xcode, navigate to when the app is "frozen" and click on the highlighted button below:

That'll load the user interface into Xcode and you can see what views are rendered in iOS.
It'd be helpful to see if we may be possibly leaving a rogue view behind when you're removing the ViroARSceneNavigator.
ie. In the below view you can see that we have our VRTARSceneNavigator in view w/ a Exit button on top:

Hi @bryantAXS,
Not sure what's going on with Xcode there, but there's a workaround.

Build & run the app again
Navigate to the frozen screen
In the debug bar, instead of selecting the Heirarchy Viewer, click on the Pause button to start the debugger
In the console pane, run the following command in the (lldb) prompt: po [[[UIWindow keyWindow] rootViewController] _printHierarchy], you should see output like: <UIViewController 0x102c0bd40>, state: appeared, view: <RCTRootView 0x102d040d0>
Then run the following command using the memory address of the view: po [0x102d040d0 recursiveDescription]

Here's a screenshot of what you should expect to see:

Ok wow lots of output here.  For this issue, we suspect there might be a rogue view sitting on top of your app (eating your touch events).
Unfortunately, there doesn't seem to be a Viro* view in the hierarchy. Also, with the bugged view hierarchy debugger, that also means we can't use the debug tools to see what view might be on top.
I'm curious if you could re-run the command using a "working" view hierarchy so we can compare the two outputs to see if we can identify a rogue view.
Also, what component/module are you using to switch between your React Native views? Maybe we can build a simpler app in-house to see if we can repro the issue.
Thanks,

Yeah no problem. So here is the hierarchy before I click into the ARScene.  This particular screen is part of a Stack Navigator, which toggles between the "app screens" and the "ar screens".
The "ar screens" component has a conditional to load various types of ViroARSceneNavigators based on the AR experience we're loading.
I'd be happy to share this repo if that helps you, just let me know!

Just added you to the repo.

Hi @bryantAXS,
Thanks for that, it looks like there's some deadlock on the destruction of our ViroARSceneNavigator (that curiously doesn't happen when using normal views). We'll take a look at it, thanks!

Hi @bryantAXS,
Actually, I think I've come up with a workaround, it seems like this is caused when running the app in debug mode while connected to Xcode.
If you open up your app after disconnecting from the debug session, then it no longer deadlocks. Another way you can do this is to click on your target virodemo next to the Stop button -> Edit Schemes -> Run -> Options -> GPU Frame Capture -> Set to Disabled.
Once you do that, your app should no longer freeze after leaving the AR view.
It looks like there's some interaction with Xcode's debugging tools and Viro that's causing this deadlock when destroying the ViroARSceneNavigator.
See image below:

Wow, that was some master-level sleuthing. Great job and thanks!

This was massively helpful to me as well. Thanks @achuvm !!


Add LASSO

Just noticed that the previous PR for the SplitEvaluator stuff didn't incorporate LASSO---this should fix that.
I've also tweaked things to make it easier to apply multiple constraints, by using composition of SplitEvaluators. I'll need to run some benchmarks before this is ready to be merged.

Codecov Report

Merging #3429 into master will decrease coverage by 0.07%.
The diff coverage is 19.35%.

@@             Coverage Diff              @@
##             master    #3429      +/-   ##
============================================
- Coverage     45.74%   45.66%   -0.08%
  Complexity      188      188
============================================
  Files           166      166
  Lines         13113    13124      +11
  Branches        442      442
============================================
- Hits           5998     5993       -5
- Misses         6914     6930      +16
  Partials        201      201

Impacted Files
Coverage Δ
Complexity Δ

src/tree/split_evaluator.h
33.33% <ø> (ø)
0 <0> (ø)
:arrow_down:

src/tree/updater_fast_hist.cc
1.33% <0%> (ø)
0 <0> (ø)
:arrow_down:

src/tree/updater_colmaker.cc
1.5% <0%> (ø)
0 <0> (ø)
:arrow_down:

src/tree/param.h
71.77% <100%> (ø)
0 <0> (ø)
:arrow_down:

src/tree/split_evaluator.cc
22.91% <19.29%> (-5.24%)
0 <0> (ø)

.../dmlc/xgboost4j/scala/spark/XGBoostRegressor.scala
61.34% <0%> (-0.38%)
16% <0%> (ø)

...dmlc/xgboost4j/scala/spark/XGBoostClassifier.scala
62.18% <0%> (-0.32%)
18% <0%> (ø)

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 0cf88d0...f02736b. Read the comment docs.


XY-Grid grid frame footer sticks to bottom and body content doesn't scroll

I'm trying to build a new greenfield app in line with the "Golden Layout" with a header, auto sizing body, and a footer that sticks to the bottom of the page and is pushed when body content extends past the page.
I assume my solution involves the grid-frame class. Here is the simple example that I found in one of Foundation's videos:

That looks great! Real simple- wrap the whole site in the grid frame and all the header and footer elements work properly.
But they don't.
What ends up happening is the content extends past the view and gets cut off without a scroll. In addition the footer is sticky but overlays ontop

The docs' only example is for independently scrolling margins and elements. I don't want that. I want a simple page that has a header, a footer, and content in the body that scrolls the whole window like a normal website.
I've created a Codepen to show the problem. The footer does stick to the bottom of the page, but I can't get it to be pushed when body content extends past the view. In addition, if body content extends past the view- it cuts off without a window scroll. In playing around I was able to get the footer to be pushed, but the window still doesn't scroll.

Hi @RyanSnodgrass 👋,
The scroll issue has been already reported in https://github.com/zurb/foundation-sites/issues/10793 and fixed in https://github.com/zurb/foundation-sites/pull/11085. It should be availaible in Foundation 6.5 Release Candidate 2 (v6.5.0-rc.2).
If you do not want your Footer to stay under the Content when it is growing, then the XY Frame is not the good component for this use case and you should rather rely on the standard XY cell and a custom layout.
Does this help ?

@ncoden Thanks for responding. Looking again it looks like I was trying to make .grid-frame do something it's not meant to.
I'll stop using .grid-frame and instead use this css-tricks link to get my footer sticky.
Thanks again

Also see https://foundation.zurb.com/building-blocks/blocks/sticky-footer-css.html and https://foundation.zurb.com/building-blocks/


Announcement plan for the release

[ ] Post on Slack
[x] Links to Figma Documentation
[x] Links to videos on Degreed

Pending for Monday: post on Slack


IE7: window.Raphael.svg is null or not an object

When I try to use any of the demos in http://raphaeljs.com , IE7 gets an alert message saying "Real time error. Would you like to debug it? Line 3407   Error: 'window.Raphael.svg' is null or not an object"
When I click "No", another alert appears saying "'Raphael' is undefined". Then no javascript works at all.
This happens in all the pages that try to use Raphael, including the official demos.
My current system configuration is:
Windows XP Service Pack 3 installed trough an unattended package.
Internet Explorer 7.0.5730.13
This error persists on different hardware (with the same windows an IE7).
The code involved in the Raphael.js library is the svg module start:
// └─────────────────────────────────────────────────────────────────────┘ \
window.Raphael.svg && function (R) {

Same with IE6/8. But in my case 7 continues to work, and two other - not.

Some of our customers have the exact same problem in IE7 on XP. Couldn't reproduce it by myself.
Any chance, you'll have an look at it?

Seems like this problem happens on modified editions of Windows where Active X related components have been removed or disabled. Clean installations of XP (in my case) worked all right, or manually re-installing such components (not for the average user).
Is there some way for raphael to "detect" when IE is "capable" of working the desired way? at least an error msgbox would do...

I got the same issue with IE8 on Windows Server 2008!


Fixes

The last 4 commits are the ones for the homework, the rest are the classwork that I forgot to merge into master


Add buttons to Flip ActiveItem Horizontally/Vertically in EditMode

Version: 0.0.9
There is no way to flip an item horizontally or vertically without editing manually the .readcom file to set Scale.X = -1 and/or Scale.Y = -1 (or whatever other scale factor except for 0)
Add Flip Horizontally/Vertically buttons for the ActiveStoryItem to Edit Buttons toolbar

Implemented for 0.0.10, note flipped items cause issues with the ZoomTo functionality currently


Support dark theme for report

Do you have concrete examples how it should look like? Are you interested to help with development?

Opened a draft PR regarding this: https://github.com/robotframework/robotframework/pull/4190

PR #4190 seems to be in such a good shape that we'll get dark mode already in RF 7.0. Thanks for contribution @psaikkonen already now and thanks also for @Snooz82 who promised review/finalize the PR.

There has been some style changes related to the theme toggle button, but now this feature is in good enough shape to be considered ready. Styles can still be fine-tuned after the release candidate is out.


Release v1.1.0

Changes (v1.1.0-rc.3 → v1.1.0)
Minor fixes and documentation:

README.md: update chat information (#1210)
Remove outdated meeting.ics (#1211)
features: add a note to avoid confusion about annotations (#1212)

Changes (v1.1.0-rc.2 → v1.1.0-rc.3)
Additions:

config: add scheduler entity (#1188)
config: Add I/O Priority Configuration for process group in Linux Containers (#1191)

Minor fixes and documentation:

config-linux: clarify I/O throttling differences between cgroup v1 and v2 (#1194)
config-linux: chore: Update ociVersion in example (#1199)
releases: use +dev as in-development suffix (#1198)
MAINTAINERS: add Toru Komatsu (utam0k) (#1201)
glossary: s/features document/Features structure/g (#1203)
features: update Example (#1204)
schema: fix definition for ioPriority (#1206)
CODEOWNER: Add Toru Komatsu(@utam0k) to sync with MAINTAINERS (#1207)

Changes (v1.1.0-rc.1 → v1.1.0-rc.2)
Additions

config-linux: add support for rsvd hugetlb cgroup (#1116)
features: add features.md to formalize the runc features JSON (#1130)
config-linux: add support for time namespace (#1151)

Minor fixes and documentation

config-linux: clarify where device nodes can be created (#1148)
runtime: remove When serialized in JSON, the format MUST adhere to the following pattern (#1178)
Update CI to Go 1.20 (#1179)
config: clarify Linux mount options (#1181)
config-linux: fix url error (#1184)
schema: fix schema for timeOffsets (#1193)
schema: remove duplicate keys (#1195)

Changes (v1.0.2 → v1.1.0-rc.1)
Breaking changes (but rather conforms to the existing runc implementation)

config: change prestart hook spec to match reality (#1169)

Deprecations

config-linux: mark memory.kernel[TCP] as NOT RECOMMENDED (#1093)

Additions

cgroup: add cgroup v2 support (#1040)
seccomp: allow to override errno return code (#1041)
seccomp: Add support for SCMP_ACT_KILL_PROCESS (#1044)
Update seccomp architectures to support RISCV64 (#1059)
Add support for SCMP_ACT_KILL_THREAD (#1064)
Add Seccomp Notify support using UNIX sockets and container metadata (#1074)
config-linux: Add Intel RDT CMT and MBM Linux support (#1076)
seccomp: allow to override default errno return code (#1087)
Introduce zos as platform (#1095)
config-linux: add idle option for container cgroup (#1136)
config-linux: add CFS bandwidth burst (#1120)
IDMapping field for mount point (#1143)
schema: add cpu idle (#1145)
add domainname spec entity (#1156)
config-linux: add memory.checkBeforeUpdate (#1158)
seccomp: Add flag SECCOMP_FILTER_FLAG_WAIT_KILLABLE_RECV (#1161)

Minor fixes and documentation

seccomp: fix go-specs for errnoRet (#1042)
MAINTAINERS: Add @cyphar as maintainer (#1043)
Define State for container and runtime namespace (#1045)
Add Giuseppe Scrivano as a runtime spec maintainer (#1048)
Remove superfluous 'an' (#1049)
Add State status constants to spec-go (#1046)
config.go: make umask a pointer (#1058)
Update State structure to use the new ContainerState type (#1056)
docs: Added enclave OCI runtime rune to implementations (#1055)
Change all references from whitelist to allowlist (#1054)
Fix int64 and uint64 type value ranges (#1060)
MAINTAINERS: update vbatts email (#1065)
travis: fix go_import_path (#1072)
Makefile: Fix golint URL used in go get (#1075)
config-linux: fix personality link (#1086)
README: Fix broken link for charter (#1091)
Fix seccomp notify inconsistencies (#1096)
runtime should WARN / ignore capabilities that cannot be granted (#1094)
config-linux: clarify the handling of ClosID RDT parameter (#1104)
defs-zos: [Fix] prevent schema parsers from hitting recursion-loop while resolving types. (#1117)
fix the lifecycle reference in the states listing (#1118)
add youki to implementations.md (#1126)
Switch to GitHub Actions, CODEOWNERS, etc. (#1128)
specify cgroup ownership semantics (#1123)
config-linux: MAY reject an unfit cgroup (#1125)
cgroup ownership: clarify that some files may not exist (#1137)
typo: seccompFD -> seccompFd (#1133)
schema: update README.md (#1083)
schema: make with golang 1.16 (#1084)
Update Windows CPU comments (#1144)
specs-go: export LinuxBlockIODevice (#1103)
config-linux: update type of LinuxCPU.Idle to *int64 (#1146)
fix RFC link (#1153)
Add available LinuxSeccompFlags (#1138)
maintainer updates as per (#1101 (#1150)
GOVERNANCE: correct the Charter URL (#1157)
CODEOWNERS: sync with MAINTAINERS (#1160)

[runtime-spec VOTE] tag ac7bb22 as v1.1.0 (closes Mon Jul 3 06:02:25 AM UTC 2023) (at least 8 of 12 maintainers needed for this resolution to pass):

[ ] @crosbymichael
[ ] @mrunalp
[ ] @vbatts
[ ] @dqminh
[ ] @tianon
[ ] @hqhq
[ ] @cyphar
[ ] @giuseppe
[X] @AkihiroSuda
[ ] @kolyshkin
[ ] @thaJeztah
[ ] @utam0k

Closes #1052

Very happy to see this! :)
I propose to merge the release notes between the different rc's, and split off even-more-minor-than-minor changes into "Documentation, CI & Governance", see below the fold

Merged release notes
Breaking changes (but rather conforms to the existing runc implementation)

config: change prestart hook spec to match reality (#1169)

Deprecations

config-linux: mark memory.kernel[TCP] as NOT RECOMMENDED (#1093)

Additions

cgroup: add cgroup v2 support (#1040)
seccomp: allow to override errno return code (#1041)
seccomp: Add support for SCMP_ACT_KILL_PROCESS (#1044)
Update seccomp architectures to support RISCV64 (#1059)
Add support for SCMP_ACT_KILL_THREAD (#1064)
Add Seccomp Notify support using UNIX sockets and container metadata (#1074)
config-linux: Add Intel RDT CMT and MBM Linux support (#1076)
seccomp: allow to override default errno return code (#1087)
Introduce zos as platform (#1095)
config-linux: add idle option for container cgroup (#1136)
config-linux: add CFS bandwidth burst (#1120)
IDMapping field for mount point (#1143)
schema: add cpu idle (#1145)
add domainname spec entity (#1156)
config-linux: add memory.checkBeforeUpdate (#1158)
seccomp: Add flag SECCOMP_FILTER_FLAG_WAIT_KILLABLE_RECV (#1161)
config-linux: add support for rsvd hugetlb cgroup (#1116)
features: add features.md to formalize the runc features JSON (#1130)
config-linux: add support for time namespace (#1151)
config: add scheduler entity (#1188)
config: Add I/O Priority Configuration for process group in Linux Containers (#1191)

Minor fixes

seccomp: fix go-specs for errnoRet (#1042)
Define State for container and runtime namespace (#1045)
Add State status constants to spec-go (#1046)
config.go: make umask a pointer (#1058)
Update State structure to use the new ContainerState type (#1056)
Fix int64 and uint64 type value ranges (#1060)
Fix seccomp notify inconsistencies (#1096)
runtime should WARN / ignore capabilities that cannot be granted (#1094)
config-linux: clarify the handling of ClosID RDT parameter (#1104)
defs-zos: [Fix] prevent schema parsers from hitting recursion-loop while resolving types. (#1117)
fix the lifecycle reference in the states listing (#1118)
specify cgroup ownership semantics (#1123)
config-linux: MAY reject an unfit cgroup (#1125)
cgroup ownership: clarify that some files may not exist (#1137)
schema: update README.md (#1083)
schema: make with golang 1.16 (#1084)
Update Windows CPU comments (#1144)
specs-go: export LinuxBlockIODevice (#1103)
config-linux: update type of LinuxCPU.Idle to *int64 (#1146)
Add available LinuxSeccompFlags (#1138)
config-linux: clarify where device nodes can be created (#1148)
runtime: remove When serialized in JSON, the format MUST adhere to the following pattern (#1178)
config: clarify Linux mount options (#1181)
schema: fix schema for timeOffsets (#1193)
schema: remove duplicate keys (#1195)
config-linux: clarify I/O throttling differences between cgroup v1 and v2 (#1194)
releases: use +dev as in-development suffix (#1198)
features: update Example (#1204)
schema: fix definition for ioPriority (#1206)
features: add a note to avoid confusion about annotations (#1212)

Documentation, CI & Governance

MAINTAINERS: Add @cyphar as maintainer (#1043)
Add Giuseppe Scrivano as a runtime spec maintainer (#1048)
Remove superfluous 'an' (#1049)
docs: Added enclave OCI runtime rune to implementations (#1055)
Change all references from whitelist to allowlist (#1054)
MAINTAINERS: update vbatts email (#1065)
travis: fix go_import_path (#1072)
Makefile: Fix golint URL used in go get (#1075)
config-linux: fix personality link (#1086)
README: Fix broken link for charter (#1091)
add youki to implementations.md (#1126)
Switch to GitHub Actions, CODEOWNERS, etc. (#1128)
typo: seccompFD -> seccompFd (#1133)
fix RFC link (#1153)
maintainer updates as per #1101 (#1150)
GOVERNANCE: correct the Charter URL (#1157)
CODEOWNERS: sync with MAINTAINERS (#1160)
Update CI to Go 1.20 (#1179)
config-linux: fix url error (#1184)
config-linux: chore: Update ociVersion in example (#1199)
MAINTAINERS: add Toru Komatsu (utam0k) (#1201)
glossary: s/features document/Features structure/g (#1203)
CODEOWNER: Add Toru Komatsu(@utam0k) to sync with MAINTAINERS (#1207)
README.md: update chat information (#1210)
Remove outdated meeting.ics (#1211)

I agree that a more human-friendly changelog would be nice, and if someone wanted to do the work to create one, we should probably integrate/use it

I've made a proposal in the comment above, here again in plain-text for easy of use. It's based on appending the various iterations to rc1 (per section), and then splitting off "Documentation, CI & Governance" (because "Minor fixes" ended up being a giant heap, many of which weren't spec-relevant; obviously there are other subjective choices that could be made in grouping/ordering/etc.)

### Breaking changes (but rather conforms to the existing runc implementation)
  * config: change prestart hook spec to match reality (#1169)

### Deprecations
  * config-linux: mark memory.kernel[TCP] as NOT RECOMMENDED (#1093)

### Additions
  * cgroup: add cgroup v2 support (#1040)
  * seccomp: allow to override errno return code (#1041)
  * seccomp: Add support for SCMP_ACT_KILL_PROCESS (#1044)
  * Update seccomp architectures to support RISCV64 (#1059)
  * Add support for SCMP_ACT_KILL_THREAD (#1064)
  * Add Seccomp Notify support using UNIX sockets and container metadata (#1074)
  * config-linux: Add Intel RDT CMT and MBM Linux support (#1076)
  * seccomp: allow to override default errno return code (#1087)
  * Introduce zos as platform (#1095)
  * config-linux: add idle option for container cgroup (#1136)
  * config-linux: add CFS bandwidth burst (#1120)
  * IDMapping field for mount point (#1143)
  * schema: add cpu idle (#1145)
  * add domainname spec entity (#1156)
  * config-linux: add memory.checkBeforeUpdate (#1158)
  * seccomp: Add flag SECCOMP_FILTER_FLAG_WAIT_KILLABLE_RECV (#1161)
  * config-linux: add support for rsvd hugetlb cgroup (#1116)
  * features: add `features.md` to formalize the `runc features` JSON (#1130)
  * config-linux: add support for time namespace (#1151)
  * config: add scheduler entity (#1188)
  * config: Add I/O Priority Configuration for process group in Linux Containers (#1191)

### Minor fixes
  * seccomp: fix go-specs for errnoRet (#1042)
  * Define State for container and runtime namespace (#1045)
  * Add State status constants to spec-go (#1046)
  * config.go: make umask a pointer (#1058)
  * Update State structure to use the new ContainerState type (#1056)
  * Fix int64 and uint64 type value ranges (#1060)
  * Fix seccomp notify inconsistencies (#1096)
  * runtime should WARN / ignore capabilities that cannot be granted (#1094)
  * config-linux: clarify the handling of ClosID RDT parameter (#1104)
  * defs-zos: [Fix] prevent schema parsers from hitting recursion-loop while resolving types. (#1117)
  * fix the lifecycle reference in the states listing (#1118)
  * specify cgroup ownership semantics (#1123)
  * config-linux: MAY reject an unfit cgroup (#1125)
  * cgroup ownership: clarify that some files may not exist (#1137)
  * schema: update README.md (#1083)
  * schema: make with golang 1.16 (#1084)
  * Update Windows CPU comments (#1144)
  * specs-go: export LinuxBlockIODevice (#1103)
  * config-linux: update type of LinuxCPU.Idle to *int64 (#1146)
  * Add available LinuxSeccompFlags (#1138)
  * config-linux: clarify where device nodes can be created (#1148)
  * runtime: remove `When serialized in JSON, the format MUST adhere to the following pattern` (#1178)
  * config: clarify Linux mount options (#1181)
  * schema: fix schema for timeOffsets (#1193)
  * schema: remove duplicate keys (#1195)
  * config-linux: clarify I/O throttling differences between cgroup v1 and v2 (#1194)
  * releases: use +dev as in-development suffix (#1198)
  * features: update Example (#1204)
  * schema: fix definition for ioPriority (#1206)
  * features: add a note to avoid confusion about annotations (#1212)

### Documentation, CI & Governance
  * MAINTAINERS: Add @cyphar as maintainer (#1043)
  * Add Giuseppe Scrivano as a runtime spec maintainer (#1048)
  * Remove superfluous 'an' (#1049)
  * docs: Added enclave OCI runtime rune to implementations (#1055)
  * Change all references from whitelist to allowlist (#1054)
  * MAINTAINERS: update vbatts email (#1065)
  * travis: fix go_import_path (#1072)
  * Makefile: Fix golint URL used in go get (#1075)
  * config-linux: fix personality link (#1086)
  * README: Fix broken link for charter (#1091)
  * add youki to implementations.md (#1126)
  * Switch to GitHub Actions, CODEOWNERS, etc. (#1128)
  * typo: seccompFD -> seccompFd (#1133)
  * fix RFC link (#1153)
  * maintainer updates as per #1101 (#1150)
  * GOVERNANCE: correct the Charter URL (#1157)
  * CODEOWNERS: sync with MAINTAINERS (#1160)
  * Update CI to Go 1.20 (#1179)
  * config-linux: fix url error (#1184)
  * config-linux: chore: Update `ociVersion` in example (#1199)
  * MAINTAINERS: add Toru Komatsu (utam0k) (#1201)
  * glossary: `s/features document/Features structure/g` (#1203)
  * CODEOWNER: Add Toru Komatsu(@utam0k) to sync with MAINTAINERS (#1207)
  * README.md: update chat information (#1210)
  * Remove outdated meeting.ics (#1211)

Squashed the ChangeLog (Thanks to @h-vetinari)

ping @opencontainers/runtime-spec-maintainers
Please vote (or explicitly abstain)

👋 Hi, @crosbymichael @dqminh @kolyshkin @mrunalp @thaJeztah
You have the last right to vote to release the new version v1.1.0 of the OCI Runtime Spec. Please vote for it.

Let me merge the spec v1.1 PR and this blog PR simultaneously:

https://github.com/opencontainers/opencontainers.org/pull/133
(ETA: 2023-07-20)

https://github.com/opencontainers/runtime-spec/releases/tag/v1.1.0


With Jetson Nano

Question:
Is this compatible with Jetson Nano? I am planning to use it for navigation with ROS noetic. Could you please confirm whether there are any known issues or considerations for running this package on Jetson Nano? Additionally, I'm curious about the potential resource intensity of the package on Jetson Nano. Is the package known to be particularly heavy in terms of computational or memory requirements?
I appreciate your assistance!

Hi!
We have used on Jetson Xavier and Jetson Orin and it was not using too much resources. We could run other operations such as running yolo or image segmentation networks while running elevation mapping on the same device.
So I guess it should be also okay on nano.


Missing requirements.txt from sdist

Currently requirements.txt is missing from the sdist on PyPI. As a result building from the sdist fails as it cannot find requirements.txt in setup.py
Would it be possible to add requirements.txt to MANIFEST.in or similar to ensure the sdist includes this file when created?

Here is the CI log with relevant traceback below:
Traceback (most recent call last):
    File "<string>", line 2, in <module>
    File "<pip-setuptools-caller>", line 34, in <module>
    File "/home/conda/staged-recipes/build_artifacts/jinja_partials_1712849747428/work/setup.py", line 16, in <module>
      with open('./requirements.txt', 'r', encoding='utf-8') as fin:
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  FileNotFoundError: [Errno 2] No such file or directory: './requirements.txt'
  error: subprocess-exited-with-error

Hey @jakirkham I just committed a change that I think should fix this issue. Can you double check please? The project literally have one requirement, jinja2, so I figure I can just put it directly into the requirements section for the setup.py.
Also: @Colelyman does the commit I just added (reference just above) fix your problem?

Folks, I'm also considering upgrade this to use pyproject.toml and pure wheels rather than the setup.py. Would that help or hinder your desire to add it to conda (which, thank you!)?

Thanks @mikeckennedy! I think that should fix the problem, to be completely sure a new release would need to be issued.
I can look into other conda packages that use pyproject.toml, and report back.

Done: https://github.com/mikeckennedy/jinja_partials/releases/tag/v0.2.1

Thanks! Any chance you would be able to push it to PyPI? The v0.2.0 release from GitHub tags worked, but it was the PyPI v0.2.0 was where the requirements.txt wasn't found.

Hi @Colelyman Yes, I just pushed it. Thanks!

The sdist has the fixed setup.py and I also published the wheel but it doesn't include the setup.py file. Let me know if this causes you any trouble.

Thanks @mikeckennedy, looks like it worked! (See here: https://github.com/conda-forge/staged-recipes/pull/26017)
On a different note, would you like to be added as a maintainer of the package? If so, you can comment something like "I would like to be a maintainer" in the PR and I will add you in.

Thanks Mike! 🙏
That seems like a reasonable fix
Moving to pyproject.toml is a good idea generally as it is more declarative. This works well on the Conda side as well

Great, thanks @jakirkham I already pushed the changes for the pyproject.toml variant. But I left the setup.py there. If you do not need an sdist, then I can remove the setup.py too.

Sounds good. I was just trying to keep anything people may have been working with stable. I'll drop the setup.py eventually. Thanks.

Yeah for sure. Appreciate that Mike
Yeah the sdist is useful on the Conda packaging side as it is a source artifact with a stable checksum
The default GitHub archives are generated on demand. So their checksums can change between downloads. Using sdists from PyPI avoids that issue

Got it. The latest version on PyPI has the fixed sdist we talked about here. Thanks!

Yep the fix works great for us. Thank you! 🙏


Address NuGet compliance issues

Addressed copyright as that is the only check that would fail validation.

:shipit:


No module named 'utils.compute_overlap'

Hi,
When I try to run the train.py, I got error saying no module named 'utils.compute_overlap'.
It's weird that there is a 'compute_overlap.pyx' file in 'utils' forlder.
Should we just rename the suffix as 'py' and use this file?

ok, I figure it out by installing Cython packages.

what did you exactly install can you share I can't seem to get it to work

I found a simple solution
created a setup.py file with
"""
from distutils.core import setup
from Cython.Build import cythonize
setup(ext_modules=cythonize("utils/compute_overlap.pyx"))
"""
python setup.py build_ext --inplace
works for me. I'm using python 3.7

This answer (or similar answer) works for me. I think the code has been changed as follows:
from distutils.core import setup
from Cython.Build import cythonize
import numpy
setup(
ext_modules=cythonize("utils/compute_overlap.pyx"),
include_dirs=[numpy.get_include()]
)
You should run the following command in the Terminal first:
python setup.py build_ext --inplace

As of today, the setup.py described above is included in the repository so all that's needed is to run the build command


[Feature] Home / Index page for navigation

Can add Website home page with list of contents / index page with groupings and 1 line brief summary of topics.

Yes please!
I previously tried experimenting with Groc, which is a "fork" of the Docco tool that I've been using. It generates a nicer table of contents at least. Unfortunately, it mangled some of the formatting in the existing examples, so I reverted that change.
Technically, the website content is managed outside of this repo, at https://github.com/msfroh/msfroh.github.io/blob/main/generate_website.sh


[Extensibility Bug] IntrastatChecklistDE.Report.al - OldTariffNo

The OldTariffNo is declared as Code[10]. In the trigger OnAfterGetRecord() of the dataitem("Intrastat Jnl. Line"; "Intrastat Jnl. Line") the "Tariff No." of type Code[20] is being assigned to Code[10]. Therefore the OldTariffNo should be extended to Code[20].

Thanks for reporting this. We agree, and we’ll publish a fix asap, either in an update for the current version or in the next major release. We will update this issue with information about availability.


Rule API

This is not to report a bug but to trigger a discussion on the rule API.
Looking at http versus ssh, we see that the API is not consistent. With http, one can only allow a single http server running on a fixed port. With ssh, one can allow multiple ssh servers on any ports (thanks to the ports parameter). It would probably be good to have a common set of parameters (like the one to change the port) for all the service specific rules. Note: ssh currently uses ports while masquerade uses dport.
Also, nftables::rules::http is a class while nftables::rule is a defined type. So one cannot instantiate nftables::rules::http multiple times, as it would be natural to do to declare multiple http servers.
So, changing to a defined type and adding parameters, one could declare multiple http servers this way:
nftables::rules::http { 'foo':
    # note: port not needed as we use the default
    comment => 'foo web server',
}
nftables::rules::http { 'bar':
    port    => 8000,
    comment => 'bar web server',
}

When using nftables features like comments or counter or logging (i.e. log prefix), it could make sense to have multiple individual rules instead of a single rule with multiple ports. This would provide more flexibility.
Comments?

I think it's a good idea to unify the interface, as long as it makes sense. Using a define is a good idea, and I also guess that multiple ports should be possible. Then one can choose to instantiate it once or multiple times for multiple ports.

The reason is more historically:

This mostly copies what our shorewall module does, since we migrate over
in shorewall we also started with rule files, that were able to be included from other modules (and so a class to be able to be included multiple times)
At some point somebody added alternative ports to the sshd module (same server listens on multiple ports) and this required multiple ports to be opened, thus the change to that class
This got copied over to nftables module

Anyway, what I fear with a unique interface is, that we just have many defines, that exactly does the same (what would be the difference between ssh and http in the end? not much that I see, except the default port(s), which is mostly already the case. And on the other hand we would loose to include possibility if we move it to a define. What is the advantage of a define?
And what would we do with double rules? E.g. both opening port 80?
Just coming up with some questions, not necessary, that they are important.

I fully agree that there is not much difference between the ssh and http classes in the end.
IMHO, the main question is who would use such classes. Only internally (via $in_ssh and $in_http) or by the end user?
Will end users rather use nftables::rule for the added flexibility (counter, log, comment...)?
I like very much the nftables::set API because it exposes what can be done via strictly controlled parameters. Typos can be caught early on.
This set API is similar to the puppetlabs-firewall rule API:
firewall { '100 allow http and https access':
    dport  => [80, 443],
    proto  => 'tcp',
    action => 'accept',
}

We could imagine the same kind of API for nftables::rule...

Other modules will definitely use them, since e.g. an apache module just want to have http(s) opened and done.
But we can definitely rather advocate to use more the nftables::rule or nftables::set functionality by exposing them more prominently in the README etc.

I like the idea of seeing classes in the rules directory as public interfaces people can use. I'd rather not clutter nftables with zillions of in_* parameters. As discussed in other MR, I agree with you on leaving there just flags for rather widely used services like sshd. Actually in our internal documentation we're encouraging people to look in rules before writing their own nftables::rule as it's less error prone.
I agree though that perhaps it makes sense indeed to make the interface homogenous across rule classes, where it makes sense. For instance, I don't see the point in allowing the user to customise the ports in nftables::rules::dhcpv6_client. If you really have to do that perhaps it's when it's time to use nftables::rule instead. I don't have a preference over using a defined resources to allow multiple instances, other than saying that this approach would break the current interface and that's rather bad. In short, as a middle-ground, I'd just leave them as classes providing at least a port parameter allowing several of them when it makes sense.

Giving it another thought, perhaps it does not even make sense to allow customising ports for the rules pre-encapsulated in classes.
I personally see classes in rules/ and services/ to have a mapping to /etc/services. So for instance if I wanted to allow access to the http service, it'd be safe to assume that there is a nftables::services::http (to be used if I'm not allowing all outgoing traffic) and a nftables::rules::http (if I'm).
On the other hand, if I wanted to run a http daemon on a non-standard port I'd use nftables::rule directly.
That's my point of view of course.

IMHO, there are two different decisions to be made here.
First, do we improve the nftables::rule API to be similar to nftables::set? Pros: avoids typos with typed parameters. Cons: quite a few parameters to add.
Second, what to do with nftables::rules::* and nftables::servcies::*. They can stay as they are, be changed from classes to defined types, get more consistency (e.g. wrt ports), get more "options" like counter or log, get less options (so removing the port to have a simple mapping with /etc/services).
Note: nftables allows named ports so nftables::rules::http could simply contain tcp dport http accept .

My opinion:

First, do we improve the nftables::rule API to be similar to nftables::set? Pros: avoids typos with typed parameters. Cons: quite a few parameters to add.

I wouldn't do anything. It's not just adding parameters but adding validation to make sure that the combination can be translated into the syntax of the rules. More complex maintainability and testing for maybe a low gain. Perhaps a nftables::richrule or similar in the future. We're working on better validating and showing errors in case of wrongly formulated rules which should help better visualising human mistakes.

Second, what to do with nftables::rules::* and nftables::servcies::*. They can stay as they are, be changed from classes to defined types, get more consistency (e.g. wrt ports), get more "options" like counter or log, get less options (so removing the port to have a simple mapping with /etc/services).

Basically, https://github.com/duritong/puppet-nftables/issues/17#issuecomment-733047927. No ports but perhaps a common parameter to enable counters sounds like a sweet spot :) Anything beyond basic functionality that we can easily encapsulate (like log rules) should be left to the user who can always do complex and custom stuff with nftables::rule.
Just my 2 cents.

In addition to counter, there is also a very cool feature that could be useful for these "standard" services under nftables::rules::* and nftables::servcies::*.
For instance for ssh, instead of having:
tcp dport 22 accept

one can use:
tcp dport 22 ct state new log prefix "[nftables] Accepted: " accept

This assumes a ct state established,related accept somewhere and will log every incoming connection (new connection only, not every packet).

I think it's a good idea to add logging for certain rules, but I think it should be optionally.
As we have a ct state established,related accept rule on top of our rule set those rules will only handle ct state new. But declaring this explicitly is also a good idea.

It's true that with.
firewall { '100 allow http and https access':
    dport  => [80, 443],
    proto  => 'tcp',
    action => 'accept',
}

there has allways been parameters missing or not quite correct.
Having said that I like the nftables::richrule or nftables::match maybe.
Validation is so much better and easier in puppet these days that its easy to do something that is useful.
Given it will be compatiable with nftables::rule nftables::richrule will not have cover every obscure corner case.

Another option perhaps is another module that really does try to support the abstraction of nftables, iptables, ....
A full time job maintaining that however.

I fully agree that a 100% coverage of all the possible nftables rules in a high-level API is a huge amount of work.
What I have in mind is a reduced API for a subset of all the possible rules since we can always give the complete rule line as a string when needed
What is the minimum API that would be needed to cover, for instance, 90% of all the rules used in realistic scenarios?
Let's take for instance an API with the following parameters: protocol (as tcp or icmp), type (for icmp), saddr, daddr, sport, dport, counter (boolean), fate (as accept or drop) and comment. Would it be useful?

If we agreed on a simple interface like the one proposed by Lionel, kind of covering simple uses of the firewall type and respecting whenever possible the name of the parameters, I'd be happy to propose a nftables::simplerule. It could just encapsulate generating a content using a template to be fed to a nftables::rule and use Puppet types for input validation. We could also state clearly in the documentation of the class that the aim is to provide a firewall-like interface covering basic cases and that for more advanced configurations the way to go is to use nftables::rule directly.

IMHO iifname should be covered as well. And if we don't cover NATing with this interface I propose nftables::simpleinetrule or something like that, then it's clear that the rule doesn't cover NATing. Else I would propose to support simple NAT possibilities too (even if a simple server doesn't use that).

I've written a simple PoC and sent is as a merge request so we can discuss a bit about the interface, etc.
It does not take into account your latest comment, @keachi. I'd be happy to focus only on inet rules to be honest. I doubt somebody configuring NAT stuff would even profit from a simplified interface. Dunno. The more complexity we put on the class the more maintenance we'll have to support.

I am absolutely fine with multiple interfaces covering different aspects (inet vs. NAT). We don't need one to rule them all, for that we can pass in the rule string.
And if folks are seeing to repeat themselves with certain interfaces, they will come up with (another) abstraction layer, which is fine. Keeping the single interface simple and focused is much more important.


Migration summary

We are trying to move all the code out of EarthSim into upstream packages.

[ ] analysis: Becomes an example on examples.pyviz.org
[ ] gssha: Likely abandoned
[ ] io: Move readers and writers to GeoViews
[ ] grabcut: Becomes an example on examples.pyviz.org
[ ] xmsmesh: Becomes an example on examples.pyviz.org
[ ] annotators/links/streams/models: Moving to HoloViews, GeoViews, or Bokeh

It would be nice to capture the GSSHA example reproducibly, but it's a lot of work?

We can't get GSSHA running on CI anymore so I have no idea.

@sdc50, would the GSSHA environment be something someone at your side could look at?

@philippjfr Can you update which of these tasks has been completed?


Timeout not implementable

I just want to understand what i am doing wrong :/
string webRequest(std::string path)
{
try
{
http::Request request{ serverUrl + path };
const auto response = request.send("GET", std::chrono::seconds(2)); // <--- Error pointed (When i remove the chrono, it works but the request never get any timeout, so never catched
std::cout << "RESPONSe : " << response.status;
return std::string{ response.body.begin(), response.body.end() };
}
catch (const std::exception& e) {
std::cout << e.what();
return ""; // Failed, don't crash but return no response.
}
}
Error (active)	E0304	no instance of overloaded function "http::Request::send" matches the argument list

To set timeout you should use this format:
std::chrono::milliseconds{ 100 }
Use braces instead of parentheses

To set timeout you should use this format: std::chrono::milliseconds{ 100 }
Use braces instead of parentheses

Thanks you so much i waited 1 year for your help


Radar Video Maps

"Video Maps" are the actual maps drawn on the screen of a radar scope. They provide guidance with various aspects of traffic flow (provided that you know what each of the lines is actually denoting) that are very helpful with working the real-world traffic. At least in the United States, video maps are eligible deliverables under the Freedom of Information Act (FOIA), and thus, many of them have already been requested and made available to the public. And I know people who have done it, and could even put in requests as needed for other FAA airports that aren't already out there. With some relatively easy data reformatting, these video maps could be drawn in this simulator.
The only question is what kind of lag it would create to have to redraw so many lines each time the screen is moved. For people like me, who are in it for the realism, it would represent a huge step up in realism. Hopefully it can be achieved without significantly affecting performance... I'm not sure, but wanted to put this up here for discussion. Once one is added, then we can really figure out whether or not it is feasible for a web-based simulator.
Video Map Examples:
(i've got a bunch of them)

^Detroit TRACON (D21)

^Seattle TRACON (S43)

^New York TRACON (N90) - Kennedy, Newark, Islip and Liberty areas all overlaid

LIVE DEMO! erikquinn.github.io/atc/b/rvm-demo
SOMEHOW, it seems that the performance is a total non-issue. I'm not seeing any lag whatsoever, which is quite surprising, and makes me wonder if there's maybe something in the other parts of the canvas drawing code that are taking longer than they should, because this is a LOT to draw (there's 10,702 lines), and it did it without any complaints.

I really like the new 'toggle fixes' button. I'll see if I can find similar radar maps for the european airports,

@Fechulo that would be legit. It may be tough to get your hands on them, and I'm sure it varies from country to country. I know the UK doesn't even let people listen to live atc, and therefore would probably never share the video maps. But other countries hopefully would. Not sure; but I do know that I can get a lot of US ones, and what I can't get, I can request through FOIA and have within a month or two.

I doubt I'll be able to find real life video maps, but vatsim (virtual air traffic simulator) usually provides controllers with 'things' similar to these maps.

gotcha, that makes sense. That's my go-to place for RVMs too, they've got pretty much everything we need.


fix: DEV-3101: Fix sving text for paragraph regions

Hi @nicholasrq!
This PR was created in response to a PRs in upstream repo:

https://github.com/heartexlabs/label-studio-frontend/pull/811

/git merge develop


Fix default state in edit mode

Steps:

default category name:

rename category

press save

press edit again and got prev value

Mine


Timer trigger caution text typo

@kpstolk : Thanks for your contribution! The author, @, has been notified to review your proposed change.

That was quick, most likely my smallest PR ever 😂


feat: simple rotation

What's in there?
Closes https://github.com/pinojs/pino/issues/1323
This module provides a basic Pino transport to write in log files.
Files are automatically rolled based on frequency and/or size.
Supported options:

frequency: either 'daily', 'hourly', or a number of ms
size:  a string with a number and a unit ('g', 'm', 'k'), or a number of MB
file: path to the log folder and file. Numbers will be appended to the final files.
extension: custom string you can append after the file number
mkdir: automatically creates missing folders

How to test?
Here is a very simple snippet to write in log every 100ms, and rotate them every 10s:
// file logger.js
// run with `node logger`

const { join } = require('path')
const pino = require('pino')

const transport = pino.transport({
  target: '.',
  options: { file: join('logs', 'log.json'), frequency: 10e3, mkdir: true }
})

const logger = pino(transport)

let i = 0
setInterval(() => logger.info(`frame #${i++}`), 100)

Then you can play with the various options.

@feugy what plans do you have for this? If you're not planning to continue working on this can you add me to the repo so I can take over?

Hi @simoneb. I was distracted recently, but I'd like to keep working on this until completion.

Sounds good @feugy, thanks! If at any point you need any help or input, shout!

Can we expect to see a release soon now that the sonic-boom changes have been merged and released? looking forward to try this out in Fastify 4.x

Hello @DRoet!
Absolutely. I have some bandwidth tomorrow, so I will iterate on that PR, and probably publish a beta version on NPM.

Shout if you need any support here


numpy array_equal implementaton

hi folks, could the array_equal function be implemented with @numba.jit ?
it compare shapes are equal, and if all values are equal
https://github.com/numpy/numpy/blob/v1.17.0/numpy/core/numeric.py#L2299-L2339

@rspadim thanks for submitting this! I will label it as a feature request accordingly. Also here is a minimal reproducer to show that it is indeed not yet implemented.
from numba import njit
import numpy as np

@njit
def func(a,b):
    np.array_equal(a, b)

c = np.zeros((3,4))
d = np.zeros((3,4))

func(c,d)

As a temporary workaround, maybe you could use the following construct?
from numba import njit
import numpy as np

@njit
def func(a,b):
    return np.all(a == b)

c = np.zeros((3,4))
d = np.zeros((3,4))

print(func(c,d))

Also, it should be possible to implement this using @overload --- here is some documentation to get started, should you feel the inclination:
https://numba.pydata.org/numba-doc/dev/extending/overloading-guide.html

just include the shape sizes check too
@njit
def func(a,b):
    if a.shape!=b.shape:
        return False
    return np.all(a == b)


Warning qunit not compatible with node >= 12

npm WARN engine<EMAIL_ADDRESS>wanted: {"node":">=0.6.0 < 0.12.0"} (current: {"node":"0.12.0","npm":"2.5.1"})

That's not our package, please file an issue with kof/node-qunit.
If you would like to use raw QUnit on Node.js, than you want the package named "qunitjs" instead.

ah yes, I see that now, though I'm not using node-qunit directly (and it isn't listed as a dependent of anything on npm) -- any idea where its coming from?
"devDependencies": {
"argsparser": "0.0.6",
"del": "^1.1.1",
"gulp": "^3.8.11",
"gulp-concat": "^2.3.3",
"gulp-jshint": "^1.7.0",
"gulp-qunit": "^1.2",
"gulp-rename": "^1.2.0",
"gulp-replace": "^0.4.0",
"gulp-scp": "0.0.3",
"gulp-symlink": "^1.1.0",
"gulp-task-listing": "^0.3.0",
"gulp-uglify": "^0.3.1",
"qunit": "^0.7",
"qunitjs": "^1.14.0",
"yargs": "^3.4.5"
}

The "qunit" package on npm is the node-qunit package. As James said, use qunitjs for the raw qunit.

got it, thanks much


Removed id="map" from template wrapper

This div id is dupe'd in the DOM by most of the examples.

I'm wrong. It's just dupe'd on filter example.

Coverage remained the same at 98.523% when pulling 79c9d78797fc1fbccbaade9a6d2fc322cc757500 on walker-patch-1 into cff754c4503ab944217cba3ab439b6cba8fb7b92 on master.


datapre-redis: REST API definition for datapre-redis microservice should follow the best practice

The Currently datapre-redis microservice uses the 3 REST API for:

Upload file: /v1/dataprep
Get file: /v1/dataprep/get_file
Delete file: /v1/dataprep/delete_file

And these 3 APIs have the same request method: -X POST.
Basically, REST API provides different request methods for different purpose, such as -X POST for submitting the information in form, -X GET for getting something, -X DELETE for deleting something and -X PUT/PATCH for updating something. Please refer to define-api-operations-in-terms-of-http-methods for more detail.
Therefor, the best practice for REST API is that there should be only one REST API /v1/dataprep with different request method for uploading, getting and deleting files.

@zhlsunshine,
You are right. We are working for this.

It's fixed by #444.


GLB/GLTF Animated Mesh Stretching

Godot version
3.5-rc4
System information
Win 10/64 NVIDIA GeForce GTX 1060/PCIe/SSE2
Issue description
I have an animated mesh that stretches too far and deforms improperly. It's coming into Godot via Blender 3.1.2 & GLTF.
Here's what the GLB looks like in MS Windows 3D Viewer and Blender. The wings are round and full, and the points on the back are somewhat evenly spaced.

In Godot, the wings completely lose their shape at certain points in the animation.

Weight painting looks normal:

In another part of the animation, 3D Viewer and blender are again normal. The wing points are evenly spaced. Notice the last one, and how far away from the tail it is, and how it's lined up with the other wing points.

In Godot, the wing tips stretch back way too far, coming to the same level as the tail. Notice the last wing point is stretched very far compared to the other wing points.

To troubleshoot it, we tried enabling or disabling all of these import/export options, but none had any effect.
Blender

Animation/Optimize Animation
Animation / Export Deformation Bones Only
Skinning / Include all bone influences

Godot

Octehedral compression
Compress weights
Animation Optimizer

We ran into #56705 as enabling the >4 bone weight influences option on blender export caused Godot to strip out the material slot. Disabling that option brought the material slot back in 3.5-rc3. rc4 loads the material slot just fine with all influences enabled.
Here's the blender original, which is the best.

Here's what allowing only 4 bone weights looks like (export to glb and reimport to blender).

Here's enabling >4 bone weight influences and reimporting to blender. Much smoother:

I tried an FBX export and just got garbage.
Steps to reproduce

Load MRP
Add a light.
View the animation in the animation player.
See the deformed wings around 1.6s and the stretched wings worst at 2.1s.
Load the GLB in MS 3D Viewer or Blender and compare.

Minimal reproduction project
This file is exported from blender with the >4 weights enabled with only the one problem animation. Other animations have either minor or no stretching.
Wyvern_standroar.zip

Can you test the quality with

this option is off. If the animation is hefty use the compression option.

Godot 3 does not support 8 weights. You can try the recent bone weight truncation patch.

#61912 is in the latest rc, which does load the mesh w/ materials, rc3 does not.
The dialog you're showing is in Godot 4? I'm using Godot 3.5-rc4/5. I went through the optimizer options on the Import panel and none have any effect, on or off. In the animation player I used both the optimize animation and clean up animation functions under Edit. Neither had any effect on the distorted wings or stretched wings.
I took the model into Godot 4 alpha 10 and it looks normal. Neither issue is present. The unoptimized, uncompressed animation looks great. The optimized version looks like stop motion, even if I increase it to 60fps, and doesn't look good at all. The compressed version has a few artifacts in the way the legs move. Neither the optimized or clean functions distorted the wings, it just caused artifacts in leg or head position.
Alright, we're fine as we're going to begin porting to Godot 4 soon anyway, but Godot 3 does have a problem.
We can close this or keep it open depending on if you want to fix Godot 3.
Thanks.


Enable AndroidLifecycleInstrumentation by default

The AndroidLifecycleInstrumentation is not enabled by default, and I think that's a mistake. This instrumentation helps to report startup time and also makes available the name of the "current screen" so that it can be added as an attribute on other data (spans/events).
This can/should probably wait until the changes that @LikeTheSalad is proposing around the instrumentation API have settled a little big, but I feel like most users definitely want this instrumentation turned on by default.

I think this should be the case now.

Yeah, using the demo app I was able to confirm that both the ActivityLifecycleInstrumentation and the FragmentLifecycleInstrumentation are being installed...and although we don't have any Fragments currently, the activity instrumentation seems to be working and putting the appropriate events on the activity lifecycle spans:


Add LNDg to blitz.debug.sh

Adds LNDg app to blitz.debug.sh for troubleshooting. Separates log output for gunicorn.service for easy debugging.

Tests good with LNDg installed or not installed. See output for my main node here: https://l.termbin.com/yuh7


containerd fails to add a disk mount on Windows

When the Azure disk CSI plugin is used with containerd in k8s, containers fail to start. This is due to containerd's mount path resolution not supporting the way the CSI plugin sets up the mount. It is likely this same bug will impact other CSI plugins that mount disks into containers.
The CSI plugin creates a symlink to the disk's volume GUID path (something like \\?\Volume{1d7d818b-f43f-4c7a-90b5-68c0a9db2063}\), and passes the symlink path to containerd as a container mount. containerd then attempts to resolve the link by calling pkg/os.ResolveSymbolicLink, which is currently implemented as calling filepath.EvalSymlinks. This ends up returning ERROR_PATH_NOT_FOUND, however, as filepath.EvalSymlinks attempts to locate a drive letter for the disk, which fails due to no drive letter being assigned.
Requiring the CSI plugin to assign a drive letter to each disk is not feasible, as that would limit to 26 total disks for each node. Instead, we should fix ResolveSymbolicLink on Windows to properly resolve the path in this case.
Tracked by kubernetes/kubernetes#99342
The best fix here is likely to switch to opening the mount source and calling GetFinalPathNameByHandle to get the "real" path to the mount source.
We could attempt to fix this in filepath.EvalSymlinks, but the behavior of this function has been unpredictable on Windows in the past, and recently there has been discussion of replacing and deprecating it (golang/go#37113, golang/go#42201). This exact issue has even been filed as a bug on Go (golang/go#39786), but we don't know when (or if) a fix will be available in Go. So we should try to fix this in containerd for the time being, to unblock disk mounts for Windows containers.
As a side note, the CSI plugin in question works with moby, because moby doesn't call filepath.EvalSymlinks for path resolution. So another option here would be just removing the call to ResolveSymbolicLink altogether from the Windows path.

I have submitted a PR to fix this for containerd 1.4 (containerd/cri#1634). As such, the PR is to the old containerd/cri repo's release/1.4 branch. As this issue is blocking active use of this CSI plugin, my priority is to fix it in 1.4, and then submit a fix to master afterwards.

As this issue is blocking active use of this CSI plugin, my priority is to fix it in 1.4, and then submit a fix to master afterwards.

Sorry, this is not consistent with our release management policy. Please get your patch merged in the master and then cherry-pick to v1.4.

@AkihiroSuda thanks for the reminder! I've submitted a PR to master now: #5411.

@kevpar Resolving?


Added image fallback and site icon/title to <GhPostBookmark>

no issue

adds {{get-setting "key"}} helper to make settings available in templates without needing a backing class
updated <GhPostBookmark> component

if post feature image isn't present, fall back to site cover image
add site icon (if present) and title to the details line

Codecov Report

Merging #2401 (ce0d3e5) into main (436b445) will decrease coverage by 0.10%.
The diff coverage is 0.00%.

@@            Coverage Diff             @@
##             main    #2401      +/-   ##
==========================================
- Coverage   39.54%   39.44%   -0.11%
==========================================
  Files         602      603       +1
  Lines       24003    24005       +2
  Branches     4159     4160       +1
==========================================
- Hits         9493     9469      -24
- Misses      14510    14536      +26

Impacted Files
Coverage Δ

app/helpers/get-setting.js
0.00% <0.00%> (ø)

app/components/gh-html-iframe.js
45.45% <0.00%> (-38.64%)
:arrow_down:

app/helpers/gh-price-amount.js
70.00% <0.00%> (-20.00%)
:arrow_down:

app/components/gh-site-iframe.js
46.00% <0.00%> (-4.00%)
:arrow_down:

app/controllers/offer.js
44.23% <0.00%> (-0.93%)
:arrow_down:

app/components/gh-file-uploader.js
93.84% <0.00%> (-0.77%)
:arrow_down:

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 436b445...ce0d3e5. Read the comment docs.


:sparkles: add check if its missing a newline at EOF

I resolved my git and did properly the #27 PR 😄

Thanks!


New command: teams channel membership set

Usage
teams channel membership set
Description
Updates role of the specified user in the specified Microsoft Teams private channel.
Options

Option
Description

--teamId [teamId]
The Id of the Microsoft Team.

--teamName [teamName]
The name of the Microsoft Team.

--channelId [channelId]
The Id of the Microsoft Team channel.

--channelName [channelName]
The name of the Microsoft Team channel.

--userName [userName]
User's UPN (user principal name, eg. johndoe@example.com).

--userId [userId]
User's Azure AD Id.

-r, --role <role>
The role to be assigned to the new user: Owner, Member. Default Member.

--membershipId [membershipId]
Channel membership Id of a user.

Additional Info
Docs: Update member in channel
Discussed in #3168

If all is fine for this command, then I would like to work on this one.

Hi @milanholemans,
thank you for your submission. Highly appreciated. I am going to assign this command to @Jwaegebaert if you do not mind since you are already assigned to #3176 and #3174.
Thank you,
Patrick

Thank you for the spec @milanholemans! Looking at the command's name, it seems like we're updating user in a channel. As we're updating user's role, I'd suggest that we have another look at the command's name to clarify it. As you can see in the relevant API, we're posting to user's membership not to user, so an equivalent name could be teams channel usermembership set or teams channel membership set.
Looking at the API, it seems like we don't require information about the user because it's already encapsulated in the membership. Is that correct?
Since we're updating the role, shouldn't it be required?
I'd also suggest that we remove the -i and -n shorts because they're ambiguous as to which ID and name they're referring to.

@waldekmastykarz I have adjusted the specs with your feedback.
About the command name, I can agree with you in this.
Looking at the API, it seems like we don't require information about the user because it's already encapsulated in the membership. Is that correct? Or is the user's ID/name an alternative way to specify membership ID so that user's don't need to look it up themselves and instead we do it for them in the background?
This is exactly what I had in mind. I think it increases the ease of use considerably if the user can just specify a user name or user Id, and we retrieve the corresponding membership Id in the background.
As we're expecting users to pass the membership ID, how are we going to let them retrieve it? Shouldn't we have a command for that?
I planning to return this membership id in the teams channel user list command. This is also the only way to get this id as far as i know. Do you think this is fine or should we create an extra new command to get the membership Id of a specific user?

Hi,
I would provide both options like suggested in the initial spec. We are doing the same with team and channel. Processing the info per id will always be more performant. The username is an option for conveniance.
Cheers

This is exactly what I had in mind. I think it increases the ease of use considerably if the user can just specify a user name or user Id, and we retrieve the corresponding membership Id in the background.

Excellent. Let's make this clear in options' description that we expect the user to specify either userName, userId or membershipId.
As we've updated the command name to teams channel membership set, let's rename membershipId to id so that we're not repeating the context and are consistent with other commands.

@waldekmastykarz: this will become the teams channel membership list command: https://github.com/pnp/cli-microsoft365/issues/3176

So that's my point: as the command is not named membership, unless I know the underlying API and the data it returns, I wouldn't know that I can get membershipId by listing channel's users. This is why I suggested to expand the documentation for membership set to instruct our users that they can use the teams channel user list command to get membershipIds.

The teams channel user list is returning memberships. Therefore, since we are renaming all "teams channel user" commands with "teams channel membership", we should do the same for the "teams channel user list"


Prevent rushstack.io root URL from redirecting to "/pages"

Commit 5c07aeea400f4f2097ae88db385d337ace7c6551 is a bulk file rename.
You only need to review dad7fe58bc3f5819bbb34d95aa7601034c51c3ef
CC @elliot-nelson @iclanton

Interesting... Seems OK to me, although this change prevents you from having any page that isn't handled by the "doc" plugin.
(I think this is probably a fine configuration for rushstack.io, but is not a good boilerplate for e.g. rushjs.io and api-extractor.com, which have landing pages.)

Seems OK to me, although this change prevents you from having any page that isn't handled by the "doc" plugin.

I don't think that's the case -- for example the community/events pages render fine.  My understanding is that Docusaurus's router mixes all the different URLs together without any trouble as long as no two pages have the same URL.


Incorrect binding to unsigned integers

Even though DuckDB supports unsigned integer, this crate still binds values as signed integers, causing overflow error:
use duckdb::*;
fn main() {
    let conn = Connection::open_in_memory().expect("open db");
    conn.execute_batch(
        r"CREATE TABLE a (x UBIGINT);").expect("create table");
    conn.execute("INSERT INTO a(x) VALUES (?)", params![0xFFFFFFFFFFFFFFFFu64]).expect("insert");
}

Output:
thread 'main' panicked at 'insert: DuckDBFailure(Error { code: Unknown, extended_code: 1 }, Some("Conversion Error: Type INT64 with value -1 can't be cast because the value is out of range for the destination type UINT64"))', src/main.rs:7:81
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace

This behavior might be inherited from Rusqlite, because I know Rusqlite does something like this.

This happens only with 64 bit uints


timestamp dont work when snake cases are true

my schema:
export class UsersTable extends BaseTable {
  readonly table = "users";
  columns = this.setColumns((t) => ({
    email: t.text().email().primaryKey(),
    name: t.text(),

    ...t.timestamps(),
  }));
  relations = {
    userOcJt: this.hasMany(() => UserOcJtTable, {
      nullable: false,
      columns: ["email"],
      references: ["userEmail"],
    }),
    ownercompany: this.hasMany(() => OwnercompanyTable, {
      through: "userOcJt",
      source: "ownercompany",
    }),
  };
}

BaseTable:
export const BaseTable = createBaseTable({
  schemaConfig: zodSchemaConfig,
  snakeCase: true,
  columnTypes: (t) => ({
    ...t,
    autoId: () => t.identity().primaryKey(),
    text: () => t.text(0, Infinity),
    // enums
    applicationStatusEnum: () =>
      t
        .enum("application_status", ["pending", "approved", "rejected"])
        .default("pending"),
    reapplicationStatusEnum: () =>
      t
        .enum("reapplication_status", ["na", "allowed", "reapplied"])
        .default("na"),
  }),
});

migration command i ran:
nr db g init

Try upgrading rake-db. You're using 2.20.17, and there have been a couple snake-case related fixes after that: https://github.com/romeerez/orchid-orm/blob/06ea6addceb515d9327af8185663520238644121/packages/rake-db/CHANGELOG.md?plain=1#L40-L50

The issue indeed is related to an outdated version, because timetampsSnakeCase from the error log does not exist anymore and isn't used anywhere internally.
Make sure that rakeDb is imported from orchid-orm/migrations, remove rake-db from package.json if it exists, update the orchid-orm and orchid-orm-schema-to-zod packages.


Create and publish a multi-arch docker image supporting linux/amd64 and linux/arm64

Requires #3

Addressed in https://github.com/devatherock/java-to-native/pull/9


feature support compressed JSON format data for broker load

Proposed changes
Issue Number: close #xxx
We have a large amount of data stored in HDFS in GZIP-compressed JSON format, and currently Doris does not support loading compressed JSON format data.
Upgrade points:

Upgraded the NewJsonReader (in new_json_reader.cpp) to construct the _decompressor during its initialization based on the compression type specified during load, and then use the _decompressor to initialize the LineReader.
Refactored the _create_decompressor() method of CsvReader by extracting the code that constructs the _decompressor based on _file_compress_type or _file_format_type. This code was moved to the Decompressor class as a factory method create_decompressor(). This allows the code to be reused by NewJsonReader.

Further comments
If this is a relatively large or complex change, kick off the discussion at<EMAIL_ADDRESS>by explaining why you chose the solution you did and what alternatives you considered, etc...

run buildall

reopen

run buildall

pls add test cases for this feature

Thank you for your code review. I've encountered some data diff while doing large-scale data load tests, and it seems that there are issues with the scan range generation on the FE side.


UI req

By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.

@shimish2 @andaaron can we close this PR?

Yes, let's close this. It is covered by other API changes.


Nuget tool installer should default to 4.x or 4.3.x at a minimum (not 4.3.0)

The hosted pool will precache  n major or n major.minor combos.
If you default to 4.3.x then you can update the hosted pool cache to carry a version with a bug fix (patch version) needed and it won't cause everyone else that created a build definition before you updated to the new version to get cache misses.
https://github.com/Microsoft/vsts-tasks/blob/master/Tasks/NuGetToolInstaller/task.json#L27
See the node installer and the samples for the pattern that will encourage cache hits while retaining stability

Why isn't the NuGet Tool Installer defaulting to 4.7.0? Should there be a checkbox "Default to the latest available NuGet.exe version" that should be checked by default?
Every time I add a NuGet Tool Installer task I have to manually switch it from 4.3.0 to 4.7.0.


dvclive: update sidebar order

Per https://github.com/iterative/dvc.org/pull/3994#discussion_r1000150493

Just stopped in and saw the deploy error, the logs say the build went fine and then Heroku timed out. I triggered another deploy and I'm keeping an eye on it to see if it does it again.


fix: Typographical Errors Across Documentation

This PR fixes multiple typographical errors and improves consistency across the documentation files.
Changes:

Corrected spelling mistakes:

anvd → and
remanining → remaining
untill → until
refrence → reference
subsitution → substitution
evauluate → evaluate
and other minor typos.

Affected files include:

README.md
src/algebra/field/README.md
src/codes/README.md
src/encryption/asymmetric/rsa/README.md
src/encryption/symmetric/des/README.md
src/hashes/poseidon/README.md
src/kzg/README.md

Nice work @cypherpepe! I appreciate you :)
Seems like we have some broken items in the CI pipeline now.
See: https://github.com/pluto/ronkathon/actions/runs/12394958398/job/34604002218?pr=166
Want to help clean these up?

Running CI again!

Thank you for your contribution @cypherpepe
Please come back again!!! We love to see you here :)


Player's drop shadow is positioned incorrectly after first person model is enabled

See attached screenshot. It is positioned correctly at world load, but shifts to an incorrect position once the first person model is enabled and has rendered. Tested on Fabric for Minecraft 1.19.2.

probably an bug that's added since the new API that's added for compatibility with Traveler's Backpack but can confirm that if you swing your arm/turn your body fully towards a location, the drop shadow also moves to be behind the player.


HTML

HTML
User Story
As a bootcamp student
I want the prework notes to be structured on a webpage
so that I can easily find and read information
Acceptance Criteria
GIVEN a Prework Study Guide website
When I visit the website in my browser
THEN I see four boxes titles HTML, CSS, Git, and JavaScript with associated notes listed

HTML elements now include HTML, CSS, Git and JavaScript sections with unnumbered lists in each.


Support nginx conf

Codecov Report
Attention: 255 lines in your changes are missing coverage. Please review.
:exclamation: Your organization needs to install the Codecov GitHub app to enable full functionality.

Files
Coverage Δ

cmd/client/commandv2/convert/nginx/utils.go
100.00% <100.00%> (ø)

cmd/client/commandv2/create/createhttpproxy.go
86.17% <100.00%> (-1.06%)
:arrow_down:

pkg/filters/builder/builder.go
100.00% <100.00%> (ø)

pkg/filters/builder/requestadaptor.go
83.41% <ø> (ø)

pkg/filters/proxies/httpproxy/pool.go
82.97% <ø> (ø)

pkg/filters/proxies/httpproxy/proxy.go
93.75% <ø> (ø)

pkg/filters/proxies/httpproxy/wspool.go
57.07% <ø> (ø)

pkg/filters/proxies/loadbalance.go
85.71% <ø> (ø)

pkg/filters/proxies/server.go
100.00% <ø> (ø)

pkg/filters/proxies/serverpool.go
76.84% <ø> (ø)

... and 8 more

... and 2 files with indirect coverage changes
:loudspeaker: Thoughts on this report? Let us know!


Timeseries without nans

Pull request
Please confirm that this pull request has done the following:

[x] Tests added
[x] Documentation added (where applicable)
[x] Example added (either to an existing notebook or as a new notebook, where applicable) (N/A)
[x] Description in CHANGELOG.rst added

Adding to CHANGELOG.rst
Please add a single line in the changelog notes similar to one of the following:
- (`#XX <https://github.com/openscm/scmdata/pull/XX>`_) Added feature which does something
- (`#XX <https://github.com/openscm/scmdata/pull/XX>`_) Fixed bug identified in (`#YY <https://github.com/openscm/scmdata/issues/YY>`_)

Going via pandas seems a slow way to do this but I'm not sure there's a better option...

There are slower places...
How often do you intend to use this functionality?

How often do you intend to use this functionality?

Not enough that I care about speed for now. So I would say we merge then deal with optimisation another day.


Wassef911

@wassef911 this is cool style, thanks for this!

Since this is a boilerplate, I don't have plan to add too much styling at the moment, will you like to fork this repository called mern-advance repo, and we can together work on that with more styling~


Fix 65 ci

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

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


feat: Community Extensions

What type of PR is this? (check all applicable)

[x] Feature

Have you discussed this change with the InvokeAI team?

[x] No

Description
This PR enables users to just drop community nodes into the nodes folder in InvokeAI root directory and have them work.
Note To Developers

All your files now must be placed inside a directory whose name is the name of your extension.
All .py files in the root of your extension will be considered as custom nodes. So all your invocations should go into these files. These can be any number of files. So you can organize as you want and also lets you can ship multiple nodes with your extension without needing to cramp them all into a single file.
All subfolders in your directory are ignored for node scanning purposes. This will allow you to setup any number of subfolders for secondary operations that your node might need. Making stuff a bit more organized.
You will now need to use direct imports when referencing other aspects of the InvokeAI library rather than relative imports.

For example ...
from .image import (ImageCategory, ImageField, ResourceOrigin)

... should become ...
from invokeai.app.invocations.models.image import (ImageCategory, ImageField, ResourceOrigin)

If your node needs changes that require the core functionality of InvokeAI to change, then you are still recommended to make a PR as you do now.
Folder Structure For An Extension
- InvokeAIRoot
- -- /nodes
- -- -- /my_extension
- -- -- mynode1.py <-- Will be considered as a node and loaded.
- -- -- mynode2.py <-- Will be considered as a node and loaded.
- -- -- mynode3.py <-- Will be considered as a node and loaded.
- -- -- /subfolder <-- Use subfolders for organizing your extension's secondary functionality
- -- -- /subfolder/mynode4.py <-- Will NOT be considered as a node. So won't be loaded as a node

Testing
I tested this by modifying the FaceMask extension created by @ymgenesis and it works perfectly fine.
Notes
Maybe there's a better way to handle namespace but I think by controlling directly from the installed InvokeAI package, we're ensuring that the community nodes are always independent and don't mess with the native nodes.

So (as an import example):
from .baseinvocation import... (file is in invocations/)
becomes
from invokeai.app.invocations.baseinvocation import... (file is in invokeairoot/nodes/[extension]/[node].py)
Otherwise, nothing else is changed, and it all works great for me:)

I don't know enough about this kinda thing to have a technical opinion, but can we update the docs too?

Yep. Locally, I'm trying to setup an extensible system. Once I have a design idea finalized, I'll write extensive documentation on the do's and don'ts.

Converting this PR to a draft. I want to build a strong base for the node system that is extensible without stuff breaking if we add or remove in the future. I'll ping again when this is in a good place.

Remarked as ready for review. While it is not a fully established extension manager, it will help us easily test community nodes for the time being. The future configuration options should mostly be pertaining to extension configs so it shouldn't affect the basic loading and unloading of extensions in anyway (which is what this PR deals with) ...
We'll still need to make a decision on how we want to do with allowing community nodes to install their own libraries. Once that decision has been made, I can create another PR with further flushing out of the extensions manager.

Questions:
import paths
Q: I'd like to organize my code in multiple Python modules. How do I import from one to another?
For example:

example_extension/

awesome.py - contains AwesomeInvocation
emosewa.py - contains EmosewaInvocation
utils.py - utility code used by both

Option 1: Relative Imports. import .utils
Option 2: Absolute Imports. from example_extension import utils ❓ is this right? If so, note the constraints it places on your package name: take care to never collide with the name of a module in the standard Python library or any other third-party module.
Q. I want to build upon the work of another extension. How can I import code from that extension?
A. ❓ by using the absolute import method described above?

assets
Q. How do I distribute non-Python assets with my extension? e.g. json or csv data, UI icons, etc.
One plausible option is that you dump them in the directory adjacent to your Python sources and then load them with something like Path(__file__).with_name("my_asset.csv"), but maybe there are better APIs for this?
configuration
Q. Where should user-configurable settings be stored?
A. ❓
documentation
Q. How do I document my extension?
Python docstrings? At package, module, or Invocation-class level?
Markdown files? HTML?
tests
Q. How do I write unit tests for my extension?

Where do my python modules with my pytest functions go?
How do I import my production code from that test module?
How do I run these tests?

Q. How do I run end-to-end tests on my extension code?
i.e. tests that operate within the full InvokeAI execution engine, depend on having full models installed, etc.
development
Q. Can I reload my code without restarting the InvokeAI process?
jurigged? reloadium?

security
Q. -
A. Extensions run with the full capabilities of InvokeAI. They may read and write your files, connect to the Internet to send and receive data, etc. Before installing an extension, make sure it comes from a trustworthy source!

versioning
Q. How should I specify the version of my extension?**
Q. How do I declare which version of InvokeAI my extension is compatible with?**

Dependencies
Q: How does the user indicate that the node has dependencies on a non-core Python package that isn't already used by InvokeAI and handle the install gracefully?

This seems a bit overkill - it might be easier to just have a folder where extensions are located, gitignore everything in that folder, and then treat each subfolder as a repo, and require it to have a root-level __init__.py. Perhaps it could also have a defined metadata file (e.g. json/yaml/whatever) to add friendly strings like name/author/version (and you could also pull in git repo id and git branch/tag automatically for display).

Closing this with @psychedelicious's implementation in 3.4 that is very similar to what @Kyle0654 described


Dev

Big changes underneath, the codesvg.js process now doesn't create a new thread but call directly the codesvg.js library:

Big improvement in terms of speed
The log errors now point to the correct line in the script
A csview.js tool has been added to extract the source code from the generated SVG files.

Coverage increased (+0.7%) to 54.875% when pulling 8f69eacbf3641c1aeab48a64fe136355fb5000f8 on dev into c11a0440d4d041bdb51b396f3da6fcb6a0650b55 on master.


Verification

How can I send verification email after user registers?
Right now I am doing this manually via firebase.auth().currentUser.sendEmailVerification();, but would be great to somehow send it automatically for all new users

There is an open issue for this for firebaseui: https://github.com/firebase/firebaseui-web/issues/21


Feature/1001 avoid segfault on empty literal mergestring

Motivation
close #1001
Test plan
See included automated tests.

Thank you for great contribution and great testcase!

@DarkDimius @jez
Thank you for your reviews!
I just updated my code!

Thank you! Kicking off CI, will merge when it passes!
Thank you so much!


Update msal-angular v17 README.md

Update msal-angular v17 README.md

@konstantin-msft If you don't mind, could you also add this line about e2e utils here?


Simple should write kv pairs on the same line

When using the simple flag, Wryte should output kv pairs like so:
2018-04-10T21:58:53.682506 - Wryte - INFO - w00t - key1=value1 key2=value2
Pros:
Single line log messages
Cons:
May overflow a single line and then be half readable

I don't feel like this is something important enough to address. If we get such requests, we'll reconsider.


App crashes when closing it

*** Terminating app due to uncaught exception 'NSDestinationInvalidException', reason: '*** -[AlphaWallet.RunLoopThread performSelector:onThread:withObject:waitUntilDone:modes:]: target thread exited while waiting for the perform'
*** First throw call stack:
(0x184aa5288 0x19d79f744 0x1862a897c 0x1862c5648 0x104973b00 0x104dae7e4 0x104dae8ec 0x104dae94c 0x10a0f27c0 0x10a103ca8 0x104dae65c 0x105048618 0x105049530 0x1048768b4 0x104875898 0x104874d64 0x104872b30 0x19cb1e4b0 0x19cb1dda8 0x19cb1bc54 0x19cb34970 0x19cb1af98 0x19cb14880 0x19cb18c48 0x19cb18c48 0x19cb259fc 0x19e617c04 0x10a0f0c70 0x10a0f27c0 0x10a0f5320 0x10a106878 0x10a107264 0x1f5c08080 0x1f5c07e5c)

This crash appears when we closing the app

https://console.firebase.google.com/u/0/project/alphawallet-ios-prod/crashlytics/app/ios:com.stormbird.alphawallet/issues/0bfccae2beb9dbe613a2eec01b3e1786?versions=3.43 (437);3.43 (436);3.43 (435);3.43 (434);3.43 (431)&time=last-thirty-days&sessionEventKey=ffdf4c632e224e7e8fa40a21900ccdb9_1683835958266544176

Do you mean when going to background (i.e. user went to the homescreen or switched to another app)?

Close due to non activity


cleaned up the code

Hey,
Really cool script!
I made some minor changes to your script to make it a little cleaner :blush:

removed trailing white spaces
organized imports
removed unused import (time)
use with open() as f:

Thanks for the contribution ♥


Ability to add arguments to supabase fetch (keepalive)

Feature request
Is your feature request related to a problem? Please describe.
We want to send unsaved changes to the server on page close using the beforeunload event.  In order for the connection to not get closed you have to add the keepalive  flag to the options of the fetch request.
Describe the solution you'd like
It would be ideal to be able to both pass fetch options on the creation of a new client as well as on every query. The first part is more or less already possible by replacing the fetch function.
Describe alternatives you've considered
We currently pass a custom fetch function to createClient
export const supabase = createClient(
	import.meta.env.VITE_SUPABASE_URL as string,
	import.meta.env.VITE_SUPABASE_KEY as string,
    {
        fetch: (url, options) => fetch(url, { ...options, keepalive: true }),
    }
);

I think custom fetch is the go to solution right now - it's also how we inject headers into fetch: https://github.com/supabase/supabase-js/blob/0ec5c690143b8b453aa602d8a52ed8de18ab6c48/src/lib/fetch.ts#L25


Add Tests for the Backend CRUD

Description
This PR aims to add comprehensive tests of the backend CRUD functions, with a focus on ensuring data integrity and database correctness.
This issues partially address #2
Status

[ ] Ready to go

Codecov Report

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

@@             Coverage Diff             @@
##           master       #4       +/-   ##
===========================================
+ Coverage   19.95%   33.88%   +13.93%
===========================================
  Files          95       95
  Lines        3704     3704
===========================================
+ Hits          739     1255      +516
+ Misses       2965     2449      -516

Impacted Files
Coverage Δ

nonbonded/backend/database/crud/projects.py
49.65% <0.00%> (+49.65%)
:arrow_up:

nonbonded/backend/database/utilities/exceptions.py
57.94% <0.00%> (+57.94%)
:arrow_up:

nonbonded/backend/database/models/environments.py
81.81% <0.00%> (+81.81%)
:arrow_up:

nonbonded/backend/database/models/models.py
92.59% <0.00%> (+92.59%)
:arrow_up:

nonbonded/backend/database/models/projects.py
97.56% <0.00%> (+97.56%)
:arrow_up:

nonbonded/backend/database/crud/datasets.py
97.77% <0.00%> (+97.77%)
:arrow_up:

nonbonded/backend/database/crud/authors.py
100.00% <0.00%> (+100.00%)
:arrow_up:

nonbonded/backend/database/models/authors.py
100.00% <0.00%> (+100.00%)
:arrow_up:

nonbonded/backend/database/models/results.py
100.00% <0.00%> (+100.00%)
:arrow_up:

nonbonded/backend/database/crud/forcefield.py
100.00% <0.00%> (+100.00%)
:arrow_up:

... and 4 more

Continue to review full report at Codecov.

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


WIP: style(project): format with yapf

Just yapf -i *.py  quant/*.py utils/*.py to format python code.

Currently, this format change seems to break the readability of the code in some places.

Currently, this format change seems to break the readability of the code in some places.

That is.. yapf has default format rules.  The default max len(line) is fixed, maybe 50.
Let's add a yapf config file.  Please check this for more information.

About default 79, there is a RFC about ancient display (maybe 30 years ago) defined it.

Add .style.yapf,   expand COLUMN_LIMIT to 200 for large screen.
Check this doc  to enable preferred style.  @qwopqwop200   ^_^


Optimize: use hget replace hmget because only one field

[ ] I have registered the PR changes.

Ⅰ. Describe what this PR did
In io.seata.server.storage.redis.lock.RedisLocker and 362 line, there only one field, so we should use hget not hmget
Ⅱ. Does this pull request fix one issue?

Ⅲ. Why don't you add test cases (unit test/integration test)?
Ⅳ. Describe how to verify it
run io.seata.server.lock.redis.RedisLockManagerTest#unLock()
Ⅴ. Special notes for reviews

Codecov Report

Merging #4761 (05c91fa) into develop (f296b9f) will increase coverage by 0.38%.
The diff coverage is 100.00%.

@@              Coverage Diff              @@
##             develop    #4761      +/-   ##
=============================================
+ Coverage      48.62%   49.01%   +0.38%
- Complexity      4069     4082      +13
=============================================
  Files            736      736
  Lines          25680    25680
  Branches        3170     3171       +1
=============================================
+ Hits           12488    12588     +100
+ Misses         11854    11750     -104
- Partials        1338     1342       +4

Impacted Files
Coverage Δ

...o/seata/server/storage/redis/lock/RedisLocker.java
36.45% <100.00%> (ø)

...java/io/seata/rm/datasource/DataSourceManager.java
14.63% <0.00%> (-9.76%)
:arrow_down:

.../java/io/seata/spring/util/TCCBeanParserUtils.java
30.64% <0.00%> (-1.62%)
:arrow_down:

...n/java/io/seata/rm/datasource/DataSourceProxy.java
61.36% <0.00%> (-1.14%)
:arrow_down:

...tasource/sql/struct/cache/MysqlTableMetaCache.java
78.88% <0.00%> (-1.12%)
:arrow_down:

...in/java/io/seata/server/session/GlobalSession.java
82.17% <0.00%> (+1.16%)
:arrow_up:

.../main/java/io/seata/rm/BaseDataSourceResource.java
30.64% <0.00%> (+3.22%)
:arrow_up:

...o/seata/server/coordinator/DefaultCoordinator.java
48.97% <0.00%> (+4.08%)
:arrow_up:

.../java/io/seata/server/coordinator/DefaultCore.java
50.60% <0.00%> (+4.81%)
:arrow_up:

...ava/io/seata/server/metrics/MetricsSubscriber.java
29.56% <0.00%> (+14.78%)
:arrow_up:

... and 2 more


Allow reference projector projection for build descriptors

resolves #3784

will be closed in favour of https://github.com/OpenSlides/openslides-client/pull/3937


Fix #11: CDN

Issue number: #11
This PR does the following:

Adds CDN information to the README

do we have a site anywhere where this is demonstrated?  If it breaks, is there something that will alert us in an automated way?

do we have a site anywhere where this is demonstrated? If it breaks, is there something that will alert us in an automated way?

@hokei We don't have a site where this is demonstrated, but we could! I'm spinning something up on Codepen. I'm not done with it but I'll push up reference to it in this PR and ping you when it's ready.
Here is the site for unpkg: https://unpkg.com/
I haven't gone much deeper than that to figure out what happens if it breaks. We could make reference in the README that it's an at-your-own-risk situation since a third-party will be serving up assets for your site, but I think that's a given for any CDN-type situation. The internet's a pile of poorly stacked irregular rocks at the best of times

I'm going to close this out until someone is ready to take a closer look at getting the CDN working with something like Codepen/a github.io static site again.