refactor(curriculum): refactored steps 8-13 in authors workshop

Checklist:

[x] I have read and followed the contribution guidelines.
[x] I have read and followed the how to open a pull request guide.
[x] My pull request targets the main branch of freeCodeCamp.
[x] I have tested these changes either locally on my machine, or GitPod.

Description:
This is my first open source contribution as a beginner, fingers crossed, there won't be too many mistakes.

This concerns refactoring step 8-13 into one step from "learn-fetch-and-promises-by-building-an-fcc-authors-page"
of "15-javascript-algorithms-and-data-structures-22".
https://github.com/freeCodeCamp/freeCodeCamp/tree/main/curriculum/challenges/english/15-javascript-algorithms-and-data-structures-22/learn-fetch-and-promises-by-building-an-fcc-authors-page
Edited existing step 8 (id: 641da5abaac81844a54adb03)
Refactored code as follows
Used instruction text provided in the issue.
Testing for function named "displayAuthors" with assert.isFunction().
Testing for parameter named "authors" with assert.match().
The initial suggestion to assert.equal() the "displayAuthors" function with the HTML strings, ran into issues with spacing.
As such, the below alternative approach was used.
Testing "displayAuthors" function updating "authorContainer" with author cards with multiple assert.equals().
The assert.equals() test the ids, classNames and innerHTML of respective element types from a card.
A for loop and .forEach() is used to handle multiple inputs to reject hard-coded solutions.
Deleted steps 9-13 with the helper script "pnpm run delete-step X", which automatically updated the respective meta.json file.

Below is a preview of the "displayAuthors" function test, as it was more complex to solve:
When the displayAuthors function is called with an author's array, it should add a card for each author to the authorContainer div.
const exampleAuthors = [
  [
    {
      "author": "Quincy Larson",
    },
    {
      "author": "Jessica Wilkins",
    },
  ],
  [
    {
      "author": "Ihechikara Vincent Abba",
    },
    {
      "author": "Jennifer Bland",
    },
  ],
  [
    {
      "author": "Kolade Chris",
    },
    {
      "author": "Joel Olawanle",
    },
  ]
];

for (const array of exampleAuthors) {
  const authorNamesArr = Object.values(array)

  displayAuthors(array);

  const authorDivs = document.querySelectorAll("#author-container div");
  const authorDivTitles = document.querySelectorAll("#author-container div h2");

  authorNamesArr.forEach((authorObj, index) => {
    console.log(authorObj, index);
    console.log(authorDivs[index].className, authorDivs[index].id, authorDivTitles[index].className, authorDivTitles[index].innerHTML);

    assert.equal(authorDivs[index].className, "user-card");
    assert.equal(authorDivs[index].id, index);
    assert.equal(authorDivTitles[index].className, "author-name");
    assert.equal(authorDivTitles[index].innerHTML, authorObj["author"]);
  });

  authorContainer.innerHTML = "";
}

Closes #57072

closed pull request, as another user submitted a comprehensive pull request and it seems this one didn't pass all tests.


Add an integration with case-app

The case-app library is a great way to build CLI applications in Scala. It works with no effect system or with a cats-io based effect system.
It would be great if there was a proper integration with Kyo. Currently the most straightforward way to use this with Kyo is to call Kyo.run in your Command or CaseApp, but we can do better.
Justification
case-app is the CLI library used by coursier and scala-cli and is a mature and feature rich CLI building platform.
This would be a great addition to the Kyo ecosystem and is most likely a low lift integration.

How does it compare to https://github.com/com-lihaoyi/mainargs/ ?


safeJS improperly escaping < character when applied to partials

What version of Hugo are you using (hugo version)?

$ hugo version
Hugo Static Site Generator v0.75.0-FEF924BA windows/amd64 BuildDate: 2020-09-14T09:19:16Z

Does this issue reproduce with the latest release?
Not tested
Bug Report
Despite using safeJS attribute, the character < is replaced by < when the JS code is inserted from a partial, while not affected when the string is directly passed in the markup. I tried to change the extension (no impact) and add safeHTML (makes things worse).
The character > is fine in all cases.
See tests definition and compiled results below:
baseof.html
1
<script>{{ "var i = 10; if (i > 8 || i < 4) { console.log('a', (32 >> 1) + (8 << 2)); }" | safeJS }}</script>
2
<script>{{ partial "safejs.html" . | safeJS }}</script>
3
<script>{{ partial "safejs.js" . | safeJS }}</script>
4
<script>{{ partial "safejs.html" . | safeJS | safeHTML }}</script>
5
<script>{{ partial "safejs.js" . | safeJS | safeHTML }}</script>

partial.html / partial.js (same content - just wanted to test if extension had an impact)
var i = 10; if (i > 8 || i < 4) { console.log('a', (32 >> 1) + (8 << 2)); }

Compiled html file
1
<script>var i = 10; if (i > 8 || i < 4) { console.log('a', (32 >> 1) + (8 << 2)); }</script>
2
<script>var i = 10; if (i > 8 || i < 4) { console.log('a', (32 >> 1) + (8 << 2)); }</script>
3
<script>var i = 10; if (i > 8 || i < 4) { console.log('a', (32 >> 1) + (8 << 2)); }</script>
4
<script>"var i = 10; if (i \u003e 8 || i \u0026lt; 4) { console.log('a', (32\u003e\u003e 1) + (8 \u0026lt;\u0026lt; 2)); }"</script>
5
<script>"var i = 10; if (i \u003e 8 || i \u0026lt; 4) { console.log('a', (32 \u003e\u003e 1) + (8 \u0026lt;\u0026lt; 2)); }"</script>

It's odd that only the < is encoded by the Go html/template engine.  However, the solution to your problem is to setup a custom output format for javascript files that uses the Go text/template engine.   Use something like this and the 3rd example should work:
[outputFormats]
  [outputFormats.JS]
  mediaType = "application/javascript"
  isPlainText = true

Maybe this should be baked into the defaults in Hugo like many other formats.  @bep, what do you think?

@moorereason, I can confirm that your solution works. Thanks!
3
<script>var i = 10; if (i > 8 || i < 4) { console.log('a', (32 >> 1) + (8 << 2)); }</script>


[2.1-Plugin] Image Hover Label

The image thumbnails could have a hover text label (with transparency), so that information about the image is shown if hovered from user action.

you could do this with the tooltip plugin


space in text

Hello
After highlighting, a space is added to the word both from the beginning and from the end. How to remove it?

You can change that by adding CSS style to the mark tag like this:
[dir=ltr] mark, [dir=ltr] .mark{
	padding: 0;
}


nomad - version:bump to v1.30.2

Backstage release v1.30.2 has been published, this Pull Request contains the changes to upgrade nomad to this new release
Please review the changelog before approving, there may be manual changes needed:

Changelog: v1.30.2
Upgrade Helper: From 1.29.1 to 1.30.2

Created by Version Bump<PHONE_NUMBER>3

Closing as there is a patched version - 1.30.4 - with a potential fix


Move util.go into a 'util' package

While all tests were passing, go-wfs wouldn't run or build w/ util.go as part of package 'main'.  Moved it to its own package and updated travis config to do a build in addition to tests.


IPv6 detection while using HE.net tunnel

Hello there is problem with ipv6 nat when server is using he-ipv6 tunnel.
Script when checks for ipv6 connectivity sets interface to eth0 instead of he-ipv6 virtual one.
Thats why all ip6tables are wrong because it points to eth0 interface all the time which is wrong as main interface for ipv6 while using tunnel is vitrual one. Default he-ipv6.
The problem is that scipt uses ONE variable for setting interface for ipv4 and ipv6.
	# Get the "public" interface from the default route
	NIC=$(ip -4 route ls | grep default | grep -Po '(?<=dev )(\S+)' | head -1)
	if [[ -z $NIC ]] && [[ $IPV6_SUPPORT == 'y' ]]; then
		NIC=$(ip -6 route show default | sed -ne 's/^default .* dev \([^ ]*\) .*$/\1/p')
	fi

the ipv6 detecting line above is resulting in correct interface but as variable $NIC already contains interface from ipv4 it stays there.
I think there should be 2 variables to get rid of that.
When i do all ip6tables by hand with correct $NIC (he-ipv6 instead of eth0) that ipv6 works everywhere.
Sorry for my bad english.

PRs welcome, closing this for now.


Cleanup and Model Improvements

Changes that improve performance to 3.00 - 3.02 test MAE:

Learning Rate Decay (default =.97)
skip connection if cat_feat_gc=True
default nhid=40 (instead of 32)
default clip=3 (instead of 5)
replace 0s with mean in StandardScaler

Changes that don't affect performance:

only save one checkpoint
add early stopping
simplification of do_graph_conv command line args
share parser code between train.py and test.py
misc renamings
store metrics in pandas and write them to disk nicely
no expid --save specifies a directory.
save args to --save for reproducibility
train.py skip batches where all targets are 0: they will certainly have 0 loss.
misc renamings
check in best_model.pth. Dont need to retrain to inspect.
calculate all three metrics in one function instead of 3.

Metrics:
baseline: 3.00 - 3.02
finetuning: 2.99-3.00
Paper has more details on experiments that didn't work: http://arxiv.org/abs/1912.07390

Dear all
Thanks for your great contribution. I am impressed by your wonderful efforts to improve Graph Wavenet. I will review the codes as soon as possible.
Bests
Zonghan

Dear all,
I think you have done a very good job. To respect your contribution mostly, I would highly recommend to keep your own repository and not merge into the project. I will instead add a link referring to your repo.
Best regards,
Zonghan


Summary report changes

need to replace all commas in notes with semicolons - just for this output to file - since format is CSV.
Good work!


npm login on publish

If you aren't logged in to npm, lerna should stop and ask you to login. It would be good if it logged you back out afterwards.

If you're doing this for security then it's pointless.

I have to switch between npm profiles for different (public and private) registries

I'm going to just do a check at the beginning to make sure that you're logged in to the right registry.
$ npm whoami
$ npm config get registry

Logging in is overkill, but I think the more checks we can do at the beginning is good.


Support for peerDependencies

Hi
I have problems using npm-check in project that have some peerDependencies in package.json.
Example scenario:

package A is in version 1.0.0 and has peerDependency: package B in version 2.0.0
New version of package B is published (in example 2.1.0).
npm-check -u updates package B to version 2.1.0 without any warning
npm install fails and peerDependency error occurs because package A can't find package B in correct version (it requires package B in version 2.0.0)

Thanks for your work!
My env:
Ubuntu 14.04
nodejs 4.2.2
npm 2.14.15
Packages that I have problems with:

