Yarn Start yields "Module Not Found" error

🐛 Bug Report
Steps to Reproduce
NodeJS 14.16
"dependencies": {
    "@docusaurus/core": "2.0.0-beta.6",
    "@docusaurus/preset-bootstrap": "2.0.0-beta.6",
    "@docusaurus/theme-bootstrap": "^2.0.0-beta.6",
    "@mdx-js/react": "^1.6.21",
    "@svgr/webpack": "^5.5.0",
    "clsx": "^1.1.1",
    "file-loader": "^6.2.0",
    "react": "^17.0.1",
    "react-dom": "^17.0.1",
    "url-loader": "^4.1.1"
  },

As specified here:  https://docusaurus.io/docs/installation
Create a development website using this command:
$ npx @docusaurus/init@latest init my-website bootstrap

Expected behavior
Development site should appear
Actual behavior
$ yarn start
Yarn run v1.22.10
$ docusaurus start
Starting the development server...
Docusaurus website is running at "http://localhost:3000/".

✖ Client
  Compiled with some errors in 2.97s

ℹ ｢wds｣: Project is running at http://localhost:3000/
ℹ ｢wds｣: webpack output is served from /
ℹ ｢wds｣: Content not from webpack is served from /Users/someuser/DOCTEST/my-website
ℹ ｢wds｣: 404s will fallback to /index.html

Module not found: Error: Can't resolve '@theme/BlogArchivePage' in '/Users/someuser/DOCTEST/my-website/.docusaurus'
Module not found: Error: Can't resolve '@theme/BlogArchivePage' in '/Users/someuser/DOCTEST/my-website/.docusaurus'

Don't use the bootstrap preset as it is essentially broken. No one's maintaining it

I understand. Then this is a documentation bug. The documentation should not give instructions and merely say it's "experimental". It should say either what you're saying (don't use it -- it's not ready), or it should say that it's "experimental" and that "no one is maintaining it so it's unlikely to work at all.".  If either of those two things were in the documentation, then there'd be no bug report.

Ah, I think it's in a pretty awkward situation right now, no-one wants to maintain / improve it, while we don't feel comfortable deprecating / removing it either (at least the maintainer said "one day"?) It used to work because we had a CI test to make sure it builds, but as people lose interest in it completely, the CI test just got removed like a few weeks ago

I get it. That's fine. just tweak the documentation to make the situation clear.

Yes we'll make it clearer soon.
I think the bootstrap theme may simply be deleted and we'll just work on a Tailwind one for which there's way more traction. I don't think we'll maintain more than 2 themes at first (classic+tailwind)

Ideally, it'd be good to have docusaurus-community org where we could move this Bootstrap theme package. Maybe we should create it ourselves, not wait for long approval from FB?

No longer relevant, as the Bootstrap theme has been removed from the core packages.


ERROR: *** no camera available ***

Purchased the ArduCam 64MP camera, and had it running on my old Raspberry Pi 3. Had some buffer issues for the highest resolution (64MP) so I loaded a new installation onto my Raspberry Pi 4 (64 bit Bookworm). Camera just will not work after following all of the instructions found here:
https://forum.arducam.com/t/full-walkthrough-setup-rpi4-take-64mp-photos-and-control-focus/4653
I've looked at some other posts on this issue, and none of them relate to my problem. Attached is the report.
report.txt

Thank you for your feedback.
I did realise the dtoverlay was missing last night, but it did not change the outcome.

Please get in touch with Arducam about support for this sensor.


[spi_device] Check whether clock inverter can be removed

As detailed in @tjaychen's slide deck here, inverters on the clock network can cause significant skew, which in turn can result in very long build times or even infeasible configurations. Ideally, we would want to use negedge flops instead of inverting the clock explicitly.
@eunchan can you check whether that would be feasible in case of spi_dev?
CC @tjaychen @a-will

i'm not sure this is worth doing now, unless we find major issues related to this.

Just to clarify a bit, behavioral logic on clock signals can be a source of greater skew, uncertainty, and routing congestion in FPGAs (due to going in and out of the fabric, instead of using the dedicated resources). At these low speeds and by itself, that one inverter is probably not a major problem. If we wanted to go at full speed on the FPGA, then it might be an obstacle.
The biggest source of skew was actually the use of a global clock buffer after the inverter. This created an inherent imbalance of multiple nanoseconds between clk_spi_out and clk_spi_in, leading to hold time problems.

that sounds good. Thanks for clarifying Alex.
@weicaiyang
I would say if we do want to make a change like this, it would be nice to do it after DV is stable.
That way if we do make a change, we can be reasonably certain we did not break anything.

Triaged for spi_device. Assigning to M2.5 with https://github.com/lowRISC/opentitan/labels/Priority%3AP4 because I think this is worth keeping in mind when analyzing synthesis/implementation results for tapeout, but unless we see a need there, we should not fix this for M2.5.  If we see there's no need, we can defer to https://github.com/lowRISC/opentitan/labels/Type%3AIcebox / https://github.com/lowRISC/opentitan/labels/Type%3AFutureRelease.

estimate 8
remaining 2023-03-19 8


Fix open graph tags

Fixes open graph tags error by adding<meta property=“og:type” content=“article” /> to every page.
Required open graph tags:

title
type 👈 added this one
url
image

Debug tools
https://ahrefs.com/blog/open-graph-meta-tags/

@aksie Is this the correct way to fix the issue? My assumption is that every page in the docs is an article. So, each og:type tag is an article as well.

@kouliavtsev I am not sure, to be honest, I didn't understand from ahrefs.com what exactly was wrong with the OG tag implementation.

Upon more detailed reading: if the TYPE indeed was missing, then article sounds like the best match for the docs. so YES! solved I Think!


⚠ service.justiz.de has degraded performance

In 3e8b4a0, service.justiz.de (https://service.justiz.de/) experienced degraded performance:

HTTP code: 200
Response time: 6713 ms

Resolved: service.justiz.de performance has improved in cda71ba after 8 minutes.


Expose the mapping when converting Prosemirror (JSON) to Y.Doc instances

This mapping is needed for invoking the position transformation functions, and therefore
shouldn't be thrown away.

I added the parameter at the end and made it optional with a default matching the previous behavior, so I claim that this should be quite safe.
Possibly related:

https://github.com/yjs/y-prosemirror/issues/56
https://github.com/yjs/y-prosemirror/pull/64 seems to be focused on the other direction to be more reusable, and may trigger a major version update -- so changing the order of the parameters here could also be done as part of that.

We have the need for this too! Thanks for this PR @ankon !
@dmonad any thoughts here?

Same here! Bump

Any update on this one?

Bumping this! @dmonad Any thoughts?

Purely for the record: I no longer work with prosemirror at all, so if you want to merge this -- please do! But if it needs fixes/adjustments, please also feel absolutely free to do them as I won't be able to.


when convert to RL model something wrong

hello,when i convert to RL model something wrong,can u help me, the mistake is:
Traceback (most recent call last):
File "src/run_summarization.py", line 846, in
tf.app.run()
File "/home/ices/anaconda3/lib/python3.6/site-packages/tensorflow/python/platform/app.py", line 126, in run
_sys.exit(main(argv))
File "src/run_summarization.py", line 842, in main
seq2seq.main(unused_argv)
File "src/run_summarization.py", line 792, in main
self.setup_training()
File "src/run_summarization.py", line 296, in setup_training
self.model.build_graph()  # build the graph
File "/home/ices/zhangbowen/RLSeq2Seq/src/model.py", line 514, in build_graph
self._add_seq2seq()
File "/home/ices/zhangbowen/RLSeq2Seq/src/model.py", line 312, in _add_seq2seq
tf.unstack(self.sampling_rewards)))  # list of max_dec_steps * (batch_size, k)
File "/home/ices/anaconda3/lib/python3.6/site-packages/tensorflow/python/ops/array_ops.py", line 1091, in unstack
raise ValueError("Cannot infer num from shape %s" % value_shape)
ValueError: Cannot infer num from shape (?, 1)

Have you updated the code with recent changes?
Also, if the error persists with updating, plz share the command that you are running.


Introducing Open RX : a way to read DMX signals via simple RSR232 FTDI chips

This pull request adds another plugin designed for Enttec like USB DMX adapter based on FTDI RS232R chips.
Called "Open RX", it is based on the Enttec Open TX plugin code, but reads data and emits them in the software instead of writing them.
FTDI RS232 chips can send and receive signals. As a DMX widget, they are usually built with a female DMX socket, since it's the main usage.
Using a male/male adaptator and plugging in the widget in a DMX source, it can receive the signal (instead of transmitting it) and forward it to the host computer.
It has been tested with another DMX Open TX FTDI device ran by QLC. It works well and is very stable (if the computer hardware is too).
It has also been tested with a Stairville DDC-6 LCD very cheap ligthing controller. This controller vaguely speaks DMX, with 250 Hz frame rate frequency (!) and frames of 29 channels. This plugin handles this case, trying to manage bogus frames.
As a result, a user can drive 6 sliders (or other virtual widgets) with a cheap DMX Controller using only another cheap DMX USB device.
I didn't have enough devices to test more configuration, but given the fact that the plugin is an optionnal feature, I hope this requests will be accepted.
Please feel free to comment and suggest.

Tested with my custom FTDI based adapter.
Appears to be working fine, I was actually looking for functionality like that few month ago.

I Massimo,
You can test this feature with any DMX controller if you want. Even a grandMa 😊 I think any cheap USB DMX interface will do the job.
Can you review my new commits ?

Implementing setLowLatency() in ftd2xx-interface is perhaps a thing to do, but I don't have a compilation stack on my windows setup for now. I see that I can retrieve the Appveyor's dev build. I'll test various configuration to see what can be done on Windows.

I'll plan to make these modifications next Monday evening.

Thanks for the explanations. Makes sense now.
I can merge this as it is and implement D2XX latency myself.
Then you can send a further PR with more changes. Sounds ok ?

Ok for the merge now. I'll do a new PR later. Thanks for all  :-)

Dumb question, does this mean Open RX was merged into QLC+ and now I can use any FTDI DMX adapter as an input? Or an I misunderstanding the purpose of this?

