Istio 1.21 Ambient + Microk8s fails on CNI Install

Is this the right place to submit this?

[X] This is not a security vulnerability or a crashing bug
[X] This is not a question about how to use Istio

Bug Description
Istio Ambient CNI Installation fails a little non deterministically on latest Microk8s 1.29.2.
--- cut ---
2024-03-22T15:01:09.174602Z	warn	install	Istio CNI is configured as chained plugin, but cannot find existing CNI network config: no networks found in /host/etc/cni/net.d
2024-03-22T15:01:09.174611Z	info	install	Waiting for CNI network config file to be written in /host/etc/cni/net.d..`
--- cut ---
Also See the complete Log attached.
logs-from-install-cni-in-istio-cni-node-6jgg9.log
It seems to always install on a fresh linux machine, I verified this with MultiPass.
But if an older version of Microk8s was installed and removed, it fails ...
I tried that in a "real linux machine"
I've found a similar older issue, which might or might not relate, because Istio Ambient evolved a lot since then:
https://github.com/istio/istio/issues/41153
Any Hint how to fix this ?
Version
istio version : 1.21.0
kubectl version : v1.29.1
microk8s version: v1.29.2

Additional Information
No response

i think here is the reason below: (copied from https://microk8s.io/docs/change-cidr)
Kubernetes requires a CNI to configure the network namespaces and interfaces of pods. CNI configuration comprises of two things:

One (or more) conflist files (in JSON format) describing the CNI configuration. This configuration is typically found at /etc/cni/net.d. **In a MicroK8s cluster, the configuration path is instead /var/snap/microk8s/current/args/cni-network**.
CNI binaries, which implement the CNI specification. These binaries are typically found at /opt/cni/bin. In a MicroK8s cluster, the binaries are instead installed under /var/snap/microk8s/current/opt/cni/bin.

the Istio CNI parameter "mounted-cni-net-dir" can be use to specify the directory which contains cni conflist file on the node. you may try add the parameter --mounted-cni-net-dir=/var/snap/microk8s/current/args/cni-network into arg list of CNI DaemonSet

@xocodergit
thx 4 your reply .. and you maybe right .. the cni config can only be found inside the /var/snap directory
but can you explain how to exactly change the deamon set ?
I tried to simply patch the deamonset via the Kubernetes dashboard like below ... but this didn't solve the problem
containers:
- name: install-cni
image: docker.io/istio/install-cni:1.21.0
command:
- install-cni
args:
- >-
--log_output_level=default:info,cni:info
--mounted-cni-net-dir=/var/snap/microk8s/current/args/cni-network

This will do the trick
istioctl install -y --set profile=ambient--set values.cni.cniConfDir=/var/snap/microk8s/current/args/cni-network --set values.cni.cniBinDir=/var/snap/microk8s/current/opt/cni/bin -f ./templates/meshconfig.yaml
So thx 4 pointing into to right direction .. the only question is, why it seems to be working on a fresh linux install with microk8s 1.29 .. but I could eventually reproduce and take a look at the directories
Also .. does it have to be like this for microk8s .. or could the install-cni container eventually autodetect that ?
No matter what .. excellent work on ambient mesh ! .. The Benefits of Istio, without having the 50MB Sidecar is a huge thing

For the record: I also saw the error message from the initial post, when using k3s deployed with this command
MYSECRET='iMbNehKnok2TzFbuc7sZPDhKv7tboSSoF6xj8mLKXz8snTaRFXdAW9YceN'
curl -fL https://get.k3s.io | K3S_TOKEN=${MYSECRET} INSTALL_K3S_VERSION=1.29.2-k3s1 \
    sh -s - server \
    --disable traefik \
    --disable servicelb

Afterwards installed the Gateway CRDs from here and installed everything else from the helm chart installation guide.

This will do the trick istioctl install -y --set profile=ambient--set values.cni.cniConfDir=/var/snap/microk8s/current/args/cni-network --set values.cni.cniBinDir=/var/snap/microk8s/current/opt/cni/bin -f ./templates/meshconfig.yaml
So thx 4 pointing into to right direction .. the only question is, why it seems to be working on a fresh linux install with microk8s 1.29 .. but I could eventually reproduce and take a look at the directories
Also .. does it have to be like this for microk8s .. or could the install-cni container eventually autodetect that ?
No matter what .. excellent work on ambient mesh ! .. The Benefits of Istio, without having the 50MB Sidecar is a huge thing

Ah good catch @goafabric and @xocodergit - we should add this MicroK8S specific note to https://istio.io/latest/docs/ops/ambient/install/platform-prerequisites/

I believe this is now documented. Please reopen if additional work is required.


API search not returning accurate results

For instance, form the YELP API Console run a search:
https://api.yelp.com/v2/search/?term=3 FORTY GRILL&location=340 SINATRA DRIVE, HOBOKEN, NJ
you get 30 business, no one is even close to the one provided in the search.
Whereas, this is the business: https://www.yelp.com/biz/3-forty-grill-hoboken
Is not returned in the 30 results.
This happens with many other cases.

@MarkXMx :
https://www.yelp.com/biz/3-forty-grill-hoboken is marked "Closed".  The web page has the banner "Yelpers report this location has closed." and it's been closed long enough (looks like ~1.5 years) that it doesn't appear in www.yelp.com searches either.


samples/sample_extension/test/sample_extension_script_snapshot_test test regression

6451ce078f5ce903bed00c978762a54030eef721 caused regression in
╰─➤  python tools/test.py -m release -a simdbc64 --hot-reload samples/sample_extension/test/sample_extension_script_snapshot_test
Test configuration: none_vm_release_simdbc64

FAILED: none-vm release_simdbc64 samples/sample_extension/test/sample_extension_script_snapshot_test
Expected: Pass
Actual: Crash
CommandOutput[vm]:

stdout:
+ out/ReleaseSIMDBC64/dart --snapshot=/tmp/sample_extension_ZSPEDY/test_sample_synchronous_extension.dart.snapshot --snapshot-kind=script /tmp/sample_extension_ZSPEDY/test_sample_synchronous_extension.dart
+ out/ReleaseSIMDBC64/dart /tmp/sample_extension_ZSPEDY/test_sample_synchronous_extension.dart.snapshot

stderr:
Dumping native stack trace for thread 1f0fd
  [0x0000000000800bd7] Unknown symbol
  [0x0000000000800bd7] Unknown symbol
-- End of DumpStackTrace

Command[vm]: DART_CONFIGURATION=ReleaseSIMDBC64 out/ReleaseSIMDBC64/dart --hot-reload-test-mode --ignore-unrecognized-flags --packages=$HOME/p/d/dart-sdk/sdk/.packages $HOME/p/d/dart-sdk/sdk/samples/sample_extension/test/sample_extension_script_snapshot_test.dart
Took 0:00:02.980627

Short reproduction command (experimental):
    python tools/test.py -m release -a simdbc64 --hot-reload samples/sample_extension/test/sample_extension_script_snapshot_test

[00:03 | 100% | +    0 | -    1]
=== Failure summary:

FAILED: none-vm release_simdbc64 samples/sample_extension/test/sample_extension_script_snapshot_test
Expected: Pass
Actual: Crash
CommandOutput[vm]:

stdout:
+ out/ReleaseSIMDBC64/dart --snapshot=/tmp/sample_extension_ZSPEDY/test_sample_synchronous_extension.dart.snapshot --snapshot-kind=script /tmp/sample_extension_ZSPEDY/test_sample_synchronous_extension.dart
+ out/ReleaseSIMDBC64/dart /tmp/sample_extension_ZSPEDY/test_sample_synchronous_extension.dart.snapshot

stderr:
Dumping native stack trace for thread 1f0fd
  [0x0000000000800bd7] Unknown symbol
  [0x0000000000800bd7] Unknown symbol
-- End of DumpStackTrace

Command[vm]: DART_CONFIGURATION=ReleaseSIMDBC64 out/ReleaseSIMDBC64/dart --hot-reload-test-mode --ignore-unrecognized-flags --packages=$HOME/p/d/dart-sdk/sdk/.packages $HOME/p/d/dart-sdk/sdk/samples/sample_extension/test/sample_extension_script_snapshot_test.dart
Took 0:00:02.980627

Short reproduction command (experimental):
    python tools/test.py -m release -a simdbc64 --hot-reload samples/sample_extension/test/sample_extension_script_snapshot_test

===
=== 1 test failed
===

[00:03 | 100% | +    0 | -    1]

Is this issue still relevant? The status files for this test don't allow this error, and it hasn't shown up for over 1 year.

Not sure about original cause reported, but the test is still failing. So I would imagine it is still relevant, https://github.com/dart-lang/sdk/blob/master/samples/samples.status#L31 has the test marked as failed.
-- Command "vm" (took 02.000200s):
DART_CONFIGURATION=ReleaseSIMDBC64 out/ReleaseSIMDBC64/dart --hot-reload-test-mode --ignore-unrecognized-flags --packages=/usr/local/google/home/aam/p/d/dart-sdk/sdk/.packages /usr/local/google/home/aam/p/d/dart-sdk/sdk/out/ReleaseSIMDBC64/generated_compilations/dartk/samples_sample_extension_test_sample_extension_test/out.dill

exit code:
255

stdout:
+ out/ReleaseSIMDBC64/dart --hot-reload-test-mode --ignore-unrecognized-flags --packages=$DH/sdk/.packages /tmp/sample_extension_XPVDTL/test_sample_synchronous_extension.dart
Failing process stdout:
Failing process stderr: ../../runtime/vm/runtime_entry.cc: 1899: error: *** Isolate reload failed:
{"type":"ReloadReport","success":false,"notices":[{"type":"ReasonForCancelling","message":"NoSuchMethodError: The getter 'uri' was called on null.\nReceiver: null\nTried calling: uri\n#0      Object.noSuchMethod (dart:core\/runtime\/libobject_patch.dart:50:5)\n#1      BuilderGraph.neighborsOf (package:front_end\/src\/fasta\/builder_graph.dart:35:35)\n#2      _SyncIterator.moveNext (dart:core\/runtime\/libcore_patch.dart:152:12)\n#3      IncrementalCompiler.computeReusedLibraries (package:front_end\/src\/fasta\/incremental_compiler.dart:760:34)\n#4      IncrementalCompiler.computeDelta.<anonymous closure> (package:front_end\/src\/fasta\/incremental_compiler.dart:209:46)\n<asynchronous suspension>\n#5      CompilerContext.runInContext.<anonymous closure>.<anonymous closure> (package:front_end\/src\/fasta\/compiler_context.dart:122:46)\n#6      new Future.sync (dart:async\/future.dart:224:31)\n#7      CompilerContext.runInContext.<anonymous closure> (package:front_end\/src\/fasta\/compiler_context.dart:122:19)\n#8      _rootRun (dart:async\/zone.dart:1124:13)\n#9      _CustomZone.run (dart:async\/zone.dart:1021:19)\n#10     _runZoned (dart:async\/zone.dart:1516:10)\n#11     runZoned (dart:async\/zone.dart:1463:12)\n#12     CompilerContext.runInContext (package:front_end\/src\/fasta\/compiler_context.dart:121:12)\n#13     IncrementalCompiler.computeDelta (package:front_end\/src\/fasta\/incremental_compiler.dart:116:20)\n<asynchronous suspension>\n#14     IncrementalCompiler.compile (package:vm\/incremental_compiler.dart:50:44)\n<asynchronous suspension>\n#15     IncrementalCompilerWrapper.compileInternal (file:\/\/\/usr\/local\/google\/home\/aam\/p\/d\/dart-sdk\/sdk\/pkg\/vm\/bin\/kernel_service.dart:215:28)\n<asynchronous suspension>\n#16     Compiler.compile.<anonymous closure> (file:\/\/\/usr\/local\/google\/home\/aam\/p\/d\/dart-sdk\/sdk\/pkg\/vm\/bin\/kernel_service.dart:143:31)\n<asynchronous suspension>\n#17     new Future.<anonymous closure> (dart:async\/future.dart:176:37)\n#18     _rootRun (dart:async\/zone.dart:1120:38)\n#19     _CustomZone.run (dart:async\/zone.dart:1021:19)\n#20     _CustomZone.runGuarded (dart:async\/zone.dart:923:7)\n#21     _CustomZone.bindCallbackGuarded.<anonymous closure> (dart:async\/zone.dart:963:23)\n#22     _rootRun (dart:async\/zone.dart:1124:13)\n#23     _CustomZone.run (dart:async\/zone.dart:1021:19)\n#24     _CustomZone.bindCallback.<anonymous closure> (dart:async\/zone.dart:947:23)\n#25     Timer._createTimer.<anonymous closure> (dart:async\/runtime\/libtimer_patch.dart:21:15)\n#26     _Timer._runTimers (dart:isolate\/runtime\/libtimer_impl.dart:382:19)\n#27     _Timer._handleMessage (dart:isolate\/runtime\/libtimer_impl.dart:416:5)\n#28     _RawReceivePortImpl._handleMessage (dart:isolate\/runtime\/libisolate_patch.dart:171:12)\n"}]}

thread=162023, isolate=test_sample_synchronous_extension.dart:main()(0x558e4a3e3200)
  [0x0000558e493bf1cc] dart::Profiler::DumpStackTrace(void*)
  [0x0000558e493bf1cc] dart::Profiler::DumpStackTrace(void*)
-- End of DumpStackTrace

End failing process stderr

I see. This is the same error I'm working on right now in a related revision.

This test doesn't exist anymore.


Update contributor list for v0.16

I'm in the process of updating the contributor name mapping in tools/authors.py.
@ldamewood, @levelfour,  @plafl, @RoyalTS, @terrycojones: I found your full name in your Github profile. Do you agree to have your full name included in the upcoming v0.16 release notes?
@argriffing Are you the person behind the committer "Perry" (e.g., ca35e25)?
@Andreea-G, @axiru, @kshramt, @I--P, @newman101, @perimosocordiae: I could not find your full names in your Github profiles.  Please let me know with which name you want to be listed in the release notes.

El 26/04/15 a las 19:08, Andreas Hilboll escribió:

I'm in the process of updating the contributor name mapping in
|tools/authors.py|.
@ldamewood https://github.com/ldamewood, @levelfour
https://github.com/levelfour, @plafl https://github.com/plafl,
@RoyalTS https://github.com/RoyalTS, @terrycojones
https://github.com/terrycojones: I found your full name in your
Github profile. Do you agree to have your full name included in the
upcoming v0.16 release notes?
@argriffing https://github.com/argriffing Are you the person behind
the committer "Perry" (e.g., ca35e25
https://github.com/scipy/scipy/commit/ca35e25d68855861e9ef467b1c470a14de1036a7)?
@Andreea-G https://github.com/Andreea-G, @axiru
https://github.com/axiru, @Endolith https://github.com/Endolith,
@kshramt https://github.com/kshramt, @I--P
https://github.com/I--P, @newman101 https://github.com/newman101,
@perimosocordiae https://github.com/perimosocordiae: I could not
find your full names in your Github profiles. Please let me know with
which name you want to be listed in the release notes.
—
Reply to this email directly or view it on GitHub
https://github.com/scipy/scipy/issues/4774.

I would like to be listed as @axiru.

Sure, thanks.
El 26/4/2015 19:08, "Andreas Hilboll"<EMAIL_ADDRESS>escribió:

I'm in the process of updating the contributor name mapping in
tools/authors.py.
@ldamewood https://github.com/ldamewood, @levelfour
https://github.com/levelfour, @plafl https://github.com/plafl,
@RoyalTS https://github.com/RoyalTS, @terrycojones
https://github.com/terrycojones: I found your full name in your Github
profile. Do you agree to have your full name included in the upcoming v0.16
release notes?
@argriffing https://github.com/argriffing Are you the person behind the
committer "Perry" (e.g., ca35e25
https://github.com/scipy/scipy/commit/ca35e25d68855861e9ef467b1c470a14de1036a7
)?
@Andreea-G https://github.com/Andreea-G, @axiru
https://github.com/axiru, @Endolith https://github.com/Endolith,
@kshramt https://github.com/kshramt, @I--P https://github.com/I--P,
@newman101 https://github.com/newman101, @perimosocordiae
https://github.com/perimosocordiae: I could not find your full names in
your Github profiles. Please let me know with which name you want to be
listed in the release notes.
—
Reply to this email directly or view it on GitHub
https://github.com/scipy/scipy/issues/4774.

Full name is fine, thanks!

Full name is fine for me as well, thanks!
On Sun, Apr 26, 2015, 20:04 Terry Jones<EMAIL_ADDRESS>wrote:

Full name is fine, thanks!
—
Reply to this email directly or view it on GitHub
https://github.com/scipy/scipy/issues/4774#issuecomment-96415381.

Full name is Andreea Georgescu. Thanks!

People who want their name and/or email to be shown correctly on all repos, this is how to set it up:
git config --global user.email<EMAIL_ADDRESS>git config --global user.name "Your Name Comes Here"

My full name is CJ Carey.

Hi, my full name is Juha Remes.

Full name OK, thank you!

Hi, my full name is Amato Kasahara.

On 26/04/2015 19:08, Andreas Hilboll wrote:

@Andreea-G https://github.com/Andreea-G, @axiru
https://github.com/axiru, @Endolith https://github.com/Endolith,
@kshramt https://github.com/kshramt, @I--P
https://github.com/I--P, @newman101 https://github.com/newman101,
@perimosocordiae https://github.com/perimosocordiae: I could not
find your full names in your Github profiles. Please let me know with
which name you want to be listed in the release notes.

Hi,
I'm @I--P, my full name is Irvin Probst. Would you mind to quote my
employer alongside my name ? Something like Irvin Probst (ENSTA
Bretagne) ? It's a nonprofit educational institution and I developed
place_poles on my working time.
Thanks.

@argriffing Are you the person behind the committer "Perry" (e.g., ca35e25)?

No, I think it's @perryism.

Yes, please use my full name.
Thank you,
-Liam Damewood

On Apr 26, 2015, at 10:08 AM, Andreas Hilboll<EMAIL_ADDRESS>wrote:
I'm in the process of updating the contributor name mapping in tools/authors.py.
@ldamewood, @levelfour, @plafl, @RoyalTS, @terrycojones: I found your full name in your Github profile. Do you agree to have your full name included in the upcoming v0.16 release notes?
@argriffing Are you the person behind the committer "Perry" (e.g., ca35e25)?
@Andreea-G, @axiru, @Endolith, @kshramt, @I--P, @newman101, @perimosocordiae: I could not find your full names in your Github profiles. Please let me know with which name you want to be listed in the release notes.
—
Reply to this email directly or view it on GitHub.

@andreas-h will you be able to finish this up before Sunday?

Yes, sure. I'm only waiting for Perry. Already wrote him private mail, no reply so far.

Hi, sorry for not being so responsive.  my full name is Perry Lee.   Thanks.


HIGH: Saving as markdown doesn't work for room description

We replaced the welcome note feature with a room description feature in https://github.com/Expensify/App/issues/32953. Let's also update the whisper that gets sent upon joining a room to include this room description. However, saving the welcome message as markdown doesn't seem to be working properly. Let's fix that.

PR here: https://github.com/Expensify/Web-Expensify/pull/40854

PR is waiting for @Gonals to review.

This is on staging now.

This is done.


RIA-7994 - add logs

Changed hearing update status
https://tools.hmcts.net/jira/browse/RIA-7994
Does this PR introduce a breaking change? (check one with "x")
[ ] Yes
[x ] No

LGTM


"Curtișoara" is listed in the drop-down menu

Description:
When user writes "Curtișoara" the location appears in the drop-down menu next to the comune and the county witch is a part according to the law
Precondition:
The website is up an running.

Step 1
Write in the search bar "Curtișoara"
Expected results
The location appears in the drop-down menu as "Comuna Curtișoara, OLT"


fix(ProgressBar): update Base theme default brand tone barColor to neutral

Description

Per the weekly component reviews with design, we are updating the default barColor for the brand tone to use a neetral color to better match the industry standard (brand color is only used on the foreground progress bar).
References

Testing

In the ProgressBar story, observe that when in the brand tone, the brand color is only applied to the progress color, and the bar color uses the neutral color.
Automation

Checklist

[ ] all commented code has been removed
[ ] any new console issues have been resolved
[ ] code linter and formatter has been run
[ ] test coverage meets repo requirements
[ ] PR name matches the expected semantic-commit syntax

Sanity Tests Execution Failed.

:tada: This PR is included in version @lightningjs/ui-components-v2.4.1 :tada:
The release is available on:

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


seata-server.bat无法启动

[ ] I have searched the issues of this repository and believe that this is not a duplicate.

Ⅰ. Issue Description
点击seata-server.bat文件，没有反应，显示下图

Ⅱ. Describe what happened
点击seata-server.bat文件
Just paste your stack trace here!

Ⅲ. Describe what you expected to happen
Ⅳ. How to reproduce it (as minimally and precisely as possible)

xxx
xxx
xxx

Ⅴ. Anything else we need to know?
Ⅵ. Environment:

JDK version :8
Seata version:  1.4.2
OS :Windows11
Others:

用命令行启动看具体错误

这个？

不提示错误

一般是java环境有问题，1.4.2用jdk8，建议直接用1.5.2


Clarify import order, etc. in STYLE.md guide

Issue #1455

Codecov Report

Merging #1581 into master will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##           master    #1581   +/-   ##
=======================================
  Coverage   85.78%   85.78%
=======================================
  Files          34       34
  Lines        7511     7511
  Branches      944      944
=======================================
  Hits         6443     6443
  Misses        868      868
  Partials      200      200

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 17b5e9a...586bf2c. Read the comment docs.

Thanks @dcolligan for your eye for detail it is highly valued.


chrome cookie is not work when using chrome browser

chrome.CookieJar(store.FilePath()) is not working, when using chrome browser an show error is
open C:\Users\dvgamerr\AppData\Local\Google\Chrome\User Data\Default\Network\Cookies: The process cannot access the file because it is being used by another process.
but working if close all chrome app

The file is locked by Chrome.
We might be able to open it if we add FILE_SHARE_DELETE to the share mode.
TODO: fork syscall.Open() with sharemode := uint32(FILE_SHARE_READ | FILE_SHARE_WRITE | FILE_SHARE_DELETE)

If you want to use kooky with a running chrome browser you can disable the lock feature in chrome with a --disable-features=LockProfileCookieDatabase flag when starting the browser.

https://github.com/yt-dlp/yt-dlp/issues/7271#issuecomment-1588197148 :

I don't have a solution but I have done some research that may be useful.

the reason for using exclusive locking may be because of performance rather than to intentionally prevent external access

the LockProfileCookieDatabase feature results in SQLitePersistentCookieStore::enable_exclusive_access being set

this results in ?exclusive=true being added to the file URI passed to sqlite on Windows only source

sqlite then uses LockFileEx to lock the file see the EXCLUSIVE lock section of winLock()

I tried moving the Cookies database and creating a symlink and hardlink to it for chrome to use but LockFileEx follows the links. It's possible that if the database is placed on a filesystem that doesn't support locking (like an old version of samba) then the locking won't take effect but that isn't a very practical solution.
the shadow copy approach seems like a good way around the limitation on the yt-dlp side. I think admin will be required for any solution which makes many options available but most would be too invasive. One idea I had would be to create a separate tool that a user could use to start chrome and inject a DLL that makes LockFileEx do nothing.
The good news is that I don't think Linux will be affected because mandatory locking with fcntl is opt-in and disabled by default source (see Mandatory locking section). WSL should also be unaffected because LockFileEx hopefully can't be supported in WSL


add run command

Adds the run command. Will stream both stdout and stderr, and then send it to the model.

As a curious outsider browsing your repo, can I ask why you chose the "system" role for this message?

As a curious outsider browsing your repo, can I ask why you chose the "system" role for this message?

We've been using the system role for automatic things - basically anything other than direct user messages in the conversation

I have got the impression that system role get higher attention and is used to influence the bot behavior. openai recommend using it for general chat instructions. I didn't check, but I guess that after a few long and informative system messages, the bot might forget its identity from the first system message. Does my guess match your experience?
Since the user chose to run the terminal command, you can phrase the terminal output as a user message.

I didn't check, but I guess that after a few long and informative system messages, the bot might forget its identity from the first system message. Does my guess match your experience?

@omri123 we use system messages for several things and it doesn't seem to forget the required response format (which is in the first system message)


NEW TestBase - method for check count of subscribers via console

'get web browser drivers' moved into TestBase
standard clients test(testMessageSelectorTopic, testTopicSubscribe) enabled for rhea, proton(java, python)

thanks @kornys  for help


SKyBT integration concept

Added SKyBT integration concept as a testdesign tool.
Two testcase examples showing the xml structure and the export format to be used by ALIA for the execution.

no findings so far PR approved.


PowerShell support?

With all these various hacks you've made to make incompatible apps to work with MacType, I was thinking that it could be possible to make PowerShell hack. I know that PS is kinda customizable as people had written various hacks such as aero glass support and others.
What do you think?

About PowerShell, to be honest, it uses the old font rendering mechanism same as cmd. So it has little possibility to compatible with MacType.
However, you can try cmder. It is a beautiful&elegent shell for terminal program (e.g. cmd, ps, git bash). And it support MacType.
Screenshot:

I tried Cmder and it's pretty nice, but I still would rather use PowerShell. If it isn't that hard, please try making PowerShell fix.


chore(deps): update dependency prettier to v3

This PR contains the following updates:

Package
Type
Update
Change

prettier (source)
devDependencies
major
^2.8.8 -> ^3.0.1

Release Notes

prettier/prettier (prettier)
v3.0.1
Compare Source
diff
Fix cursor positioning for a special case (#14812 by @fisker)

// <|> is the cursor position

/* Input */
// All messages are represented in JSON.
// So, the prettier.py controls a subprocess which spawns "node {this_file}".
import {<|>  } from "fs"

/* Prettier 3.0.0 */
// All messages are represented in JSON.
// So, the prettier.py <|>controls a subprocess which spawns "node {this_file}".
import {} from "fs"

/* Prettier 3.0.1 */
// All messages are represented in JSON.
// So, the prettier.py controls a subprocess which spawns "node {this_file}".
import {<|>} from "fs"

Fix plugins/estree.d.ts to make it a module (#15018 by @kingyue737)
Add export {} in plugins/estree.d.ts to fix the "File is not a module" error
Add parenthesis around leading multiline comment in return statement (#15037 by @auvred)

// Input
function fn() {
  return (
    /**
     * @type {...}
     */ expresssion
  )
}

// Prettier 3.0.0
function fn() {
  return /**
   * @type {...}
   */ expresssion;
}

// Prettier 3.0.1
function fn() {
  return (
    /**
     * @type {...}
     */ expresssion
  );
}

Add support for Vue "Generic Components" (#15066 by @auvred)
https://blog.vuejs.org/posts/vue-3-3#generic-components

<!-- Input -->
<script setup lang="ts" generic="T extends Type1 & Type2 & (Type3 | Type4), U extends string | number | boolean"></script>

<!-- Prettier 3.0.0 -->
<script
  setup
  lang="ts"
  generic="T extends Type1 & Type2 & (Type3 | Type4), U extends string | number | boolean"
></script>

<!-- Prettier 3.0.1 -->
<script
  setup
  lang="ts"
  generic="
    T extends Type1 & Type2 & (Type3 | Type4),
    U extends string | number | boolean
  "
></script>

Fix comments print in IfStatement (#15076 by @fisker)

function a(b) {
  if (b) return 1; // comment
  else return 2;
}

/* Prettier 3.0.0 */
Error: Comment "comment" was not printed. Please report this error!

/* Prettier 3.0.1 */
function a(b) {
  if (b) return 1; // comment
  else return 2;
}

Add missing type definition for printer.preprocess (#15123 by @so1ve)
export interface Printer<T = any> {
  // ...
+ preprocess?:
+   | ((ast: T, options: ParserOptions<T>) => T | Promise<T>)
+   | undefined;
}

Add missing getVisitorKeys method type definition for Printer (#15125 by @auvred)
const printer: Printer = {
  print: () => [],
  getVisitorKeys(node, nonTraversableKeys) {
    return ["body"];
  },
};

Add typing to support readonly array properties of AST Node (#15127 by @auvred)

// Input
interface TestNode {
  readonlyArray: readonly string[];
}

declare const path: AstPath<TestNode>;

path.map(() => "", "readonlyArray");

// Prettier 3.0.0
interface TestNode {
  readonlyArray: readonly string[];
}

declare const path: AstPath<TestNode>;

path.map(() => "", "readonlyArray");
//                  ^ Argument of type '"readonlyArray"' is not assignable to parameter of type '"regularArray"'. ts(2345)

// Prettier 3.0.1
interface TestNode {
  readonlyArray: readonly string[];
}

declare const path: AstPath<TestNode>;

path.map(() => "", "readonlyArray");

Add space before unary minus followed by a function call (#15129 by @pamelalozano)

// Input
div {
  margin: - func();
}

// Prettier 3.0.0
div {
  margin: -func();
}

// Prettier 3.0.1
div {
  margin: - func();
}

v3.0.0
Compare Source
diff
🔗 Release Notes

Configuration
📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).
🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.
♻ Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
🔕 Ignore: Close this PR and you won't be reminded about this update again.

[ ] If you want to rebase/retry this PR, check this box

This PR has been generated by Renovate Bot.

⚠ Artifact update problem
Renovate failed to update an artifact related to this branch. You probably do not want to merge this PR as-is.
♻ Renovate will retry this branch, including artifacts, only when one of the following happens:

any of the package files in this branch needs updating, or
the branch becomes conflicted, or
you click the rebase/retry checkbox if found above, or
you rename this PR's title to start with "rebase!" to trigger it manually

The artifact failure details are included below:
File name: package-lock.json
npm ERR! code ERESOLVE
npm ERR! ERESOLVE could not resolve
npm ERR!
npm ERR! While resolving<EMAIL_ADDRESS>npm ERR! Found<EMAIL_ADDRESS>npm ERR! node_modules/prettier
npm ERR!   dev<EMAIL_ADDRESS>from the root project
npm ERR!   peer<EMAIL_ADDRESS>from<EMAIL_ADDRESS>npm ERR!   node_modules/pretty-quick
npm ERR!     dev<EMAIL_ADDRESS>from the root project
npm ERR!
npm ERR! Could not resolve dependency:
npm ERR! peer<EMAIL_ADDRESS>|| ^2.0.0" from<EMAIL_ADDRESS>npm ERR! node_modules/prettier-plugin-svelte
npm ERR!   dev<EMAIL_ADDRESS>from @agnos-ui/demo@undefined
npm ERR!   demo
npm ERR!     @agnos-ui/demo@undefined
npm ERR!     node_modules/@agnos-ui/demo
npm ERR!       workspace demo from the root project
npm ERR!   dev<EMAIL_ADDRESS>from @agnos-ui/svelte@undefined
npm ERR!   svelte
npm ERR!     @agnos-ui/svelte@undefined
npm ERR!     node_modules/@agnos-ui/svelte
npm ERR!       workspace svelte from the root project
npm ERR!
npm ERR! Conflicting peer dependency<EMAIL_ADDRESS>npm ERR! node_modules/prettier
npm ERR!   peer<EMAIL_ADDRESS>|| ^2.0.0" from<EMAIL_ADDRESS>npm ERR!   node_modules/prettier-plugin-svelte
npm ERR!     dev<EMAIL_ADDRESS>from @agnos-ui/demo@undefined
npm ERR!     demo
npm ERR!       @agnos-ui/demo@undefined
npm ERR!       node_modules/@agnos-ui/demo
npm ERR!         workspace demo from the root project
npm ERR!     dev<EMAIL_ADDRESS>from @agnos-ui/svelte@undefined
npm ERR!     svelte
npm ERR!       @agnos-ui/svelte@undefined
npm ERR!       node_modules/@agnos-ui/svelte
npm ERR!         workspace svelte from the root project
npm ERR!
npm ERR! Fix the upstream dependency conflict, or retry
npm ERR! this command with --force or --legacy-peer-deps
npm ERR! to accept an incorrect (and potentially broken) dependency resolution.
npm ERR!
npm ERR!
npm ERR! For a full report see:
npm ERR! /tmp/renovate/cache/others/npm/_logs/2023-08-03T10_11_23_232Z-eresolve-report.txt

npm ERR! A complete log of this run can be found in: /tmp/renovate/cache/others/npm/_logs/2023-08-03T10_11_23_232Z-debug-0.log

The upgrade to Prettier requires to change from pretty-quick to lint-staged, as pretty-quick is not maintained anymore.
The prettier-plugin-svelte will also need to be upgrade to ^3.0.3 or smth.
Also there is an issue currently with prettier 3 where plugins are not properly loaded:
https://github.com/prettier/prettier/issues/15079


As an author, I want to pull in my github activity to my “stream”

7/10

6/10

7/10

7

7

Average 6.8


Use angular velocity quantity instead of rad/s in components

Resolves #1907.
Use "AngularVelocity"  and some other quantities instead of hard-coded default units.
I intentionally avoided changing generated components.

Yes "someone" should really update those generated ones.
Also doing changes like this is only safe if the hard-coded unit is the same as the base unit for the quantity. But in these cases it is, so no problem.

When testing the bode plot PR, I found that the SignalSineWave function has the input variable f, set to Hz with description Frequency. But no Quantity. But this is typically such component where we cant just change the Quantity as then old models would result in the wrong behavior.
Unless the unit Hz can be used to auto detect that a scaling is applied, not sure how that will work. Needs cleanup in the future when a foolproof auto-update method exists.

@peterNordin I think it should be possible to specify both quantity and unit, to use non-SI units as default. For the sine wave it could work with rad/s as default as well, but as you mention it would not be backwards compatible with existing models.


Using setNotifyAboutChanges appears to ignore some entity meta

Video for example
Code to reproduce
In the video you can see when I type reset2 (the one without setNotifyAboutChanges) everything works fine, but when I do reset it does not send certain information at all (e.g. setGravity) or delays them until another action (e.g. setInvisible seemed to fix itself after I crouched)

This could be because the notify changes list gets cleared here even though it is used later on to send the changes to the player.

This could be because the notify changes list gets cleared here even though it is used later on to send the changes to the player.

This actually was the fix, see #962


refactor(semantic): move determining references flags for export specifier to visit_export_named_declaration

export type { a };
export { type b };

In the above cases, a and b are both type-only references. Before, we handled them in visit_export_named_declaration and visit_export_specifier, but it doesn't look intuitive due to we need to determine
if ExportNamedSpecifier is a type-only in visit_export_specifier  by checking if current_reference_flags is a type, and also needs to set it back before exit node.
This PR moves determining reference flags from visit_export_specifier to visit_export_named_declaration so that we don't need to check current_reference_flags and set it back because here we can always know the
if ExportSpecifierNamed is type-only by ExportNamedDeclaration::export_kind::is_type.

[!WARNING]
This pull request is not mergeable via GitHub because a downstack PR is open. Once all requirements are satisfied, merge this PR as a stack on Graphite.
Learn more

#7924  👈 (View in Graphite)
#7923
#7922
main

How to use the Graphite Merge Queue
Add either label to this PR to merge it via the merge queue:

0-merge - adds this PR to the back of the merge queue
hotfix - for urgent hot fixes, skip the queue and merge this PR next

You must have a Graphite account in order to use the merge queue. Sign up using this link.

An organization admin has enabled the Graphite Merge Queue in this repository.

Please do not merge from GitHub as this will restart CI on PRs being processed by the merge queue.

This stack of pull requests is managed by Graphite. Learn more about stacking.

Merge activity

Dec 15, 9:22 PM EST: The merge label '0-merge' was detected. This PR will be added to the Graphite merge queue once it meets the requirements.


Add white background to QR image for browsers in dark mode

My computer preference theme is set to Dark. Django interprets this nicely, but the QR code shows up as dark on dark and is very difficult to see. Can be read by some QR readers but not by others.
Expected Behavior
The QR image should always have a white background instead of transparent.
Browsers with dark mode enabled that are overriding the base template should be able to have a readable QR image that can be scanned easily.
Current Behavior
When dark mode is enabled, the background is set to black and the transparent image shows up directly on the default black background. It can be read by one phone I tested with, but not the 1Password browser QR scanner. It is also very difficult to even visually tell there is a QR code there.

Possible Solution
Hardcode the style background to be white on the img tag.

This results in an easy to see QR image with a nice margin/border:

Steps to Reproduce (for bugs)

Have a custom _base.html template that extends the base django template: {% extends "admin/base.html" %}
Have computer (mac, in my case) theme set to dark (System Preferences -> General -> Appearance)
Navigate through 2FA setup to get to QR page
Try to scan with in browser QR scanner

Context
The dark on dark QR code can actually be read by a phone (tested with iphone 13 mini), but cannot be read by the 1Password in-browser QR scanner. I'd imagine it would also work poorly with older phones / certain cameras.
Your Environment

Browser and version: Firefox 100.0
Python version: 3.7.7
Django version: 3.2.13
django-otp version: 1.1.3
django-two-factor-auth version: 1.13.2

@jcu721, do you plan to work on a patch?

@claudep  just opened a PR, https://github.com/jazzband/django-two-factor-auth/pull/504, let me know if I need to do any further testing.


make Cypress createTestUser failsafe

it should either register up a new one and login, or if the "username exists" trys to log in.

Closed by #130


Change: write/create resolv.conf with 0666

This fits the expectation of a seasoned admin: the umask is responsible
for the file permissions.

I'd prefer to keep 0644.

I'd prefer to keep 0644.

Why? The local admin might have reasons to have broader permissions. Can you elaborate why you want to stick with 0644?

If we give permissive permissions to the /etc/resolv.conf file, this may lead to a security issue. If there is a malicious app running with user privileges or a browser with a 0-day vulnerability, they can modify /etc/resolv.conf to point to a malicious DNS server. You cannot rely on umask, because each Linux distribution acts differntly.
Considering the fact that gof5 requires a sudo permission and its config file is writable by an unprivileged user also gives a potential vector for the attack, but in this case an end user explicitly gives permissions to gof5, and this VPN client is not popular enough to be used by malicious software. This attack vector can also be applied to a network-manager config, where an end user can define custom DNS.

(Btw, I'm almost done with a patch that supervises resolv.conf for external changes and resets it to the gof5 imposed content. As I got a DHCP client changing my resolv.conf again and again)

Managing /etc/resolv.conf (or anything related to a DNS configuration) is a thankless job, because there is a number of apps managing it (systemd-networkd, VPN tools, dnsmasq, network-manager, bash scripts, etc) and each distribution handles this differently. I'm not a MacOS fan, but MacOS developers have managed to unify this area, therefore it is more easy to control DNS servers, provided by a VPN.


docs, bpf: Add BTF (BPF Type Format) description

This explains how to build BTF  (BPF Type Format) supported bpf program
using recent llc with -mattr=dwarfris and pahole -J <bpf prog>.
I'd appreciate it, if you review this
@borkmann @iamkafai

This change is

[Add @yonghong-song]
The "-mattr=dwarfris" is a workaround on some the elfutils-libs issues.  IIRC, Yonghong has recently rectified the elfutils-libs (the libdw in particular) situation for bpf_prog.o since version 0.173.  Hence, if pahole is linked to the right libdw, the "-mattr=dwarfris" is not needed.

Oh.. do you mean this below commit on elfutils project ?
https://android.googlesource.com/platform/external/elfutils/+/c1990d36cfe37a30bcc49422c37a6767fd190559

Thanks for letting me know the case regarding recent elfutils version.
I tested it with  elfutils 0.173 like below, it works fine !
So how to change this document ?
Describe both cases ? elfutils version >= case and version < 0.173
$ ls /usr/local/lib/libdw-0.173.so
/usr/local/lib/libdw-0.173.so

$ clang -O2 -g -emit-llvm -c test.c -o - | llc -march=bpf -filetype=obj -o test.o

$ pahole test.o
struct xdp_md {
	__u32                      data;                 /*     0     4 */
	__u32                      data_end;             /*     4     4 */
	__u32                      data_meta;            /*     8     4 */

	/* size: 12, cachelines: 1, members: 3 */
	/* last cacheline: 12 bytes */
};

Right, that is the one.
One thing would be nice to add to the kernel testing/sample's Makefile is, to detect if pahole is linked to this new libdw.
One possible way is to run "pahole" (without -J) on a bpf_prog.o (compiled with "-g" but without -mattr=dwarfris) and check if the struct output is sane.
For example, here is the pahole's (linked with an older libdw) output running on a test_btf_haskv.o that compiled with "-g" alone (i.e. without the -mattr=dwarfris):
`struct clang version 7.0.0 (http://llvm.org/git/clang.git 02e5d2661dfbdc64039d7cd01900efad5137b85f) (https://github.com/llvm-project/llvm.git 14b97bb6303f943ffdfa0321f2caad1e3157bd1a) {
clang version 7.0.0 (http://llvm.org/git/clang.git 02e5d2661dfbdc64039d7cd01900efad5137b85f) (https://github.com/llvm-project/ll�΍� clang version 7.0.0 (http://llvm.org/git/clang.git 02e5d2661dfbdc64039d7cd01900efad5137b85f) (https://github.com/llvm-project/llvm.git 14b97bb6303f943ffdfa0321f2caad1e3157bd1a); /*     0     4 /
clang version 7.0.0 (http://llvm.org/git/clang.git 02e5d2661dfbdc64039d7cd01900efad5137b85f) (https://github.com/llvm-project/ll�΍� clang version 7.0.0 (http://llvm.org/git/clang.git 02e5d2661dfbdc64039d7cd01900efad5137b85f) (https://github.com/llvm-project/llvm.git 14b97bb6303f943ffdfa0321f2caad1e3157bd1a); /     4     4 /
clang version 7.0.0 (http://llvm.org/git/clang.git 02e5d2661dfbdc64039d7cd01900efad5137b85f) (https://github.com/llvm-project/ll�΍� clang version 7.0.0 (http://llvm.org/git/clang.git 02e5d2661dfbdc64039d7cd01900efad5137b85f) (https://github.com/llvm-project/llvm.git 14b97bb6303f943ffdfa0321f2caad1e3157bd1a); /     8     4 /
clang version 7.0.0 (http://llvm.org/git/clang.git 02e5d2661dfbdc64039d7cd01900efad5137b85f) (https://github.com/llvm-project/ll�΍� clang version 7.0.0 (http://llvm.org/git/clang.git 02e5d2661dfbdc64039d7cd01900efad5137b85f) (https://github.com/llvm-project/llvm.git 14b97bb6303f943ffdfa0321f2caad1e3157bd1a); /    12     4 /
clang version 7.0.0 (http://llvm.org/git/clang.git 02e5d2661dfbdc64039d7cd01900efad5137b85f) (https://github.com/llvm-project/ll�΍� clang version 7.0.0 (http://llvm.org/git/clang.git 02e5d2661dfbdc64039d7cd01900efad5137b85f) (https://github.com/llvm-project/llvm.git 14b97bb6303f943ffdfa0321f2caad1e3157bd1a); /    16     4 /
clang version 7.0.0 (http://llvm.org/git/clang.git 02e5d2661dfbdc64039d7cd01900efad5137b85f) (https://github.com/llvm-project/ll�΍� clang version 7.0.0 (http://llvm.org/git/clang.git 02e5d2661dfbdc64039d7cd01900efad5137b85f) (https://github.com/llvm-project/llvm.git 14b97bb6303f943ffdfa0321f2caad1e3157bd1a); /    20     4 /
clang version 7.0.0 (http://llvm.org/git/clang.git 02e5d2661dfbdc64039d7cd01900efad5137b85f) (https://github.com/llvm-project/ll�΍� clang version 7.0.0 (http://llvm.org/git/clang.git 02e5d2661dfbdc64039d7cd01900efad5137b85f) (https://github.com/llvm-project/llvm.git 14b97bb6303f943ffdfa0321f2caad1e3157bd1a); /    24     4 */
/* size: 28, cachelines: 1, members: 7 */
/* last cacheline: 28 bytes */

};`
As you can see, the string is all "clang version xyz..."

@Taeung  I think we should describe both now.  Mention the preferred way is to use >= 0.173 elfutils.  If not, then llvm with dwarfris support is required.  I suspect if people have either of them, it will be easier to compile elfutils than llvm ;).
When the elfutils 0.173 sinks into most distro (and kernel's Makefile is updated) later, we can deprecate the "dwarfris" doc section.
Also, I think Arnaldo mentioned the pahole "-J' support will be in v1.12 (iirc) which could be a useful info for the doc also.

@Taeung I think we should describe both now. Mention the preferred way is to use >= 0.173 elfutils. If not, then llvm with dwarfris support is required. I suspect if people have neither of them, it will be easier to compile elfutils than llvm ;).

I added this explaination to v2, thanks !.

When the elfutils 0.173 sinks into most distro (and kernel's Makefile is updated) later, we can deprecate the "dwarfris" doc section.
Also, I think Arnaldo mentioned the pahole "-J' support will be in v1.12 (iirc) which could be a useful info for the doc also.

OK !!

Thanks for your comment , @ianvernon !

I sent v2, @borkmann @iamkafai @yonghong-song
I'd appreciate it, if you review this :smile:
(I added the below descriptions.)
v2:

why dwarfris is needed

Elfutils versions (>= 0.173) don't need dwarfris

the clang only example for BTF without llc
(But I separately reported some error on other case,
https://bugs.llvm.org/show_bug.cgi?id=38364 )

after pahole -J prog.o, whether DWARF is discarded or retained

Example test_xdp_noinline.o from kernel selftests,
BTF in combination with BPF maps with the BPF_ANNOTATE_KV_PAIR() macro

grammatical / phrasing fixes on @ianvernon comments

@Taeung, there are a couple of spelling mistakes the CI found. The remaining ones should go into the white-list here: Documentation/spelling_wordlist.txt
I would also suggest to change Elfutils into elfutils so we stick to one consistent version.
08:41:36 WARNING: Found 15 misspelled words
08:41:36 build succeeded, 1 warning.
08:41:36 WARNING: Not copying tabs assets! Not compatible with spelling builder
08:41:36 Please fix the following spelling mistakes:
08:41:36 * Documentation/bpf.rst:1184: (Elfutils)
08:41:36 * Documentation/bpf.rst:1184: (elfutils)
08:41:36 * Documentation/bpf.rst:1184: (sourceware)
08:41:36 * Documentation/bpf.rst:1184: (elfutils)
08:41:36 * Documentation/bpf.rst:1195: (Elfutils)
08:41:36 * Documentation/bpf.rst:1195: (Elfutils)
08:41:36 * Documentation/bpf.rst:1199: (pahole)
08:41:36 * Documentation/bpf.rst:1204: (pahole)
08:41:36 * Documentation/bpf.rst:1204: (greo)
08:41:36 * Documentation/bpf.rst:1204: (btf)
08:41:36 * Documentation/bpf.rst:1207: (generatinng)
08:41:36 * Documentation/bpf.rst:1207: (informantion)
08:41:36 * Documentation/bpf.rst:1207: (Elfutils)
08:41:36 * Documentation/bpf.rst:1243: (readelf)
08:41:36 * Documentation/bpf.rst:2716: (noinline)
08:41:36 If the words are not misspelled, add them to Documentation/spelling_wordlist.txt.
08:41:36 make: *** [Makefile:50: spellcheck] Error 1
08:41:37 Makefile:268: recipe for target 'test-docs' failed
08:41:37 make: *** [test-docs] Error 2

Thanks!

Sorry, I'm late. @borkmann I resend v3 changing Documentation/spelling_wordlist.txt.
And I tested make test-docs. Please review this.

test-docs-please

I did test-docs like below:
Is there additional problem ? @borkmann
$ sudo make test-docs
...
preparing documents... done
writing output... [  0%] api
writing output... [  1%] bpf
...
writing output... [100%] troubleshooting

Spelling checker messages written to /srv/Documentation/_build/spelling/output.txt
build succeeded.
WARNING: Not copying tabs assets! Not compatible with spelling builder
sphinx-build -M html "." "_build"
Running Sphinx v1.6.3
Initializing Spelling Checker
loading pickled environment... done
building [mo]: targets for 0 po files that are out of date
building [html]: targets for 1 source files that are out of date
updating environment: 0 added, 0 changed, 0 removed
looking for now-outdated files... none found
preparing documents... done
writing output... [ 50%] bpf
writing output... [100%] index

generating indices... genindex http-routingtable
writing additional pages... search
copying images... [100%] images/bpf_dot.png

copying static files... done
copying extra files... done
dumping search index in English (code: en) ... done
dumping object inventory... done
build succeeded.
Copying tabs assets... done

Build finished. The HTML pages are in _build/html.


calendar should not allow dates in the past

This PR closes #13

In accordance to #16, let's benefit from the useBlockTimestamp function already implemented.

In accordance to #16, let's benefit from the useBlockTimestamp function already implemented.

Done @guidanoli !
Please review.


fix(*): replace CopyUuid with KCopy [khcp-9465]

Summary

Replace usage of CopyUuid with KCopy for KHCP-9465.
Resources

Creating a package docs

Looks good to me code-wise, functionally just one nit/question:
I noticed ids in keys and key sets tables are not truncated while in dev currently they are (screenshot). Do we want to truncate those?
Almost the same applies to SNIs table except in dev they are not truncated currently but I think we should pick one standard and truncate ids in tables.


Explain how to use multiple templates for the same project

This is very cool and it doesn't seem to be clearly explained anywhere.

Codecov Report

Merging #293 into master will decrease coverage by 79.59%.
The diff coverage is n/a.

@@             Coverage Diff             @@
##           master     #293       +/-   ##
===========================================
- Coverage   97.38%   17.79%   -79.60%
===========================================
  Files          39       33        -6
  Lines        1992     1973       -19
===========================================
- Hits         1940      351     -1589
- Misses         52     1622     +1570

Flag
Coverage Δ

#unittests
17.79% <ø> (-79.60%)
:arrow_down:

Flags with carried forward coverage won't be shown. Click here to find out more.

Impacted Files
Coverage Δ

tests/test_complex_questions.py
4.04% <0.00%> (-95.96%)
:arrow_down:

tests/test_subdirectory.py
4.08% <0.00%> (-95.92%)
:arrow_down:

tests/test_output.py
5.40% <0.00%> (-94.60%)
:arrow_down:

tests/test_config.py
4.31% <0.00%> (-93.97%)
:arrow_down:

tests/test_prompt.py
6.79% <0.00%> (-93.21%)
:arrow_down:

tests/test_copy.py
6.15% <0.00%> (-93.08%)
:arrow_down:

tests/test_exclude.py
7.69% <0.00%> (-92.31%)
:arrow_down:

tests/test_updatediff.py
7.69% <0.00%> (-92.31%)
:arrow_down:

tests/test_migrations.py
7.87% <0.00%> (-92.13%)
:arrow_down:

tests/test_tasks.py
8.33% <0.00%> (-91.67%)
:arrow_down:

... and 26 more

Continue to review full report at Codecov.

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

Well indeed that is extremely interesting! I often wondered about partial templates and it seems to be the solution I was looking for!

Yeah I think it makes Copier stand out in the crowd but it wasn't clearly documented until now... I'm happy you like it :blush:


Fix regex to match escape chars when converting to moment format

Fixes a bug where escape characters in SimpleDateFormat were not respected. E.g.
moment("2018-08-28 18:14:08").formatWithJDF("HH:mm:ss 'PDT'") // -> 18:14:08 'P240T'

Apparently, this wasn't picked up by any unit tests, so I went ahead and added some. The solution was to fix the regex.
P.S. I didn't touch toJDFString because this would entail more refactoring. Maybe in another PR :-)

Thanks a ton @alexnez96 - we appreciate it a lot! 👍 🚀


Add cache_range_requests autest

add basic functionality test for cache_range_requests, including an addition to the xdebug plugin to add parent selection key inspection (x-parentselection-key).

These tests all pass except the python microserver doesn't exit properly for some reason at the end.

[ci]

[approve ci]

The subject here is slightly confusing. I would have preferred to see it as "Adding X-ParentSelection-Key to xdebug", with the more detailed description saying that it's also adding autest. I know, bike shedding, but these things can be important, particularly when we put together release notes.

Of we didn't squash checkpoints you could see that xdebug was modified to
support testing the cache range requests plugin. I well add one more small
test case to the plugin to verify that the patent selection option is
different when turned on and off.
On Sat, Nov 16, 2019, 22:58 Leif Hedstrom<EMAIL_ADDRESS>wrote:

The subject here is slightly confusing. I would have preferred to see it
as "Adding X-ParentSelection-Key to xdebug", with the more detailed
description saying that it's also adding autest. I know, bike shedding, but
these things can be important, particularly when we put together release
notes.
—
You are receiving this because you were assigned.
Reply to this email directly, view it on GitHub
https://github.com/apache/trafficserver/pull/6168?email_source=notifications&email_token=AFSNPDLVG46MCYLT6TVIXWLQUDMQFA5CNFSM4JNCKKDKYY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOEEIES6Q#issuecomment-554715514,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AFSNPDJDK5ASPNX3PEZC2YLQUDMQFANCNFSM4JNCKKDA
.

[approve ci]

[approve ci clang-format]

Cherry-picked to v9.0.x branch.


bug at loading token

Preference:

If .esapyrc file doesn't exist,
the configuration should be loaded from environment variables.

Current:

When environs exist, but .esapyrc file doesn't exist,
FileNotFoundError occurred.

fixed.


Julia 1.0 compat

I want to use Configurations.jl in Pluto, but we support Julia 1.0 and up, the compatibility of Configurations is bound to >=1.3. It seems like this package is the limiting factor?

Configurations.jl passes on Julia 1.0 if this branch of ExproniconLite.jl is used! Yay

Thanks, this package is generated by Expronicon (see https://discourse.julialang.org/t/ann-exproniconlite-jl-the-mlstyle-generated-dependency-free-package-for-low-latency/59247) to cover all the cases for var_str it would require a Julia parser update (https://github.com/JuliaLang/julia/pull/32408) but I guess luckily MLStyle doesn't generate any corner cases, so we could make it compatible with 1.0 using this!

This should be fixed in https://github.com/Roger-luo/Expronicon.jl/commit/fe47408389ee8146117b9f0f0bd285b8a56086c5
the new patch release should be compatible with 1.0


Feature/Instant Claim in a Single Transaction

Make instant claim into a single transaction
Add e2e localhost test capabilities

Codecov Report

Merging #11 (cefd681) into main (89cd0d4) will increase coverage by 0.06%.
The diff coverage is 90.00%.

:exclamation: Current head cefd681 differs from pull request most recent head 18b55d0. Consider uploading reports for the commit 18b55d0 to get more accurate results

:exclamation: Your organization is not using the GitHub App Integration. As a result you may experience degraded service beginning May 15th. Please install the Github App Integration for your organization. Read more.
@@            Coverage Diff             @@
##             main      #11      +/-   ##
==========================================
+ Coverage   86.48%   86.55%   +0.06%
==========================================
  Files           4        4
  Lines         111      119       +8
  Branches       23       23
==========================================
+ Hits           96      103       +7
- Misses         15       16       +1

Impacted Files
Coverage Δ

src/eip712-utils.ts
0.00% <0.00%> (ø)

src/networkConfig.ts
100.00% <100.00%> (ø)

src/stkbnb-web-sdk.ts
86.25% <100.00%> (+0.91%)
:arrow_up:

:mega: We’re building smart automated test selection to slash your CI/CD build times. Learn more


SYCL support improvements

Registers Cast, Add ( for int32 ), Div ( to run on CPU for int32 ), Equal, Expm1, Greater, GreaterEqual,
Maximum, Reciprocal, Select, Sigmoid, Sign, LessEqual, Minimum, MatMul, Equal, Max, Mean, Min,
Prod Ops for SYCL
Disables ComplexPow, BatchMatMul, Mean_XXX tests for SYCL
Fixes -sycl_asan for clang++-3.8 and g++4.8
ComputeCpp no longer compiles external projects nor llvm
ComputeCpp checks file to determin if the device compilation pass is needed

Fixes has been applied.


changing deployment name

What this PR does / why we need it: Changes the way deployment name is computed
Which issue this PR fixes (optional, in fixes #<issue number>(, fixes #<issue_number>, ...) format, will close that issue when PR gets merged): fixes #
Currently ARM deployment names do not have a cap for 64 characters. Changing the way this name is computed. Making it a function of time/suffix.
Special notes for your reviewer:
Release note:

@dmitsh ptal


Table styles not being copied in FF/IE

Seems like getComputedStyle isn't working the same in FF/IE as Chrome, so none of the styles are copying properly.

This has been fixed in the column-filtering branch so this issue can be closed once that's been merged.


Disclaimer states that temperatures are in Celsius even though they're in Fahrenheit

Describe the bug
Disclaimer states that temperatures are in Celsius even though they're in Fahrenheit
To Reproduce
Create an image with Imperial measurements.
Expected behavior
The disclaimer is supposed to say "All temperatures are in Fahrenheit unless otherwise noted.", not "All temperatures are in Celsius unless otherwise noted."
Screenshots

This will be fixed in 0.2

Also the credit is broken, I'll try to fix it. Might just replace that image anyway.

Fixed in commit ea9a506. To be released in Beta 0.2.


Counter editor doesn't have proper limits for values

It is possible to set value to be over the actual maximum or minimum. When this happens, an exception gets thrown and the app crashes.

Unable to reproduce this anymore.


feat(lang): Support python requirements.txt in python_packages

Ref #329
Signed-off-by: Ce Gao<EMAIL_ADDRESS>

The syntax of requirement.txt is complex (link). However current implementation can cover most common usages I believe.
One question:
For example in dgl usage, will --find-links https://download.pytorch.org/whl/torch_stable.html be considered as a package when listing the dependency?

The syntax of requirement.txt is complex (link). However current implementation can cover most common usages I believe.
One question:
--find-links https://download.pytorch.org/whl/torch_stable.html
torch==1.9.0+cu102
...

For example in dgl usage, will --find-links https://download.pytorch.org/whl/torch_stable.html be considered as a package when listing the dependency?

Yep, I think so. We just ignore comment. And every line starts without # will be considered to be a dependency.
Maybe we should mount the file into the build process, and use the file directly to install dependencies.

I keep track of the problem in the original issue. Let's move forward and fix it.


[PubSub Jetstream] Support deduplication

Describe the feature
This follows on from a discussion that begins before my message on discord.
Dapr Docs suggest that you get deduplication for free when using CloudEvents, or at least doesn't make it clear when that feature is available or not:

Dapr uses CloudEvents to provide additional context to the event payload, enabling features like:

Tracing
Deduplication by message Id
Content-type for proper deserialization of event data

source: https://docs.dapr.io/developing-applications/building-blocks/pubsub/pubsub-cloudevents/

Based on the NATS documentation, deduplication is based on a header called Nats-Msg-Id. I have searched the component code and don't see this being added (taking it from the CloudEvents id and source? fields).
https://github.com/dapr/components-contrib/blob/94f62c489ddb258169d6ddee15f3d9c0ab72707e/pubsub/jetstream/jetstream.go#L90-L95
It looks to me like we should be using the MsgId function (which is documented to be used for deduplication).
 func (js *jetstreamPubSub) Publish(req *pubsub.PublishRequest) error {
	msgId := pubopt.MsgId("foo:6") // todo: replace with source and event ID.

 	js.l.Debugf("Publishing topic %v with data: %v and msgId: %v", req.Topic, req.Data, msgId)
 	_, err := js.jsc.Publish(req.Topic, req.Data, msgId)

 	return err
 }

For completeness, an alternative way is to use the PublishMsg function with a Msg containing the Header instead?
Release Note

RELEASE NOTE:

It looks like the event source might not be needed, and the event id should be unique enough.
Here is how the Azure EventHub Component does it:
https://github.com/dapr/components-contrib/blob/94f62c489ddb258169d6ddee15f3d9c0ab72707e/pubsub/azure/eventhubs/eventhubs.go#L123-L126

I can't see where the CloudEvent id would come from. Would dapr be putting in the Metadata field, or do we need to try an deserialize Data and extract the id contained?
https://github.com/dapr/components-contrib/blob/94f62c489ddb258169d6ddee15f3d9c0ab72707e/pubsub/requests.go#L16-L23

In any case, the metadata should probably also be getting converted to Headers, which necessitates using PublishMsg.
I'll leave that out, and this comment can be converted to a new issue if it sounds appropriate.

thanks @NickLarsenNZ for investigating!
I agree that metadata should be converted into headers.
That will not fix the deduplication, unless Nats-Msg-Id is one of them.
@berndverst is an assumption that
// MessageIDMetadataKey defines the metadata key for the message id.
MessageIDMetadataKey = "MessageId" // read, write.

is a proper key to transform into NATS-specific header and should work for CloudEvents API?

@Jarema @berndverst, I notice that the req.Metadata map is empty when I log it out (in my local version):
DEBU[0009] Request Metadata: map[]                       app_id=nodeapp instance=pathogen scope=dapr.contrib type=log ver=edge

So I guess Dapr isn't putting anything in there by default.
req.Data has the id that we should be using here (after converting the decimal bytes to ASCII):
{
   "data":{
      "hello":"world"
   },
   "datacontenttype":"application/json",
   "id":"92996fcb-6f8d-4b05-a0cc-57fb68515424",
   "pubsubname":"jetstream-test",
   "source":"nodeapp",
   "specversion":"1.0",
   "topic":"topic-a",
   "traceid":"00-0a9aadf0e9d947d04de044a301c28b4c-58d2ba7e9eee835d-00",
   "traceparent":"00-0a9aadf0e9d947d04de044a301c28b4c-58d2ba7e9eee835d-00",
   "tracestate":"",
   "type":"com.dapr.event.sent"
}

It appears the req.Metadata is just for the developer to add additional data to the payload: https://docs.dapr.io/reference/api/pubsub_api/#metadata.
So I think we must extract the ID from the req.Data.

Yes req.metadata is a standard field of headers / grpc metadata. This is not what you should be using.
Unless you specify the raw event type explicitly Dapr publishes events as cloud events - the cloud event envelope is managed by Dapr, and Dapr generates the ID for the cloud event, unless you explicitly send a cloud event (with content type "application/cloudevents+json"). Whether you send pubsub data as cloud event or not, it will be stored as cloud event. And in either case you can still pass through your own tracing information.
As you discovered, everything you need should be in the req.data which represents a binary representation of the cloud event.
https://github.com/dapr/dapr/blob/032581dfd736b8927e8f8ebee360c9888dd9a80f/pkg/runtime/pubsub/cloudevents.go#L23-L41
https://github.com/dapr/components-contrib/blob/master/pubsub/envelope.go#L129


Feature request: Add Amazon EventBridge as supported destination

AWS customers would benefit from adding Amazon EventBridge as a supported destination for notifications.
Amazon EventBridge is a scalable, highly-performant, and low-cost serverless event bus. It's the default event bus provider for many AWS services, including EC2, Auto Scaling, ECS, and many more. Events can be matched using a JSON-based pattern matching, and can be delivered to many supported destinations, including Amazon SNS, AWS Lambda, Amazon API Gateway, Amazon SQS, and many more.
A typical use case would be to match a Kubernetes resource event, forward the event to EventBridge, match the event and invoke an SNS topic, then deliver the notification to the topic's email subscriber(s). Alternatively, EventBridge could deliver the event to CloudWatch Logs, then a pattern matcher could notify someone after N matched events delivered within a bounded timeframe.

Thanks @otterley
It does sound like a valid use case.
Are you open to contributing this enhancement?

I have a colleague who's working on it right now - keep an eye out for a future PR.

Was there a PR raised for this? I am looking for this as well.

hey @nikhilm-yai
We don't have a PR for this just yet


Plugin creates log group /serverless/ that is never used?

Hello,
We are trying to determine what the use of the log group is that is created in the alias stack?  This log group doesn't appear to be used anywhere?
Logical ID:  ServerlessAliasLogGroup
Type:  AWS::Logs::LogGroup
Resource:  /serverless/

+1


CH EMED MedicationStatement Profile (Medication Card document) - required nonstructured Dosage to strict? (Oliver Egger)

ch.fhir.ig.ch-emed#0.2.0 /StructureDefinition-ch-emed-medicationstatement-card.html
The nonstructured Dosage is required in CH-EMD is required ( dosage:nonstructured, 1..1 CHEMEDDosageNonStructured), however the CDA-CH EMED spec has a 0..1 cardinality for the non structured dosage part.
https://art-decor.org/art-decor/decor-templates--cdachemed-?section=templates&id=2.16.7<IP_ADDRESS>.<IP_ADDRESS>&effectiveDate=2019-12-11T11:31:52&language=en-US
IPAG provided the following definition: Dosierung o M
Entweder strukturiert oder im Freitext möglich
Should the nonstructured be also 0..1?
Point came up with Robert from Cerner during Projectathon preparation
Oliver Egger

I agree. It 's "either or", so non structured is not supposed to be mandatory -> change to 0..1


HALO covering text

This is the same as: https://github.com/Cha-OS/KnAllEdge/issues/230

this way we cannot see what we are typing
a solution could be hiding the HALO in edit mode

I think removing HALO at the writing makes sense, or reducing it to 1-3 top icons, related to the editing mode

This is the same as: https://github.com/Cha-OS/KnAllEdge/issues/230


new

Codecov Report

:exclamation: No coverage uploaded for pull request base (new@b093602). Click here to learn what that means.
The diff coverage is n/a.

@@          Coverage Diff           @@
##             new       #2   +/-   ##
======================================
  Coverage       ?   53.62%
======================================
  Files          ?        5
  Lines          ?       69
  Branches       ?        5
======================================
  Hits           ?       37
  Misses         ?       29
  Partials       ?        3

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 b093602...6f6e431. Read the comment docs.


🧪 Use docker image to spin up server for tests

Due to server complications, tests using the server all fail. This change will make local testing more difficult, but make testing more robust in general.
Same as specklesystems/speckle-sharp#374

This is done! Pending Izzy's fix to the failing tests to ensure everything runs smoothly.

Hey all,
this sure works well with CI, but running the tests locally assumes you have a server up and running. Which should not be a mandatory thing IMHO.
This to me makes this problem a config thing.
If you are ok with it, I can make fix for this with dynaconf.

Hey @gjedlicska, we've discussed this internally, and for our workflows we said it's mostly fine like this. We've moved the .NET integration tests to do the same.  Did you have an easier solution in mind?
@AlanRynne & @izzylys, tests don't need to be fixed beforehand, that's not really related to this issue.

Not really @didimitrie,
having a local server for testing is fine (this is what I ended up doing, since the tests were failing with the main branch pointing to latest.speckle.dev)
Its a bit inconvenient tough cause for specklepy, almost all tests are integration tests ATM, plus the server access should be configurable from env vars in the long run, with sensible defaults.
Describing the solution is a bit more lengthy than doing a POC, because of how convenient using Dynaconf is.
My idea is something along the lines of this:
https://www.dynaconf.com/advanced/#a-python-program

Having an env var to configure the testing server's url is not a bad thing to have, with a sensible default to localhost. This is for another PR later though, for now the priority is to have these tests run against an always fresh, latest-latest server version :) If it becomes annoying we'll consider it. @AlanRynne or @izzylys will merge #82, but we can keep the conversation going if needed here.

Ohh sorry, I did not raise this, to block the PR merge. My bad...


geekbench_6: 6.1.0 -> 6.2.0; geekbench_{5,6}: add support for aarch64-linux

Description of changes
Bump Geekbench 6 to the latest release.
Also add aarch64-linux support.
Things done

Built on platform(s)

[x] x86_64-linux
[x] aarch64-linux
[ ] x86_64-darwin
[ ] aarch64-darwin

[ ] For non-Linux: Is sandbox = true set in nix.conf? (See Nix manual)
[ ] Tested, as applicable:

NixOS test(s) (look inside nixos/tests)
and/or package tests
or, for functions and "core" functionality, tests in lib/tests or pkgs/test
made sure NixOS tests are linked to the relevant packages

[ ] Tested compilation of all packages that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review rev HEAD". Note: all changes have to be committed, also see nixpkgs-review usage
[x] Tested basic functionality of all binary files (usually in ./result/bin/)
23.11 Release Notes (or backporting 23.05 Release notes)

[ ] (Package updates) Added a release notes entry if the change is major or breaking
[ ] (Module updates) Added a release notes entry if the change is significant
[ ] (Module addition) Added a release notes entry if adding a new NixOS module

[x] Fits CONTRIBUTING.md.

Result of nixpkgs-review pr 257804 run on aarch64-linux 1

2 packages built:

geekbench (geekbench_6)
geekbench_5


Update CBOR comparison charts for v1.3.3 and simplify them

v1.3.3 looks solid, passed 220+ million execs fuzzing with 1000+ corpus files as starting point.
workers: 2, corpus: 1071 (18h46m ago), crashers: 0, restarts: 1/10000, execs: 227582949 (3368/sec), cover: 2011, uptime: 18h46m

The charts don't need 3 bars for each aspect being compared.  Just use default build settings for every library compared for every comparison.
I'll post updated speed comparison and size comparison charts as comments to this issue.


Is there a way to automatically run the installer after update download?

Once the user checks for updates and chooses to update, the update file downloads and they get prompted to install. Is there a way to have the update automatically run after download?

Hi @RyanG2016, there isn't something like a built-in bool for this, but you have a few different options:

You could always auto-download and install via the UserInteractionMode.DownloadAndInstall option (SparkleUpdater.UserInteractionMode). But that's probably not what you want.
You could monitor the SparkleUpdater events and trigger the download automagically. See the HandleEventsYourself sample: https://github.com/NetSparkleUpdater/NetSparkle/tree/develop/src/NetSparkle.Samples.HandleEventsYourself
But if you did the above you probably want to relabel the button text to "Download and Install" or something. You can modify window contents via the WindowHandler ProcessWindowAfterInit on your UIFactory OR just implement your own UIFactory subclass with the modifications you need.

Does that help? 😄

Hi @Deadpikle,
It kind of does. I was thinking it might need a code change. All I really want to do though is auto run after the update is downloaded. So currently, the update notes show and the user chooses whether or not to download. That's fine. I just want to skip the last part after it's downloaded and waits for the user to click Install.
Is that the same thing you're referring to?

@Deadpikle We have been able to get this implemented as need per your instruction. Thx


Allow to pass "unique symbol" as  a type parameter (e.g. Opaque<string, unique symbol>).

✅ Viability Checklist

[X] This wouldn't be a breaking change in existing TypeScript/JavaScript code
[X] This wouldn't change the runtime behavior of existing JavaScript code
[X] This could be implemented without emitting different JS based on the types of the expressions
[X] This isn't a runtime feature (e.g. library functionality, non-ECMAScript syntax with JavaScript output, new syntax sugar for JS, etc.)
[X] This feature would agree with the rest of our Design Goals: https://github.com/Microsoft/TypeScript/wiki/TypeScript-Design-Goals

⭐ Suggestion
I have been trying to write a type helper to facilitate the creation of nominal types (aka branded/tagged/opaque types), but I'm a bit stuck by the fact I can't pass unique symbol as a type parameter.
The following doesn't work:
type Opaque<T, TBrand> = T & {
  readonly __brand: TBrand;
}

type UserId = Opaque<string, unique symbol>;
// error: 'unique symbol' types are not allowed here.
type GroupId = Opaque<string, unique symbol>;
// error: 'unique symbol' types are not allowed here.

function printUserId(userId: UserId) {
  console.log(userId)
}

printUserId("abc" as UserId);
printUserId("def" as GroupId);

And if I just get rid of the TBrand parameter, it considers both UserId and GroupId to be compatible.
type Opaque<T, TBrand> = T & {
  readonly __brand: TBrand;
}

type UserId = Opaque<string>;
type GroupId = Opaque<string>;
// error: 'unique symbol' types are not allowed here.

function printUserId(userId: UserId) {
  console.log(userId)
}

printUserId("abc" as UserId);
printUserId("def" as GroupId); // works ... :(

📃 Motivating Example
See suggestion.
💻 Use Cases

What do you want to use this for?

Creating nominal types

What shortcomings exist with current approaches?

Have to memorize how to do it, more code to type.

What workarounds are you using in the meantime?

To do the nominal type without using a type helper.

You can create each unique symbol.
Or, if you want the symbols to only exist in type space and not at runtime, you can declare each unique symbol.

^^^ what he said.  unique symbol types are tied to a variable declaration, to ensure they always have an identity.  Otherwise every utterance of unique symbol in the program would create a new type and you’d have no way to refer back to old ones.

Those are good workarounds but they are workarounds.

Otherwise every utterance of unique symbol in the program would create a new type and you’d have no way to refer back to old ones.

Not sure what you mean by that.

It means exactly what I said.  Your own example is of creating two Opaque<string, unique symbol> and having them be distinct types despite being the exact same in the source text.  But if that were allowed, how could you later refer to the unique symbol type for a particular Opaque if you haven’t given it an identity in the program?

Those are good workarounds but they are workarounds.

By this reasoning, what you’re trying to do is a workaround too and you ultimately really want https://github.com/microsoft/TypeScript/issues/202

I am not sure I understand why are you opposed to this feature? Because there are workarounds?

What seems like the way to go?

#202

I agree that #202 would be ideal but it has been opened for almost 10 years and it could be opened for another 10 years. While the feature I propose is not be a big change, it's even arguably a bug.

This can’t be done without allowing unique symbol types literally anywhere (and so redesigning the entire feature) since the generic type could use the type anywhere:
type Id<T> = T; // obviously legal type alias declaration
type X1 = unique symbol; // error: 'unique symbol' types are not allowed here
type X2 = Id<unique symbol>; // instantiation is legal but results in the same type as X1, which is illegal?


Auto-update pre-commit hooks

Update versions of tools in pre-commit
configs to latest version

Closing - need to remove auto-updating.


function_runner_with_pdb: drop to ipdb on BaseException as well - 86

[Auto generated]
Number: [#86]

pyhelper-utils[pull_request][5958-11ef-891e-6a4603f01847][PR 86]: Closing issue for PR: function_runner_with_pdb: drop to ipdb on BaseException as well.
PR was closed.


Enable support for SKAdNetwork (iOS 14)

Hello,
Yesterday I received this email related to the latest changes in iOS 14:

Hi Sebastian,
As you’ve likely heard by now, iOS 14 (coming in September) will bring significant changes to the mobile industry, including partial deprecation of the IDFA (Identifier For Advertisers). Branch has been hard at work for the last two months, preparing for these changes.
Required action: if you have an iOS app and use Branch for paid ads attribution, you must update your app to enable support for SKAdNetwork (Apple’s new attribution framework).

Instructions on how to make this app integration update can be found here. This is a technical change, and will need to be done by an iOS engineer.

Further information on Branch's support for SKAdNetwork can be found here.

If you do not use Branch for paid ads attribution, there is no required app integration update at this time. However, the IDFA changes may still impact you, depending on your product usage and internal data infrastructure (i.e., if you rely heavily on IDFAs to tie exported Branch events to users in your internal data lake). We encourage you to read more on our iOS 14 resource hub, reach out to your Branch CSM, or email<EMAIL_ADDRESS>
In the Branch docs it's mentioned that support for the SKAdNetwork in the Cordova plugin is TBD but I couldn't find any other information about this in this repo.
From what I can see in my tests, the Branch Cordova plugin won't break when using the app on iOS 14 (tested on iOS 14 beta 6), but the IDFA will be zeroed out – i.e. the random numbers and letters will be replaced with zeros. And that, of course, will affect the paid ads attribution reports.
Is there any information about when the plugin will be updated to support SKAdNetwork? Since this will directly affect every Cordova app using Branch for paid ads attribution.
Thanks.

It's in progress, we hope to have it done this week.

What is the status on the update for the iOS 14 update?

@echo-branch any status on this please?

@echo-branch any status on this please?

@KirstenStake
Sorry this ticket should have been updated and closed.  The current Cordova includes iOS SDK 0.35.0 which has support for this.
https://github.com/BranchMetrics/ios-branch-deep-linking-attribution/releases

@KirstenStake
Sorry this ticket should have been updated and closed.  The current Cordova includes iOS SDK 0.35.0 which has support for this.
https://github.com/BranchMetrics/ios-branch-deep-linking-attribution/releases


Inverse Kinematics example is not up-to-date

The Inverse Kinematics example script does not work out-of-the-box, and will error out with a message about control_freq being specified in Fetch's configuration file.
When this error is bypassed by commenting out the assertion, errors still occur. Fetch does not have a "robot_body" attribute, so
fetch.robot_body.reset_position([0, 0, 0])

should become
fetch.reset_position([0, 0, 0])

which is the standard in the functioning examples.
Similarly, it seems that
fetch.get_end_effector_position()

should become
fetch.links["gripper_link"].get_position()

RobotLink does not have a body_part_index, so
robot_id, fetch.links["gripper_link"].body_part_index, [x, y, z], threshold, maxIter

should become something like
robot_id, fetch.links["gripper_link"].(body/link)_id, [x, y, z], threshold, maxIter

After all of these changes, the example wildly flails around Fetch's arm, which I wouldn't imagine is the intended purpose of the example.
This script is fairly important for outlining the usage of IK in iGibson. If I fix it, I will submit a PR. Just wanted to outline the issue here as well.

Turns out the initial assertion issue is because fetch = Fetch(config) should be something like fetch = Fetch(**config["robot"]), although this still causes issues as the configuration contains values that the constructor does not accept, like name. This can be remedied by adding **kwargs as the final parameter in Fetch's constructor, although this does not solve the flailing issue.

@CharlesAverill Thank you for reporting this. We are aware that several of our examples are currently broken (including the IK example). We are in the process of fixing them (and making them much better than before!). We will release a new version in a week or two.

@ChengshuLi Got it, thank you! Loving the library so far, can't wait to see where it goes.

Hi @ChengshuLi, is the next version release still planned to be soon?

We are at code-complete and are planning to release in the upcoming days after completing testing.

We have pushed the release. Let us know if you need any additional help!

@cgokmen IK runs without a hitch now. One thing I'm curious about: does iGibson support any sort of motion planning to move an appendage from its current position to another position (computed by IK in my case)? I'm currently working on porting some motion planning code, but it's proving to be tough, an official solution would be much preferred.

We do have some motion planning code available (see MotionPlanningWrapper in utils/ and the stuff in external/ it calls). Unfortunately currently it gives you the plan but no easy way to execute it. We are planning to release the functionality to execute these in our next (and final) release of iGibson v2, but I'm hesitant to give a timeline currently.

@cgokmen The motion planning example is helpful, but one thing that's a bit frustrating is the hardcoded gripper position + orientation.
iGibson's official IK implementation keeps physics active during calculation, causing the arm to send objects it collides with flying. I've also looked at pybullet's implementation but it requires a gripper orientation, which is as big a problem as IK.
TLDR; the inverse kinematics calculations interact with the environment, making the motion planning calculations inaccurate. Is there an official resolution to this issue?

Hi @CharlesAverill
I hope I understand your issues

With respect to the hardcoded gripper position+orientation, the example just shows how to use IK but the example can be modified for your purpose or you could create your own application based on the example. Maybe I'm not understanding the problem here.
About the IK implementation, yes, it may collide. However, we save and restore the pybullet state before/after the computation, so the objects should return to their original state. IK only tries to find a joint configuration, not checking for collisions, iirc
"making the motion planning calculations inaccurate" -> what is the exact issue you found? could you describe it
thanks!

Hi @roberto-martinmartin I think I poorly explained how we're utilizing IK and motion planning and the issues we're experiencing.
The end goal is to generate a set of random objects on a tabletop and push one of them. We envision the solution to be defined as:

Getting the position of the arm to be at in order to push the object using IK
Creating a motion plan to move the arm to the position returned by IK
Moving the arm through that plan, and pushing the object

The issues we're having occur because IK bumps into objects while it's calculating. This causes the motion plan to generate a plan to an arm position where the gripper is no longer near the object it was attempting to reach. I see the calls to pybullet's state save and restore functions in the example, and they are included in our code, but we still get bumping issues. Perhaps it's an implementation issue on our end (likely), I'll try making sure I'm not messing with the environment after it loads the saved state.


Issue 75 - add tests for invoking custom operation framework with query parms

Code for addressing issue #75 was added in https://github.com/IBM/FHIR/pull/77 ...
Now we just need to verify its working (beyond the $export operation).

Fix the MyOperation operation.  This was accidentally broken from migrating to R4 but no one noticed since the tests aren't integrated into our build.
Update pre-integration test scripts to install the fhir-operation-tests.jar file so that the operation tests can be run as part of the build.
Enable FHIROperationTest in the fhir-server-test TestNG suite by default
Update FHIR Operation Framework to support returning empty responses
Add isEmpty helper on FHIRResponse so client can check for empty responses
Update MyOperation $hello impl to accept optional params of each primitive type (minus base64Binary and markdown)
Add new test to fhir-server-test FHIROperationTest for invoking an operation with each of the allowed input/output types

Build and integration tests (including FHIROperationTest) are now working for me:
[INFO] Tests run: 305, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 149.545 s - in TestSuite
[INFO]
[INFO] Results:
[INFO]
[INFO] Tests run: 305, Failures: 0, Errors: 0, Skipped: 0
[INFO]
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time:  02:34 min
[INFO] Finished at: 2019-09-19T11:51:21-04:00
[INFO] ------------------------------------------------------------------------```

Verified build locally
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time:  05:28 min
[INFO] Finished at: 2019-09-19T12:12:30-04:00
[INFO] ------------------------------------------------------------------------


Add JSX prop alignment based on the first prop & between-prop space consistency

This adds support for the JSX prop style suggested in #398 which is the default of the various JetBrains IDEs.
I haven't updated the docs yet since writing docs isn't fun so I'd rather know first that the PR has a chance of getting accepted before doing that.

Awesome!
Similar to eslint indent rule
indent: [2, 2, {
  'FunctionDeclaration': {
    'parameters': 'first',
    'body': 1,
  },
}]

we can call it first
'react/jsx-indent-props': [2, 'first']

PR updated.

PR updated with the rule to deal with excessive spacing between tag/prop or props in the same line

Anything missing to get this merged? Would be nice if we could start using it (by installing the plugin from this git repo until it's part of a release, without having to maintain our own branch containing this and my other PR).

PR updated

Any chance to get it merged so it makes it into the next version?

Released in 7.9.0.
But seems like there is a conflict with eslint indent rule:

@ThiefMaster Is there a workaround for this? Probably i'm missing something in config
    'react/jsx-indent-props': [2, 'first'],
    'indent': [2, 2, {
      'SwitchCase': 1,
      'VariableDeclarator': {'var': 2, 'let': 2, 'const': 3},
      'outerIIFEBody': 1,
      'MemberExpression': 1,
      'FunctionDeclaration': {
        'parameters': 'first',
        'body': 1,
      },
      'FunctionExpression': {
        'parameters': 'first',
        'body': 1,
      },
      'CallExpression': {
        'arguments': 1,
      },
      'ArrayExpression': 1,
      'ObjectExpression': 1,
      'ImportDeclaration': 1,
      'flatTernaryExpressions': true,
      'ignoredNodes': [],
      'ignoreComments': false,
    }],

You have to exclude the JSX nodes from the indent rules:
  ignoredNodes:
    - JSXAttribute
    - JSXSpreadAttribute

@ThiefMaster Thank you for quick response, that works!
Probably that should be added to the rule page


Label text can be defined as a series of fallbacks

This adds the ability for text_source to be an array of possible sources of label text, in priority order. Each array element is evaluated as if it was a text_source value (meaning each element can be either a string value that specifies a feature property by name, or a function that returns displayable label text). The first non-null evaluated source in the array is used as the label text.
The primary use case here is to support preferred language for text labels. For example:
text_source: [name:en, name]
This will display an English label (name:en) when available, and will fall back to the default local name when not available.
For example, here is Moscow with default name only, and with the English preference as specified above:

Looking to the future, once we have support for scene properties (see https://github.com/tangrams/tangram/compare/scene-properties), we will be able to control a preferred language with a single global scene variable, and even modify that preference at run-time (modify config and rebuild scene). For example (pending final scene property syntax):
scene:
   language: 'name:en' # prefer English

layers:
   labels:
      data: ...
      draw:
         text:
            text_source: [scene.language, name] # use scene preference, or fall back to local name
            ...

@blair1618 I think this is relatively straightforward for ES as well, but can you please take a look?

:+1:

Confirming the tiles behavior on the server is to drop localized names if they are the same as the default name:

https://github.com/mapzen/TileStache/blob/integration-1/TileStache/Goodies/VecTiles/transform.py#L518-L534

So the first "truthy" result is used? Yeah we should be able to manage that.

This should be fine on ES also.
On Jan 20, 2016 5:37 PM, "Matt Blair"<EMAIL_ADDRESS>wrote:

So the first "truthy" result is used? Yeah we should be able to manage
that.
—
Reply to this email directly or view it on GitHub
https://github.com/tangrams/tangram/pull/235#issuecomment-173384562.


Constraint validation

Description
Add a validated dataset entry attribute for constraints. Also make sure sure that results to dataset converters transfer all constraints.
This will add support for freeze and set type constraints, the constraint format is validated.
Status

[X] Ready to go

Codecov Report

Merging #31 into master will increase coverage by 1.72%.
The diff coverage is 97.41%.


Support for top-level alertBanner via AppContainer

We had a use-case where an app wants to show an important alert with a recommended action (data is stale, refresh the data) but in a non-modal way.
Could show a toast with a timeout of -1, but we don't have any good support for action buttons off of a toast, so the user needs to close the toast with its X icon and then do whatever the toast asks them to do manually.
Would like to propose a single instance alertBanner that could be installed and managed by AppContainer - could be shown with an icon, message, and one or more optional actions. Could also have an optional built-in dismiss affordance.
This could be re-used by our current app version upgrade routine.
Main question in my mind would be how to handle multiple requests to show the banner - i.e. would it be acceptable to say that a new request will simply overwrite a previous request, re-rendering the single banner with a new config?  I think it would be reasonable - and if it's clearly documented that way, a developer could build their own solution if that limitation is unacceptable.
An alternate approach would be to revisit Toast and enhance with support for actions - clearly that would also be a very re-usable enhancement.  Could look at what BP can do (I doubt much), replace with another Toast library, or create our own.  That said, I still think the banner UI is a useful one and could be pretty quick to implement.

To be clear, this will need to be stored in an 'xh_database' table.  No reason not to allow multiple messages, I suppose.
We could allow them to be dismissed pretty easily with some bits in local state

So not a full out-of-the-box solution involving Hoist Core, just a GUI
component?
A full out-of-the-box needs to be persistent in a world where we have
multi-instance backends and hoist central.  Can't rely on using server
memory anymore for application state.
On Thu, Jan 3, 2019 at 1:28 PM Anselm McClain<EMAIL_ADDRESS>wrote:

No, wasn't intended to be something with persistent back-end data, read
tracking, etc. Much lighter weight - looking for a "sticky banner UI"
alternative to XH.toast().
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/exhi/hoist-react/issues/887#issuecomment-451233395,
or mute the thread
https://github.com/notifications/unsubscribe-auth/ACM16fiL85Rl1j6DhuZuegN2gl3cRCKuks5u_ku3gaJpZM4Zcq0b
.

Yes - think xh.toast or xh.alert but it's a banner like the version update
banner. Nothing more than that
On Thu, Jan 3, 2019 at 10:59 AM Lee Wexler<EMAIL_ADDRESS>wrote:

So not a full out-of-the-box solution involving Hoist Core, just a GUI
component?
A full out-of-the-box needs to be persistent in a world where we have
multi-instance backends and hoist central. Can't rely on using server
memory anymore for application state.
On Thu, Jan 3, 2019 at 1:28 PM Anselm McClain<EMAIL_ADDRESS>wrote:

No, wasn't intended to be something with persistent back-end data, read
tracking, etc. Much lighter weight - looking for a "sticky banner UI"
alternative to XH.toast().
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/exhi/hoist-react/issues/887#issuecomment-451233395,
or mute the thread
<
https://github.com/notifications/unsubscribe-auth/ACM16fiL85Rl1j6DhuZuegN2gl3cRCKuks5u_ku3gaJpZM4Zcq0b
.

—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/exhi/hoist-react/issues/887#issuecomment-451242480,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AANyDv1_Efx3CO3Q5UzdKRDrHfBZO-kNks5u_lL2gaJpZM4Zcq0b
.

--
web: http://xh.io
tel:<PHONE_NUMBER>
mob:<PHONE_NUMBER>

Got it.
So presumably an app that wanted to persist this beyond a browser refresh, would need to have some service that would be looking at some state, and bringing it up on a timer, or in initAsync().

See PRs:
https://github.com/xh/hoist-react/pull/2386
https://github.com/xh/toolbox/pull/474


Pulling image from docker up ko with kitematic

Expected behavior
The image is downloaded
Actual behavior
(HTTP code 404) no such image - no such image: phpmyadmin/phpmyadmin:latest: No such image: phpmyadmin/phpmyadmin:latest
Information about the Issue
Steps to reproduce the behavior

...
...

Hello,
Please look at our docker hub page or repository, I do not think we ever had a 'latest' tag


Allow for reading TOML files from stdin.

When the input filename is '-', read the toml from stdin and output to stdout.
Closes #238.

either is fine

Now with a signed commit.


Locales can't be changed

Describe the bug
Locales can't be changed. Not working in element nor options.
To Reproduce
Steps to reproduce the behavior:

Set locale to some locale string (ie. 'cs')

Expected behavior
Locale changed.

Looks to be fixed in 5.0.0-alpha.0.

Looks to be fixed in 5.0.0-alpha.0.


Question on privilege mode info in mnstatus upon an unexpected trap when Smrnmi is implemented  and mnstatus.NMIE is 1

For unexpected trap handling when Smrnmi is implemented and mnstatus.NMIE is 1, the specification says "The privilege mode information fields in the mnstatus register are written to indicate M-mode".
Does it imply that mnstatus.MNPP is set to 3 (M-mode) and mnstatus.MNPV is set to 0 regardless of the current privilege mode?
Normally the current privilege mode is M-mode, but it could be S-mode as a result of the following strange steps.

Upon reset Hart is in M-mode and mnstatus.MDT is 1, set mnstatus.MNPP to 1 (S-mode)
Execute mnret instruction, privilege mode changes from M-mode to S-mode, mstatus.MDT remains 1 (specification doesn't say mnret set mstatus.MDT to 0)
Execute ecall instruction to raise an exception to M-mode, since mstatus.MDT is 1, this exception is an unexpected trap, current privilege mode is S-mode and the target mode is M-mode

Should mnret also sets the MDT bit to 0 when executed in M-mode?

Yes. The MNRET instruction should set the MDT bit to 0, if the new privilege mode is not M. If it is U, VS, or VU, then sstatus.SDT should also be set to 0. Additionally, if it is VU, then vsstatus.SDT should also be set to 0.

The MNRET instruction should set the MDT bit to 0, if the new privilege mode is not M
Will you put this sentence into the Double Trap spec? Or it should go to the RNMI spec?

This will go into the double trap spec.


Wire up devise to send password reset email

Devise should be able to send password reset emails. Right now it's yielding the following:
2016-02-21T16:29:28.218826+00:00 app[web.1]: ActionView::Template::Error (Missing host to link to! Please provide the :host parameter, set default_url_options[:host], or set :only_path to true):
2016-02-21T16:29:28.218827+00:00 app[web.1]:     2:
2016-02-21T16:29:28.218828+00:00 app[web.1]:     3:
Someone has requested a link to change your password. You can do this through the link below.

2016-02-21T16:29:28.218829+00:00 app[web.1]:     4:
2016-02-21T16:29:28.218830+00:00 app[web.1]:     5:
<%= link_to 'Change my password', edit_password_url(@resource, reset_password_token: @token) %>

2016-02-21T16:29:28.218830+00:00 app[web.1]:     6:
2016-02-21T16:29:28.218831+00:00 app[web.1]:     7:
If you didn't request this, please ignore this email.

2016-02-21T16:29:28.218832+00:00 app[web.1]:     8:
Your password won't change until you access the link above and create a new one.

2016-02-21T16:29:28.218833+00:00 app[web.1]:   app/views/devise/mailer/reset_password_instructions.html.erb:5:in `_app_views_devise_mailer_reset_password_instructions_html_erb__2064164698390510756_70157613887440'

Fixed in #91