package A is angular2 beta 0 and it requires package B: "reflect-metadata": "0.1.2"
new version of "reflect-metadata" is available (0.1.3)
calling npm-check updates "reflect-metadata" to "0.1.3"
npm install is broken :(

Another scenario is sequelize users using postgres. They have to install pg and pg-hstore in order for it to work. I never use pg-hstore explicitly, so npm-check warns me that is isn't used. It might be nice to be able to ignore certain modules.


Errors when linting Angular 5 project.

When I added<EMAIL_ADDRESS>to my Angular 5 project I started getting strange errors.  Both VSC and IDEA reported things such as name collisions on import statements.  Manually running ng lint resulted in a series of type errors, such as the following, that ultimately lead to JS running out of heap memory.
TypeError: Cannot read property 'kind' of undefined
    at isLabelable (/app/node_modules/tslint/lib/rules/labelPositionRule.js:57:18)
    at cb (/app/node_modules/tslint/lib/rules/labelPositionRule.js:50:52)
    at visitNodes (/app/node_modules/typescript/lib/typescript.js:12699:30)
    at Object.forEachChild (/app/node_modules/typescript/lib/typescript.js:12884:24)
    at cb (/app/node_modules/tslint/lib/rules/labelPositionRule.js:53:19)
    at visitNode (/app/node_modules/typescript/lib/typescript.js:12690:24)
    at Object.forEachChild (/app/node_modules/typescript/lib/typescript.js:12882:21)
    at cb (/app/node_modules/tslint/lib/rules/labelPositionRule.js:53:19)
    at visitNodes (/app/node_modules/typescript/lib/typescript.js:12699:30)
    at Object.forEachChild (/app/node_modules/typescript/lib/typescript.js:12875:24)

I think it has to do with rxjs-tslint depending on "typescript": "~2.8.1" and Angular 5 depending on "typescript": "2.6.x". Folks who encountered this error in other situations ended up altering the version of Typescript they used.
The only solution I could come up with was to remove my dependency on rxjs-tslint.  Am I missing an alternative?

I guess this "issue" ends up being more of a "heads up" because the README has you install rxjs-tslint globally--not meant to be a devDependency.

Yes, correct. Please, use the global executable otherwise there could be mismatched dependencies.


roomba 527 terminate called after throwing an instance of 'boost::exception_detail::clone_impl<boost::exception_detail::error_info_injector<boost::system::system_error> >'   what():  write: Input/output error

Hi I'm using create_autonomy under the condition below.
roomba: series 527
raspi 3B
connection: UART ( not via serial cable)
Ubuntu Mate 18.04.2 Bionic Beaver
Ros melodic
(Since I'm not pro, information below may be insufficient or may contain useless information.)
According to README, it's written that roomba series 500 user should use ca_driver create_1.launch, but it didn't work for me.
(Error failed to establish connection was shown)
Instead, when I used create_2.launch it worked and I was able to rotate roomba using /cmd_vel.
Hope this would help someone who is struggling.

What I did worked once, but it started to show error below.
Right after the battery of roomba was shown, serial error occurred and I could not publish rostopic.
Using create_1.launch showed almost the same result except battery info wasn't shown in this case.
Any help would be appreciated.
# roslaunch ca_driver create_1.launch
...
SUMMARY
========

PARAMETERS
 * /ca_driver/base_frame: base_footprint
 * /ca_driver/dev: /dev/ttyS0
 * /ca_driver/latch_cmd_duration: 0.2
 * /ca_driver/loop_hz: 10.0
 * /ca_driver/odom_frame: odom
 * /ca_driver/publish_tf: True
 * /ca_driver/robot_model: CREATE_1
 * /robot_description: <?xml version="1....
 * /rosdistro: melodic
 * /rosversion: 1.14.7

NODES
  /
    ca_driver (ca_driver/ca_driver)
    robot_state_publisher (robot_state_publisher/robot_state_publisher)

auto-starting new master
process[master]: started with pid [2118]
ROS_MASTER_URI=http://localhost:11311

setting /run_id to 0c540a56-ef27-11ea-b73f-b827eb1057d0
process[rosout-1]: started with pid [2129]
started core service [/rosout]
process[ca_driver-2]: started with pid [2135]
process[robot_state_publisher-3]: started with pid [2137]
[ INFO] [1599276163.997329640]: [CREATE] "CREATE_1" selected
[create::Serial] serial error - End of file
terminate called after throwing an instance of 'boost::exception_detail::clone_impl<boost::exception_detail::error_info_injector<boost::system::system_error> >'
  what():  write: Input/output error
[ca_driver-2] process has died [pid 2135, exit code -6, cmd /home/username/create_ws/devel/lib/ca_driver/ca_driver __name:=ca_driver __log:=/home/usename/.ros/log/0c540a56-ef27-11ea-b73f-b827eb1057d0/ca_driver-2.log].
log file: /home/username/.ros/log/0c540a56-ef27-11ea-b73f-b827eb1057d0/ca_driver-2*.log

Try rebooting the robot. For a Roomba 600, you have to press SPOT and CLEAN simultaneously.
If not, remove the battery and put it back again.


Appstudio update test-component-pac-ifwj

Pipelines as Code configuration proposal

Pipelines as Code CI/test-component-pac-ifwj-on-pull-request has successfully validated your commit.

StatusDurationName

✅ Succeeded
7 seconds
init

✅ Succeeded
14 seconds
clone-repository

✅ Succeeded
44 seconds
build-container

✅ Succeeded
19 seconds
deprecated-base-image-check

✅ Succeeded
20 seconds
inspect-image

✅ Succeeded
52 seconds
clamav-scan

✅ Succeeded
3 minutes
clair-scan

✅ Succeeded
17 seconds
sbom-json-check

✅ Succeeded
37 seconds
optional-label-check

✅ Succeeded
37 seconds
label-check

✅ Succeeded
5 seconds
show-sbom

✅ Succeeded
7 seconds
show-summary

Pipelines as Code CI/test-component-pac-ifwj-on-pull-request has successfully validated your commit.


Please make it possible to run tests on local jars

Current wycherproof tries to download BouncyCastle from the Internet. I need wycherproof to run tests on the local BouncyCastle jars.
How can I do it?

Emilia, could you please take a look? Not urgent, but when you have cycles.

I think that far more people would like/need to test the stuff they have locally, compared to those who want to test what's in the global repo.
Thanks!

In the absence of an actual test target, you can at least edit the WORKSPACE file to configure a jar as a local file:
http_jar(
    name = "bouncycastle_1_56",
    url = "file:///Users/peter/Downloads/bcprov-jdk15on-156.jar"
)

You could just use an existing target and point its jar locally as above, or edit build_defs.bzl to add a separate target referencing the jar.

Aw
aresome

I must be dense...
I've edited WORKPSPACE file (just removing the 1.48-1.54 related stuff at the top):
#maven_jar(
#    name = "bouncycastle_1_55",
#    artifact = "org.bouncycastle:bcprov-jdk15on:1.55",
#)

http_jar(
    name = "bouncycastle_1_56",
    url = "file:///Library/Java/Extensions/bcprov-ext-jdk15on-156.jar"
)
. . . . .

My attempt to do bazel test BouncyCastleAllTests produced:
$ bazel test BouncyCastleAllTests
Warning: ignoring http_proxy in environment.
..............
ERROR: /Users/ur20980/Src/wycheproof/BUILD:33:1: no such package '@bouncycastle_1_55//jar': error loading package 'external': The repository named 'bouncycastle_1_55' could not be resolved and referenced by '//:BouncyCastleAllTests'.
ERROR: Analysis of target '//:BouncyCastleAllTests' failed; build aborted.
INFO: Elapsed time: 4.864s
ERROR: Couldn't start the build. Unable to run tests.
$

Frankly, I am not aspiring to become a wycherproof wizard - being able to (smoothly) run it as a black box tool over my BouncyCastle jars (and later - over C++ crypto libraries like Crypto++) is all I hope for.

Update2 - got something to run

Did not remove the already-defined BouncyCastle targets - added http_jar for 1.56.
Edited build_defs.bzl changing in bouncycastle_versions = range(49, 56) "56" to "57" (yeah, obvious).
Ran bazel test BouncyCastleTest_1_56

And it failed:
$ bazel test BouncyCastleTest_1_56
Warning: ignoring http_proxy in environment.
INFO: Found 1 test target...
FAIL: //:BouncyCastleTest_1_56 (see /private/var/tmp/_bazel_uri/e4d57cbfa3d72fc2e017b4127feb30c0/execroot/wycheproof/bazel-out/local-fastbuild/testlogs/BouncyCastleTest_1_56/test.log).
Target //:BouncyCastleTest_1_56 up-to-date:
  bazel-bin/BouncyCastleTest_1_56.jar
  bazel-bin/BouncyCastleTest_1_56
INFO: Elapsed time: 21.920s, Critical Path: 16.34s
//:BouncyCastleTest_1_56                                                 FAILED in 14.1s
  /private/var/tmp/_bazel_uri/e4d57cbfa3d72fc2e017b4127feb30c0/execroot/wycheproof/bazel-out/local-fastbuild/testlogs/BouncyCastleTest_1_56/test.log

Executed 1 out of 1 test: 1 fails locally.
$

Here's the log:
wycherproof-1.log.txt
@peterdettman what's your take on this?

@mouse07410 Please see https://github.com/google/wycheproof/pull/8 for our proposed changes for BC 1.56, which addresses several of the failures (spurious ones I think). The remaining failures (after PR applied) are all related to CipherInputStream/CipherOutputStream behaviour with AEAD modes. I believe this is down to a disagreement over expected API behaviour (particularly when the MAC check fails).

It's surprisingly non-trivial to supply a custom jar from the command line. I got something to work though it's fairly hackish - see https://github.com/google/wycheproof/pull/10
If we accept that users will have to edit the BUILD then we can trivially use bazel's java_import - but I'd rather they didn't have to touch the source.

It's surprisingly non-trivial to supply a custom jar from the command line.......see #10

I can sympathize... And thank you for #10!

If we accept that users will have to edit the BUILD then we can trivially use bazel's java_import - but I'd rather they didn't have to touch the source.

I agree. But I suspect that 99.99% of the entire population couldn't care less about how well BouncyCastle-1.49 behaves under test (and those people who have to use it, don't have any choice anyway - so why feed them correct but useless data?). I'd expect the majority to want to know how the current Github master holds up (granted, they'd need to be able to sign JCE provider), and how the latest-stable release does under test... From that point of view, I consider most of the BUILD to be of rather limited use.
So your #10 solution (or maybe a perfection/improvement of it) seems like the best way forward, IMHO.

Thanks ekasper! mouse07410 please see if you can test your local jars now and reopen this ticket if you can't.

Yes, I can run the tests on the local JAR now - thank you!

One problem is now bazel build ... stops working. I got this error
no such target '@local//:bouncycastle_jar': target 'bouncycastle_jar ' not declared in package '' defined by BUILD and referenced by '//:BouncyCastleTestLocal'.