Open rx is merged. But there are other things to do before using this feature.
Some adapters (i'm not sure that all can do that) have the capability to read signal from the DMX bus. In order for this to work, either you have the right socket on it, or you can use a female/female adapter to plug your adapter into an out port of the DMX line.
Once this hack is made, you can use this plugin. In the driver window, you will see some information about the signal. If you don't see the frequency of the signal, it is probably because your device is not able to read anything. Another issue is that the signal is too poorly sequenced on the line to be read accurately by the software.
Open rx is a hacky pluggin designed to use very cheap devices. It's not a first class solution.

Currently I'm testing with an Enttec USB Assembled Widget, and plan to grab a M/M XLR5 adapter from Enttec, more long term if this works I plan to either buy another USB/DMX adapter or build one, as my Enttec one is my primary output one.

I am trying to make this work, to no avail so far. I left the frequency to the default value (30Hz). Here is what I get in the driver window (assuming this is what you mean by driver window):

Moving the sliders on my DMX console doesn't seem to do anything (I am trying to send values on channel 1 using slider 1 on scanner 1). How can I debug this?
Here is my hardware: FTDI FT232RL CHIP USB TO RS485 DMX512

Hi @omichel
Given the datasheet of your device, you should be able to read something from the bus. The adapter I'm using was able to do this and was built with two leds which helped me diagnose its modes. But the vendor who sold me those units told me he no longer does that. Yours doesn't seem to have control leds, so it won't be easy for you to see if it's reading something from the bus, or if it's reading something but not sending it to the host computer. I've tried mine with two setups: a cheap 6-slider console and another USB/DMX device controlled by QLC+. Maybe you could try another device to see if you're more successful?
Idling means that no data has been received from the adapter for the last sampling windows. The computer host sees your adapter, but the adapter doesn't send any data (read from the bus).
In receive mode, the frequency is read from the remote device and you can't change it from the computer side. It's your console that will write data at a specific rate.

Hi @manuco, thank you for the quick reply.
I am on Windows 11. Is it supposed to work there? It does work well in "Open TX" mode and I can control my PAR LEDs without any problem, but the "Open RX" mode with my DMX console doesn't seem to work, although the DMX console works well when connected to the fixtures directly. The "Receiver state:" remains to "Idling" whatever I do... I tried to monitor the virtual COM port corresponding to the device, but I got no information, so I assume the interface doesn't use the VPC, but the FTD2XX.DLL interface instead. Not sure how to debug this...

Could it be due to my XLR male/male adapter as they say:

This adaptor is designed to change an XLR input into an XLR output.

I checked how it is wired and I noticed the left and right pin are inverted:
input        output
1   2        2   1
o   o        o   o
  o            o
  3            3

Should I rewire it like that:?
input        output
1   2        1   2
o   o        o   o
  o            o
  3            3

I received it today, but sadly, it doesn't work (exact same results as before).

I'm sorry, but I still have no idea. I don't think I can help you without some deep debugging information. And if I remember correctly, I developed this plugin on a Linux machine. Doing hadware debugging on Windows won't be the easiest thing.
The "idling" message indicates that no data is being received from the driver.
Have you tried plugging a TX device into an RX device to see if something different happens?


[SILGen] Always serialize witness tables in non-resilient modules

...even if the conforming nominal type is resilient. It's the owner of the conformance whose resilience matters.
I also factored this part out into a separate check at the AST level so we can tweak it, and also so I can use it to (slightly) speed up compiling a resilient swiftinterface.

@swift-ci Please test

@swift-ci Please benchmark

@swift-ci Please test source compatibility

Build comment file:
No performance and code size changes

How to read the data
The tables contain differences in performance which are larger than 8% and differences in code size which are larger than 1%.
If you see any unexpected regressions, you should consider fixing the regressions before you merge the PR.
Noise: Sometimes the performance results (not code size!) contain false alarms. Unexpected regressions which are marked with '(?)' are probably noise. If you see regressions which you cannot explain you can try to run the benchmarks again. If regressions still show up, please consult with the performance team (@eeckstein).

Hardware Overview
  Model Name: Mac Pro
  Model Identifier: MacPro6,1
  Processor Name: 12-Core Intel Xeon E5
  Processor Speed: 2.7 GHz
  Number of Processors: 1
  Total Number of Cores: 12
  L2 Cache (per Core): 256 KB
  L3 Cache: 30 MB
  Memory: 64 GB

Build failed
Swift Test OS X Platform
Git Sha - b51b1c87edf6a02511e315ca50432851f42b1e05

Failure seems unrelated.
@swift-ci Please test macOS

I'd still like to run the source compat suite, if it's fixed soon, but meanwhile…
@swift-ci Please smoke test

@swift-ci Please test source compatibility


Unable to access Company Cards from Workspace Settings "Uh-Oh,Something went wrong!" page displayed

If you haven’t already, check out our contributing guidelines for onboarding and email<EMAIL_ADDRESS>to request to join our Slack channel!

Version Number: 9.0.65-5
Reproducible in staging?: Needs Reproduction
Reproducible in production?: Needs Reproduction
If this was caught on HybridApp, is this reproducible on New Expensify Standalone?:
If this was caught during regression testing, add the test name, ID and link from TestRail:
Email or phone of affected tester (no customers):
Logs: https://stackoverflow.com/c/expensify/questions/4856
Expensify/Expensify Issue URL:
Issue reported by: @maddylewis
Slack conversation (hyperlinked to channel name): expense
Action Performed:

Supportal into customer's NewDot account
Head to Settings > Workspaces > Workspace Name
Click Company Cards

Expected Result:
Clicking "Company Cards" should take you to the "Import company cards" screen.
Actual Result:
Clicking "Company Cards" results in app crash and  "Uh-Oh,Something went wrong!" page displayed
Workaround:
Can the user still use Expensify without this being fixed? Have you informed them of the workaround?
Platforms:

Which of our officially supported platforms is this issue occurring on?

[ ] Android: Standalone
[ ] Android: HybridApp
[ ] Android: mWeb Chrome
[ ] iOS: Standalone
[ ] iOS: HybridApp
[ ] iOS: mWeb Safari
[x] MacOS: Chrome / Safari
[ ] MacOS: Desktop

Screenshots/Videos

Add any screenshot/video evidence

https://github.com/user-attachments/assets/5c706bed-d989-47cd-b4a3-16307502628a

Chat link - https://www.expensify.com/concierge/#/chat/20992254
View all open jobs on GitHub

This has been labelled "Needs Reproduction". Follow the steps here: https://stackoverflowteams.com/c/expensify/questions/16989

Can't repro in my accounts - asking for help in slack thread.

Looks like the customer is impacted even though we can't reproduce, here's some additional info:

Also, since this is being encountered by a customer and we're updating our cohort to include CC's I'm going to move this over to #retain.

https://www.expensify.com/concierge/#/chat/20992254

If this is happening to existing ND customers then I think it needs to be moved to #retain.

Works for me - still awaiting a volunteer all the same!

Still awaiting an internal volunteer.


error in using RadiaViewer from Example 5

When executing Radia_Ex05-widget, I get the following error:
FileNotFoundError: [Errno 2] No such file or directory: '/home/vagrant/.pyenv/versions/py3/lib/python3.7/site-packages/jupyter_rs_radia/json/schema.json'

@mkeilman it looks like 47917a4 was reverted. Would you look into it?

Checking it out now

(The reason the commit was reverted is that my local clone does not include it, so the changes got clobbered)

You should have gotten a merge conflict.


Provide documentation how to use the TCK

The TCK is here but there is no readme and also the wiki do not describe how to use it.
It would be useful to have a document describing:

how is it build, or could I e.g. consume some prebuild binaries from somewhere?
how to I run an own implementation of a given service against the TCK?
how do I get a report? Could it be formatted, e.g. as junit-xml and parsed by common tools?

if something similar already exits, it would be good to link the resource from a readme.md in the tck folder so people could find it easily.

Hi,
maybe we can do this together. i wanted to do such an example wist OSGI-JDBC.
Currently the TCK just test one compatible implementation insote the project.
But most code test bundles should be available. But then have to be customizes to your implementation.
@See:
https://oss.sonatype.org/content/repositories/snapshots/org/osgi/osgi.tck.cmpn/8.0.0-SNAPSHOT/
Do you have a Link to the Implementation you want to test?
Grüße aus Jena ;-)

As gemini-jpa seems dead I started to improve and test pax-jpa for a while and try to make it run against the official tck as well, I even asked a while back for pax-useradmin but at that time the TCK was only available to OSGi-members. I also know that pax-web is interested in testing against the TCK.
Grüße aus dem echten Norden :-)

This shows how I added the TCK to one of my projects.
https://github.com/de-jena/MDO/commit/1efe94d9758cb83593c36802fce8f16546bab9ba

It seems the example repository is private at least github gives me 404 error...

org.osgi.test.cases in a maven repo
(do you have the time to add all the release scripts to osgi repo?)

I'm new to the tck stuff but if it is "just jars" it should be possible to deploy them to maven central: https://maven.apache.org/repository/guide-central-repository-upload.html as bnd/maven plugins already deployed to maven central there should be everything available right now.

release maven
i you have the time to this. you should talk with us in next osgi-call.

the first 2 topic of your link needs a lot of time:

releases: -> add scripts to repo  ;-)
javadoc and sources for IDE lookup: -> feel free to write them ;-)

yes its private - sorry

Download this ttps://oss.sonatype.org/content/repositories/snapshots/org/osgi/osgi.tck.cmpn/8.0.0-SNAPSHOT/
take the test.cases jar suits to your implementation ( for me org.osgi.test.cases.jdbc)
resolve with all deps and run e.g as a bndrun file.

-runfw: org.apache.felix.framework;version='[7.0.3,7.0.3]'
-runee: JavaSE-11
-runrequires: \
	bnd.identity;id='org.xerial.sqlite-jdbc',\
	bnd.identity;id='slf4j.api',\
	bnd.identity;id='slf4j.simple',\
	bnd.identity;id=junit-jupiter-api,\
	bnd.identity;id=junit-jupiter-engine,\
	bnd.identity;id=junit-jupiter-params,\
	bnd.identity;id=junit-platform-commons,\
	bnd.identity;id=junit-platform-engine,\
	bnd.identity;id=junit-platform-launcher,\
	bnd.identity;id=junit-vintage-engine,\
	bnd.identity;id='org.osgi.test.cases.jdbc',\
	bnd.identity;id='de.jena.mdo.jdbc.driver.sqllite'

-runtrace: true

-runstartlevel: \
    order=sortbynameversion,\
    begin=-1

-tester = biz.aQute.tester.junit-platform;version=latest

-runproperties = \
    report='true'
-runbundles: \
	assertj-core;version='[3.20.2,3.20.3)',\
	de.jena.mdo.jdbc.driver.common;version=snapshot,\
	de.jena.mdo.jdbc.driver.sqllite;version=snapshot,\
	junit-jupiter-api;version='[5.7.0,5.7.1)',\
	junit-jupiter-engine;version='[5.7.0,5.7.1)',\
	junit-jupiter-params;version='[5.7.0,5.7.1)',\
	junit-platform-commons;version='[1.7.0,1.7.1)',\
	junit-platform-engine;version='[1.7.0,1.7.1)',\
	junit-platform-launcher;version='[1.7.0,1.7.1)',\
	junit-vintage-engine;version='[5.7.2,5.7.3)',\
	org.apache.commons.logging;version='[1.2.0,1.2.1)',\
	org.apache.felix.scr;version='[2.1.28,2.1.29)',\
	org.apache.servicemix.bundles.junit;version='[4.13.2,4.13.3)',\
	org.opentest4j;version='[1.2.0,1.2.1)',\
	org.osgi.service.jdbc;version='[1.0.1,1.0.2)',\
	org.osgi.test.cases.jdbc;version='[8.0.0,8.0.1)',\
	org.osgi.util.function;version='[1.1.0,1.1.1)',\
	org.osgi.util.promise;version='[1.1.1,1.1.2)',\
	org.xerial.sqlite-jdbc;version='[3.36.0,3.36.1)',\
	slf4j.api;version='[1.7.25,1.7.26)',\
	slf4j.simple;version='[1.7.25,1.7.26)'

the first 2 topic of your link needs a lot of time

As I have no idea how the tck is build I can't guess, also don't know how often they are released, but BND should be able to generate at least a source-jar and the javadoc toll should be capable to generate the javadoc, but I have only done this with maven sometimes no idea about gradle, thats why I also opened this ticket as there is not much documentation on how to build this :-)
But as it is already at sonatype I think some steps are already performed...

As I have no idea how the tck is build I can't guess