Can you try adding tags=["manual"] to the local rules?

Targets with tags=["manual"] will not be included in wildcard target patterns (..., :*, :all, etc). You should specify such test targets with explicit target patterns on the command line if you want Bazel to build/test them.

https://bazel.build/versions/master/docs/bazel-user-manual.html#target-patterns


Split up Github Actions

Previously if he code has an formatting error, all tests fail. In this pr I'm trying to make format-checks, unit-test and documentation validation to be reported separately in Github Actions.
Use black check instead of flake8 for format validation.
This is still work in progress. Suggestions are welcome :smile:

Coverage remained the same at 99.699% when pulling e72ae3f2caee157652509cd64245173d7e584504 on SijmenHuizenga:split-ci into 1849e0165278f1cdfaf41972f73e02ecda4d09a6 on dbader:master.


No intel version

No intel version

No intel version in the latest release

I opened https://github.com/google/perfetto/releases/tag/v38.0 and I definitely see

linux-amd64.zip
mac-amd64.zip
android-x64.zip
android-x86.zip

(historical reasons on why they are called amd64 vs x64, but they are practically the same).
What's missing?

Windows!
On Fri, 20 Oct 2023, 17:30 Primiano Tucci, @.***> wrote:

I opened https://github.com/google/perfetto/releases/tag/v38.0 and I
definitely see

linux-amd64.zip
https://github.com/google/perfetto/releases/download/v38.0/linux-amd64.zip
mac-amd64.zip
https://github.com/google/perfetto/releases/download/v38.0/mac-amd64.zip
android-x64.zip
https://github.com/google/perfetto/releases/download/v38.0/android-x64.zip
android-x86.zip
https://github.com/google/perfetto/releases/download/v38.0/android-x86.zip

(historical reasons on why they are called amd64 vs x64, but they are
practically the same).
What's missing?
—
Reply to this email directly, view it on GitHub
https://github.com/google/perfetto/issues/612#issuecomment-1773044475,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/A2B7QB4CKALPZG3YSFK6N33YAKRJJAVCNFSM6AAAAAA6JIXFB6VHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMYTONZTGA2DINBXGU
.
You are receiving this because you authored the thread.Message ID:
@.***>


ISC Serial Encode/Decode of 0xFE and 0xFF

Production hardware encodes 0xFE and 0xFF with special escape sequences.
0xFE is encoded as \xFE\x00
0xFF is encoded as \xFE\x01
This is obviously the fallout of using a \xFF byte in stream to indicate end-of-serial-transition.

Resolved encoding in 93945a3


Question : Autoincrement and upgrade of an extension V2.0

Not quite the same as described in #1079.
In our extension, we use an integer with property autoincrement=True to index a table and this integer field is used to mark data in another table that belongs to an entry in it.
The table entry is then processed, its data copied to another table and the entry finally deleted. We can have more than one entry in the table at each time, but the linked data can only be linked to one entry.
If this table is empty upon upgrade of the extension, the table is deleted during unpublish and created again during publish of the new version but no data obviously restored. This causes the autoincrement field to be reset - the first entry after upgrade becomes no. 1 instead of n + 1 where n is the last used number.
To reproduce:
create a table with an autoincrement field (EntryNo).
insert an entry into the table (EntryNo = 1)
insert an entry into the table (EntryNo = 2)
delete the inserted entries
unpublish the extension
publish the extension again
insert an entry into the table => (EntryNo = 1)
This is a problem in V1 Extension - will this still be a problem in V2 Extensions?

In short: No, this shouldn't be a 'problem' in V2 extensions.
In not so short:
For V1, this was a consequence of the 'archive' table approach to retaining data across extension uninstalls/reinstalls.
When you 'uninstall' a V1 extension, we do 2 things:

'Rolloff' data from extension tables into 'archives' that can be restored later
Synchronize the SQL schema to remove tables added by the extension

Upon subsequent reinstall or 'upgrade', the table is reconstructed and the developer's upgrade code dictates the restoration of data
This of course results in the deletion of the original table and thus the 'problem' you've laid out.
But you already knew all that.
For V2, we have changed the way that data is stored and handled during the lifetime of an extension:

Instead of actually adding new extension fields to existing base tables, we now use 'companion' tables (full tables with links to the base tables they 'extend') to house new fields. You'll never work with them in AL code though because we abstract this away and let AL code work as if we had actually added the fields to the original tables.
The advantage of this arrangement means that we no longer need to use 'archives' to store data between extension install/uninstalls. Instead it can just 'remain' in the companion tables and we don't have to touch SQL.
Even better, this means that you no longer have to write 'restoration' logic if there are no changes in your data structures. The companion tables just become 'enabled' and so any data that was in them is now available.

We split off the 'synchronization' from install/uninstall and made it into an explicit step required before a given version of a V2 extension can be installed. I.e. The Sync-NavApp cmdlet.
This cmdlet is responsible for adding or removing the schema elements that are included in your extension (tables & table extensions). It is what invokes the SQL commands to actually create/modify/delete your tables. It comes in two colors modes of operation:

The default 'add' mode, which creates new tables/companion tables
Sync-NavApp -ServerInstance <instance> -Name <ExtName> -Version <ExtVer>

The 'clean' mode which deletes all schema elements from ALL VERSIONS of a target extension
Sync-NavApp -ServerInstance <instance> -Name <ExtName> -Version <ExtVer> -Mode Clean
This mode is only meant to be used when you are truly 'done' with an extension family. When you no longer care for any data held within the extension an you want to remove it completely from the system. Important to note that 'unpublishing' an extension does NOT do this for you. Even if you unpublish a V2 extension the schema elements will remain if you have not called Sync in the 'clean' mode. Also also important to note that you can still call Sync even after the extension is unpublished

These fundamental changes to the way that data is structured/stored in V2 mean that unless you explicitly do so with the Sync cmdlet, your tables will remain 'intact' across install/uninstall/upgrade, meaning that your AutoIncrement should continue to increment automatically. (Unless I'm just horribly horribly wrong.)

So why does updating a extension v2 currently delete all data in its tables?

That is only a consequence of how VSCode 'publishes' extension via the F5-like commands today.
The gist is that the VSCode publish wants to assert that you have a 'clean' environment when you deploy your extension. To accomplish this, it performs a full 'removal' of all version of the extension before publishing your new one. I.e. Uninstall, Sync -Mode Clean, Unpublish.
This clears out your environment and allows you start fresh, which is great for initial rapid development that might mean breaking changes, but unfortunately it also clears out your environment and allows you to start fresh, which isn't so great for testing/observing upgrades.
At current, the only real way to test an upgrade is via the cmdlets:

Publish/Sync/Install 'old' version of extension with cmdlets or VSCode
Develop 'new' version of extension

Bump the version number in the app.json
Use Ctrl+Shift+B to 'compile' it without publishing

Publish/Sync new version of your extension with cmdlets
Run the 'Start-NavAppDataUpgrade' cmdlet to run the upgrade from old to new
Validate/Verify stuffs
Lather, rinse, repeat.

There is ongoing work to provide a better 'upgrade' scenario from within VSCode.
See Issue #62.


Introduce test accounts

We want a way to "magically" register for accounts that are marked as testing accounts. This testing attribute can be used to filter when

counting number of registered users
generating scoreboard
etc.

Just to leave a note on this one:

Most accounts are not test accounts and so needs no special treatment.

A good way to do this would be to introduce a testAccount field (or some other name) into the user JSON value and set it to true only for those test accounts. (So the normally-registered accounts are not testing accounts automatically.)

The scoreboard semantics still needs to be hashed out.


loki_push_api does not like loki_alert_rules being an empty file.

_is_official_alert_rule_format(rule_file)
raises an uncaught TypeError: argument of type 'NoneType' is not iterable
when loki_alert_rules is an empty file.
Is that a valid 'rules' file to begin with?
Either way, looks like we should return list() in _from_file even if the file is invalid/empty.

note: underlying issue is that yaml.safe_load(stream) can and does return None in this case.

Thanks for the report Pietro!


New interface of fixed parameter

Parameters are to change from
struct Parameters{R,S,T}
    free::R
    fixed::S
    constrained::T
end

to
struct Parameters{T,V}
    free::T
    whichfixed::V
end

whichfixed can be StaticArray of bits
in this way, mutability is exactly optimal: one can modify parameter values and fixed status

called now FlaggedNamedTiple. Fixed and merged


document.referrer

It would be nice if document.referrer would be added:
https://developer.mozilla.org/de/docs/Web/API/Document/referrer

Available at https://caniuse.com/#feat=mdn-api_document_referrer


Generate remote client code from API definition

Look into tools like RAMP, Swagger, curl-to-go and friends in combination with go generate to generate the HTTP/JSON client code.

I don't think this is possible at this time. As with all standards, each implementation and each version seems to implement a bunch of calls differently.


Type in closeOnClickOutiside prop.

Shouldn't be closeOnClickOutside?

Shouldn't be typo? :P

LOL :dancers:


(Tephra-184) Remove unused constants

These constants seem to have never been used. I've searched code going as far back as the initial commit of Tephra the apache repository.

LGTM, thanks for the contribution!


PostgreSQL: Indexes predicate

There are no conditions for partial indexes in DDL window
In pgAdmin

In DBeaver

Agreed, this makes sense (for any indexes actually).

@serge-rider, In DDL description of the table this information will not be displayed?

Yes, index DDL (in native form) will be included in table DDL as well.


makeGeneric() is crashing my browser with 'Uncaught RangeError'

I get this error:
Uncaught RangeError: Maximum call stack size exceeded: aldeed_simple-schema.js?hash=13e803e…:170      at String.replace (<anonymous>)     at makeGeneric (aldeed_simple-schema.js?hash=13e803e…:170)     at parseObj (aldeed_simple-schema.js?hash=13e803e…:244)     at aldeed_simple-schema.js?hash=13e803e…:291     at Function._.each._.forEach (underscore.js?hash=cde485f…:152)     at parseObj (aldeed_simple-schema.js?hash=13e803e…:287)     at aldeed_simple-schema.js?hash=13e803e…:291     at Function._.each._.forEach (underscore.js?hash=cde485f…:152)     at parseObj (aldeed_simple-schema.js?hash=13e803e…:287)     at aldeed_simple-schema.js?hash=13e803e…:291
My App utilizes a 'Listings' Collection and a 'Categories' Collection:
the Listings Collection has a 'category' field that matches one of the categories in the collection.
this is all reactive; so that when we ADD a 'Listing', and select a 'category', the count increases in the 'Categories' collection.
Listings Schema to match:
  categories: {     type: [String],     label: 'Categories',     optional: true }
and a form to display it;
{{> afFormGroup name="" type="select-checkbox-inline" options=formOptions}}
with a helper to grab the names:
  formOptions: function() {     return Categories.find().map(function(c) {       return {label: c.name, value: c.name};     });   }
I only get the issue when i submit the form on the browser AND select a category. (submit form works if no category is selected)
I am able to insert the document with a "Listings.insert(...)" into the Browser Dev console; even with an array of categories.
Any ideas what makeGeneric is trying to trim?

That's an odd place to get that error. Call stack errors can be impacted by how you've structured your code and your template, for example if you have any weird or excessive nesting. I'm not sure how to debug this further unless you can make it happen in a simple reproduction app.
If you can update to latest ss/c2/autoform, there is a good chance that might fix it, too.

Thanks for the speedy reply @aldeed. I'm going to update the autoform package first and try again.
It started randomly. and it only affects one value of my collection.
i.e. i have a "Listings" collection with business info. it has a "Categories" field which is of type [String] and if i omit this field from the autoform, i don't get an error. when i include it again. i get a stack.
I'll post some snippets later as well if the update doesn't fix.

The Meteor SimpleSchema package is no longer maintained other than critical fixes to keep it running with each latest Meteor release. Closing non-critical issues in this repo. Anyone who cares about this may do one or more of the following:

Switch to the NPM package. Be sure to adjust for the breaking changes. There can be a lot of work involved in switching, but it is worth the effort.
If this issue still occurs in the NPM package, submit an issue there. Be sure to include a link to a reproduction repo or a PR that adds a failing test for the issue.
If you have more time than money, submit a pull request to resolve any issue labeled "help wanted" in the NPM package repo.
If you have more money than time, donate to help support development if you are able


Remove 2.2.0 auto cron trigger now

Signed-off-by: Peter Zhu<EMAIL_ADDRESS>Description
Remove 2.2.0 auto cron trigger now
Issues Resolved
Part of #2271
By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.
For more information on following Developer Certificate of Origin and signing off your commits, please check here.

Codecov Report

Merging #2432 (93a5130) into main (ddbdfc3) will increase coverage by 5.37%.
The diff coverage is n/a.

@@              Coverage Diff              @@
##               main     #2432      +/-   ##
=============================================
+ Coverage     94.62%   100.00%   +5.37%
=============================================
  Files           210         6     -204
  Lines          4317       105    -4212
  Branches         29        19      -10
=============================================
- Hits           4085       105    -3980
+ Misses          226         0     -226
+ Partials          6         0       -6

Impacted Files
Coverage Δ

...rkflow/integ_test/service_opensearch_dashboards.py

src/run_perf_test.py

...tifactsQualifier_OpenSearch_Dashboards_Jenkinsfile

src/system/zip_file.py

src/paths/tree_walker.py

src/test_workflow/bwc_test/bwc_test_suite.py

tests/jenkins/jobs/CreateReleaseTag_Jenkinsfile

src/assemble_workflow/bundle_locations.py

src/manifests/build/build_manifest_1_0.py

src/assemble_workflow/dist.py

... and 194 more

Help us with your feedback. Take ten seconds to tell us how you rate us. Have a feature suggestion? Share it here.


The generated Inputs leak over time from the catalog source adapter

The recent set of changes have introduced a new component that's solely responsible for aggregating catalog source catalog content, where each olm.bundle is modeled as a deppy Input resource. For the most part, this seems like it's a step in the right direction, but the current implementation leads to some false positives during e2e testing. When the original source for the generated Input is deleted (e.g. a specific catalog source resource), the Input is stranded, which leads to test pollution over time.
Unfortunately, the CatalogSource API is namespace-scoped, and therefore we can't place an owner reference on the underlying Input resource that was generated as the Input API is cluster-scoped, and garbage collection cannot occur in that edge case.

This is a rough edge of creating the Inputs on-cluster, for sure. I'd like to avoid manual garbage collection as part of the deppy controller if possible.
Two possibilities:

Add a Source CRD that wraps a catalog source -- any Inputs generated are ownerref'd by the Source. It does implicitly elevate catalog sources from Namespace -> Cluster scoped, but I think it's a nice abstraction.
Don’t create an Input for every bundle on-cluster. We could have some server that’s responsible for storing Inputs and feeding them to resolution on demand, and it can keep it's internal cache of Inputs consistent with what's on cluster

Closing as this implementation is no longer relevant.


Expand README to describe how to integrate enhance into an existing arc app

Hello! I am curious to give enhance a try in my pre-existing arc app that is mainly a ton of Dynamo tables and scheduled and SNS events. I have a couple of existing @http definitions in this arc app but they are extremely barebones and are nothing more than super basic dynamo DB state views. I am planning on adding a more complete web frontend so I wanted to experiment to see how building such a frontend with enhance would work.
However, I am having trouble getting going. I think I am stumbling upon some basic stuff that neither the README nor enhance architect migration docs cover. Here are some of my "enhance noobie" perspectives/questions/confusions that may be helpful in re-evaluating this plugin's README and/or the enhance arc migration docs:

It would be cool to put technical instructions on how to integrate enhance into an existing arc project directly in this README. A kind of architect-centric approach/description. Instead, this readme links to the main enhance docs, and the enhance docs are not built from the perspective of an architect user, but rather target a broader audience. Given this project is an architect plugin, I think it would help if this project provided installation and quickstart instructions from an architect perspective.
What are the knowledge/concept prerequisites I should have before following the Migration doc? Should I read the entire enhance docs first before following the migration guide? I think any such pre-reqs should be explicitly listed at the top of the migration doc.
This note in the migration doc is concerning to me: "If Begin Data is used the table definition should be removed before the Enhance plugin is added. Begin data is included with Enhance and defining these tables in two places can cause problems." So if I use Begin Data I need to remove it - OK, I don't use Begin Data in my arc app, so I think I'm ok? But then the next sentence says Begin Data is included in Enhance - so if I use Enhance I will be using Begin Data? 😕 😣 i haz a confuse. My current plan is to read this plugin's source code front-to-back to understand what I am adding to my arc app better. It would be nice to instead summarize these additions in the project's README.
The final step in the 'complete arc migration' says "Move each handler into the file base routing app/api and app/pages folders and then remove the corresponding route definition in the arc file." Can we also add an additional step after this that hand-holds readers through verifying everything works as desired? Should I run an enhance CLI command to test everything? Should I run arc sandbox instead? I, perhaps foolishly, but I am just a noobie getting my bearings, tried running arc create thinking the plugin would create these app/* folders for me, but no such thing happened, so I decided not to run any commands further until I a) read the source code front to back for this plugin and b) filed this issue 😄

If someone can talk me through these confusions and help me understand how this plugin works better, I am happy to send a PR to update the README and/or enhance docs.

I feel a lot of your questions can be answered by explaining that Enhance is a culmination of all the feedback from users that found Architect to be too much like a toolbox that was dumped out on a table.
Enhance wraps most Architect concepts - DynamoDB, routes, etc. and enables these through higher level constructs of pages, elements, api. So you should not expect to use Architect commands with Enhance.
Enhance is meant to be a batteries included app framework built on top of Architect so even though it uses arc plugins it is not much like a default Architect project.
I would encourage you to go through the quickstart and learn Enhance if you want to get all the benefits it supplies and not think of it as an Architect project but as an Enhance project. You will however be able to reuse your lower level Architect knowledge of plugins and how everything works one deployed.
As for your questions:

We added the Architect migration doc for this purpose. Without learning how Enhance is meant to be first the Architect integration in the README would be confusing for first time Enhance users. It is much easier to create an Enhance project and add Arc plugins to it than to try and add the Enhance plugin to an existing Architect project and expect it to work as it was previously. Enhance creates a catch-all route and looks up frontend primitives in specific directories for you. If everything it put in the expected directory things just work. You would need to refactor your Architect project to move primitives into expected directories. Basically adding Architect specific docs to the Enhance plugin README is inappropriate and would make things harder.
I would encourage you to go through the quickstart
The Enhance is setup to use DynamoDB with Begin data out of the box. The Enhance plugin preconfigures your Begin data table so you could have arc tables that are incompatible or in conflict in an existing Architect app. I would do a test run in a branch and make a throw away deploy to see what I mean here.
4.The final step is just navigating to the different "pages" in the pages directory. No need to run any commands other than npm start. Read up on how pages are mapped here

There will be things you use Architect for that are not bundles into Enhance, but there are a lot of features baked into Enhance that were really difficult to do in a barebones Architect app so starting with an Enhance app then adding in the Architect service plugins would be my recommendation. Making an arc app and adding the Enhance plugin would not do what you expect, especially if you haven't familiarized yourself with Enhance at all.


JSONSchema and mappings must support files and bucket.

The JSONSchema and mappings must support the _files and _bucket properties.
We might need an index_receiver to change _files to files so that you can search properly on it.

There's probably overlap with #172

Inject JSONschema from invenio-records-files into _files key.
Add a _bucket key (type string).
Add an index receiver in records/indexer.py and connect to the signal


Nesting question

I'm curious how feasible it is to allow Draggable to be any descendent of Container rather than a direct child.

Hi, @philiprenich I'm afraid that's not possible. Maybe it's easier for you to find a workaround and share with us this solution.


"Unterminated string constant" error occurs when using @swc/jest in jest

Describe the bug
I tried to use swc to improve the speed of the existing jest, but an error occurred as above, so I ask for confirmation.
When expressing a string in the source code, it was confirmed that `` is changed to "".
So, it seems that an error occurred when a line break was made.

Version
$ C:\Users\BANKDA-KIM\Desktop\project\bankda-m-cafe24-backend\node_modules\.bin\swc --version

@swc/cli: 0.1.32
@swc/core: 1.2.45
Done in 0.79s.

I tried reproducing it, but I failed.
Can you run swc directly on it and post the result?

I tried reproducing it, but I failed.
Can you run swc directly on it and post the result?

Likewise, an error occurs when writing tests.
What information can I provide?

Likewise, an error occurs when writing tests.
What information can I provide?

I need the output of swc invoked on the original input file.
In mac os x (and very likely on linux too), swc prints the expected result.

I need the output of swc invoked on the original input file.
In mac os x (and very likely on linux too), swc prints the expected result.

Can you explain in detail what it means?
To explain my current situation, I use jest when writing tests in nodejs.
However, it takes too long to use ts-jest → @swc/jest, but if it encounters a string of `` instead of'', an error occurs.
How to fix it?

Can you explain in detail what it means?
To explain my current situation, I use jest when writing tests in nodejs.
However, it takes too long to use ts-jest → @swc/jest, but if it encounters a string of `` instead of'', an error occurs.
How to fix it?

Closing as I couldn't reproduce it.


jellyfish-transaction-signature: other SIGHASH type support for TransactionSigner

What would you like to be added:
TransactionSigner has multisig support (PBST)
Why is this needed:
Able to spend from multisig address. Sign for redeemScript in each multisig Vin
Extra notes:

Note: this is not the same as HTLC
we start with assume all prevout ellipic pair is found in current client instance and return result should be fully signed

/area jellyfish-transaction-signature

/area jellyfish-transaction

I think supporting p2sh, p2pkh, p2pk transaction signature is more important now. Don't start on this yet.
/area jellyfish-transaction-signature
/assign @ivan-zynesis


Asset 397: hemin ID choice

This asset currently uses PUBCHEM.COMPOUND:26945as the expected answer ID for "hemin". However, the NodeNorm labels for this entity's IDs are "protoheme".
Instead, I see "hemin" in the NodeNorm conflated-ID labels for hematin PUBCHEM.COMPOUND:455658. BTE consistently has hematin in its result set (often too low for a TopAnswer, but still).
Should this test use this different ID for hemin? Or is this a NodeNorm issue?

Related to other issues:

https://github.com/NCATSTranslator/Tests/issues/62?
I think all tools have been consistently failing this test, which may be in part due to the answer ID choice: https://github.com/NCATSTranslator/Tests/issues/69

Added to https://github.com/NCATSTranslator/Tests/issues/62#issuecomment-2207903878 to consolidate issues.


Adds dua to 'App Showcase'

dua has not changed significantly in how it works from that original demo - there were some bug fixes and some smaller features added, but that demo still shows the fundamentals of what dua can do.

Sounds good :)


Get.width not give the current width size in flutter web .

Describe the bug
Get.width not give the current width size in flutter web but MediaQuery.of(context).size.widrg Working
Expected behavior
Fix it please we don't want to use context !
Flutter Version:
Flutter 2.0.3
Getx Version:
get: ^3.26.0
Describe on which device you found the bug:
flutter web

Duplicate of https://github.com/jonataslaw/getx/issues/786#issuecomment-725856139 (look at Eduardo's comment)


NNCP: return NNCE object and not list

Short description:
More details:
What this PR does / why we need it:
Which issue(s) this PR fixes:
Special notes for reviewer:
Bug:

/verified


Roll Flutter Engine from 619804c0fbb7 to 259703a16fe8 (7 revisions)

https://github.com/flutter/engine/compare/619804c0fbb7...259703a16fe8
2024-11-14<EMAIL_ADDRESS>[Android] choose 24 bit depth buffer. (flutter/engine#56553)
2024-11-14<EMAIL_ADDRESS>Roll Skia from 3750b8939c7f to ddbd8d1cb8d8 (1 revision) (flutter/engine#56562)
2024-11-14<EMAIL_ADDRESS>Move FlMouseCursorHandler from FlView to FlEngine (flutter/engine#56026)
2024-11-14<EMAIL_ADDRESS>[Impeller] force software resize usage for GLES backend. (flutter/engine#56511)
2024-11-14<EMAIL_ADDRESS>Roll Dart SDK from 66ab1774bfe9 to 3f05b3540cb2 (2 revisions) (flutter/engine#56564)
2024-11-14<EMAIL_ADDRESS>Embedder: Refactor EmbedderTestContext creation (flutter/engine#56563)
2024-11-14<EMAIL_ADDRESS>Remove android_jit_release_x86. (flutter/engine#56548)
If this roll has caused a breakage, revert this CL and stop the roller
using the controls here:
https://autoroll.skia.org/r/flutter-engine-flutter-autoroll
Please CC jimgraham<EMAIL_ADDRESS>on the revert to ensure that a human
is aware of the problem.
To file a bug in Flutter: https://github.com/flutter/flutter/issues/new/choose
To report a problem with the AutoRoller itself, please file a bug:
https://issues.skia.org/issues/new?component=1389291&template=1850622
Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md

Commit queue failed; closing this roll.


fix bug :JSON.toJSONString时候，当有JSONFiled定制注解的字段，json属性名以JSONField为准，不…

fix bug :JSON.toJSONString时候，当有JSONFiled定制注解的字段，json属性名以JSONField为准，不…

 Thank you for your submission, we really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.You have signed the CLA already but the status is still pending? Let us recheck it.

Codecov Report

Merging #1573 into master will decrease coverage by <.01%.
The diff coverage is 100%.

@@             Coverage Diff              @@
##             master    #1573      +/-   ##
============================================
- Coverage     81.52%   81.52%   -0.01%
  Complexity     6056     6056
============================================
  Files           136      136
  Lines         22462    22465       +3
  Branches       5144     5144
============================================
+ Hits          18312    18314       +2
- Misses         2884     2886       +2
+ Partials       1266     1265       -1

Impacted Files
Coverage Δ
Complexity Δ

...main/java/com/alibaba/fastjson/util/TypeUtils.java
82.41% <100%> (+0.03%)
475 <0> (+1)
:arrow_up:

...ava/com/alibaba/fastjson/parser/JSONLexerBase.java
71.48% <0%> (-0.04%)
784% <0%> (-1%)

Continue to review full report at Codecov.

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


Moya reactive extensions concern

Hi Ash,
I've been checking out reactive integration code (RX and RAC), and have some questions :)
It looks like the idea is to try to share results of in flight requests. That would make sense for idempotent query requests, but not sure that is correct in case of mutating command requests.
What do you think?

Yeah, that's a fair point. We use comparisons based on the URL, the HTTP method, all the parameters, and the body. I would think that sending the same request twice would be different, but I suppose this is an assumption.
Any suggestions? We could extend behaviour in the MoyaProvider class – maybe a closure like this?
typealias ShouldCheckInflightRequests = (Endpoint) -> (Bool)

That way people can opt-out on a per-endpoint bases if they want? Open to suggestions on this.

Yeah, you could do that. I would suggest that default behavior should be false :)
It would also be cool if you could do something like
internalRequest(token)
    >- cacheInFlightRequests

cacheInFlightRequests should probably be internal method so you could write the code like
func request(token: T) -> Observable<MoyaResponse>
    if shouldCheckInflightRequests(target) {
        return internalRequest(token)
    }
   else {
        return internalRequest(token)
                   >- cacheInFlightRequests
    }
}

It would maybe also make sense to add functionality that would enable you to get typed object for endpoint instead of MoyaResponse (Observable).

Hmm. Maybe a good default implementation would specify that GET and HEAD requests are coalesced, but POST PUT PATCH and DELETE ones are not. That seems like a sane default to me. Thoughts?
As for the inflight caching – using a token makes sense to me.

That's probably a reasonable tradeoff. If somebody has command GET and HEAD requests he probably has bigger problems on his hands anyway :)

We just discovered a case where in-flight GET requests would lead to a bug in one of our apps.
We continuously check for user settings whenever the app is opened.
In case the user is no longer authorized, an automatic "relogin" attempt is made, which also tries to download the user settings.
In case the user settings call is not finished by the time of the "relogin", the "relogin" waits for the current unauthorized user settings request to return and gets a 401 from the API.
This was easy enough to fix, but shows that GET requests might also lead to some unexpected behaviour.
I think I'd like in-flight caching to be opt-in, which would also make it less "magic" for everyone new to reactive programming concepts.

Yeah, I dunno. Seems like this might be more trouble than it's worth, but @aschuch and @kzaher are right – this should definitely be opt-in.

Fixed in https://github.com/Moya/Moya/pull/232 – currently in 3.0.0-develop branch.


[PE-D][Tester E] Potential Problem: Number of Links of One person

Possible Improvement

I find that one person can only link to one internship, and I understand the reason.
But in real life, is there a chance that one person is in charge of two job positions in the same company?

Labels: type.FeatureFlaw severity.Low
original: wxy1203/ped#11

TODO: Add note in add command that one person can only in charge of one job positions in the same company


Support new EEPROM firmware repository structure

The structure of rpi-eeprom changed recently, preventing the "Download new firmware from github" feature on the /firmware webpage from working. This PR updates cmprovision to be compatible with the new rpi-eeprom structure. It also removes the concept of beta firmwares as these will no longer be included on the rpi-eeprom master branch.
See https://github.com/raspberrypi/rpi-eeprom/commit/299b1c7e120728098d3fc68ee16eb6a2355d33af for more information on the changes to rpi-eeprom.

$prefix .= "firmware-2711/";

Wonder if we shouldn't prepare for firmware-2712 as well...

Firmware 2712 is already on GitHub so yes. Rpiboot will be supported. Lots of other stuff to do right now though

Firmware 2712 is already on GitHub so yes. Rpiboot will be supported.

We use the boot a Linux initramfs utility OS (be it through PXE boot, or rpiboot) and do the actual flashing with flashrom approach with cmprovision.
Can we just use:  flashrom -p "linux_spi:dev=/dev/spidev0.0,spispeed=16000" -r "/tmp/pieeprom.bin"   like before?
Am I correct in that special dtoverlays and disabling audio is no longer needed for 2712?

Flashrom works and no audio dtoverlay hacking required. Spi10 just be available at boot and is not shared with anything else

Regarding rpiboot msd.elf is not used on 2712 so it will be an updated 64bit version of the Linux mass storage gadget that works on both on 2711 and 2712. There’s some internal refactoring of ddr init so this works even with a blank eeprom.
Since a Pi5 with rpiboot is likely to only have 90ma of power from a usb3 pc socket it will likely have to limit arm clocks.
All good fun

Regarding rpiboot msd.elf is not used on 2712 so it will be an updated 64bit version of the Linux mass storage gadget

Do not care about MSD.
Just need rpiboot to run scriptexecutor for cmprovision.
(And think one needs a bootcode5.bin for that...)

I think Pi5 rpiboot is probably a couple of weeks away at least. The changes are more substantial than adding a bootcode5.bin. It's unlikely that the 2711 bootloader will be updated in that timeframe :)


docs(guides): add custom extension guide

What kind of change does this PR introduce? (Bug fix, feature, docs update, ...)
This PR adds a guide for one of the remaining big formly features: extensions.
In addition, I have updated an example for clarity.
Please check if the PR fulfills these requirements

[x] The commit messages follow our guidelines: https://github.com/angular/angular.js/blob/master/CONTRIBUTING.md#commit-message-format
[x] Running npm run build produced a successful build. (Unit testing can be done by running npm test;)
[x] My code has been linted. (npm run lint to do this. npm run build will fail if there are files not linted.)

Please provide a screenshot of this feature before and after your code changes, if applicable.

Other information:

Thank you @MaxKless!


az interactive gives error on startup

This is autogenerated. Please review and update as needed.
Describe the bug
startup error. Also autotype suggestions don't seem to work well
Command Name
az interactive
Errors:
az>> Exception in thread Thread-1:
Traceback (most recent call last):
File "C:\Program Files (x86)\Microsoft SDKs\Azure\CLI2\lib\threading.py", line 916, in bootstrap_inner
self.run()
File "C:\Users\aa062685.azure\cliextensions\interactive\azext_interactive\azclishell\threads.py", line 21, in run
FreshTable(self.shell).dump_command_table(self.shell)
File "C:\Users\aa062685.azure\cliextensions\interactive\azext_interactive\azclishell_dump_commands.py", line 88, in dump_command_table
main_loader.load_arguments(None)-----------------------------------------------------------------------------------
File "C:\Users\aa062685.azure\cliextensions\interactive\azext_interactive\azclishell_dump_commands.py", line 49, in load_arguments---------------------------------------------------------------------------------------------------------
command.load_arguments()
File "C:\Users\VSSADM~1\AppData\Local\Temp\pip-install-6e754znd\azure-cli-core\azure\cli\core\commands_init.py", line 291, in load_arguments  : use commands outside the application
File "C:\Users\VSSADM~1\AppData\Local\Temp\pip-install-6e754znd\knack\knack\commands.py", line 97, in load_arguments
File "C:\Users\VSSADM~1\AppData\Local\Temp\pip-install-6e754znd\azure-cli-core\azure\cli\core_init_.py", line 488, in default_arguments_loader : do a step by step tutorial of example
File "C:\Users\VSSADM~1\AppData\Local\Temp\pip-install-6e754znd\azure-cli-core\azure\cli\core_init_.py", line 528, in get_op_handler           : set a scope, and scopes can be chained with spaces
File "C:\Program Files (x86)\Microsoft SDKs\Azure\CLI2\lib\importlib_init_.py", line 126, in import_module
return _bootstrap._gcd_import(name[level:], package, level)
File "", line 994, in _gcd_import                                Hit [enter] to refresh
File "", line 971, in _find_and_load
File "", line 955, in _find_and_load_unlocked
File "", line 665, in _load_unlocked
File "", line 678, in exec_module
File "", line 219, in _call_with_frames_removed
File "C:\Users\VSSADM~1\AppData\Local\Temp\pip-install-6e754znd\azure-cli\azure\cli\command_modules\apim\custom.py", line 9, in
ModuleNotFoundError: No module named 'azure.mgmt.apimanagement.models.api_management_client_enums'
To Reproduce:
Steps to reproduce the behavior. Note that argument values have been redacted, as they may contain sensitive information.

az interactive

Expected Behavior
no error, just the interactive UI
Environment Summary
Windows-10-10.0.17763-SP0
Python 3.6.6
Shell: cmd.exe

azure-cli 2.0.74

Extensions:
interactive 0.4.3

Additional Context

Looks like reference issue. @zikalino, could you take a look at this?

This issue is already addressed. If it still happens, please let us know.


Batch Insert Support

Haven't found any information on support for batch inserts. Is it available/planned?

No. It's not available, and unfortunately currently I'm not working on any new features for SORM. Contribution is welcome though.


Draft: Support access control options

Hello,
I'm trying to implement the support of the Keychain Item Accessibility (see Apple documentation here).
The goal is for instance to ask for user presence (faceId, touchId) when requesting a password from the keychain. This options are widely supported on ios/macos/tvos/... so I thought it makes sense to include it in this library.
Disclaimer: I'm not familiar with Rust at all, so I did my best to get into it, here is a draft so let me know if I'm heading in the right direction and any guidance/help is welcomed!
I didn't added tests yet, didn't want to spend too much time if I'm already not doing things right

Thanks for the PR.
I'm happy to add more of the security framework functionality, but I'd prefer not to make breaking changes to existing Rust APIs. If you need to modify existing tests to compile the code, that's a breaking change.

If you need to modify existing tests to compile the code, that's a breaking change.

Totally agree, thanks for the tips!

@kornelski I tried to make your suggestions, I think I got something decent
It's not touching the function signatures, and the tests are passing, i restructured the password options (hope it's what you wanted).
Now I'm not sure exactly how to expose my new set_access_control_options method to the outside, looking for your advice

@Mikescops / @kornelski Do you guys have plans to merge this PR.

@dmolokanov I'd love to do so yes, but i need feedback first

Looks good, thank you.

The goal is for instance to ask for user presence (faceId, touchId) when requesting a password from the keychain. This options are widely supported on ios/macos/tvos/... so I thought it makes sense to include it in this library.

Came here looking for the same thing, biometric support for keychain passwords.
Seems that this PR added PasswordOptions, but I can't find a way to actually plumb them in to the generic password creation API.
use security_framework::passwords_options::{AccessControlOptions, PasswordOptions};

fn main() {
    let access_control_options = AccessControlOptions::USER_PRESENCE;
    let mut entry = PasswordOptions::new_generic_password("my_service3", "test1");
    entry.set_access_control_options(access_control_options);
    // How to actually use this?
}

The above example also errors with:
called Result::unwrap() on an Err value: Error { code: -50, message: "One or more parameters passed to a function were not valid." }
which comes from security-framework-2.9.2/src/passwords_options.rs:124:13


Question about EnergyNet and ScoreNet

I'm curious if I understood the learning process of EnergyNet correctly.
Since it uses the same model architecture as ScoreNet, the input and output seem to be the same.
The loss also seems to be implemented similarly, calculating the l2 loss with the target_score (gt noise) for both.

The only difference seems to be that when calculating the energy, it takes the dot product of the pose and the output of EnergyNet. Is my understanding correct?

If so, it seems like either EnergyNet or ScoreNet alone could potentially solve the pose sampling and ranking problem.
I'm wondering if there's something I'm missing!

Additionally, in the paper, it mentioned that Energy-based model is parameterized as bellow:

Could you explain how the calculation came out? I couldn't find the answer even after referring to the relevant paper, so I'm asking for clarification.

Thanks!

Yes, your understanding of the network is correct. While using ScoreNet alone could obtain energy through integration, the diffusion model involves multiple steps of sampling, making this integration process time-consuming. Hence, we opted to separately train an EnergyNet. As for the reparameterization of EnergyNet, it aims to enhance training efficiency. You can find more insights in [1].
[1]Salimans, Tim, and Jonathan Ho. "Should EBMs model the energy or the score?." Energy Based Models Workshop-ICLR 2021. 2021.

Thanks for your answer!
I have follow-up questions about the code for training EnergyNet:

I'm just double-checking to make sure I understand correctly. Please let me know if I've misunderstood anything!:

The score of a pose $\mathbf{p}$ (data point) is defined as the gradient of the log pdf  $\log p(\mathbf{p})$ with respect to $\mathbf{p}$:
$$
\begin{align} s(\mathbf{p}) = \nabla_{\mathbf{p}} \log p(\mathbf{p}) \end{align}
$$
Given that the pdf in EBM can be expressed in terms of an energy function $E(\mathbf{p})$: ($Z$ is a normalization constant)
$$
\begin{align} p(\mathbf{p}) = \frac{e^{-E(\mathbf{p})}}{Z} \end{align}
$$
Thus we can derive the score as the negative gradient of the energy function with respect to the pose $\mathbf{p}$:
$$
\begin{align} \log p(\mathbf{p}) = \log (\frac{e^{-E(\mathbf{p})}}{Z}) = -E(\mathbf{p}) - \log Z  \newline  s(\mathbf{p}) = \nabla_{\mathbf{p}} \log p(\mathbf{p}) = -\nabla_{\mathbf{p}}E(\mathbf{p}) \end{align}
$$
Therefore, we can define EnergyNet’s objective function as (6), utilizing the same architecture as ScoreNet.

As implemented in the code, updating the energy model $\nabla_{\mathbf{p}}\Psi_{\phi}(\mathbf{p},t|O)$ means that the model learns to make the gradient of the inner product between the pose and the score-shaped vector,$\langle \mathbf{p}, \Phi_{\phi}(p,t|O) \rangle$, point towards the ground truth noise $\nabla_{\mathbf{p}}\log p_t(\mathbf{p}|O)$. Intuitively, since we are training with gradient descending, can we say that the update is made in the direction that minimizes the value of the inner product, which is the energy?

https://github.com/Jiyao06/GenPose/blob/1c815e7e971e6c81e2eb0789483bf62ae845a9cb/networks/gf_algorithms/energynet.py#L210-L215

While training EnergyNet, did you utilize the output of the pre-trained ScoreNet? Or did you train ScoreNet and EnergyNet separately from scratch?

Thank you so much for your time and patience in answering my questions. Your responses have been incredibly helpful, and I really appreciate your willingness to share your knowledge.


ERROR: Option network must be one of: required! You passed...

I am getting the following issue:
9:  nfs_export "/var/www" do
10>>   network '*'
11:    writeable true
12:    anonuser node['lamp']['share']['user']
13:    anongroup node['lamp']['share']['group']
14:    sync true
    16:  end

...
[2015-10-10T11:41:47+00:00] ERROR: Option network must be one of: required!  You passed "*".
Please merge this pull request:
https://github.com/atomic-penguin/cookbook-nfs/pull/67
Thanks.

I just started seeing this too... I am passing a CIDR range in but it is still failing..
Option network must be one of: required!  You passed "<IP_ADDRESS>/16".

This is a dupe of #67 - 2.2.6 isn't released yet.

@CloCkWeRX 2.2.6 is already released and it seems to work with chef-client 2.5.1 but not lower versions (we're on 2.4.3).

@amaltson I definitely tested on 12.4.latest (as of 12 days ago) and didn't have any problems with the test. Can you provide some more details about the error you're encountering?


feat: Add row component

is there any use case for content slot? I think having title and subtitle properties supports all use cases.


Ensure there is no extra whitespace in ref

Created into bst-plugins-external as https://gitlab.com/BuildStream/bst-plugins-experimental/-/merge_requests/186


Women's Fall Bible Study

Curiosity is hardwired in humanity. We have this innate need to question and seek after what we don’t know or understand. In this 6-session Bible study, delve into Scripture to explore how God created us to seek after Him—a God who desires to be found and known. In this lifelong quest of faith, learn to develop your intimacy with Him and embrace the adventure that comes with living a life for God.
Do not embed forms. Instead, add buttons for each:
Monday Morning Registration
https://lifestonechurch.breezechms.com/form/womens-bible-study941
Monday Evening Registration
https://lifestonechurch.breezechms.com/form/womens-bible-study23

@keelyjay I forgot that we have events like this that have multiple options for times. I will need to make some changes to how Contentful events work, but hopefully I can do this before Sunday.

yes by sunday would be great, thank you!

On Aug 17, 2018, at 10:40 AM, Adam Garrett-Harris<EMAIL_ADDRESS>wrote:
@keelyjay https://github.com/keelyjay I forgot that we have events like this that have multiple options for times. I will need to make some changes to how Contentful events work, but hopefully I can do this before Sunday.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub https://github.com/lifestonechurch/lifestonechurch.net/issues/416#issuecomment-413922451, or mute the thread https://github.com/notifications/unsubscribe-auth/AXfBrQrN2P5Nh8g5Ic2HWrPmFd_w_4Guks5uRvHngaJpZM4WB2dX.

All For Jesus,
Keely Williams
Administrative Assistant
Lifestone Church Riverton
817.598.9567
lifestonechurch.net


Support for dynamic, portable configuration of GPIO interrupt priority through GPIO API

Is your enhancement proposal related to a problem? Please describe.
Zephyr provides the GPIO API to allow applications to interface with GPIOs in a portable way. This includes configuration of GPIO interrupts. Features supported for GPIO interrupts include configuring the trigger, adding callbacks, and removing callbacks. One feature that is missing is configuring the priority of a GPIO-triggered interrupt.
The Zephyr IRQ API does support configuration of interrupt priorities when configuring an interrupt, either through the compile-time IRQ_CONNECT or the runtime irq_connect_dynamic. However this cannot be used to configure the priority of a GPIO interrupt as both methods require the IRQ number, which is not exposed through the GPIO API (handled internally to drivers).
Some configuration of GPIO interrupts is possible. For example, for STM32, the Kconfig options EXTI_STM32_EXTI*_IRQ_PRI can be used to configure EXTI interrupt priorities. However, this is not portable, dynamic, or consistent across architectues/SoCs.
Describe the solution you'd like
I would like to see gpio_pin_interrupt_configure extended to take an additional parameter; the priority for the GPIO interrupt being configured. Much like irq_connect_dynamic this could be ignored by platforms that do not support this feature. For those that do, the underlying driver could be extended to configure the interrupt priority. As this is already implemented for many architectures - it's done by irq_connect_dynamic - this existing functionality could be utilised.
Describe alternatives you've considered
An alternative method to support this feature could be to expose the IRQ number through the GPIO API so that irq_connect_dynamic could be used to configure a GPIO-triggered interrupt's priority. However, this is messy as irq_connect_dynamic also takes a callback to configure for the interrupt, which is already supported through the GPIO API. It's also stated that irq_connect_dynamic does not support reconfiguring interrupts.
Additional context
See conversation at https://discord.com/channels/720317445772017664/733037791876874280/1063094172518715533

Typically, GPIO controllers provide just one IRQ line, representing all available GPIO lines. For this kind of GPIO controller, the interrupt priority can (statically) be configures via devicetree.
The STM32 EXTI is special, as it allows for configuring the priority of individual GPIO pin interrupts. One option could be to extend the STM32 GPIO controller driver with support for custom flags for settings the EXTI line IRQ priority.
/cc @erwango

One option could be to extend the STM32 GPIO controller driver with support for custom flags for settings the EXTI line IRQ priority.

This is already available today (with Kconfig, moving to dts in https://github.com/zephyrproject-rtos/zephyr/pull/53825).
The tricky part of the question here is to configure priority dynamically.

The upper 8 bits or gpio_flags_t are reserved for GPIO controller driver specific flags. Could the EXTI interrupt priority be encoded there?

I've started working on a PR for this using the approach described in my description of this issue. Do you see an issue with that approach @henrikbrixandersen?

I've started working on a PR for this using the approach described in my description of this issue. Do you see an issue with that approach @henrikbrixandersen?

I'd like to see a list of more than one vendor supplying a GPIO controller with support for IRQ priority on individual lines before extending the generic GPIO API to support this.

I've started working on a PR for this using the approach described in my description of this issue. Do you see an issue with that approach @henrikbrixandersen?

I'd like to see a list of more than one vendor supplying a GPIO controller with support for IRQ priority on individual lines before extending the generic GPIO API to support this.

Fair enough, it would be better to have multiple vendors supporting this to have it in the generic API. However wouldn't it be useful to add the interface and have it supported by STM and ready for any other vendors if support comes along? It would also allow dynamic configuration of GPIO interrupt priority right now for those vendors where just one IRQ line is used, just in a more limited way than on STM, but still more flexible than static-only configuration.

I've started working on a PR for this using the approach described in my description of this issue. Do you see an issue with that approach @henrikbrixandersen?

I'd like to see a list of more than one vendor supplying a GPIO controller with support for IRQ priority on individual lines before extending the generic GPIO API to support this.

Fair enough, it would be better to have multiple vendors supporting this to have it in the generic API. However wouldn't it be useful to add the interface and have it supported by STM and ready for any other vendors if support comes along? It would also allow dynamic configuration of GPIO interrupt priority right now for those vendors where just one IRQ line is used, just in a more limited way than on STM, but still more flexible than static-only configuration.

We already support vendor-specific GPIO API extensions through gpio_flags_t, hence my question:

The upper 8 bits of gpio_flags_t are reserved for GPIO controller driver specific flags. Could the EXTI interrupt priority be encoded there?

I've started working on a PR for this using the approach described in my description of this issue. Do you see an issue with that approach @henrikbrixandersen?

I'd like to see a list of more than one vendor supplying a GPIO controller with support for IRQ priority on individual lines before extending the generic GPIO API to support this.

Fair enough, it would be better to have multiple vendors supporting this to have it in the generic API. However wouldn't it be useful to add the interface and have it supported by STM and ready for any other vendors if support comes along? It would also allow dynamic configuration of GPIO interrupt priority right now for those vendors where just one IRQ line is used, just in a more limited way than on STM, but still more flexible than static-only configuration.

We already support vendor-specific GPIO API extensions through gpio_flags_t, hence my question:

The upper 8 bits of gpio_flags_t are reserved for GPIO controller driver specific flags. Could the EXTI interrupt priority be encoded there?

Maybe I'm missing something, but I see gpio_dt_flags_t used to hold GPIO devicetree flags, with "The lower 8 bits are used for standard flags. The upper 8 bits are reserved for SoC specific flags." in the description. However, gpio_flags_t, used to hold GPIO configuration flags and configure GPIOs at runtime doesn't state this format, and appears to use the top 8 bits.

cc @cfriedt

Maybe I'm missing something, but I see gpio_dt_flags_t used to hold GPIO devicetree flags, with "The lower 8 bits are used for standard flags. The upper 8 bits are reserved for SoC specific flags." in the description. However, gpio_flags_t, used to hold GPIO configuration flags and configure GPIOs at runtime doesn't state this format, and appears to use the top 8 bits.

Right, but gpio_dt_flags_t is a subset of gpio_flags_t. If the custom GPIO line IRQ priority can be encoded in the vendor-specific bits, this would allow for configuring the priority using devicetree and allow for dynamic configuration via regular, existing GPIO API calls.

Maybe I'm missing something, but I see gpio_dt_flags_t used to hold GPIO devicetree flags, with "The lower 8 bits are used for standard flags. The upper 8 bits are reserved for SoC specific flags." in the description. However, gpio_flags_t, used to hold GPIO configuration flags and configure GPIOs at runtime doesn't state this format, and appears to use the top 8 bits.

Right, but gpio_dt_flags_t is a subset of gpio_flags_t. If the custom GPIO line IRQ priority can be encoded in the vendor-specific bits, this would allow for configuring the priority using devicetree and allow for dynamic configuration via regular, existing GPIO API calls.

Right okay, I didn't realise gpio_dt_flags_t was a subset of gpio_flags_t. I think this approach is possible and would work but to me it seems less straightforward to use. The application would have to rely on the format of gpio_flags_t and encode the priority rather than simply passing it in its plain form. I think it's also a little confusing to encode priority in a flags parameter, as it's not really a flag.

I've tested my method on an STM32 and it seems to work. Modifying the gpio_pin_interrupt_configure API would require many changes throughout the Zephyr tree though.

@erwango @cfriedt Any thoughts on the ideas proposed here by myself and @henrikbrixandersen?

@besmarsh - I'm kind of inclined to agree with Brix on this one.
Assuming STM does not already use the vendor specific bits, that would probably be the best place. It should be possible to create STM specific macros to encode the priority in the flags field for both compile-time const and runtime code.
How many bits are required to encode STM GPIO IRQ priority?

I don't think NVIC priorities are ever more than 8 bits, so assuming STM doesn't already use the vendor-specific bits then it should fit. That solution is definitely less disruptive to the API than mine, too.
To me though, using gpio_dt_flags_t ("DT", "flags") to encode a multi-bit integer set at runtime seems wrong. It doesn't seem logical and to an application developer I imagine it would be rather counter-intuitive.

After moving on to looking at UART, I realised I was going to have the same problem there (no UART API for configuring priority dynamically). Here though, the IRQ line can be retrieved from devicetree fairly easily. I'm realizing now just how much the STM32 GPIO/EXTI is special/unusual, and it may be that for every other peripheral and on every other device (I don't know if there are any other special cases) the IRQ line can be easily retrieved from the devicetree.
I'm thinking now that this whole approach of implementing dynamic priority configuration within the GPIO API is wrong, as this is generic functionality that could be useful for any peripheral and that doesn't need to be implemented in every driver. Dynamic interrupt priority configuration is already done by irq_connect_dynamic, so the only change needed would be a new API function in zephyr/include/irq.h; irq_priority_set(irqn, prio) or irq_set_priority(irqn, prio), which redirects to the already-implemented architecture-specific irq_priority_set functions. No changes needed to any drivers.
Of course this would also provide dynamic priority re-configuration for any interrupts as well, which would be a useful enhancement in general.
After @erwango's #53825, hopefully the same method could be used for GPIO on STM32s, but going via the exti node which maps GPIO EXTI lines to IRQ lines.
Thoughts? @henrikbrixandersen @cfriedt @erwango

Could you please elaborate a bit on the use-case for changing peripheral IRQ priorities like this at runtime?

Could you please elaborate a bit on the use-case for changing peripheral IRQ priorities like this at runtime?

In very general terms, consider any application that has multiple operating modes/states, and between these different modes/states the priority of peripherals changes. For example, an application that uses GPIO and UART, where in one operating mode the UART communication is higher priority than the GPIO, but in another mode the GPIO is higher priority than the UART.
As this solution would now apply to any interrupt priorities (not just peripherals) it adds extra flexibility there too and is no longer just a peripheral-centric change. Interrupt priorities are already configured at runtime anyway (even in IRQ_CONNECT  priority is set at runtime) so I feel this enhancement would be a small change that provides further flexibility.

Hey, I just came around here during my porting of TC3x  devices. TC3x devices also support multiple IRQ lines for GPIO IRQs and it has at least two way to generate gpio interrupts. I'm currently having separate configuration for the IRQs in a different devicetree module.


news item draft

I drafted 2 news items, for the slim, and the filter option (or could be combined- I though it might not look such a bit block if split because it's quite a lot of words?)
once the menu is changed I will try a tweetorial ;)
New phenotype slim
We have added a phenotype slim overview to complement those provided for disease biological process, molecular function and cellular component annotation. The purpose of the phenotype slim is to provide subsets of commonly used 'broad' phenotypic classes or annotation subsets that can provide a useful starting point for accessing phenotype lists.  The phenotype slim page provides links to ontology term pages, annotated genes, and to download files containing the slim terms and IDs.
New phenotype slimming option for advanced search results
The phenotype slim option has also been added to the PomBase advanced search results panel [Slim with:] option. For example, you can query for all genes involved in a GO process, another phenotype, or any other list, and  'slim' the results using the "Phenotype slim option" to view categories of phenotypes assigned to the list.

edited a bit.

Looks great, can we add this link to the slim item?
https://www.pombase.org/browse-curation/fypo-slim

Should we also
a) link advanced search in
The phenotype slim option has also been added to the PomBase advanced search results panel “Slim with” option. For example, you can query for all genes involved in a GO process, another phenotype, or any other list, and “slim” the results using the “Phenotype slim option” to view categories of phenotypes assigned to the list.
and
b) change
The phenotype slim (see news item below)  option has also been added to the PomBase advanced search results
? do you think that would help?
I will do a tweetorrial on Mon/Tues

Looks great, can we add this link to the slim item?
https://www.pombase.org/browse-curation/fypo-slim

I've done that.

Should we also
a) link advanced search in

I've done that too.

and
b) change
The phenotype slim (see news item below) option has also been added to the PomBase advanced search results

I changed "phenotype slim" to be a link to https://www.pombase.org/browse-curation/fypo-slim
Is that OK?

The link helps but it reads a bit oddly without the pointer to the news item below
The phenotype slim  has also been added to the PomBase advanced search results
if you read it without reference to the preceding news item. Maybe it should be combined into a single news item?

Maybe it should be combined into a single news item?

That might be the simplest plan.
I've concatenated the text below and I think it sounds OK.  Any edits?  Should the other slims be links in this sentence:
"... provided for disease biological process, molecular function and cellular component ..."?

We have added a phenotype slim overview to complement those provided for disease biological process, molecular function and cellular component annotation. The purpose of the phenotype slim is to provide subsets of commonly used ‘broad’ phenotypic classes or annotation subsets that can provide a useful starting point for accessing phenotype lists. The phenotype slim page provides links to ontology term pages, annotated genes, and to download files containing the slim terms and IDs.
The phenotype slim has also been added to the PomBase advanced search results panel “Slim with” menu. For example, you can query for all genes involved in a GO process, another phenotype, or any other list, and “slim” the results using the “Phenotype slim” option to view categories of phenotypes assigned to the list.

sounds good. We could link the other slims. The links are  right there on the front page but  eventually the news item will be in the news archive.

You can also move 2021 new items to the archive. The news is getting quite long...

I've combined the news items, turned the other slims into links and removed the 2021 news items.
Let me know if the text needs tweaking.  Or edit directly here: https://github.com/pombase/website/blob/master/src/docs/news.PomBase/2022-04-13-phenotype-slim.md


HTML ID collision when outputting the same form multiple times

If you render the same form on a page multiple times the id of the form remains the same which causes invalid markup when passed through a validator. See the generated markup below.
<form accept-charset="UTF-8" action="/posts" class="simple_form post" id="new_post" method="post">
</form>
...
<form accept-charset="UTF-8" action="/posts" class="simple_form post" id="new_post" method="post">
</form>

This can be handled manually using a counter or something similar so the HTML ID's don't collide.
simple_form_for @post, :html => { :id => "post_#{post_counter}" } do |f|

It'd be great if simple_form could handle this out of the box without having to use something like the above to get valid HTML markup. I know Formtastic tackles this issue by using a namespace to ensure the form id's remain unique e.g.
semantic_form_for @post, :namespace => 'cat_form'

Thanks for submitting it!

I've started working on it but I think this feature should be applied to rails' form_for. Any thoughts?

Agreed. It would be nice to have this fixed in Rails.

@josevalim, https://github.com/rails/rails/pull/3776

Fixed in Raaaaaaaaails. Thanks @nashby.


Clicking bitcoin link in Firefox on Windows does not launch MultiBit HD

The installer needs to set some registry values to configure the Bitcoin protocol handler. In general this requires the following registry script to be run post-install:
See http://msdn.microsoft.com/en-us/library/aa767914(v=vs.85).aspx for more details
As a workaround do the following:

Create a new file bitcoin.reg and copy-paste the following:

Windows Registry Editor Version 5.00
[HKEY_CLASSES_ROOT\bitcoin]
@="URL:Bitcoin Protocol"
"URL Protocol"=""
[HKEY_CLASSES_ROOT\bitcoin\DefaultIcon]
@="multibit-hd.exe,1"
[HKEY_CLASSES_ROOT\bitcoin\shell]
[HKEY_CLASSES_ROOT\bitcoin\shell\open]
[HKEY_CLASSES_ROOT\bitcoin\shell\open\command]
@="\"C:\\Program Files\\multibit-hd\\multibit-hd.exe\" \"%1\""

Double-click it in Windows to execute the contents and go through the security checks
On completion, visit a Bitcoin link and click it. The browser should prompt for an application
Locate the multibit-hd.exe file (usually under C:\Program Files\multibit-hd\multibit-hd.exe)
Click OK and wait while MultiBit HD starts
Open the wallet you want to use for dealing with the payment from the link
After unlocking an alert will appear with the link details, follow the instructions from there.

Updated the 0.0.6beta installer to cover this. Verified correct operation in Windows 8.1 using Chrome and IE but Firefox requires special file manipulation currently described in the Linux install guide. This can't really be automated and is best treated as a limitation of Firefox at present.
To verify, perform an install on Windows then:

use regedit.exe and examine the HKEY_CLASSES_ROOT values are in line with the example given above
observe desktop and start menu shortcuts point to C:Program Files\MultiBit HD\multibit-hd.exe

Ready for review and close.

Navigated to multibit.org in Chrome. Clicked on the donation link. MBHD started up ok, prompted for credentials ok. saw alert with request for payment ok.
Tried same with Internet Exploer 10. Same result.
Closing.


Explicitly globalize implicit global segment_base_info (or localize it)

@thomassittig, Looks like the following LOC declares an implicit a global:
https://github.com/segment-integrations/analytics.js-integration-userlike/blob/master/lib/index.js#L46-L52
Should this be a global, or should it actually be a global? If it's meant to be a global we should define it explicitly (e.g. window.segment_base_info).

Closed for inactivity/irrelevance. Please reopen if it's still an issue!


(FACT-2829) Fixed partitions and mount points facts

Problem:
On ubuntu 20.04, amazon vm, the partitions paths were detected as '/dev/sys/block/'
instead of '/dev/'.
The root partition was detected by it's PARTUUID instead of it's path.
Fix:
'sys/block' is not added to the partitions path if it's data is extracted from '/sys/block//dm', or
'/sys/block//loop' folders.
If /proc/cmdline returns the root partition's PARTUUID then, if possible, we make an extra call to blkid to get it's path.

CLA signed by all contributors.

jenkins please test this on all


SPDHG compute norms

In SPDHG, if we do not precompute norms outside the algorithm,  we need to iterate over all operators and append the norm for each operator into a list.
https://github.com/TomographicImaging/CIL/blob/45e0b235ac79efc03dc5cb46b8ddda9d16f6331b/Wrappers/Python/cil/optimisation/algorithms/SPDHG.py#L153-L161
If the number of operators, i.e., number of subsets is small, this is ok. However, it will take some time to setup SPDHG if we have a large number of subsets and large datasets.
In the case where the number of subsets divides the total number of projection angles, we can check if the corresponding geometries for each of these operators is the same and compute only one norm of these operators.
all_geoms = [i.range_geometry().shape for i in operator]

if all(x == all_geoms[0] for x in all_geoms):
    norms = [operator[0].norm()]*self.ndual_subsets

I can create a PR if you are interested.

@epapoutsellis


raidboss: Korean translations

Sorry, would you mind resolving these conflicts? I needed to remove some triggers and Akurosia also had an earlier translation PR.


frontend: Add illustration to pages.

integrations/:

wondering if the drawing should be above/below/inbetween the two header lines
i was also thinking of a puzzle-pieces variation of the illustration

apps/:

not sure if this page even needs an illustration, as it has a lot of nice interactions & visuals already?

Thanks @vaidap!
For future illustrations in progress, let's send them to #design or #illustrations; chat.zulip.org I think is better suited for discussing illustrations and high level questions. Closing this for now.


Don't deploy doc previews in PRs that don't change docs

To avoid these errors, we should try to deploy doc previews only in PRs that change documentation.

@hbelmiro I think it's valid to keep the preview running. The problem was related to our token, I couldn't find another reason. If you have it, please let me know! Cheers!

Cool. So, I think we can close it.


Recognize links to media

I'm using the bot in a channel for memes and it helps a lot for organization, because before users were talking in the chat and the memes got lost, now with the bot everything is more organized. But this bot so far only recognizes directly uploaded media and not links to media such as URLs showing an image or video.
It would be very interesting if it had an option to also recognize links to media (.mp4", ".jpg", etc).
And I'm grateful for the project, I know that maintaining a project is a lot of work and people who are not aware of this work may not give much value to what is being done "behind the scenes", in addition to being free and open source. I'm grateful for that.

I believe I just finished adding this feature, I also made a few tests
In a few mins I'll be merging to master and deploying it
Ty for the request and your kind message. If you notice weird behavior on it, please reopen this issue


Unify error reporting functions

I'm still seeing errors like this:
ftl: error: failed to build "module echo": failed to extract module schema: /Users/alec/dev/ftl/integration/testdata/go/httpingress/echo.go:160:1: ingress verb arrayData: request type builtin.HttpRequest<[ArrayType]>: 4:3: failed to monomorphise: /Users/alec/dev/ftl/integration/testdata/go/httpingress/echo.go:160:1: array element: /Users/alec/dev/ftl/integration/testdata/go/httpingress/echo.go:160:1: unknown type parameter "ArrayType"

I think the solution to this is to create a unified error type containing positional information, along with Errorf and Wrapf functions, that preserve a single error position. Basically identical to what is in the go-runtime, but shared, probably in backend/schema.

Is this covered by: https://github.com/TBD54566975/ftl/pull/1150
Here: https://github.com/TBD54566975/ftl/pull/1150/files#diff-35313b03e085394ebb55f42398129eb11d452c24d40cd233f98e755672b2a3a9R1

Yes!


Bluetooth: controller: Add Direction Finding specific KConfig

The branch is based on topic-ble-llpc but adds only single commit: 73cc9b608635a1c1db9023e692125029951038ea.
Please do a review.
Thank you in advance!

PR closed. It will be handled in other way cause it dragger changes from topic-ble-llcp branch.