Did you look at the CI build scripts?
https://github.com/osgi/osgi/blob/f792be7d8d54f166d06fcc72a1eeaf95ac5ebef9/.github/workflows/cibuild.yml#L75-L80

This is already in place for the next release.

GEAT, @bjhargrave . Thank you! I just a bit curios. When does this happen?

When does this happen?

https://github.com/osgi/osgi/pull/382/commits/2143bc4a1c23fce97139e6e1b935b1430e26da51

Can't wait please keep us informed, I think that's also something interesting for the osgi-wg mailing list as well, but maybe its just me haven't noticed this yet :-\

Here is an example where i used the TCK to test org.osgi.service.log in a maven project. bnd-maven-testing plugin executes the bndrun.
https://github.com/stbischof/equinox.framework/blob/use_bnd/bundles/org.eclipse.osgi.tests/osgi_tck_log.bndrun

On the spec call today, BJ suggested modifying how the TCK is packaged and executed to use a more modern maven structure and using bnd-testing-maven-plugin to execute the TCK. This would be more useful for others to see how to run the TCK in their builds once we eventually release the TCK artifacts to Maven Central.

Maybe something something like this ?
maybe it would be good to not just test against one compatible implementaition.

Still an issue...

Still an issue...


Add logging to file (and shipping to /datafeed) for the nginx docker image

Currently the nginx docker container is only logging to stdout.  It needs to also log to rolled log files and have them shipped to /stroom/datafeed.

Fixed in stroom-nginx-v1.0-alpha.12


method sum() (Range) is not documented

method sum(Range:D:) is tested here
https://github.com/perl6/roast/blob/master/S03-operators/range-int.t#L486-L514

method sum() is here
https://github.com/rakudo/rakudo/blob/nom/src/core/Range.pm#L607-L611

Closed by https://github.com/perl6/doc/pull/863#issuecomment-242974415


Cannot find package 'lodash' imported from eslint-config-love\lib\rules.js

Using<EMAIL_ADDRESS>when running eslint.
lodash is only imported as a devDependency, but used by rules.js on execution of eslint.
Seems to be introduced by:
https://github.com/mightyiam/eslint-config-love/commit/41938b31207a5dfd354ba933b19cf9534f4090db

I mean, in a test.


Update hdinsight-using-spark-query-hbase.md

Add versioning specifics on SHC

@shawnawei : Thanks for your contribution! The author(s) have been notified to review your proposed change.

@shawnawei Thanks for your contribution. Updates look fine.

#sign-off


Editable Children = on breaks paths to instanced SubViewports & manual fixes are not retained

Tested versions
reproduced in 4.0.4.stable & 4.2.1.stable
System information
Godot v4.2.1.stable unknown - Arch Linux #1 SMP PREEMPT_DYNAMIC Fri, 05 Jan 2024 16:20:41 +0000 - Tty - Vulkan (Forward+) - dedicated NVIDIA GeForce GTX 1070 (nvidia; 545.29.06) - Intel(R) Core(TM) i7-6700 CPU @ 3.40GHz (8 Threads)
Issue description
If a scene instances another scene with "Editable Children" enabled, and the child scene contains a SubViewport, and a material rendering that SubViewport, the material's "Viewport Path" will be wrong. It'll render a magenta texture instead of the SubViewport. You can fix the path manually, but the editor revert to the wrong path after reloading.
Steps to reproduce
The attached subviewport_instance_tests.zip has 2 Godot projects, standard_project & shader_project. They demonstrate the same problem, using a StandardMaterial3D and a ShaderMaterial. I tried both projects under Godot 4.0.4 & 4.2.1 and got the same results all 4 times.
Consider standard_project. Scene A has:
A
├ Camera3D
├ MeshInstance3D
└ SubViewport
  ├ Camera3D
  └ Label3D (text = "A")

The MeshInstance3D displays the SubViewport. Running scene A (open a.tscn in the editor > right click the "a" tab > "Play This Scene") works as expected - "A" appears on the MeshInstance3D.
Scene B instances A:
B
├ Camera3D
└ A

Running scene B also works as expected.
Scene C is exactly like B, except C's A instance has "Editable Children" enabled. In C, the MeshInstance3D shows a solid magenta texture, and there's an error, "ViewportTexture: Path to node is invalid".
It seems that "Editable Children" causes the ViewportTexture's viewport_path to be interpreted as an absolute path from the root (the C node).
I tested this with scene D. D is like C, except I added a SubViewport at that absolute path:
D
├ Camera3D
├ A
└ SubViewport
  ├ Camera3D
  └ Label3D (text = "D")

Playing scene D, A's MeshInstance3D shows "D", not "A".
We can fix scenes C and D manually:

Select the MeshInstance3D.
In the inspector, go to "Geometry" > "Material Override" > "Albedo" > "Texture"
change "Viewport Path" from "SubViewport" to "A/SubViewport".
Run the scene.

Now C and D work as expected. But this only helps temporarily - certain combinations of opening, saving, & closing cause the viewport_path to revert. It's a bit hard to repro, but this sequence seems to trigger it pretty reliably:

Do the manual fix on scene C.
Save & close the whole project.
Reopen the project.
Close scene A.
Reopen scene A.
Save the whole project again.
Return to scene C. The texture is magenta again, and "Viewport Path" has reverted to just "SubViewport".

You can try the same steps in shader_project and get the same result. The ViewportTexture is a uniform named tex. You can fix tex in the material inspector, but it also gets reverted.
Minimal reproduction project (MRP)
subviewport_instance_tests.zip

Can confirm, have the same issue with editable children and viewport paths. I'm on Windows 11 and 4.2.2.

Can also confirm, Pop!_OS 22.04, GD 4.2.2


put anchor before text in tables

@maxiloc did you see my review? Why was rb-readline required?

@redox I think it was required for MacOs Sierra

@redox I think it was required for MacOs Sierra

:trollface:

Yes we also added it to AlgoliaWeb 😄


Get All Headers of HTTP Request

I want to access all headers of HTTP request and this function looks promising
this->Task->get_req()->get_parser()->header_list
but is there any example about how can I access header key value pairs ?
I tried range based loop like this but I doesn't work.
for(auto EachHeader : this->Task->get_req()->get_parser()->header_list)
{};

https://github.com/sogou/workflow/blob/ae9cff057ec9732f56674d9f097446840e4ec2e7/tutorial/tutorial-01-wget.cc#L64-L76

Hi, thank you very much for your response.
I wrote your suggestion like this for UE5.
bool UHttpRequestWf::GetAllHeaders(TMap<FString, FString>& Out_Headers)
{
	if (!this->Task)
	{
		return false;
	}

	std::string TempName;
	std::string TempValue;

	protocol::HttpHeaderCursor req_cursor(this->Task->get_req());

	TMap<FString, FString> Temp_Headers;
	while (req_cursor.next(TempName, TempValue))
	{
		FString Key = TempName.c_str();
		FString Value = TempValue.c_str();

		Temp_Headers.Add(Key, Value);
	}

	if (Temp_Headers.IsEmpty())
	{
		return false;
	}

	else
	{
		Out_Headers = Temp_Headers;
		return true;
	}
}

I works but like my other issue, https://github.com/sogou/workflow/issues/1572
If there is a Turkish character in any header's name or value, while loop stops and it doesn't matter if header with Turkish character is first entry or not.

According to HTTP protocol, HTTP header should not contain any non-ASCII character.  And I do not think you have received a legal HTTP request.
https://github.com/sogou/workflow/blob/ae9cff057ec9732f56674d9f097446840e4ec2e7/src/protocol/http_parser.c#L383
But as a server, when a request is illegal, user's process should not be called. Are you should your function GetAllHeaders is called?

The framework will return an HTTP/1.1 400 Bad Request automaticly. Your process is not called.

So, we close this too.


please reply

Has your engineering project undergone sample testing?

No. Project needs to be reviewed and have some changes made before production.

Less appearance, less drilling, less resistance welding,

You can conduct a final error check on your project and submit an update. I can help you make samples and conduct testing If you have any needs, I can also send you a sample card by mail I live in China and manufacturing this hardware is very easy and affordable

I might have time to look at this over the Christmas break - what do you want to use it for>

Thank you for taking the time to reply and be willing to conduct the final inspection for this project. I have a suggestion that this PCB can be changed from 8 layers to 4 layers. If you use a 4-layer circuit board, the production cost will be reduced. You can leave your mailing address or contact information for online communication. I suggest using WeChat because it supports translation, or you recommend a communication software

@eggsampler, Hi. I see that the development process has started, any info on plans or timelines?

No solid plans or timelines, unless you have FPGA design experience.

感谢您抽出宝贵时间回复并愿意对本项目进行最终检查。我有一个建议，这个PCB可以从8层改成4层。如果使用4层电路板，生产成本会降低。您可以留下您的邮寄地址或联系信息以进行在线交流。我建议使用微信，因为它支持翻译，或者您推荐使用通信软件

Hello, I also live in China. May I ask which platform is the cheapest to produce samples?

I have no idea if this will even work yet, needs review.

Hello, thank you for the open source of the project. Have you finished reviewing these project materials? If you have reviewed it and it is correct, I am ready to produce a sample of the project. It is recommended that you leave your contact information, I have some questions I hope you can help me solve, thank you very much.

Can you add your contact details? Hope to communicate with you further

No communication required, needs to be reviewed by someone with fpga design experience.


Numerical issue on soil moisture drainage between layers

Drainage from upper layer to adjacent lower layer is calculated by Brook & Corey curve (where drainage rate is a function of upper-layer soil moisture). Currently, a simple numerical solution is applied which uses the timestep-beginning upper-layer soil moisture to calculate drainage rate, and assume this constant rate over the entire timestep. This can cause unreasonably large drainage if the curve has a steep shape and when soil moisture is high.

Closed per #656


Refactor page listing headers into a template tag

Introduce a table_header_label tag to replace the template-tag-soup that generates the URLs and classnames for the ordering links in the page listing header.
(Ideally we'd go on to introduce this tag on other listings, but it seems that very few of them have fully-functional bidirectional sorting right now, so I'll leave that for another PR...)

Thanks for the review @jonnyscholes!


Extend the Arr::wrap() method.

This can wrap a non-array value into an associative array.

maybe a separate method called wrapAnything would be a better option than the optional parameter?

@deleugpn  I think this is more in line with semantics.  What do you think?

No plans to change this right now.


Texas Tech University's logo

Texas Tech University's logo
_https://github.com/dellhpc/omnia/issues/789_

Duplicate issue.


truffle test doesn't work in demo

Same error as here: https://github.com/ConsenSys/dao-wars/issues/1
Edit: to be clear, by "demo" I mean what's created by truffle init.

@taoeffect Are you running an RPC client? I think some of the latest changes to truffle have squelched an error stating your ethereum client of choice (eth, geth, pyethereum, testrpc, ethersim) must be running.

@tcoulter That's probably the problem. I wasn't sure from the description of Ether Pudding whether it was a replacement for the RPC clients or not. Can you clear up what the difference is?
I'll try running an RPC client and see if that fixes the problem (don't want to try geth as it's slow and I don't remember how to run it with a fake chain). I'm going to be using Truffle during a createathon today and over the weekend, here's hoping we can get it to work on all the machines!

I just got done with DEVCON here in london (and my flight's out early in the morning) but let me know how I can help!

but let me know how I can help!

Sure! It would help if you could explain in simple terms what the difference/roles are between Ether Pudding and EtherSim/testrpc. :)
(I'd dive into the details myself, but I'm running out of time to get out the door and drive to SF for the createathon!)

EtherPudding is a contract abstraction on top of web3's contract abstraction. The readme should do a pretty good job of explaining it: https://github.com/ConsenSys/ether-pudding . In case it doesn't, the main features are 1) Promises, for clean code, and 2) ability to manage your app's control flow synchronized with the network (i.e., you don't get your callback until your transaction is mined). There are a few other features, but they're tangential.
TestRPC and Ethersim are two solutions to the same problem (both of which I have contributed heavily). That problem is a fast chain to develop on: waiting 17 seconds per transaction to see if your code works kills productivity. So both of these projects run an Ethereum VM without mining or network and process transactions immediately, simulating the real effects of the blockchain, but much faster. TestRPC is written in Python, Ethersim in JS.
I'm switching my efforts to Ethersim as the JS solution seems to be more stable (at least, my command of JS is greater). They're nearly feature equivalent, though Ethersim lags behind a few RPC calls. I hope to fill those out soon.

Awesome, thanks so much for that explanation! That's what I thought but I also got confused by hearing/seeing mentions of solc being written in JavaScript and thinking that maybe that meant that we didn't need EtherSim and projects like it anymore. I stand corrected. :)

I'm switching my efforts to Ethersim as the JS solution seems to be more stable (at least, my command of JS is greater). They're nearly feature equivalent, though Ethersim lags behind a few RPC calls. I hope to fill those out soon.

Great! I like that EtherSim can be run standalone, because currently the situation with having it as a dependency in Embark is kindof a mess. EtherSim still has its own related problems on OS X with outdated dependencies.

@taoeffect Has Iuri updated npm? If you install Ethersim from source, you'll get the updated version with my PRs accepted which fix the OS X install issues:
$ git clone https://github.com/iurimatias/EtherSim.git
$ cd EtherSim
$ git checkout develop && git pull
$ npm install
$ ./bin/ethersim -p 8545

@tcoulter EtherSim from npm still tries to install an outdated secp256k1, causing it to fail:
ethersim/node_modules/ethereumjs-block/node_modules/secp256k1

><EMAIL_ADDRESS>install /usr/local/lib/node_modules/ethersim/node_modules/ethereumjs-vm/node_modules/secp256k1

The develop copy per your instructions has the correct version and therefore installed, but running truffle test caused it to throw an exception:
-> % ./bin/ethersim -p 8545
EtherSim v0.1.6

Available Accounts
==================
0x1a9dc2ad31f3fdf575479760980b242d073ee149
0xd13493e9d590ba763c202ab4fbe4ab17978cda32
0xbce16ecae7407ac3e852b8d8ea088746e357dc82
0x6d17d3b407ff990279cd852c5fe4805523cdc293
0xba88351daf7a545becf4fccd1555e2750b445c9c
0x7ab301af6a5d37c09b1264d46a42c78288a339ff
0xe0c1976e9e9350986aa942b1176f6d23e0db90f8
0xfb61aa6b35754d8779f989e50e616b0ab4d11662
0x52e18c7cda62b91cbeafd52fbd0561720e2bd804
0xa2d916f6f7490ab9f1aa5e444ef078eb7478b23b

Listening on localhost:8545
eth_accounts
eth_coinbase
eth_sendTransaction
eth_newBlockFilter
eth_getFilterChanges
/Users/greg/Ethereum/frameworks/EtherSim/lib/blockchain.js:313
    queued.callback(err, result);
           ^

TypeError: queued.callback is not a function
    at intermediary (/Users/greg/Ethereum/frameworks/EtherSim/lib/blockchain.js:313:12)
    at /Users/greg/Ethereum/frameworks/EtherSim/lib/blockchain.js:418:7
    at Object.async.eachSeries (/Users/greg/Ethereum/frameworks/EtherSim/node_modules/async-eventemitter/node_modules/async/lib/async.js:130:20)
    at VM.AsyncEventEmitter.emit (/Users/greg/Ethereum/frameworks/EtherSim/node_modules/async-eventemitter/lib/AsyncEventEmitter.js:42:9)
    at afterBlock (/Users/greg/Ethereum/frameworks/EtherSim/node_modules/ethereumjs-vm/lib/runBlock.js:55:10)
    at /Users/greg/Ethereum/frameworks/EtherSim/node_modules/ethereumjs-vm/lib/runBlock.js:179:9
    at /Users/greg/Ethereum/frameworks/EtherSim/node_modules/ethereumjs-vm/lib/cache.js:136:7
    at /Users/greg/Ethereum/frameworks/EtherSim/node_modules/async/lib/async.js:52:16
    at iterate (/Users/greg/Ethereum/frameworks/EtherSim/node_modules/async/lib/async.js:260:24)
    at Object.async.forEachOfSeries.async.eachOfSeries (/Users/greg/Ethereum/frameworks/EtherSim/node_modules/async/lib/async.js:281:9)

truffle test got as far as:
-> % truffle test
Using environment test.
Compiling contracts...

  Contract: Example

Interesting. Not necessarily sure why at the moment, never had that issue
myself. Currently in bed, however, so will have to take a look at another
time. If all else fails fall back on the TestRPC.
On Friday, November 13, 2015, Greg Slepak<EMAIL_ADDRESS><javascript:_e(%7B%7D,'cvml','notifications@github.com');>> wrote:

@tcoulter https://github.com/tcoulter EtherSim from npm still tries to
install an outdated secp256k1, causing it to fail:
ethersim/node_modules/ethereumjs-block/node_modules/secp256k1

<EMAIL_ADDRESS>install /usr/local/lib/node_modules/ethersim/node_modules/ethereumjs-vm/node_modules/secp256k1

The develop copy per your instructions has the correct version and
therefore installed, but running truffle test caused it to throw an
exception:
-> % ./bin/ethersim -p 8545
EtherSim v0.1.6
Available Accounts
0x1a9dc2ad31f3fdf575479760980b242d073ee149
0xd13493e9d590ba763c202ab4fbe4ab17978cda32
0xbce16ecae7407ac3e852b8d8ea088746e357dc82
0x6d17d3b407ff990279cd852c5fe4805523cdc293
0xba88351daf7a545becf4fccd1555e2750b445c9c
0x7ab301af6a5d37c09b1264d46a42c78288a339ff
0xe0c1976e9e9350986aa942b1176f6d23e0db90f8
0xfb61aa6b35754d8779f989e50e616b0ab4d11662
0x52e18c7cda62b91cbeafd52fbd0561720e2bd804
0xa2d916f6f7490ab9f1aa5e444ef078eb7478b23b
Listening on localhost:8545
eth_accounts
eth_coinbase
eth_sendTransaction
eth_newBlockFilter
eth_getFilterChanges
/Users/greg/Ethereum/frameworks/EtherSim/lib/blockchain.js:313
queued.callback(err, result);
^
TypeError: queued.callback is not a function
at intermediary (/Users/greg/Ethereum/frameworks/EtherSim/lib/blockchain.js:313:12)
at /Users/greg/Ethereum/frameworks/EtherSim/lib/blockchain.js:418:7
at Object.async.eachSeries (/Users/greg/Ethereum/frameworks/EtherSim/node_modules/async-eventemitter/node_modules/async/lib/async.js:130:20)
at VM.AsyncEventEmitter.emit (/Users/greg/Ethereum/frameworks/EtherSim/node_modules/async-eventemitter/lib/AsyncEventEmitter.js:42:9)
at afterBlock (/Users/greg/Ethereum/frameworks/EtherSim/node_modules/ethereumjs-vm/lib/runBlock.js:55:10)
at /Users/greg/Ethereum/frameworks/EtherSim/node_modules/ethereumjs-vm/lib/runBlock.js:179:9
at /Users/greg/Ethereum/frameworks/EtherSim/node_modules/ethereumjs-vm/lib/cache.js:136:7
at /Users/greg/Ethereum/frameworks/EtherSim/node_modules/async/lib/async.js:52:16
at iterate (/Users/greg/Ethereum/frameworks/EtherSim/node_modules/async/lib/async.js:260:24)
at Object.async.forEachOfSeries.async.eachOfSeries (/Users/greg/Ethereum/frameworks/EtherSim/node_modules/async/lib/async.js:281:9)
truffle test got as far as:
-> % truffle test
Using environment test.
Compiling contracts...
Contract: Example
—
Reply to this email directly or view it on GitHub
https://github.com/ConsenSys/truffle/issues/54#issuecomment-156587306.

FYI, just verified that this works on TestRPC aka eth-testrpc.
So, since this is not an intrinsic Truffle issue I'm closing this, and I opened a corresponding EtherSim issue: https://github.com/iurimatias/EtherSim/issues/6


Keep existing extensions with -noq

Hi,
I am trying to utilize GLTFPACK on my files which already have a bunch of custom extensions and in an engine that does not support quantization extension.
I, therefore, used the -noq option, but this removes my existing extensions also. Is there a method to run the gtlfpack, with no quantization and keep my own custom extensions?

gltfpack relies on being able to reprocess / reorganize the scene through the variety of options, and that changes indexing of various elements - currently nodes, meshes, materials, some parts of animation data, and probably more in the future. Because extensions can contain arbitrary ids that point to any of these elements, gltfpack must know about the specific extensions to be able to retain them.
Are you able to use "extras" instead? These can be retained when -ke is used.

Thankyou for the quick response,
I understand - sadly the engine has these extensions forced on that end so I am unable to change anything on my side to alleviate the issue,
Is it possible to tell GLTFPACK about these additional extensions to retain them?

It depends on where they are attached and what content they contain. I can’t really say definitively without knowing details.

I have the schema for these extensions - can I pm them to you?

Feel free to use the email address associated with the account.

After more consideration I'm going to close this as "not planned".
Support for extensions really requires them to be integrated into the overall processing. Material extensions without textures can be handled somewhat generically, although even there some materials have constant that are scale-dependent (eg volume thickness). However, when textures are present, they require specialized processing and that's just not very achievable without knowing the semantics. My overall feeling is that files with custom extensions should probably be processed by glTF-Transform which has an extension API, and gltfpack should remain a simpler but opinionated tool that needs to understand the entire scene to process it well.


Use Jenkins project-wide formatter configuration

This repository uses a non-standard (for the Jenkins project) code formatting style and enforcement during the build. This PR switches this repository to use the Jenkins standard project-wide formatting configuration and enforcement with Spotless. The benefit is that it makes it easier for Jenkins developers to go from one project to the next without the cognitive dissonance of switching styles.
Testing done
Ran mvn clean verify -DskipTests -DskipITs.

Conflicts with #363; whichever is merged second will have to adapt.


Widget fields should be shown in code completions for the corresponding widget state classes

Flutter uses a pattern of two coordinated classes - a widget and its state.
class Foo extends StatefulWidget { ... }

and
class FooState extends State<Foo> { ... }

Within the FooState class, you can reference fields from the widget thus-wise:
// defined in the Foo class
final MyObject bar;

// used from within FooState
print(widget.bar);

The widget getter is defined on State, and return the corresponding widget.
When completing within FooState, it would be nice to also show the fields from the Foo widget class. So above, completing ba^ would complete to widget.bar.
cc @bwilkerson @pq @jwren

Hypothesis1: in a State, the usage rate of every widget.foo field is close to 100%.
If this is true, we should suggest all widget.foo fields.
Hypothesis2: in a State subclass, when the context type is a Widget, the probability of a widget.foo is
higher than the probability of any individual Widget constructor invocation.
If this is true, we should give widget.foo suggestions higher relevance than to any Widget constructor invocation.
I will check these hypothesis, and either do changes, or will try to think something else.


Upgrade win32 dependency to latest

I am using file_picker package along with rich_clipboard and I am not able to build it with because of this error.
Because no versions of rich_clipboard match >1.0.1 <2.0.0 and rich_clipboard 1.0.1 depends on rich_clipboard_windows ^1.0.0, rich_clipboard ^1.0.1 requires rich_clipboard_windows ^1.0.0.
And because every version of rich_clipboard_windows depends on win32 ^2.5.1 and file_picker >=5.1.0 depends on win32 ^3.0.0, rich_clipboard ^1.0.1 is incompatible with file_picker >=5.1.0.

I'm with the same problem, you can try use file_picker in version 5.0.0 for this moment

Thanks for the report. I just published version 1.0.2 of rich_clipboard_windows to pub.dev, which should fix the issue.


Replacement for messaging.kafka.source.partition?

Messaging "source" attributes were removed in #100.
#156 introduced replacements for all of the attributes removed in #100, except for messaging.kafka.source.partition.
Ran into this while migrating Java Kafka instrumentation to semconv 1.21.0, and wondering if we should bring this attribute back also, e.g. as messaging.kafka.destination_publish.partition?

It should be messaging.kafka.destination.partition - both consumers and producers should report partition on destination namespace (which used to be split to source and destination depending on where it's reported).
destination_publish.partition might be used if consumer knowns not just the original destination message was published to, but also a partition. I guess it's quite a rare case.

thx @lmolkova, this makes sense!

Should we leave it open, so we can track and re-add the attribute for Kafka?

But was it recording the old attribute before? Because if so, then  we should I guess re-introduce the attribute under messaging.kafka.destination.partition. The other case I feel we don't know so fine leaving it out. (destination_publish.partition)

messaging.kafka.destination.partition already exists: https://github.com/open-telemetry/semantic-conventions/blob/main/docs/messaging/kafka.md#span-attributes

Ah, great then I think we should be ok in closing this. @pyohannes  I think then we can move it out of the V1 Stable semantics board.


🐛 IOS17.0.3, iPhone14 Pro takePhoto method bug

What's happening?
It's an app on sale now and I'm taking pictures using vision-camera.
Since the recent ios17 update came out, the takephoto function has conditionally failed to work well.
The current models are available for all iPhones with less than 17 versions.
The model that found the bug was when the iPhone 14 Pro was 17.0.2 and 17.0.3.
iPhone 14 Pro worked well when it was IOS 16 version.
One thing I wonder is that it works well on the iPhone 12 IOS 17.
Below is the operating image of my app.
https://github.com/mrousavy/react-native-vision-camera/assets/54767632/69bd609b-89fd-4f8b-a37f-a29b536166fa
https://github.com/mrousavy/react-native-vision-camera/assets/54767632/fdac5101-b233-404a-a4c9-3859aa842178
In case of failure, the path of the photo was not received.
Currently, I can't test because IOS 17.0.3's practical machine connection is not supported on xcode 15, so I distribute the app through firebase and debug it. (Please point out if I'm mistaken. connection to the practical machine for 17.0.3)
Tell me if the problem is vision-camera or something else. I need a lot of help
Reproduceable Code
const photo =
    Platform.OS === 'ios'
        ? await cameraRef.current.takePhoto({
            flash: 'off',
          })
        : await cameraRef.current.takeSnapshot({
            quality: 80,
            flash: 'off',
          });

let rotatedUri = photo.path;

Relevant log output
This is the case where you cannot take a log in a test environment.

I distributed the app on firebase and checked it by putting the photo.path value in alert,

and if it failed, nothing appeared, and if it was successful,

the path printed it normally.
In the video above, nothing came up when it was failed.

Camera Device
-

Device
iPhone 14 Pro(IOS 17.0.2, 17.0.3)
VisionCamera Version
2.15.4, 2.16.2
Can you reproduce this issue in the VisionCamera Example app?
Yes, I can reproduce the same issue in the Example app here
Additional information

[ ] I am using Expo
[ ] I have enabled Frame Processors (react-native-worklets-core)
[X] I have read the Troubleshooting Guide
[X] I agree to follow this project's Code of Conduct
[X] I searched for similar issues in this repository and found none.

Hey, glad to hear you're using VisionCamera in production and everything worked fine so far.
I don't offer any free support for bug-hunting for V2 anymore, so either upgrade to V3 or reach out to me through my consultancy agency so we can take a look at this for an hourly rate.

And even if, I would need the logs. Maybe you can get those somehow with Console.app


Insertion of binary search tree.

#hacktoberfest

Hi Dear @Meet2020mp
Great code
Thanks for your contribution......
Show your support on my youtube channel web Pixar(The institute of coding)
like , share , subscribe
Youtube - https://youtu.be/5qnQjgdpFPg
Telegram-channel - https://t.me/WebPixar
Join our telegram channel for more goodies , swag packs.
You can also join - https://devfolio.co/signup?ref=33d4a02bef
And search for - HackNITR 3.0
There is too many rewards..


Button update bug on Hijacks screen

When I change the selector for "Mark as Resolved" -> "Delete Hijack", it doesn't actually change. but if I do it two times, it does update and change.
Affected Component(s)

[ ] Back-End (Node.js, Next.js)
[x] Front-End (React.js)
[ ] Theming (CSS, React theme)
[ ] Build System
[ ] Docs

To Reproduce
Steps to reproduce the behavior:

Go to the hijacks page (with active hijacks listed)
Select a hijack/or page
Pick the mark as resolved button, and change it to another state.
It won't change.
Pick the same option again, it works.

Expected behavior
Should work on the first selection.
Screenshots

System (please complete the following information):

OS: RHEL8 / docker
Browser Chrome / Firefox
Version 108.0.5359.94 / 107.0.1 (64-bit)

Additional context
Add any other context about the problem here.

@CuriouzK0d3r could you take a look here? This is a general problem on this selection menu.


Code introspection - calling sloe on compiled cores

Suppose I have a core:
=fancy-core
|%
   ++  arm-1  ...
   ++  arm-2  ...
    ...
--

I would like to be able to scan the core for arms (and arms in subcores possibly)
and keep those matching some criteria. I have found we have ++sloe, however I can't call it properly. Neither wrapping it in a vase (which the sloe expect) or any other trick seems to work.
I did look at our tester, but it seems to use ford; For this case we can assume fancy-core is already accessible.

Ok, I think I got it.
The answer is
> (sloe p:!>(a))
~[%literal]

Yes or use the type structure directly
Sent from my iPhone

On Sep 10, 2018, at 5:07 AM, mikolajpp<EMAIL_ADDRESS>wrote:
Ok, I think I got it.
The answer is

(sloe p:!>(a))
~[%literal]
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub, or mute the thread.


OSM Scotland

Hi, wondering if someone could create a Scotland region for us? 😃
name=Scotland
flag=🏴 (this is showing black for me, and no flags are showing for me on the welcome tool - just AT for example)
locales=en (though not sure if "gd" for Scots Gaelic should also be included?)
The OSM relation would be: https://www.openstreetmap.org/relation/58446
Thanks!

No worries, I'll take care of it in the next few days.

🚀 Deployed: https://welcome.osm.be/scotland/list

I have the same black flag on Windows but the correct flag on Firefox on Android so I guess it will depend on your browser and OS.

Thanks! 😄


Custom McBreadcrumbsResolver in lazy loading module

I have an app.component registered in app.module. Inside this component i use mc-breadcrumbs component.
i have lazy module 'lazy.module' that has it's own routing configuration. Here i'm using custom breadcrumb resolver inherited from McBreadcrumbsResolver. CustomMcBreadcrumbsResolver added to providers for 'lazy.module'.
With this configuration i see next error:
ERROR Error: Uncaught (in promise): Error: StaticInjectorError(AppModule)[CustomBreadcrumbsResolver]:
If i add CustomBreadcrumbsResolver to app.module the error is gone and it works as expected.
The problem, that i don't want to add this service to main module(Angular resolvers work in this way).

I am having the same issue. Would be nice to have a solution for that.

You can resolve this issue by adding {providedIn :'root'} inside Injectable decorator your code will be like this :
@Injectable({providedIn :'root'})


Error when Vundle is loading from multiple sources.

It's quite common to see issues related to Vundle accidentally loading
from several sources.
Try to mitigate this issue by echoing an error.

Thanks for the PR. However I think most problems with the duplicate install don't come because #rc or #begin is being called several times, but rather because people have one bundle/vundle, which they add to rtp manually, and then they do Plugin 'gmarik/Vundle.vim' which will install the second version that keeps updated.
Now, since everything in vundle is loaded on demand, they end up running bits from the updated vundle and bits from the one that is stagnant.
Which is why we also get the collections of "OMG Vundle tries to delete iself" issues :)
So, which error case is this one covering?

Thanks for the comment.
You are right, I aimed for the first reason.
Fixed it to include the second, but both of them need to have this commit for it to work.


Problem flagging: how to identify a problematic promise / async chain?

What are the characteristics which we could turn into heuristic to identify a likely-unnecessary or likely-problematic promise chain or async chain?

The key ones with Promises would be:

Chains of purely synchronous Promise handlers. E.g. it would be interesting if we could detect and flag examples like Promise(something).then(syncFunc).then(syncFun).then(syncFunc)..... The way to detect this would be to determine if there is actually any asynchronous activity being scheduled by the then() handlers. If there isn't, then this pattern is definitely problematic.

Uses of Promise.all() or Promise.race() that are purely sync... e.g. Promise.all([syncFn(), syncFn()]) where the Promises passed to Promise.all()` do not actually do any asynchronous work.

Unnecessary Promise creation... for instance, take the following real world example derived from some code one of our clients is using:

const { promisify } = require('util')
const timeout = promisify(setTimeout)

async function bar() { await timeout(1000) }

async function foo(a) {
  return a || await bar()
}

foo(true).then(console.log)
foo(false).then(console.log)

The idea here is that in the client code, they do not know if a given function is going to return a Promise that is actually doing async work or if it's going to return async, so they defensively wrap everything in an async function so they always get a Promise back. In the best case above (a is truthy) two completely unnecessary Promises are created when the code is executed. In the worse case, however, ten Promises are created. This code can be optimized some by rewriting the foo Function to not be an async function:
const { promisify } = require('util')
const timeout = promisify(setTimeout)

async function bar() { await timeout(1000) }

function foo(a) {
  return a ? Promise.resolve(a) : bar()
}

foo(true).then(console.log)
foo(false).then(console.log)

In this variant, in the best case (a is truthy), there are still two generally unnecessary Promises created, but there are only six Promises created in the falsy case while the code produces the exact same result.
This can be further optimized to eliminate the unnecessary sync case Promises by actually switching back to a callback pattern:
const { promisify } = require('util')
const timeout = promisify(setTimeout)

async function bar() { await timeout(1000) }

function foo(a, cb) {
  if (a) cb(null, a)
  else {
    bar().then(cb.bind(null, null))
         .catch(cb.bind(null))
  }
}

foo(true, console.log)
foo(false, console.log)

For the a is truthy case, no unnecessary Promises are created. For the falsy case, only six are created.
If would be absolutely amazing if we could detect these kinds of unnecessary Promise creation cases.

Large numbers of Promises being created during synchronous operations. Creating a large number of Promises within loops/iterations is proving to be more problematic than creating closures repeatedly within loops. It's also something we should be able to detect.

I'm sure there are more cases, but these are the top ones that I've been seeing and are the ones that I'd like to be able to detect first.


REPLAY-1447 Introduce the ExtensionSupport public API

What does this PR do?
In this PR we are introducing a new capability in the SR Public API which will allow users to provide an ExtensionSupport implementation to support UI frameworks different than the default ones (e.g. Material). For now the ExtensionSupport has only one method/property ->  getCustomViewMappers(): Map<Class<*>, WireframeMapper<View, *>> which could be used to specify a custom WireframeMapper for a specific View type that is not supported by default by the core SR sdk.
This method will be leveraged in the next PR to provide a SliderWireframeMapper for the Material Slider component.
Please note that a fix was added for the ApiSurfaceGenerator in order to support wildcard generics in functions.
Motivation
What inspired you to submit this pull request?
Additional Notes
Anything else we should know when reviewing?
Review checklist (to be filled by reviewers)

[ ] Feature or bugfix MUST have appropriate tests (unit, integration, e2e)
[ ] Make sure you discussed the feature or bugfix with the maintaining team in an Issue
[ ] Make sure each commit and the PR mention the Issue number (cf the CONTRIBUTING doc)

Codecov Report

Merging #1325 (e910f0b) into feature/session-replay (9f8f3dc) will increase coverage by 0.02%.
The diff coverage is 92.41%.

@@                    Coverage Diff                     @@
##           feature/session-replay    #1325      +/-   ##
==========================================================
+ Coverage                   83.09%   83.12%   +0.02%
==========================================================
  Files                         375      376       +1
  Lines                       13102    13131      +29
  Branches                     2142     2137       -5
==========================================================
+ Hits                        10887    10914      +27
+ Misses                       1560     1557       -3
- Partials                      655      660       +5

Impacted Files
Coverage Δ

...ssionreplay/internal/recorder/SystemInformation.kt
80.00% <0.00%> (ø)

...nternal/recorder/mapper/AllowAllWireframeMapper.kt
91.67% <75.00%> (-3.79%)
:arrow_down:

...internal/recorder/mapper/MaskAllWireframeMapper.kt
91.67% <75.00%> (-3.79%)
:arrow_down:

...nreplay/internal/SessionReplayLifecycleCallback.kt
88.89% <80.00%> (+1.01%)
:arrow_up:

...internal/recorder/mapper/GenericWireframeMapper.kt
95.56% <95.35%> (-4.44%)
:arrow_down:

...adog/android/sessionreplay/NoOpExtensionSupport.kt
100.00% <100.00%> (ø)

...ndroid/sessionreplay/SessionReplayConfiguration.kt
100.00% <100.00%> (ø)

...adog/android/sessionreplay/SessionReplayFeature.kt
97.14% <100.00%> (+0.04%)
:arrow_up:

...adog/android/sessionreplay/SessionReplayPrivacy.kt
100.00% <100.00%> (ø)

...id/sessionreplay/internal/recorder/GlobalBounds.kt
100.00% <100.00%> (ø)

... and 13 files with indirect coverage changes


Branching templates at compile time

Hello,
if I understand correctly, one source template translates to only one compiled Java template at the moment.
I think it would be awesome to be able to compile (and use) several Java templates for a single source template. Let me explain with code - right now I have something like this:
Current situation
base.rythm
@args boolean includedInIFrame

@if(includedInIFrame)
{
	@extends(layout)
}
else
{
	@include("escaping.rythm")
}

...

While compilation succeeds, only 1 Java template (the one that extends layout, regardless of argument) is generated. It means that base.rythm is always wrapped with my HTML layout (basic HTML structure) despite that sometimes I only want to invoke/include it in another template which is, by itself, already wrapped or already extends the layout.
A solution/workaround to this is simple - create a seperate file like this:
base-full.rythm
@extends(layout)
@base()

...

The improvement
Currently, the solution is simple but still kind of exhausting and complex if you need to do this many times, perhaps even with more than 2 versions for each affected template. It would probably be difficult to add a convenience for such cases into Rythm but not necessarily if it is well designed and perhaps constrained (for the sake of simpler implementation) :). For example:
base.rythm
@args boolean includedInIFrame

@branch-if("wrapped", includedInIFrame)
{
	@extends(layout)
}
@branch-if("bare", ! includedInIFrame)
{
	@include("escaping.rythm")
}

...

Like this, the template could actually compile into base-wrapped.java and base-bare.java, instead of base.java. Usage in other templates would be changed a little as well:
@base-bare()    // OK
@base-wrapped()    // OK
@base()    // TemplateNotFoundException: the requested template is branched. You must also specify a branch name in the command

A default branch could be required as well, for example:
@args boolean includedInIFrame

@branch-if("wrapped", includedInIFrame)
{
	@extends(layout)
}
@branch-default()
{
	@include("escaping.rythm")
}

...

And then:
@base-wrapped()    // OK
@base()    // OK

My example is practically a switch case and a special flavor of switch case could maybe be used for this, once it is available in Rythm :). But then a simple if-else might be a better option to start with...

Sounds like an interesting solution to workaround the Rythm limits that extends is not dynamic. Thank you very much. I will think about it (perhaps not in the recent future coz I crazy busy at some other things at the moment).


Maximum browser compatability settings

I currently have those settings, which I think are totally wrong.
audioMimeType: 'audio/webm',
videoMimeType: 'video/mpeg;codecs=h264'

I have an button which changes the mode, so some users can record audio only. This works in most devices and browsers, except

OSX with Chrome: Audio only recordings do produce a corrupted file
Android occasionally producing corrupted videos

What is the best configuration for maximum browser compatibility? Which mimeTypes? Any other properties? Should I just hardcode opus and use https://github.com/kbumsik/opus-media-recorder as a polyfill?

Should I just hardcode opus and use https://github.com/kbumsik/opus-media-recorder as a polyfill?

videojs-record 4.2.0 includes a new opus-media-recorder plugin that should work on all platforms. vmsg is another option. Give it a try and let us know how it goes.

Should I just hardcode opus and use https://github.com/kbumsik/opus-media-recorder as a polyfill?

videojs-record 4.2.0 includes a new opus-media-recorder plugin that should work on all platforms. vmsg is another option. Give it a try and let us know how it goes.

Thanks @thijstriemstra . Do you know approximately when you will release 4.2.0?

This week @Toktik


OAuth Error: redirect_uri did not match any configured URIs.

Hello,
can someone help me fix this issue?
OAuth Error: redirect_uri did not match any configured URIs.
Passed URI :
Allowed URI : none specified

@nheidloff FYI ☝ see above issue.
@pavani1092 can you give us a bit more detail? At what step did you run into this error?

The issue got fixed. I was not using local tunnel to connect. Thank you :)


crash error

Description:
java.lang.IndexOutOfBoundsException: getChildDrawingOrder() returned invalid index 3 (child count is 3)
at android.view.ViewGroup.getAndVerifyPreorderedIndex(ViewGroup.java:2045)
at android.view.ViewGroup.dispatchDraw(ViewGroup.java:4246)
at android.view.View.draw(View.java:20620)
at android.view.View.updateDisplayListIfDirty(View.java:19444)
at android.view.View.draw(View.java:20325)
at android.view.ViewGroup.drawChild(ViewGroup.java:4508)
at android.view.ViewGroup.dispatchDraw(ViewGroup.java:4264)
at android.view.View.updateDisplayListIfDirty(View.java:19435)
at android.view.View.draw(View.java:20325)
at android.view.ViewGroup.drawChild(ViewGroup.java:4508)
at android.view.ViewGroup.dispatchDraw(ViewGroup.java:4264)
at com.dcloud.android.widget.AbsoluteLayout.dispatchDraw(Unknown Source:57)
at android.view.View.updateDisplayListIfDirty(View.java:19435)
at android.view.View.draw(View.java:20325)
at android.view.ViewGroup.drawChild(ViewGroup.java:4508)
at android.view.ViewGroup.dispatchDraw(ViewGroup.java:4264)
at com.dcloud.android.widget.AbsoluteLayout.dispatchDraw(Unknown Source:57)
at android.view.View.updateDisplayListIfDirty(View.java:19435)
at android.view.View.draw(View.java:20325)
at android.view.ViewGroup.drawChild(ViewGroup.java:4508)
at io.dcloud.common.core.ui.l.drawChild(Unknown Source:7)
at android.view.ViewGroup.dispatchDraw(ViewGroup.java:4264)
at io.dcloud.common.core.ui.b$b.dispatchDraw(Unknown Source:0)
at android.view.View.draw(View.java:20620)
at android.view.View.updateDisplayListIfDirty(View.java:19444)
at android.view.View.draw(View.java:20325)
at android.view.ViewGroup.drawChild(ViewGroup.java:4508)
at android.view.ViewGroup.dispatchDraw(ViewGroup.java:4264)
at android.view.View.updateDisplayListIfDirty(View.java:19435)
at android.view.View.draw(View.java:20325)
at android.view.ViewGroup.drawChild(ViewGroup.java:4508)
at android.view.ViewGroup.dispatchDraw(ViewGroup.java:4264)
at android.view.View.updateDisplayListIfDirty(View.java:19435)
at android.view.View.draw(View.java:20325)
at android.view.ViewGroup.drawChild(ViewGroup.java:4508)
at android.view.ViewGroup.dispatchDraw(ViewGroup.java:4264)
at android.view.View.updateDisplayListIfDirty(View.java:19435)
at android.view.View.draw(View.java:20325)
at android.view.ViewGroup.drawChild(ViewGroup.java:4508)
at android.view.ViewGroup.dispatchDraw(ViewGroup.java:4264)
at android.view.View.draw(View.java:20620)
at com.android.internal.policy.DecorView.draw(DecorView.java:916)
at android.view.View.updateDisplayListIfDirty(View.java:19444)
at android.view.ThreadedRenderer.updateViewTreeDisplayList(ThreadedRenderer.java:690)
at android.view.ThreadedRenderer.updateRootDisplayList(ThreadedRenderer.java:696)
at android.view.ThreadedRenderer.draw(ThreadedRenderer.java:805)
at android.view.ViewRootImpl.draw(ViewRootImpl.java:3984)
at android.view.ViewRootImpl.performDraw(ViewRootImpl.java:3759)
at android.view.ViewRootImpl.performTraversals(ViewRootImpl.java:3055)
at android.view.ViewRootImpl.doTraversal(ViewRootImpl.java:1815)
at android.view.ViewRootImpl$TraversalRunnable.run(ViewRootImpl.java:8237)
at android.view.Choreographer$CallbackRecord.run(Choreographer.java:995)
at android.view.Choreographer.doCallbacks(Choreographer.java:807)
at android.view.Choreographer.doFrame(Choreographer.java:739)
at android.view.Choreographer$FrameDisplayEventReceiver.run(Choreographer.java:981)
at android.os.Handler.handleCallback(Handler.java:873)
at android.os.Handler.dispatchMessage(Handler.java:99)
at android.os.Looper.loop(Looper.java:226)
at android.app.ActivityThread.main(ActivityThread.java:7212)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:576)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:956)
React Native version:
version : 0.50.1
Steps To Reproduce
Provide a detailed list of steps that reproduce the issue.
This is an exception that happened when we did cloud survey,we don't know the exact scene.
Expected Results
i want to know what happened and how to solve it
Snack, code example, screenshot, or link to a repository:
nothing

Hello, you please check if the issue persists in the latest version. I'm closing this until we have more information.

Hello, you please check if the issue persists in the latest version. I'm closing this until we have more information.

At present, we have a wide range of influence and there is no way to upgrade the version. Now,i just want to know  has a similar case happened before

At present, we have a wide range of influence and there is no way to upgrade the version. Now,i just want to know  has a similar case happened before

Your version is way too old, RN developers support only latest version which is 0.63. You can search issue tracker for same issue, instead of filing an issue. I would recommend to upgrade RN.

Your version is way too old, RN developers support only latest version which is 0.63. You can search issue tracker for same issue, instead of filing an issue. I would recommend to upgrade RN.

I'm using 0.63.1 and I can confirm this is happening. App closes out of nowhere. What info can I give to help diagnose the issue?

I have the same issue on "react-native": "0.63.2"

I ran into this problem recently. In my case it was triggered by a <RefreshControl> element that was just sitting in the component tree (as opposed to being the refreshControl prop of a ScrollView). After adding a ScrollView and passing the RefreshControl to it, the crash went away.


A BUG in loss.py

https://github.com/shengliu66/SOP/blob/5851882d12f91e33d6c78295e6cf8394737b5fcd/model/loss.py#L90
There is not self.ratio_reg in Class overparametrization_loss

Yes, we accidentally push the editing version of the code, now it should works fine, we updated the code as well as the readme


Fix argo logs empty content when workflow run in virtual kubelet env

VirtualKubelet is here.
When argo run workflow in virtual kubelet env,   the virtual kubelet return not standard log entry. It will cause empty content when argo logs.

LGTM @jessesuen


[FR] sort devices by signal strength when scanning

otherwise it's hard to find the one among many.
Also scan is quite fast, should be a little longer (or tunable)

Should be fixed here, I feel 30 seconds is quite long enough also given you can cancel anytime.
https://github.com/jerameel/bacon/releases/tag/v1.5.1


hardcoded variant column name

https://github.com/shyaginuma/casual_inference/blob/f0db3b34a9ad705ad0a319feb1f83afcc6624c71/casual_inference/evaluator/abtest.py#L210-L223
It seems that in the _diagnose_srm variant column name is hardcoded.

Thanks for raising the issue!
Fixed in #49 , let me close this issue.


[Feature Request] batchwise gather_nd/scatter_nd

Description
Assuming I have a data tensor X and indices tensor Y: X has a shape (batch, N, 3) and Y has a shape (batch, 1, M), I hope there is a new operation can do batch-wise gather_nd and scatter_nd using the index within the batch and gather the data to new tensor (batch, M, 3)
Implementation
Forwarding...
gathered = []
for i in range(X.shape[0]):
     gathered.append(nd.gather_nd(X[i], Y[i]))
return nd.concat(*gathered)
``

This should be the correct version of batch_take. We need to support his in the future.

@ShownX Have you found the solution to this problem? I am also struggling on this issue...


Upgrade AWS SDK v2 to version 2.20.98

Description

Target

[x] I checked that the commit is targeting the correct branch (note that Camel 3 uses camel-3.x, whereas Camel 4 uses the main branch)

Tracking

[ ] If this is a large change, bug fix, or code improvement, I checked there is a JIRA issue filed for the change (usually before you start working on it).

Apache Camel coding standards and style

[x] I checked that each commit in the pull request has a meaningful subject line and body.

[x] I have run mvn clean install -DskipTests locally and I have committed all auto-generated changes

/component-test camel-aws2-athena camel-aws2-cw camel-aws2-ddb camel-aws2-ec2 camel-aws2-ecs camel-aws2-eks camel-aws2-eventbridge camel-aws2-iam camel-aws2-kinesis camel-aws2-kms camel-aws2-lambda camel-aws2-mq camel-aws2-msk camel-aws2-s3 camel-aws2-ses camel-aws2-sns camel-aws2-sqs camel-aws2-sts camel-aws2-translate camel-aws-cloudtrail camel-aws-secrets-manager

/component-test camel-aws/camel-aws2-athena camel-aws/camel-aws2-cw camel-aws/camel-aws2-ddb camel-aws/camel-aws2-ec2 camel-aws/camel-aws2-ecs camel-aws/camel-aws2-eks camel-aws/camel-aws2-eventbridge camel-aws/camel-aws2-iam camel-aws/camel-aws2-kinesis camel-aws/camel-aws2-kms camel-aws/camel-aws2-lambda camel-aws/camel-aws2-mq camel-aws/camel-aws2-msk camel-aws/camel-aws2-s3 camel-aws/camel-aws2-ses camel-aws/camel-aws2-sns camel-aws/camel-aws2-sqs camel-aws/camel-aws2-sts camel-aws/camel-aws2-translate camel-aws/camel-aws-cloudtrail camel-aws/camel-aws-secrets-manager


Address rare corruption of NFTokenPage linked list

High Level Overview of Change
It was discovered that there are a couple of NFT directories on the MainNet that are missing links in the middle of the chain.  This pull request does several things to address the corruption:

The source of the corruption was identified and fixed, which should prevent the problem from happening in the future.
A new transaction, LedgerStateFix, is added which allows any account on ledger to pay the fee to repair the links of any single account.
More invariants are added which should prevent similar problems from happening in the future.
And unit tests are added to exercise all of the above changes.

A new amendment, fixNFTokenPageLinks, includes all of these changes.
Details follow.
The Source of the Corruption
There are two different transactions that introduced the corruption into the two directories.  In both cases the following conditions were met:

There were at least two NFToken pages in the directory.
The next-to-last page was completely full, holding 32 NFTokens.
The very last page of the directory contained only one NFToken, and the transaction removed that last remaining token from the last page.

When these conditions were met, the last NFToken page was removed and the next-to-last page was left as the final page in the directory.
That would be fine except the NFToken directory has a an expectation that the last page has a specific index.  The page with that index was just deleted.  So when an NFToken is added to the directory, and that token has a high enough value that it does not belong on the new last page, then a new last page is created that has no links to the previous page.
Now there's a linked list with a hole in the middle of the list.
The fixNFTokenPageLinks amendment modifies the NFToken page coalescing code to notice when the very last page of the directory would be removed.  In that case it simply moves all of the contents of the next lower page into the last page and deletes the next-to-last page (and fixes up the links).
New invariant checks also validate aspects of the links on pages, so a similar corruption should cause a tecINVARIANT_FAILED transaction result.  That should prevent similar corruptions in the future.
The New Transaction: LedgerStateFix
Once the amendment goes live then that prevents any similar NFToken directory corruption in the future.  But we are still left with two damaged NFToken directories.  And potentially more that could be created between now and when the amendment goes live.
We could leave the corruptions.  I don't like that idea for two reasons:

These corruptions seriously inconvenience those accounts that suffered the corruption, through no fault of their own.
When you drop food on the kitchen floor you clean it up.  You don't put up a sign that says, please don't step here.

We could put in code that cleans up the two known corrupted directories when the amendment goes live.  That's not a good approach for two reasons:

As mentioned before, additional directories could face similar corruption between now and when the amendment goes live.  We would like to be able to clean up all damaged NFToken directories, regardless of when they are created.
The MainNet is not the only place running the XRP Ledger code.  Other networks may have similar corruptions that need to be fixed.  The approach to the fix should be applicable to other networks as well.

We need a transaction to clean up the directories.  There are no transactions that just naturally walk an NFToken directory.  So we can't leverage an existing transaction.  There are RPC commands that walk the directory, but RPC commands can't modify ledger state.
But we would also rather not introduce a new single-use transaction for this very tiny corner case.
So this approach creates a new transaction aimed at cleaning up messes in the ledger: LedgerStateFix.  We'll use it for this situation.  If there are other repairable corruptions in the future we can re-use this transaction to repair those future corruptions.
LedgerStateFix
LedgerStateFix fields (in addition to common fields) are:

Field Name
Data Type
Required/Optional
Description

TransactionType
uint16
Required
LedgerStateFix

Account
STAccount
Required
Account that signs and pays fee

Fee
STAmount
Required
Fee paid for transaction

Flags
uint32
Optional
Available for future fixes

LedgerFixType
uint16
Required
Only 1 is currently supported

Owner
STAccount
Optional
Required if LedgerFixType == 1

TransactionType — identifies this as a LedgerStateFix transaction.
Account — identifies the account signing and submitting the transaction as well as paying the Fee.
Fee — this transaction is rare and potentially compute intensive.  We want to discourage folks from spamming the ledger with these.  So the minimum fee is the same as the fee for an AccountDelete transaction.  And, yes, if the transaction fails with a tec code the fee is still charged.
Flags — not needed for LedgerFixType == 1.  May be used for some unknown future ledger fix.
LedgerFixType — for now the only valid value is 1, which fixes the NFToken directory for a single account.
Owner — the account that owns the NFToken directory that needs fixing.  Need not have any relationship to Account.
Fixing NFTokenPage Links
Once the amendment goes live, any corrupted NFTokenPage directory can be fixed by submitting a transaction like this:
{
   "Account" : "<Signer and fee payer>",
   "Fee" : "2000000",
   "LedgerFixType" : 1,
   "Owner" : "<Account with corrupted NFTokenPage directory",
   "Sequence" : <n>,
   "SigningPubKey" : "<Account's public key>",
   "TransactionType" : "LedgerStateFix",
   "TxnSignature" : "<Signature>",
}

If a repair is actually completed, then tesSUCCESS is returned.  If there is an error or if the directory did not need repair then a tec code is returned.
Future Fixes
Unfortunately this is not the first time ledger state has needed tidying up.  Amendment fixTrustLinesToSelf removed invalid state from the ledger.  Since programmers are humans we can expect similar kinds of problems to show up in the future.
If there are future ledger state problems, they can be attached to the LedgerStateFix transaction by picking a LedgerFixType value other than 1.  Any additional parameters can be added as optional values.
Context of Change
While I was research how efficient NFTokenPages actually are in use, I stumbled across two NFToken directories that were missing links in the middle of the chain.  This is a form of ledger corruption.  But its consequences do not seem too dire, even for the owners of those directories.  Known consequences are:

The account_objects RPC command returns only those objects at the beginning of the NFToken directory up to the point where a link is missing.  So, for those accounts with missing links, the NFTokens returned by account_objects is incomplete.
The account_nfts RPC command has a problem similar to account_objects.  account_nfts returns NFTokens only up to the point where a link is missing.

There may be other consequences, but I've looked for and not found any.  Particularly, I've not seen any evidence of lost NFTokens.  NFTokens still get added to the correct owner's page.  They simply are not reported by the RPC commands.
Type of Change

[x] Bug fix (non-breaking change which fixes an issue)
[x] New feature (non-breaking change which adds functionality)
[x] Tests (there are tests for the new code)
[x] Documentation will need to be added to cover the new transaction.

API Impact

[x] Public API: New feature (a new transaction type is added)

Consideration
This NFT-related amendment arrives at about the same time as a different NFT-related amendment: https://github.com/XRPLF/rippled/pull/4946
Should these two pull requests be merged into a single amendment?

Codecov Report
Attention: Patch coverage is 77.03704% with 31 lines in your changes are missing coverage. Please review.

Project coverage is 61.71%. Comparing base (c28e005) to head (54675ef).

Files
Patch %
Lines

src/ripple/app/tx/impl/details/NFTokenUtils.cpp
74.35%
14 Missing and 6 partials :warning:

src/ripple/app/tx/impl/LedgerStateFix.cpp
81.25%
3 Missing and 3 partials :warning:

src/ripple/app/tx/impl/InvariantCheck.cpp
75.00%
0 Missing and 5 partials :warning:

Additional details and impacted files
@@             Coverage Diff             @@
##           develop    #4945      +/-   ##
===========================================
+ Coverage    61.64%   61.71%   +0.07%
===========================================
  Files          806      808       +2
  Lines        70967    71099     +132
  Branches     36690    36770      +80
===========================================
+ Hits         43745    43881     +136
+ Misses       19865    19858       -7
- Partials      7357     7360       +3

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

Why do you use the custom transaction method instead of doing this automatically which is what happens in activateTrustLinesToSelfFix which is called when the amendment is activated? Are you worried that more corrupted pages will create before the amendment activates?

@exunda asked:

Why do you use the custom transaction method instead of doing this automatically which is what happens in activateTrustLinesToSelfFix which is called when the amendment is activated?

That's a fair question.  It was answered in the (admittedly long) description of the pull request.  Here's the quote:

We could put in code that cleans up the two known corrupted directories when the amendment goes live. That's not a good approach for two reasons:

As mentioned before, additional directories could face similar corruption between now and when the amendment goes live. We would like to be able to clean up all damaged NFToken directories, regardless of when they are created.
The MainNet is not the only place running the XRP Ledger code. Other networks may have similar corruptions that need to be fixed. The approach to the fix should be applicable to other networks as well.

We need a transaction to clean up the directories. There are no transactions that just naturally walk an NFToken directory. So we can't leverage an existing transaction. There are RPC commands that walk the directory, but RPC commands can't modify ledger state.

Does that answer your question?

Due to changes in develop, there are now merge conflicts. @scottschurr would it make sense for you to bring this branch up-to-date?

@intelliot, I'll work on that merge.

Once the merge is done, will this PR be ready to merge?

@ximinez, the merge is almost done -- I need to fix some clang formatting.  Gahh, merges across the restructure are painful.
Once clang-format is fixed (soon) I think it could be merged to develop.  It has two approvals.  But, given that it's an amendment, it would be nice if there were one more review from a senior developer.  I had not marked the branch as passed because I was waiting for that additional review.


Update Set-MailboxJunkEmailConfiguration.md

Formatted Syntax block and moved one param description alphabetically.

Docs Build status updates of commit b6147ed:
:clock10: Full build: the average full build time is 12 min(s) 21 sec(s), this is based on the last 1000 build(s) for this repository.

Docs Build status updates of commit b6147ed:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

exchange/exchange-ps/exchange/antispam-antimalware/Set-MailboxJunkEmailConfiguration.md
:white_check_mark:Succeeded
View (exchange-ps)

For more details, please refer to the build report.
Note: If you changed an existing file name or deleted a file, broken links in other files to the deleted or renamed file are listed only in the full build report.

Docs Build status updates of commit 45f4b34:
:clock10: Full build: the average full build time is 12 min(s) 21 sec(s), this is based on the last 1000 build(s) for this repository.

Docs Build status updates of commit 45f4b34:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

exchange/exchange-ps/exchange/antispam-antimalware/Set-MailboxJunkEmailConfiguration.md
:white_check_mark:Succeeded
View (exchange-ps)

For more details, please refer to the build report.
Note: If you changed an existing file name or deleted a file, broken links in other files to the deleted or renamed file are listed only in the full build report.

Docs Build status updates of commit aed2763:
:clock10: Full build: the average full build time is 12 min(s) 22 sec(s), this is based on the last 1000 build(s) for this repository.

Docs Build status updates of commit aed2763:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

exchange/exchange-ps/exchange/antispam-antimalware/Set-MailboxJunkEmailConfiguration.md
:white_check_mark:Succeeded
View (exchange-ps)

For more details, please refer to the build report.
Note: If you changed an existing file name or deleted a file, broken links in other files to the deleted or renamed file are listed only in the full build report.

Docs Build status updates of commit 8017b52:
:clock10: Full build: the average full build time is 12 min(s) 22 sec(s), this is based on the last 1000 build(s) for this repository.

Docs Build status updates of commit 8017b52:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

exchange/exchange-ps/exchange/antispam-antimalware/Delete-QuarantineMessage.md
:white_check_mark:Succeeded
View (exchange-ps)

exchange/exchange-ps/exchange/antispam-antimalware/Export-QuarantineMessage.md
:white_check_mark:Succeeded
View (exchange-ps)

exchange/exchange-ps/exchange/antispam-antimalware/Get-QuarantineMessage.md
:white_check_mark:Succeeded
View (exchange-ps)

exchange/exchange-ps/exchange/antispam-antimalware/Get-QuarantineMessageHeader.md
:white_check_mark:Succeeded
View (exchange-ps)

exchange/exchange-ps/exchange/antispam-antimalware/Preview-QuarantineMessage.md
:white_check_mark:Succeeded
View (exchange-ps)

exchange/exchange-ps/exchange/antispam-antimalware/Release-QuarantineMessage.md
:white_check_mark:Succeeded
View (exchange-ps)

exchange/exchange-ps/exchange/antispam-antimalware/Set-MailboxJunkEmailConfiguration.md
:white_check_mark:Succeeded
View (exchange-ps)

For more details, please refer to the build report.
Note: If you changed an existing file name or deleted a file, broken links in other files to the deleted or renamed file are listed only in the full build report.

Docs Build status updates of commit 39c813c:
:clock10: Full build: the average full build time is 12 min(s) 22 sec(s), this is based on the last 1000 build(s) for this repository.

Docs Build status updates of commit 39c813c:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

exchange/exchange-ps/exchange/antispam-antimalware/Delete-QuarantineMessage.md
:white_check_mark:Succeeded
View (exchange-ps)

exchange/exchange-ps/exchange/antispam-antimalware/Export-QuarantineMessage.md
:white_check_mark:Succeeded
View (exchange-ps)

exchange/exchange-ps/exchange/antispam-antimalware/Get-QuarantineMessage.md
:white_check_mark:Succeeded
View (exchange-ps)

exchange/exchange-ps/exchange/antispam-antimalware/Get-QuarantineMessageHeader.md
:white_check_mark:Succeeded
View (exchange-ps)

exchange/exchange-ps/exchange/antispam-antimalware/Preview-QuarantineMessage.md
:white_check_mark:Succeeded
View (exchange-ps)

exchange/exchange-ps/exchange/antispam-antimalware/Release-QuarantineMessage.md
:white_check_mark:Succeeded
View (exchange-ps)

exchange/exchange-ps/exchange/antispam-antimalware/Set-MailboxJunkEmailConfiguration.md
:white_check_mark:Succeeded
View (exchange-ps)

For more details, please refer to the build report.
Note: If you changed an existing file name or deleted a file, broken links in other files to the deleted or renamed file are listed only in the full build report.


MbedTLS issue in macos

When I attempt to build Ijulia, I am getting error screen below
julia> Pkg.build("IJulia")
Building Conda ──→ ~/.julia/packages/Conda/CpuvI/deps/build.log
Building ZMQ ────→ ~/.julia/packages/ZMQ/ABGOx/deps/build.log
Building MbedTLS → ~/.julia/packages/MbedTLS/X4xar/deps/build.log
┌ Error: Error building MbedTLS:
│ ┌ Warning: platform_key() is deprecated, use platform_key_abi() from now on
│ │   caller = ip:0x0
│ └ @ Core :-1
│ [ Info: Downloading https://github.com/JuliaWeb/MbedTLSBuilder/releases/download/v0.16.0/MbedTLS.v2.13.1.x86_64-apple-darwin14.tar.gz to /Users/alpersavasci/.julia/packages/MbedTLS/X4xar/deps/usr/downloads/MbedTLS.v2.13.1.x86_64-apple-darwin14.tar.gz...
│ ERROR: LoadError: Could not download https://github.com/JuliaWeb/MbedTLSBuilder/releases/download/v0.16.0/MbedTLS.v2.13.1.x86_64-apple-darwin14.tar.gz to /Users/alpersavasci/.julia/packages/MbedTLS/X4xar/deps/usr/downloads/MbedTLS.v2.13.1.x86_64-apple-darwin14.tar.gz:
│ ErrorException("")
│ Stacktrace:
│  [1] error(::String) at ./error.jl:33
│  [2] #download#89(::Bool, ::Function, ::String, ::String) at /Users/alpersavasci/.julia/packages/BinaryProvider/4F5Hq/src/PlatformEngines.jl:498
│  [3] #download at ./none:0 [inlined]
│  [4] #download_verify#90(::Bool, ::Bool, ::Bool, ::Function, ::String, ::String, ::String) at /Users/alpersavasci/.julia/packages/BinaryProvider/4F5Hq/src/PlatformEngines.jl:567
│  [5] #download_verify at ./none:0 [inlined]
│  [6] #install#129(::Prefix, ::String, ::Bool, ::Bool, ::Bool, ::Function, ::String, ::String) at /Users/alpersavasci/.julia/packages/BinaryProvider/4F5Hq/src/Prefix.jl:314
│  [7] (::getfield(BinaryProvider, Symbol("#kw##install")))(::NamedTuple{(:prefix, :force, :verbose),Tuple{Prefix,Bool,Bool}}, ::typeof(install), ::String, ::String) at ./none:0
│  [8] top-level scope at /Users/alpersavasci/.julia/packages/MbedTLS/X4xar/deps/build.jl:48
│  [9] include at ./boot.jl:326 [inlined]
│  [10] include_relative(::Module, ::String) at ./loading.jl:1038
│  [11] include(::Module, ::String) at ./sysimg.jl:29
│  [12] include(::String) at ./client.jl:403
│  [13] top-level scope at none:0
│ in expression starting at /Users/alpersavasci/.julia/packages/MbedTLS/X4xar/deps/build.jl:44
│ [16:05:39] dyld: Library not loaded: @rpath/libssl.1.0.0.dylib
│ [16:05:39]   Referenced from: /anaconda3/lib/libssh2.1.dylib
│ [16:05:39]   Reason: image not found
└ @ Pkg.Operations /Users/osx/buildbot/slave/package_osx64/build/usr/share/julia/stdlib/v1.1/Pkg/src/Operations.jl:1075
Building IJulia ─→ ~/.julia/packages/IJulia/9ajf8/deps/build.log

Does download("https://github.com/JuliaWeb/MbedTLSBuilder/releases/download/v0.16.0/MbedTLS.v2.13.1.x86_64-apple-darwin14.tar.gz") work for you?  (It works for me.  Maybe you just had a temporary network glitch and need to try again?)   If not, maybe you are behind some kind of firewall that is blocking your downloads?
In any case, your error is with installing MbedTLS.jl, and is not with IJulia per se.


libCOMBINE: allow a COMBINE archive to be initialised using some file contents

Right now, the only way to initialise a COMBINE archive using libCOMBINE is by providing a file name. However, this means that we can't handle COMBINE archives from JavaScript, unlike for CellML and SED-ML files, for which libCellML and LibSEDML support file contents in their respective  constructors.
When it comes to our test with a virtual File object, we should convert the file contents of a COMBINE archive to Base64, so that we can put it in a string, in the same way that we have a string version of a CellML and SED-ML file.

This is even more relevant because of issue #242.