fix(command-core): fix path process within formatTsError() and add types

函数 formatTsError 增加类型声明
正确处理 messageText （ string | DiagnosticMessageChain ）值
当 messageText  为对象时正确处理返回值 path （修复之前错误处理为空）

Codecov Report
Patch coverage: 8.33% and project coverage change: -0.17 :warning:

Comparison is base (bd80f47) 86.38% compared to head (fc41e07) 86.21%.

:exclamation: Current head fc41e07 differs from pull request most recent head 99000da. Consider uploading reports for the commit 99000da to get more accurate results

:mega: This organization is not using Codecov’s GitHub App Integration. We recommend you install it so Codecov can continue to function properly for your repositories. Learn more
Additional details and impacted files
@@            Coverage Diff             @@
##           master     #329      +/-   ##
==========================================
- Coverage   86.38%   86.21%   -0.17%
==========================================
  Files          41       41
  Lines        4156     4164       +8
  Branches     1219     1220       +1
==========================================
  Hits         3590     3590
- Misses        526      534       +8
  Partials       40       40

Impacted Files
Coverage Δ

...ckages/command-core/src/utils/compileTypeScript.ts
12.30% <8.33%> (-1.73%)
:arrow_down:

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

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Do you have feedback about the report comment? Let us know in this issue.


build,cmake: mark public include dir as public

This makes it easier for projects which embed libuv as a dependency
since they no longer need to set it by hand.

CI: https://ci.nodejs.org/view/libuv/job/libuv-test-commit/1551/

Silly me, this was already done in https://github.com/libuv/libuv/pull/2431, cheers Ben!


Create Terraform module

Create a Terraform module to have an alternative to Helm as a way to deploying the controller

Done in #12


Profile bio change does not appear

Command attempted:
Profile bio change does not appear if I don't refresh page.
What happened:
I've changed my bio today and I found that changed bio is not showing after press "save" button.
https://user-images.githubusercontent.com/59085992/110238571-621ccd80-7f53-11eb-8210-dee846c08ed9.mp4

Hi, I believe this is a question about GitHub.com, the website. This issue tracker is for a command-line utility called hub, not the website itself. For reporting bugs and requesting features for GitHub the website, please go to https://github.com/contact or visit https://github.community. Thank you!


add CI/CD

This PR allows GitHub Actions to use goreleaser to automatically build Release binaries for you.
Notes:

This only occurs when a tag is created with a command set like:

CURRENT=1.0.1
git tag -a "v${CURRENT}" -m "releasing version ${CURRENT}"
git push origin "v${CURRENT}"

This also creates a draft release which allows you to review it before publishing to a full release.

@jftuga it didn't trigger.

@jftuga it didn't trigger.

By default, including pull_request only runs on these activity types: opened, reopened, and synchronize.  I added a few more types, so hopefully it will trigger now.

@jftuga it didn't trigger.

By default, including pull_request only runs on these activity types: opened, reopened, and synchronize. I added a few more types, so hopefully it will trigger now.

I've used that event listener at work on our core repos and several of my other personal repos. I know from experience that the pull_request event listener configured the way I originally suggested should should trigger on every new commit to the PR.
Even w/the types you added, synchronize should have the same behavior.
If you can get it to trigger so we can see this thing run and everything checks out I'm all for it.

I also submitted this idea to another go project.  They accepted my PR without changes.  Check out their release page:
https://github.com/s0md3v/Smap
Another idea I had was to simply remove on: so that you could run it manually.

I also submitted this idea to another go project. They accepted my PR without changes. Their .goreleaser and release.yml files are the same that I submitted to you.
Check out their release page:
https://github.com/s0md3v/Smap
Another idea I had was to simply remove on: so that you could run it manually.

Ok cool. In that case just change it back to what you had originally and we'll get it in and try it out. I have a major version release coming soon and I can take it for a spin then.

I have reverted this back to the original.


ClassCastException when removing a reaction from an other user in a thread

General Troubleshooting

[x] I have checked for similar issues.
[x] I have updated to the latest JDA version.
[x] I have checked the branches or the maintainers' PRs for upcoming bug fixes.

Bug Report
(JDA v5.0.0-alpha.9)
A ClassCastException is thrown when removing a message reaction in a thread when the reaction being removed is not originally from the bot account. The cause of this is that ThreadChannelImpl does not implement IPermissionContainer but it is attempted to be cast to one on line 354 in MessageReaction. This check is skipped when removing a reaction added by the bot itself, so that use case still works. Presumably we should instead check the permission on the text channel the thread is in. I don't mind making a pull request for this if this is the correct way forward. Ideal would be a approach that doesn't explicitly need to check if we are dealing with a thread, but I don't have any ideas.
Expected Behavior
The reaction should be removed without throwing an exception. I tested that this at least works for regular users (at least with admin permissions, haven't tested with just manage messages on the text channel the thread is in).
Code Example or Reproduction Steps
Try to remove a reaction in a thread that is not added by the bot account, e.g. using:
@Override
public void onMessageReactionAdd(MessageReactionAddEvent event){
    event.getReaction().removeReaction(event.getUser()).queue();
}

Code for JDABuilder or DefaultShardManagerBuilder Used
N/A
Exception or Error
java.lang.ClassCastException: net.dv8tion.jda.internal.entities.ThreadChannelImpl cannot be cast to net.dv8tion.jda.api.entities.IPermissionContainer
	at net.dv8tion.jda.api.entities.MessageReaction.removeReaction(MessageReaction.java:354)
	at dev.roanh.moderation.Listener.onMessageReactionAdd(Listener.java:56)
	at net.dv8tion.jda.api.hooks.ListenerAdapter.onEvent(ListenerAdapter.java:359)
	at net.dv8tion.jda.api.hooks.InterfacedEventManager.handle(InterfacedEventManager.java:96)
	at net.dv8tion.jda.internal.hooks.EventManagerProxy.handleInternally(EventManagerProxy.java:88)
	at net.dv8tion.jda.internal.hooks.EventManagerProxy.handle(EventManagerProxy.java:70)
	at net.dv8tion.jda.internal.JDAImpl.handleEvent(JDAImpl.java:164)
	at net.dv8tion.jda.internal.handle.MessageReactionHandler.handleInternally(MessageReactionHandler.java:184)
	at net.dv8tion.jda.internal.handle.SocketHandler.handle(SocketHandler.java:36)
	at net.dv8tion.jda.internal.requests.WebSocketClient.onDispatch(WebSocketClient.java:952)
	at net.dv8tion.jda.internal.requests.WebSocketClient.onEvent(WebSocketClient.java:839)
	at net.dv8tion.jda.internal.requests.WebSocketClient.handleEvent(WebSocketClient.java:817)
	at net.dv8tion.jda.internal.requests.WebSocketClient.onBinaryMessage(WebSocketClient.java:991)
	at com.neovisionaries.ws.client.ListenerManager.callOnBinaryMessage(ListenerManager.java:385)
	at com.neovisionaries.ws.client.ReadingThread.callOnBinaryMessage(ReadingThread.java:276)
	at com.neovisionaries.ws.client.ReadingThread.handleBinaryFrame(ReadingThread.java:996)
	at com.neovisionaries.ws.client.ReadingThread.handleFrame(ReadingThread.java:755)
	at com.neovisionaries.ws.client.ReadingThread.main(ReadingThread.java:108)
	at com.neovisionaries.ws.client.ReadingThread.runMain(ReadingThread.java:64)
	at com.neovisionaries.ws.client.WebSocketThread.run(WebSocketThread.java:45)

Fixed in 5.0.0-alpha.10


fix: avoid call finalizeStage more times than once.

Motivation:
fix https://github.com/apache/pekko/issues/1646
Modification:
Avoid call finalizeStage(logic) many times.
Result:
No NPE on 1.0.x
need forward port, there is no NPE on 1.1.x , but the finalizeStage still can be called many times.

forward port to https://github.com/apache/pekko/pull/1650


support CSS inlining

It would be nice to support CSS inlining (similar to mjml upstream). There are some Python libraries which might be helpful:

premailer, 3-clause BSD, recent commits
inlinestyler, 3-clause BSD, last commit March 2018
pynliner, MIT license, last commit January 2017

Based on the number of github stars, forks I guess premailer seems to be the most popular library.

https://github.com/Stranger6667/css-inline seems promising.

Closed via 611f7f013aea15147916117242593b59b3153ef8 and cc1b3447c69bd20dd98a3d741d2bdf8ee1c631c5.
We can also support other css inlining libraries in the future if someone wants to add support for that. In particular I could imagine having a pure-python implementation could be nice. However "css_inline" looks ok for now so I won't add support for premailer in the near tearm.


Update Build Unix instructions for BerkeleyDB on latest Ubuntu version

Please add to https://github.com/dogecoin/dogecoin/blob/master/doc/build-unix.md
Chapter: Berkeley DB
...
../dist/configure --enable-cxx --disable-shared --with-pic --prefix=$BDB_PREFIX
# in case of error: defintion of 'int __atomic_compare_exchange...
# cd ..
# cd src/dbinc/
# sed -i 's/__atomic_compare_exchange/__atomic_compare_exchange_db/g' atomic.h
# cd ../../build_unix/
make install
...
This is a fix from https://www.fsanmartin.co/compiling-berkeley-db-4-8-30-in-ubuntu-19/ for installing Berkeley DB on i.e. Ubuntu 20

Hi! I don't think merging 1.14.3-dev into master was your intended request? Please make a PR with your suggested change against 1.14.3-dev.
I'm closing this one.


XRSDK Oculus incompatible with Hand Menus

Description
When using XRSDK Oculus Input the hand menu will seemingly always appear and always in the incorrect position.
To reproduce
Steps to reproduce the behavior:

Go to Mixed Reality Toolkit in the Scene Hierarchy
Add "Data Provider" XRSDK Oculus
Test out a scene using the hand menu

Expected behavior
Hand menu should appear in the appropriate spot and only when showing your palm, however it will show all the time and at the center of your hand.
Setup

Unity Version 2019.4.11f1
MRTK 2.5
Oculus Rift S, Quest, Index
Leap Motion

Target platform

HoloLens
HoloLens 2
WMR immersive
OpenVR
Oculus
Steam VR

I wonder if the root cause here is related to the bug being fixed for Leap Motion in https://github.com/microsoft/MixedRealityToolkit-Unity/pull/10446


Fix labelling and bad interaction

In argmax:
Bad labelling for column parameter ("min" instead of "max).
In argmax and argmin:
When choosing a column in the groups parameter, it selected the corresponding column, which in turn changed the value of the column parameter

Codecov Report

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

@@          Coverage Diff           @@
##           master    #327   +/-   ##
======================================
  Coverage    96.8%   96.8%
======================================
  Files          81      81
  Lines        1877    1877
  Branches      283     283
======================================
  Hits         1817    1817
  Misses         60      60

Impacted Files
Coverage Δ

src/components/stepforms/ArgmaxStepForm.vue
100% <ø> (ø)
:arrow_up:

src/components/stepforms/ArgminStepForm.vue
100% <ø> (ø)
:arrow_up:

Continue to review full report at Codecov.

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


Wanted: Who is using Dragonfly | 如果贵司正在使用Dragonfly请留言

Who is using Dragonfly
First of all, thanks sincerely for constantly using and supporting Dragonfly. We will try our best to keep Dragonfly better, and keep community and eco-system growing.
The purpose of this issue

We’d like to listen to the community to make Dragonfly better.
We want to attract more people to contribute to Dragonfly.
We're willing to learn more Dragonfly use scenarios for better planning.

What we expect from you
Please submit a comment in this issue to include the following information:

Your company, school or organization.
Your city and country.
Your contact info: blog, email or Twitter (at least one).
For what business scenario do you use Dragonfly.

You can refer to the following sample answer for the format:
Orgnization/Company: Alibaba
Location: Hangzhou, China
Contact<EMAIL_ADDRESS>Purpose/Scenario: Large-scale image and file distribution.

Thanks again for your participation!
Dragonfly Community

Orgnization/Company: JD China
Location: Beijing, China
Contact<EMAIL_ADDRESS>Purpose/Scenario:
Accelerate image distribution among datacenters

Orgnization/Company: CSU China
Location: Hunan, China
Contact<EMAIL_ADDRESS>Purpose/Scenario: Distribute images to the Kubernetes

Orgnization/Company: ZTE
Location: Nanjing, China
Contact<EMAIL_ADDRESS>Purpose/Scenario:
Fast 4K/Big Files Distribute among CDN nodes

Orgnization/Company: ZTE
Location: Nanjing, China
Contact<EMAIL_ADDRESS>Purpose/Scenario: Distribute large media files to multiple devices

Orgnization/Company: sunus(ShanDong ShunNeng Net Inc.)
Location: JiNan, China
Contact<EMAIL_ADDRESS>Purpose/Scenario: Distribute images to the Kubernetes

Orgnization/Company: unionpay
Location: ShangHai, China
Contact<EMAIL_ADDRESS>Purpose/Scenario: 镜像预热太慢，考虑解决方法，调研阶段，由于生产环境网络严格，不能使用p2p，估计会放弃该方法，但是自己感兴趣，学习一下。

 也就是子节点dfget全部在内网, 超级节点在公网, 文件服务器在公网, 子节点之间能够p2p么?

Orgnization/Company: chinamobile
Location: Suzhou, China
Contact<EMAIL_ADDRESS>Purpose/Scenario: distribute image to the k8s container system.

Orgnization/Company: sogou
Location: beijing, China
Contact<EMAIL_ADDRESS>Purpose/Scenario: Distribute files and docker images

Orgnization/Company: chinaunicom
Location: Jinan, China
Contact<EMAIL_ADDRESS>Purpose/Scenario: distribute image on 天宫DC/OS.

Orgnization/Company: DiDi
Location: Beijing, China
Contact<EMAIL_ADDRESS>Purpose/Scenario: Distribute files

Orgnization/Company: TU Ilmenau (student)
Location: Ilmenau, Germany
Contact<EMAIL_ADDRESS>Purpose/Scenario:
Master thesis evaluation of software distribution systems for distribution of fog-computing services in meshed WANs.

Orgnization/Company: DaoCloud
Location: ShangHai, China
Contact<EMAIL_ADDRESS>Purpose/Scenario: distribute image to the k8s container system.

Orgnization/Company: 360
Location: Beijing, China
Contact<EMAIL_ADDRESS>Purpose/Scenario:distribute image  to the kubernetes cluster

Orgnization/Company: Yum China
Location: ShangHai, China
Contact<EMAIL_ADDRESS>Purpose/Scenario:distribute image to the kubernetes cluster

Orgnization/Company: XiaoMi
Location: Beijing, China
Contact<EMAIL_ADDRESS>Purpose/Scenario:distribute image to the kubernetes cluster

Orgnization/Company: XDF
Location: Beijing, China
Contact<EMAIL_ADDRESS>Purpose/Scenario: Distribute images to the Kubernetes

Orgnization/Company: 58
Location: Beijing, China
Contact<EMAIL_ADDRESS>Purpose/Scenario:distribute image to the kubernetes cluster

Orgnization/Company: Sina
Location: Beijing, China
Contact<EMAIL_ADDRESS>Purpose/Scenario:Download relatively large index files   and Download  images for  kubernetes

Orgnization/Company: Sina
Location: Beijing, China
Contact<EMAIL_ADDRESS>Purpose/Scenario:Download relatively large index files   and Download  images for  kubernetes

Orgnization/Company: Meituan
Location: Beijing, China
Contact<EMAIL_ADDRESS>Purpose/Scenario:
distribute image to the k8s container system.
distribute common files such as model files.


Duplicate bugs tab

Please ensure:

[X] The bug is caused by Refined GitHub. It doesn't happen if I disable the extension.
[X] The bug happens after clearing extension cache. The "Clear cache" button below can also be found at the bottom of the options page.

Example URLs
https://github.com/serenity-rs/serenity
Extension version
22.6.25
Browser(s) used
Google Chrome
Description

The bugs tab appears twice on certain repos.
Include in this issue:

[x] Screenshots/video/gif demonstrating the bug, if it’s visual
[ ] Console errors, if any

Duplicate of https://github.com/refined-github/refined-github/issues/5738

Still happening.

Version? I never saw that. How do you replicate the issue?

Version: 22.7.7
No idea how to reproduce, it just happened.

I got it to happen when I changed versions of the extension. Had to just refresh the page.

Repro:

Open https://github.com/refined-github/refined-github/actions/runs/2633901459
Switch to any other tab, like PRs

bugs-tab doesn't seem to duplicate anymore, it's ci-link here we are talking about.
But there are more features suffering:
❌ clean-repo-tabs
refined-github.js:3897 📕 22.7.7 → TypeError: Cannot read properties of undefined (reading 'removeAttribute')
    at onlyShowInDropdown (refined-github.js:11301:16)
    at init (refined-github.js:11342:57)
    at async runFeature (refined-github.js:3951:20)
    at async setupPageLoad (refined-github.js:3957:34)
❌ toggle-files-button
refined-github.js:3897 📕 22.7.7 → TypeError: Failed to execute 'observe' on 'MutationObserver': parameter 1 is not of type 'Node'.
    at observeElement (refined-github.js:6851:23)
    at init (refined-github.js:6905:28)
    at async runFeature (refined-github.js:3951:20)
    at async setupPageLoad (refined-github.js:3957:34)

More repro steps can be found in https://github.com/refined-github/refined-github/issues/5822

More repro steps can be found in https://github.com/refined-github/refined-github/issues/5822

It also happens in repos that aren't forks.


git: consider pushurl gitconfig option

Solves issue #456 by checking remote.<name>.pushurl before remote.<name>.url.

I didn't have time to work on a test case, but will do soon.
Setting MR to draft.

Side note: theres a case as well where the remote name itself may be the url.  https://github.com/zaquestion/lab/issues/381

Wow, the remote name == URL? That's new to me too!
I'll assigne that issue to myself and open a new pull request for that (I still need to reproduce that).
Thanks for the heads up @zaquestion .


Add iPhone SE 2nd Gen

Thanks for the PR! I'm closing this one as I just merged the Phone SE 2nd gen in another PR.

Sure. Thanks!


FlightRecorder API for managing recordings

This PR is a more complete replacement for #24. This adds new fields to the FlightRecorder CRD to allow creating, listing and downloading of recordings. The controller has been updated to reconcile these new fields with Container JFR. Communication with Container JFR is done using a WebSocket connection. The WebSocket client and its Container JFR-specific code can be found in the new client package.
Creating a new recording
The user adds a new item to recordingRequests under the FlightRecorder spec. This request includes the name of the new recording, the duration as a time.Duration string, and a string array of event options. These event options correspond to the syntax used by Container JFR. When the reconciler processes the updated spec, it will forward this request to Container JFR. If successful, it will remove the request from the spec and the recording will be listed under the FlightRecorder's status.
Listing and downloading recordings
After creating a new recording and while there are any still-running recordings for a given FlightRecorder, the reconciler will periodically update the status of these recordings with information from Container JFR. This information is found in the recordings array in the FlightRecorder's status. Each recording lists its name, start time (as an RFC3339 string), duration (as a time.Duration string), whether the recording is still active (non-stopped), and a download URL for the JFR file. In order to allow this JFR file to be downloaded while Container JFR isn't connected to its associated JVM, the reconciler automatically saves recordings as they finish to persistent storage. We can likely improve upon this in the future.
Example FlightRecorder CR:
{
    "apiVersion": "rhjmc.redhat.com/v1alpha1",
    "kind": "FlightRecorder",
    "metadata": {
        "creationTimestamp": "2019-12-12T23:03:30Z",
        "generation": 1,
        "labels": {
            "app": "my-service"
        },
        "name": "my-service",
        "namespace": "default",
        "ownerReferences": [
            {
                "apiVersion": "v1",
                "blockOwnerDeletion": true,
                "controller": true,
                "kind": "Service",
                "name": "my-service",
                "uid": "3a378b6e-10a0-11ea-9566-fa163e644a90"
            }
        ],
        "resourceVersion": "305867",
        "selfLink": "/apis/rhjmc.redhat.com/v1alpha1/namespaces/default/flightrecorders/my-service",
        "uid": "f6c043c3-10a0-11ea-9566-fa163e644a90"
    },
    "spec": {
        "recordingRequests": [
	    {
		"name": "new-recording",
		"duration": "2m",
		"eventOptions": [
		    "jdk.ExecutionSample:enabled=true",
		    "jdk.ExecutionSample:period=200ms"
		]
	    }
	]
    },
    "status": {
        "recordings": [
            {
                "active": false,
                "downloadUrl": "http://containerjfr.example.com:80/recordings/172-30-30-231_my-recording_20191212T230321Z.jfr",
                "duration": "5s",
                "name": "my-recording",
                "startTime": "2019-12-12T23:03:16Z"
            }
        ],
        "target": {
            "apiVersion": "v1",
            "kind": "Service",
            "name": "my-service",
            "namespace": "default",
            "resourceVersion": "302913",
            "uid": "3a378b6e-10a0-11ea-9566-fa163e644a90"
        }
    }
}

The example CR looks great and the description makes good sense. Hang on while I review the implementation.


Brightness control doesnt work on Dell UP2715k

It does work on my 4k (acer) screen, but not on my 5k (dell up2715k).
How can i fix this?

Try:
https://github.com/the0neyouseek/MonitorControl/wiki/Monitor-Troubleshooting

./ddcctl -d 1 -b ?
D: NSScreen #722475479 (2560x1440 0°) HiDPI
I: found 1 external display
I: polling display 1's EDID
I: got edid.serial: F1JCM581064S
I: got edid.name: DELL UP2715K
D: action: b: ?
D: querying VCP control: #16 =?
E: No data after 10 tries!
E: DDC send command failed!
E: VCP control #16 (0x10) = current: 0, max: 0

@sanjayc77 Should i try it with that setup?  I don't know what to do or how to interpret your comment 😕.

Edited my reply that it did not work for me either. Sorry for the confusion.


Support complex numbers

This could be a big change.

Input complex numbers like so: 1,2, which would convert to 1 + 2i.

Nope, complex numbers are input as: 1+2i, and no, the change wasn't all that difficult. Complex numbers are built into Ruby. The only thing that can't be done is operations like: sqrt, sin, cos, etc.. You know, some of the more complex (ha!) functions.


types: add OAuth2 type

Please describe the changes this PR makes and why it should be merged:
Status

[ ] Code changes have been tested against the Discord API, or there are no code changes

Semantic versioning classification:

[x] This PR changes the library's interface (methods or parameters added)

[ ] This PR includes breaking changes (methods removed or renamed, parameters moved or removed)

[ ] This PR only includes non-code changes, like changes to documentation, README, etc.

Thank you! :heart:


update iptables-remover-ds with new apiVersion to support 1.16+ clusters

Description
extensions/v1beta1 being deprecated on Daemonsets were removed in 1.16+ clusters. With upstream versions as new as 1.22, pre-1.16 versions are relatively old. In the quest to remove the orphaned iptables state left over by calico, I  got this error while installing the current iptables-remover daemonset on a 1.19 k8s cluster:
$kubectl apply -f https://raw.githubusercontent.com/projectcalico/calico/master/hack/remove-calico-policy/iptables-remover-ds.yaml
error: unable to recognize "https://raw.githubusercontent.com/projectcalico/calico/master/hack/remove-calico-policy/iptables-remover-ds.yaml": no matches for kind "DaemonSet" in version "extensions/v1beta1"

This PR fixes the above error as suggested in https://kubernetes.io/blog/2019/07/18/api-deprecations-in-1-16/

DaemonSet in the extensions/v1beta1 and apps/v1beta2 API versions is no longer served
Migrate to use the apps/v1 API version, available since v1.9. Existing persisted data can be retrieved/updated via the new version.
Notable changes:
spec.templateGeneration is removed
spec.selector is now required and immutable after creation; use the existing template labels as the selector for seamless upgrades
spec.updateStrategy.type now defaults to RollingUpdate (the default in extensions/v1beta1 was OnDelete)

Related issues/PRs

Todos

[ ] Tests
[ ] Documentation
[ ] Release note

Release Note

None required

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

pinging a few maintainers/contributors to see if feedback on this PR is possible - @caseydavenport @ozdanborne


Tab Arrays don't load multiple tabs with a value that has multiple members

To replicate, go to playground with tabs and add value:
  ,"value": {
    "friends": [
      { "nick": "Jim" },
      { "nick": "John" }
    ]
  }

It works for the normal array view and on the master fork.

Add "key": "friends" to the form definition of the tabarray, seems can fix
the problem. Without the "key", jsonform can not guess that friends array
value is just for that tabarray in the form definition.
2015-06-29 23:21 GMT+08:00 Max White<EMAIL_ADDRESS>
To replicate, go to playground with tabs
http://ulion.github.io/jsonform/playground/?example=fields-tabarray and
add value:
,  value: {
friends: [
{ nick: 'Jim' },
{ nick: 'John' }
]
}
It works for the normal array view and on the master fork.
—
Reply to this email directly or view it on GitHub
https://github.com/ulion/jsonform/issues/15.

--
Ulion

Great Thanks!


Will there be any instructions how to train own agents?

We are currently not planning to release the training code since it relies on the internal infrastructure quite heavily. I'm happy, however, to provide guidance on reimplementing the training pipeline. Please see the original publication for details (http://proceedings.mlr.press/v80/ganin18a.html) and shoot me an email if something is unclear.


feat(Table): add support for sort by nested properties

Just duplicate get logic from main Table code: https://github.com/gravity-ui/uikit/blob/main/src/components/Table/Table.tsx#L171

@ogonkov @krozhkov
Hi! Can we merge it?)

Please rebase PR

Please check linter status, it fail now.


Is there a way to see one global timeline for multiple sequential files?

Hi there! 👋
I looked around the UI and read the docs I could find and cannot find a way. Is there a mechanism whereby I can open multiple sequential files, like say multiple shots in a sequence, but see them in one global timeline at the bottom such that one can click around in a global timeline made out of multiple sequential clips from different files.
In mrviewer you can do it with their EDL mode. In RV you have a concept of sequences that can do it also. Does DJV have something around these lines?

Hi there! Not yet, but I'm currently working on rewriting the "playback engine" to add support for this. Are you using OpenTimelineIO for the sequence information?

I am able to describe them as otio timelines, yeah. If DJV supported them straight that would be awesome.

Great, the new playback engine is built around OpenTimelineIO so there will definitely be native support.


Clarify meaning of mpi-time in reports

This is time in nested MPI regions, and will be zero for detected MPI calls.

https://review.gerrithub.io/c/geopm/geopm/+/472752


az containerapp create --yaml does not support UserAssignedIdentities

This issue is a: (mark with an x)

[x] bug report -> please search issues before submitting
[ ] documentation issue or request
[ ] regression (a behavior that used to work and stopped in a new release)

Issue description
When using Container Apps YAML configuration with a user assigned identity, az containerapp create --yaml fails with the exception:
ERROR: (InvalidIdentityValues) Invalid value for the identities '/subscriptions/***/resourceGroups/***/providers/Microsoft.ManagedIdentity/userAssignedIdentities/id-platform'. The 'UserAssignedIdentities' property keys should only be empty json objects, null or the resource exisiting property.

When I use az containerapp update with the same YAML file, the update succeeds.
Steps to reproduce
Run az containerap create --yaml using the following YAML file:
kind: containerapp
name: myapp
resourceGroup: myresourcegroup
type: Microsoft.App/containerApps
identity:
  type: UserAssigned
  userAssignedIdentities:
    ? /subscriptions/***/resourceGroups/myresourcegroup/providers/Microsoft.ManagedIdentity/userAssignedIdentities/myidentity
    : {}
properties:
  configuration:
  template:
    containers:
      - image: myacr.azurecr.io/myimage:latest

Expected behavior
Container app should be created or patched.
Actual behavior
I get the following error:
ERROR: (InvalidIdentityValues) Invalid value for the identities '/subscriptions/***/resourceGroups/***/providers/Microsoft.ManagedIdentity/userAssignedIdentities/id-platform'. The 'UserAssignedIdentities' property keys should only be empty json objects, null or the resource exisiting property.

Additional context
az CLI and extensions versions:
 az --version
azure-cli         2.46.0
core                2.46.0
telemetry       1.0.8
Extensions:
front-door      1.0.17
containerapp 0.3.18
account          0.2.5

Thanks @andrewweston. We determined that this is a bug in the CLI and are working on a fix.

The fix has been released! I'll close the issue, please let me know if there are continued issues.


picom fails to start

Describe the bug
Picom crashes on start.
Steps To Reproduce
$ picom
[ 07/09/21 11:23:35.398 glx_has_extension ERROR ] Failed get GLX extension list.
[ 07/09/21 11:23:35.400 glx_has_extension ERROR ] Failed get GLX extension list.
[ 07/09/21 11:23:35.401 glx_has_extension ERROR ] Failed get GLX extension list.
[ 07/09/21 11:23:35.403 glx_has_extension ERROR ] Failed get GLX extension list.
[ 07/09/21 11:23:35.405 glx_has_extension ERROR ] Failed get GLX extension list.
[ 07/09/21 11:23:35.406 glx_has_extension ERROR ] Failed get GLX extension list.
[ 07/09/21 11:23:35.408 glx_has_extension ERROR ] Failed get GLX extension list.
[ 07/09/21 11:23:35.410 glx_has_extension ERROR ] Failed get GLX extension list.
[ 07/09/21 11:23:35.412 glx_init ERROR ] Root visual is not a GL visual.
[ 07/09/21 11:23:35.412 session_init FATAL ERROR ] Failed to initialize the backend

Expected behavior
Picom is expected to start without crashing.
Metadata
[user@system:~]$ nix-shell -p nix-info --run "nix-info -m"
 - system: `"x86_64-linux"`
 - host os: `Linux 5.10.60, NixOS, 21.11 (Porcupine)`
 - multi-user?: `yes`
 - sandbox: `yes`
 - version: `nix-env (Nix) 2.3.15`
 - nixpkgs: `/etc/nixpkgs`

Maintainer information:
# a list of nixpkgs attributes affected by the problem
attribute: picom
# a list of nixos modules affected by the problem
module:

Might be a related GL issue: https://github.com/NixOS/nixpkgs/issues/136123

got the same problem

This is now happening again on nixos-unstable. (It worked for some time..)

Actually, never mind. It works for me. I just accidentally had picom installed from different nixpkgs commit than my system stuff.

Disappointed to see this closed. I am currently experiencing this issue.

I've noticed that it happens a lot, when I have a mismatch between the nixpkg my picom was build from and the nixpkgs that the rest of my system uses. Like e.g. when I install picom from unstable because that has bugfixes but am still on 21.11.


Make all properties available in Tabulator records list, show record type with icon

This implements half of #229 and half of #228. Showing record types or all properties in the detail view is not yet implemented, although some of the logic introduced in this branch could be reused for that purpose. I wanted to go all the way, but did not manage to go beyond the record list because of time constraints and distractions.
The autoColumnsDefinitions callback from frontend/vre/record/record.list.view.js was outfactored to frontend/vre/utils/tabulator-utils.js and then extended to always include all possible properties as available columns. The set of visible columns is still determined in the same way, though the decision to make a column visible now happens in a different place. For the extended logic, I used the MappedCollection feature from the freshly outfactored, still-to-be-released backbone-collection-transformers.
Then, I added an icon column to convey the record type: a person silhouette for a biographical record, a book for a bibliographical record. The HTML for the icon is rendered using a Mustache template. That template is potentially reusable for a Backbone.View. The HTML includes textual labels for screen readers. Record types are indicated at the individual record level rather than the catalog level, because I seemed to recall that some catalogs are mixed.
The new code lacks tests, but it has a low complexity and I hope it is sufficiently documented.
This branch has some side effects:

The docker-compose postgres service port is no longer forwarded to the host. This was never necessary to make docker-compose work. The reason to remove it is that it somehow prevented me from starting the container.
I turned the filter input for the Title column from a <textarea> back into a default <input>, because the height difference with other columns annoyed me.
I fixed a typo in the edpop-record-ontology.json that I discovered by coincidence.

As an aside, I notice that edpoprec:BiographicalRecord is a subclass of edpoprec:Record while edpoprec:BibliographicalRecord isn't. Conversely, BibliographicalRecord has a cardinality constraint while BiographicalRecord doesn't. I did not address this because I didn't know whether it was merely an oversight or whether there was a good reason for it.

As an aside, I notice that edpoprec:BiographicalRecord is a subclass of edpoprec:Record while edpoprec:BibliographicalRecord isn't. Conversely, BibliographicalRecord has a cardinality constraint while BiographicalRecord doesn't. I did not address this because I didn't know whether it was merely an oversight or whether there was a good reason for it.

This must have been an oversight of mine. I am busy with an updated record ontology and I will take this into account, too.


Width of centered menus

!important styles are ignored by Outlook when they are inlined. The rule setting the width of centered menus (.menu[align="center"]) has higher specificity than the other rule setting the menu width (table.menu), so it is not necessary to have width declared as !important. Removing !important means that the style will be inlined as style="width: 100%" instead of style="width: 100% !important". The latter is ignored by Outlook, while the first one works. Ref: https://www.campaignmonitor.com/blog/email-marketing/2010/05/outlook-2007-and-the-inline-important-declaration/

Thanks for your contribution to Foundation Emails.


Allow the creation of the root directory based on an ionic.project file ...

Hello.
I've built with gulp an asset pipeline feature that runs through the ionic serve command. This pipeline takes the source files from my-project/www, processes them in many different ways, then outputs the result in the my-project/www/dist dir, which contains the raw js/css that will be served trough ionic serve and wrapped by cordova in an android/ios project.
Here is my problem: since the content of the my-project/www/dist always comes from the same source (www), I don't track it with git, just like no one tracks the my-project/platforms dir. Because of that, after cheking out my project, the ionic serve throws an error and tells me that the www dir is not found. So this PR do the following:

fix the ionic serveerror message to output the current dir used as the documentRoot
allows the creation of the document root, if it doesn't exist, through a createDocumentRoot option in the ionic.project file

What do you think?

@vasconcelloslf Let me look over it and get back to you. Thanks for the submission.

@vasconcelloslf - this will be rolling out in 1.3.13. I had to merge it manually. Thanks again for the PR.

Awesome! Tks

@jbavari
Speaking of build systems. I spent a solid week improving mine, and I would be happy to contribute to ionic in this direction.
I basically build the same asset pipeline feature from rails with gulp (with 1 or 2 more things). Is ionic interested in having this feature? If it is, I'm wiling to begin the work in a remote branch and follow any guideline or feedback that you guys may provide.

@vasconcelloslf of course. I've tried tackling the minification, but have had troubles trying to please every user in the direction of what tools to use.
Everyone has their own opinion about build systems. However, for those who don't we'd love your help with direction on this.
Do you have a current branch going you'd want me to take a look at?

@jbavari
Hey, now I do. Check it ou the gulpfile https://github.com/vasconcelloslf/ionic-starter-app/blob/master/gulpfile.js
The idea is simple: I have a dev pipeline that runs with ionic start trough gulpStartupTasks and a build pipeline that runs with ionic build xxx through a cordova hook.
I use several gulp plugins to preprocess, minify, concat and replace constants (check https://github.com/vasconcelloslf/ionic-starter-app#8-configure-the-constant-values-gulp).
The dev pipeline doesn't concat nor minifies, and build pipeline does. I would love to work on it to incorporate this build system into ionic, probably as an optional feature.
I want to start a PR to begin to work, but first I would like to hear your feedbacks on the above build system.

@vasconcelloslf - Mike and I have taken a quick look at it.
I'll dig more into it today and give some feedback. Thanks again for the work.

@jbavari Ok, I will be waiting. Let me know if you need anything.

@vasconcelloslf I promise I'm not stalling on you. This is next on my list! I thought I was going to get to it sooner, but I've been getting distracted.

@jbavari Great! You must have lots of things to do. Just let me know if I can help you in anyway.

@vasconcelloslf How about using --release to trigger the prod workflow (aka minfy, uglify, etc).  prod constants would be used when --release is used.  Otherwise, dev workflow(aka ionic serve) would only do the constant replacements.   What do you think?

I have a few thoughts - while keeping the mindset that the masses will use this. By no means do I think I have all the answers.
Do you all think gulp is the way to go?
How will we update the gulpfile going forward? (Say between versions of the CLI).
Could we work this into a command instead of leaning on gulp?
How about customization for the users? Can we have it where users customize to their needs instead of the cookie cutter build? Something like utilizing the ionic.project file for customizations which folders to process?

maybe a --compress option would be better so the user has more flexibility

Hi @jbavari - I have left a rather lengthy comment on this post https://github.com/driftyco/ionic-cli/issues/168 summarising my thoughts on the build step. I didn't post it here as I didn;t feel it was directly linked to this pull request.
My view on the questions you posted above would be:
Do you all think gulp is the way to go?
Yes
How will we update the gulpfile going forward? (Say between versions of the CLI).
I guess the Gulpfile could just be updated and available via Git as per latest nightly builds. Then when you release CLI version, it is included in there.
Could we work this into a command instead of leaning on gulp?
I think Gulp seems to be the way most people have gone, it's popular, easy to extend or customise etc. It may also be a lot easier to use the Gulp plugins for the various tasks involved in the build.
How about customization for the users? Can we have it where users customize to their needs instead of the cookie cutter build? Something like utilizing the ionic.project file for customizations which folders to process?
Yes. Custom folder for source and destination would be good as well as users being able to add steps to the gulpfile if they wish. At least there will be a common starting point and hopefully it will do whatthe the vast majority needs. Using the ionic.project file seems like a good idea.
Thanks

@jbavari hello is there any update for this?


[BUG] - How to visualize Shard* metrics ?

Hello,
I'm opening this issue because I think I have a weird behaviour with performance-analyzer.
What is the bug?
Just after I've setup opensearch with docker for benchmark, I'm unable to visualize the Shard* Metrics with PerformanceAnalyzer.
How can one reproduce the bug?
Steps to reproduce the behavior:

Create a docker-compose.yml file with this content

version: '3'
services:
  opensearch-node1: # This is also the hostname of the container within the Docker network (i.e. https://opensearch-node1/)
    image: opensearchproject/opensearch:latest # Specifying the latest available image - modify if you want a specific version
    container_name: opensearch-node1
    environment:
      - cluster.name=opensearch-cluster # Name the cluster
      - node.name=opensearch-node1 # Name the node that will run in this container
      - discovery.type=single-node
      - plugins.security.ssl.http.enabled=false
      - bootstrap.memory_lock=true # Disable JVM heap memory swapping
      - "OPENSEARCH_JAVA_OPTS=-Xms512m -Xmx512m" # Set min and max JVM heap sizes to at least 50% of system RAM
    ulimits:
      memlock:
        soft: -1 # Set memlock to unlimited (no soft or hard limit)
        hard: -1
      nofile:
        soft: 65536 # Maximum number of open files for the opensearch user - set to at least 65536
        hard: 65536
    ports:
      - 9200:9200 # REST API
      - 9600:9600 # Performance Analyzer
    networks:
      - opensearch-net # All of the containers will join the same Docker bridge network
  opensearch-dashboards:
    image: opensearchproject/opensearch-dashboards:latest # Make sure the version of opensearch-dashboards matches the version of opensearch installed on other nodes
    container_name: opensearch-dashboards
    ports:
      - 5601:5601 # Map host port 5601 to container port 5601
    expose:
      - "5601" # Expose port 5601 for web access to OpenSearch Dashboards
    environment:
      OPENSEARCH_HOSTS: '["http://opensearch-node1:9200","http://opensearch-node2:9200"]' # Define the OpenSearch nodes that OpenSearch Dashboards will query
    networks:
      - opensearch-net

volumes:
  opensearch-data1:

networks:
  opensearch-net:

Start the containers with the command : docker-compose up -d
Then enable the plugin performance-analyzer like it's mentionned here : https://opensearch.org/docs/2.3/monitoring-plugins/pa/index/#install-performance-analyzer

curl -XPOST localhost:9200/_plugins/_performanceanalyzer/cluster/config -H 'Content-Type: application/json' -d '{"enabled": true}' -u 'admin:admin'

Normally at this steps the performance analyzer should be up and running
Create an index and documents data with the Documents API bulk operation

POST _bulk
{ "index": { "_index": "movies", "_id": "tt1979320" } }
{ "title": "Rush", "year": 2013 }
{ "index": { "_index": "movies", "_id": "tt1979322" } }
{ "title": "Rush2", "year": 2013 }
{ "index": { "_index": "movies", "_id": "tt1979323" } }
{ "title": "Rush3", "year": 2013 }
{ "index": { "_index": "movies", "_id": "tt1979324" } }
{ "title": "Rush4", "year": 2013 }
{ "index": { "_index": "movies", "_id": "tt1979325" } }
{ "title": "Rush5", "year": 2013 }

Here is the output of the creation

{"took":187,"errors":false,"items":[{"index":{"_index":"movies","_id":"tt1979320","_version":1,"result":"created","forced_refresh":true,"_shards":{"total":2,"successful":1,"failed":0},"_seq_no":0,"_primary_term":1,"status":201}},{"index":{"_index":"movies","_id":"tt1979322","_version":1,"result":"created","forced_refresh":true,"_shards":{"total":2,"successful":1,"failed":0},"_seq_no":1,"_primary_term":1,"status":201}},{"index":{"_index":"movies","_id":"tt1979323","_version":1,"result":"created","forced_refresh":true,"_shards":{"total":2,"successful":1,"failed":0},"_seq_no":2,"_primary_term":1,"status":201}},{"index":{"_index":"movies","_id":"tt1979324","_version":1,"result":"created","forced_refresh":true,"_shards":{"total":2,"successful":1,"failed":0},"_seq_no":3,"_primary_term":1,"status":201}},{"index":{"_index":"movies","_id":"tt1979325","_version":1,"result":"created","forced_refresh":true,"_shards":{"total":2,"successful":1,"failed":0},"_seq_no":4,"_primary_term":1,"status":201}}]}

Then try to get the Shard* Metric from performance-analyzer like this

GET localhost:9600/_plugins/_performanceanalyzer/metrics?metrics=ShardEvents,ShardBulkDocs,CPU_Utilization&dim=Operation&nodes=all&agg=sum,sum,max

Here is the output

{
    "90CFxK7zTi28rLkUpQiSpA": {
        "timestamp":<PHONE_NUMBER>000,
        "data": {
            "fields": [
                {
                    "name": "Operation",
                    "type": "VARCHAR"
                },
                {
                    "name": "ShardEvents",
                    "type": "DOUBLE"
                },
                {
                    "name": "ShardBulkDocs",
                    "type": "DOUBLE"
                },
                {
                    "name": "CPU_Utilization",
                    "type": "DOUBLE"
                }
            ],
            "records": [
                [
                    "GC",
                    null,
                    null,
                    0.0
                ],
                [
                    "flush",
                    null,
                    null,
                    0.0
                ],
                [
                    "generic",
                    null,
                    null,
                    0.0
                ],
                [
                    "get",
                    null,
                    null,
                    0.0
                ],
                [
                    "management",
                    null,
                    null,
                    0.0
                ],
                [
                    "other",
                    null,
                    null,
                    0.0020006279656433657
                ],
                [
                    "refresh",
                    null,
                    null,
                    0.0
                ],
                [
                    "search",
                    null,
                    null,
                    0.0
                ],
                [
                    "shardbulk",
                    null,
                    null,
                    0.0
                ],
                [
                    "transportWorker",
                    null,
                    null,
                    0.0
                ],
                [
                    "write",
                    null,
                    null,
                    0.0
                ]
            ]
        }
    }
}

What is the expected behavior?
I guess I should be able to see something instead of null values for the Shard metrics.
Do you have any advise how to proceed to be able to view those metrics ?
What is your host/environment?

OS: docker
Version opensearch latest version 2.3.0
Plugins embedded by default in the docker image

@sruti1312 , @eirsep do you have any idea ? I saw you worked on Metrics
Thank you very much for your help.
Best regards,

Hello @sruti1312 I guess you can help on this issue because you worked on changes namespace and some other code about Shard* metrics.
I have added more details here : https://github.com/opensearch-project/performance-analyzer/issues/333
Do you have any advise or idea how to get back those metrics ?
Thank you very much for your help 😃

Why there are some changes about ShardBulkDocs metrics from this pull request https://github.com/opensearch-project/performance-analyzer-rca/pull/3 ?
In OpenDistro the performance-analyzer metrics was working correctly and after the rework for OpenSearch it's not working like it was and always display wrong values.
For example :
In the initial commit where it was working it was
https://github.com/opensearch-project/performance-analyzer/commit/ffbd75973462cb196a818fe9dc70cf6a7bc25461#diff-01174560d5ac728e25a7161301eefa4a290c0a124951312a1bad2b7b55e9e00cR180
and now it's
https://github.com/opensearch-project/performance-analyzer-rca/blame/main/src/main/java/org/opensearch/performanceanalyzer/reader/ShardRequestMetricsSnapshot.java#L169

Can confirm that ShardBulk metrics are getting captured on the PA plugin, but the Reader is failing to correctly parse them.
^threads/21543/shardbulk/23632396/start
current_time:1674690064926
StartTime:1674690064926
ItemCount:8
IndexName:index-1
ShardID:2
--
^threads/26259/shardbulk/23632397/start
current_time:1674690064929
StartTime:1674690064929
ItemCount:3
IndexName:index-2
ShardID:2
--
^threads/22603/shardbulk/23632398/start
current_time:1674690064934
StartTime:1674690064934
ItemCount:6
IndexName:index-1
ShardID:2


HTML code in API description in ignored using springfox-swagger-ui 2.7.0

Should be fixed by #1613, but the problem persists !
spring-boot : 1.5.3.RELEASE
springfox-swagger2 : 2.5.0 + HTML code in API description :

When I updated springfox-swagger2 to 2.7.0, the HTML code is ignored:

How to reproduce:

git clone https://github.com/anouarchattouna/spring-boot-sample-logback-access-swagger.git
cd spring-boot-sample-logback-access-swagger
mvn clean install && java -Dspring.profiles.active=dev -jar target/spring-boot-sample-logback-access-swagger-0.0.3-SNAPSHOT.jar
open the swagger ui : http://localhost:8080/swagger-ui.html [OK]

Now stop the running server, update the swagger version to 2.7.0 from the pom.xml :

		<springfox.swagger2.version>2.7.0</springfox.swagger2.version>

mvn clean install && java -Dspring.profiles.active=dev -jar target/spring-boot-sample-logback-access-swagger-0.0.3-SNAPSHOT.jar
open the swagger ui : http://localhost:8080/swagger-ui.html [KO]

Can you please tell me how to keep the first look and feel?
Thank you for your help.

@dilipkrish can you have a look please ?
@kyrill007

Swagger-ui may be still busted. Let me look

@dilipkrish any news ?

@dilipkrish is it a Swagger-ui version issue?

Yes it is very possible that the swagger-ui version is the problem.

Hopefully this will help anyone who stumbles across this like me. It looks like it is not a bug in Swagger UI but an intentional decision to defend against XSX attacks, see here: https://github.com/swagger-api/swagger-ui/issues/830.
You will need to use markdown to format your descriptions with this version


[FN] Consider coinbase/stake maturity for mempool add

This logic appears to have been missing from the mempool.
I will add tests to one of the other mempool PRs, as I need to port the changes to the rules at some point anyway.

This seems like logic that would be present in X but surely in bitcoin core, I'd check there to compare behaviour and maybe there is additional info on such checks.


🐛 [bug] - osc-ingest-tools 0.4.3 vs. SqlAlchemy 2.0

📝 Description
First off, the Elyra Dockerfile likely needs osc-ingest-tools to do anything interesting when it comes to building data pipelines.  Alas, https://github.com/os-climate/osc-ingest-tools/issues/46 cites that osc-ingest-tools uses code that's deprecated in SqlAlchemy 2.0.  @HeatherAck
🚶 Steps to reproduce
When there is a Data Mesh pattern available in one of the OS-Climate clusters, I'll create a recipe for reproduction.  This issue is just book-keeping at this point.  @redmikhail
🧙♀ Suggested solution
We need an updated osc-ingest-tools library (@erikerlandson) and an updated Elyra Dockerfile referencing that updated library.

Ping @erikerlandson

Updated to 0.5.2, check how this impacts the pattern.


Add export tamplates download link to github wiki

Currently it's only found here: http://www.godotengine.org/wiki/doku.php
It would be great to have all the info/needed tools in one place.

The wiki and website both changed a lot since April 2014, so archiving this one.


Fix Pre-Prediction

PrePrediction was broken since the introduction of send-side entity mapping.
That's because:
client spawns predicted E1 and replicates it to server.
server spawns E2 and maintains mapping E2<>E1 and replicates it to client
client spawns confirmed E3 and maintains mapping E2<>E3.

With sender-side mapping, updates related to E2 would be mapped to E1 before being sent.
This PR fixes this problem, and it also works in host-server mode and with hierarchy.
Also fixes:

the replication_groups example was failing because of a erroneous check in the protocol
the connect/disconnect systems were running twice (both the normal and the host-server versions were running)
the server doesn't replicate Spawns to the entity that first spawned an entity.

My solution was to do:

spawn E1-predicted on client with PrePredicted
on client, an observer detects the addition of PrePredicted and spawns Confirmed E2
on server, as soon as the PrePredicted entity is received (into a server entity E3), we transfer authority back to server, and we update the mapping so that the server has E3<>E2 mapping.

The issue is that the client.ReplicationReceiver.local_entities is not updated correctly since the server doesn't spawn E2 normally...
Maybe a solution would be to keep what was done before with a slight adjustement:

client spawns E1 with PrePredicted and replicates to server. As soon as the message is sent, PrePredicted is removed.
server spawns E2 and has a mapping from E2<>E1.

NEW: we manually remove the E2<>E1 mapping so that server messages about E2 aren't converted to E1

server replicates E2 to client. Client creates E3 with PrePredicted (and maintains E3<>E2 mapping). Using PrePredicted, client does the prediction mapping between E3 and E1


fix(textfield): $dirty not being set on uif-textfield

Added support for ngModel.$dity & ngModel.$touched for uif-textfield.
Added support for $dirty & $touched properties on uif-textfield by hooking into underlying input element events. This improves experience of using uif-textfield with forms.
Closes #367

Changes Unknown when pulling ec0ac61e1dbf6a5367c299a31f758ce2ce9e193e on jjczopek:textfield-dirty-change into ** on ngOfficeUIFabric:dev**.

While all tests are passing, when I look at the demo page, It's not working as expected for some scenarios (with the underline 'uif-underlined' view & label) & I'm seeing a lot of console errors:
angular.js:13920 TypeError: Cannot read property '$setDirty' of null
at m.scope.inputChange (textFieldDirective.ts:89)

Can you take a look at this before we merge it in?

@ac: yeah, on input change I forgot to add a check whether ngModel is actually present thus the errors. Expect fix in couple of minutes.

Coverage increased (+0.003%) to 97.455% when pulling 25bf59fe8a4e4e096c6e775aa4f624a3ee113765 on jjczopek:textfield-dirty-change into efbaf65b794db887109a82ff6afd4b036932a4e1 on ngOfficeUIFabric:dev.


Break code into library and binary

The library should be includable from other projects.  The binary should be a way to validate data on the command line.
as3 the command should have these options:
--define-yaml /path/to/as3-yaml
--define-json /path/to/as3-json
--input-yaml -   read from stdin (this should be the default)
--input-yaml path read from file
--input-json -   read from stdin (this should be the default)
--input-json path read from file
--output-yaml - write to stdout  (this should be the default)
--output-yaml path write to path
--output-json - write to stdout  (this should be the default)
--output-json path write to path
Obviously, the --input* and --output* and --define* should only have one each passed.

@gahooa
--define-yaml /path/to/as3-yaml
--define-json /path/to/as3-json
Are compacted in a single flag --definition and it accepts both yaml and json files
Same for input


[WIP] List pools API implementation for VMAX driver

List pools API implementation for VMAX driver.
NOTE: This PR depends on PR #21
What this PR does / why we need it:
Which issue this PR fixes (optional, in fixes #<issue number>(, fixes #<issue_number>, ...) format, will close that issue when PR gets merged): fixes #
Special notes for your reviewer:
Release note:

Closing WIP PR, to create new one after rebase


CB-17310 Postgres upgrade framework - add the upgrade flow skeleton t…

…o redbeams
A new flow skeleton is introduced with the major steps needed to upgrade the postgres server.
The flow steps may not be enough for all providers (e.g. Azure), it can then be extended.
Handlers are stubs. For one handler the SPI is also called.
See detailed description in the commit message.

This commit was already merged to master, but since it breaks the swagger, it needs to be merged to the prod as well.

would it makes sense to open PR only with the breaking API change part? in that case new master code would not reach release branch

would it makes sense to open PR only with the breaking API change part? in that case new master code would not reach release branch
@horadla23 @lacikaaa
The tests for master ran, there were two azure failures, not related to this commit. Do you still insist to port only the API part to 2.59, or are we good to merge the whole PR to 2.59, as is?

@gergopapi2 instead of checking tests, you could have created the PR with only the API change. but if you are confident, that this won't cause any issue, I am fine with it. Still you need an admin to merge this, I can only approve.


Windows 10 add dll directory error

Hi,
It seems the add_dll_directories_from_env() call will fail if '.' enters the path list, specifically on windows 10. The issue can be solved by converting the prefix path to an absolute path before calling os.add_dll_directory(prefix_path). I have provided an example fix below. I am not 100% sure if this is the correct method though.
This is the error that occurs without the patch:
Traceback (most recent call last):
  File "C:\dev\ros2_galactic\ros2-windows\lib\demo_nodes_py\listener-script.py", line 33, in <module>
    sys.exit(load_entry_point('demo-nodes-py==0.14.3', 'console_scripts', 'listener')())
  File "C:\dev\ros2_galactic\ros2-windows\lib\demo_nodes_py\listener-script.py", line 25, in importlib_load_entry_point
    return next(matches).load()
    module = import_module(match.group('module'))
  File "c:\python38\lib\importlib\__init__.py", line 127, in import_module
    return _bootstrap._gcd_import(name[level:], package, level)
  File "<frozen importlib._bootstrap>", line 1014, in _gcd_import
  File "<frozen importlib._bootstrap>", line 991, in _find_and_load
  File "<frozen importlib._bootstrap>", line 975, in _find_and_load_unlocked
  File "<frozen importlib._bootstrap>", line 671, in _load_unlocked
  File "<frozen importlib._bootstrap_external>", line 783, in exec_module
  File "<frozen importlib._bootstrap>", line 219, in _call_with_frames_removed
  File "C:\dev\ros2_galactic\ros2-windows\Lib\site-packages\demo_nodes_py\topics\listener.py", line 16, in <module>
    from rclpy.node import Node
  File "C:\dev\ros2_galactic\ros2-windows\Lib\site-packages\rclpy\node.py", line 43, in <module>
    from rclpy.client import Client
  File "C:\dev\ros2_galactic\ros2-windows\Lib\site-packages\rclpy\client.py", line 22, in <module>
    from rclpy.impl.implementation_singleton import rclpy_implementation as _rclpy
  File "C:\dev\ros2_galactic\ros2-windows\Lib\site-packages\rclpy\impl\implementation_singleton.py", line 32, in <module>
    rclpy_implementation = import_c_library('_rclpy_pybind11', package)
  File "C:\dev\ros2_galactic\ros2-windows\Lib\site-packages\rpyutils\import_c_library.py", line 38, in import_c_library
    with add_dll_directories_from_env('PATH'):
  File "c:\python38\lib\contextlib.py", line 113, in __enter__
    return next(self.gen)
  File "C:\dev\ros2_galactic\ros2-windows\Lib\site-packages\rpyutils\add_dll_directories.py", line 50, in add_dll_directories_from_env
    dll_dir_handles.append(os.add_dll_directory(prefix_path))
  File "c:\python38\lib\os.py", line 1109, in add_dll_directory
    cookie = nt._add_dll_directory(path)
OSError: [WinError 87] The parameter is incorrect: '.'

Example fix that resolves the issue:
abs_path = os.path.abspath(prefix_path)
dll_dir_handles.append(os.add_dll_directory(abs_path))

@coalman321 Thanks for the bug report! I think your proposed fix makes sense. Would you be willing to contribute a pull request? Adding a test case here would be nice too :)

See https://github.com/ros2/rpyutils/pull/8 , where I did this change, added a test, and cleaned up the existing tests.

This was fixed by #8, so closing.


How can we I8n it ?

While it is possible to change some Strings such as confirmText, loadingTextanddoneText. How can translate the Date / time itself and other texts such as Go back``` , etc... ?

@juliomac Do you find any answer to this question? I am looking for the same thing.


How can I get vuex stroe in a noramal js file?

hello. I have a problem that has been bothering me for a long time. Trouble can help me answer it. Thanks~ The following is the wrong code, I don't know how to do it.
import { state } from<EMAIL_ADDRESS>export default {
  getState () {
    console.error(state);
  },
};

This question is available on Nuxt community (#c8296)

See https://github.com/nuxt/nuxt.js/issues/2005#issuecomment-341306250


May use helm to install cloudcore,edge-kube-api.md modified

Signed-off-by: jiawei<EMAIL_ADDRESS>
What type of PR is this?
/kind documentation

What this PR does / why we need it:
Which issue(s) this PR fixes:

Fixes #
Special notes for your reviewer:
Does this PR introduce a user-facing change?:

/hold

/remove-hold

/remove  do-not-merge/hold

/unhold

/lgtm
/approve


DNM array_api_extra depends on array_api_compat

array-api-extra has introduced a dependency to array-api-compat (https://github.com/data-apis/array-api-extra/pull/47).
DNM: the two submodules need to be repointed to the next tagged releases of array-api-compat and array-api-extra

workflows awaiting approval

@lucascolley could you unlock CI please?

DNM: the two submodules need to be repointed to the next tagged releases of array-api-compat and array-api-extra

I think this isn't so important - we can merge and then bump again when the releases are out

smoke-docs failure looks real

if you want to submit that __init__ patch I can cut a release

let's put this in to unblock gh-21783 - we can bump array-api-compat again when it cuts a release.
Thanks @crusaderky !


Correct bbcommon() docstring

The docstring for bbcommon() indicates that an output of one indicates that the bounding boxes do not overlap. However, it actually indicates that they do overlap. This corrects the docstring.

Coverage remained the same at 83.666% when pulling cef921157251ade6b37b12178e4eac303efd3834 on wtadler:master into 1852bdec0bd5edc91ec9d7cb858213e4c542495f on pysal:master.

Good catch.


Ya esta el archivo en su lugar correcto

Arregle algunas cosas que fallaron en el merge.

Codecov Report
Attention: 8 lines in your changes are missing coverage. Please review.

Comparison is base (0a09e78) 2.43% compared to head (97feb12) 2.43%.
Report is 5 commits behind head on main.

Files
Patch %
Lines

src/main/java/Entidades/Tablero/Coordenada.java
0.00%
4 Missing :warning:

src/main/java/Entidades/Tablero/MapaLineal.java
0.00%
2 Missing :warning:

...java/Entidades/Sistemas/SistemaControlGanador.java
0.00%
1 Missing :warning:

src/main/java/Entidades/Tablero/Tablero.java
0.00%
1 Missing :warning:

:exclamation: Your organization needs to install the Codecov GitHub app to enable full functionality.
Additional details and impacted files
@@           Coverage Diff           @@
##              main     #26   +/-   ##
=======================================
  Coverage     2.43%   2.43%
  Complexity       5       5
=======================================
  Files           42      42
  Lines          411     411
  Branches        21      21
=======================================
  Hits            10      10
  Misses         401     401

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


add slack platform cli

Check List

[x] Read CONTRIBUTING.md

[x] Read OSS Contribution Guide

[x] All commits are signed

This repository enables Require signed commits, so all commits must be signed

[x] Avoid force push
[x] Do only one thing in one Pull Request
[x] Execute cmdx s to scaffold code
[x] Install and execute the package and confirm if the package works well

Duplicate of https://github.com/aquaproj/aqua-registry/pull/22503

@suzuki-shunsuke oops, I didn't notice it.
Is there a reason you didn't merge it? I have motivation to merge this tool

Is there a reason you didn't merge it? I have motivation to merge this tool

I didn't merge the pull request as I didn't have any strong motivation for this tool.
I'll merge the pull request because you need it.

Merged.

https://github.com/aquaproj/aqua-registry/pull/22503

Great thanks <3

v4.241.0 is out 🎉
https://github.com/aquaproj/aqua-registry/releases/tag/v4.241.0


Stream

First pass at addressing the comments from #6.

Not totally happy with the fact that both the module and the command line helper require separate if/else logic but it was hard to handle the I/O otherwise.
Current test only verifies that it is a stream and not that the merging works correctly.
Needs documentation on the flag (--stream or -s) and the module options ({stream: true}) and should be helpful if users try to pass non FeatureCollections to the streaming version

cc: @tmcw

Polished in #8, working there


SUBMARINE-207. Exclude mysql jdbc jar from the path of workbench/lib.

What is this PR for?
Althogh mysql dependency is set to provided in maven, mysql jar is still added in the path of workbench/lib.
Our package should not include mysql jdbc jar, but provide ways to help customers get mysql jar by themselves easily.
What type of PR is it?
Improvement
What is the Jira issue?
https://issues.apache.org/jira/browse/SUBMARINE-207
How should this be tested?
https://travis-ci.org/yuanzac/hadoop-submarine/builds/591077386
Questions:

Does the licenses files need update? No
Is there breaking changes for older versions? No
Does this needs documentation? Yes

Will merge if no more comments


UnauthorizedOperation: You are not authorized to perform this operation

I have setup a new k8s cluster and all works well, in that I can create pods, i have setup helm and installed mongo, cluster is working fine.

This PR will fix your issue: https://github.com/kz8s/tack/pull/184 , I'm not sure why it's not being merged because it's a critical fix.

@tomfotherby thanks this worked perfectly.


Create a JSON file to store permission scopes required for ScubaGear

🗣 Description
Permissions file containing current SCuBAGear permissions mapping.

💭 Motivation and context
Added permissions file to allow centralized management of all SCuBAGear Microsoft Graph permissions.
https://github.com/cisagov/ScubaGear/issues/1391 is a follow up to this issue, which aims to modify the Connection module to read from the new ScubaPermissions.json file instead of hard coded values.

🧪 Testing
Testing was conducted across commercial and gcchigh tenants. Created PowerShell code that imported the JSON file and made connections to Microsoft Graph utilizing the permission scopes defined under Permission within the ScubaGearGraphScopes section of the file.

✅ Pre-approval checklist

[x] This PR has an informative and human-readable title.
[x] PR targets the correct parent branch (e.g., main or release-name) for merge.
[x] Changes are limited to a single goal - eschew scope creep!
[x] Changes are sized such that they do not touch excessive number of files.
[x] All future TODOs are captured in issues, which are referenced in code comments.
[x] These code changes follow the ScubaGear content style guide.
[x] Related issues these changes resolve are linked preferably via closing keywords.
[x] All relevant type-of-change labels added.
[x] All relevant project fields are set.
[x] All relevant repo and/or project documentation updated to reflect these changes.
[x] Unit tests added/updated to cover PowerShell and Rego changes.
[x] Functional tests added/updated to cover PowerShell and Rego changes.
[x] All relevant functional tests passed.
[x] All automated checks (e.g., linting, static analysis, unit/smoke tests) passed.

✅ Pre-merge checklist

[ ] PR passed smoke test check.

[ ] Feature branch has been rebased against changes from parent branch, as needed
Use Rebase branch button below or use this reference to rebase from the command line.

[ ] Resolved all merge conflicts on branch

[ ] Notified merge coordinator that PR is ready for merge via comment mention

✅ Post-merge checklist

[ ] Feature branch deleted after merge to clean up repository.
[ ] Verified that all checks pass on parent branch (e.g., main or release-name) after merge.

Updated leastPermissions and poshModule keys to array type.


Getting a MariaDB warning when the flyway_schema_history is first created

Which version and edition of Flyway are you using?
7.0.4
Which client are you using? (Command-line, Java API, Maven plugin, Gradle plugin)
Command-line
Which database are you using (type & version)?
MariaDB 10.3.18
Which operating system are you using?
CentOS 7
What did you do?
(Please include the content causing the issue, any relevant configuration settings, the SQL statement that failed (if relevant) and the command you ran.)
I'm runnin 'flyway baseline' on an existing database without Flyway
What did you expect to see?
No error or warning
What did you see instead?
When it creates the flyway_schema_history I'm getting the warning "WARNING: DB: Name 'flyway_schema_history_pk' ignored for PRIMARY key. (SQL State:  - Error Code: 1280)". I did some research and it's because MySQL/MariaDB (at least more recent versions, an older version of MariaDB didn't give the warning) don't allow a custom index name for the PRIMARY KEY. It will give a warning and use "PRIMARY" as the name. This is really not obvious and if it's ever possible I think "PRIMARY" should be used for the primary key name for MySQL/MariaDB or at least no name provided, which will then use the default one.

Hi I got the same error
[WARNING] DB: Name 'PK_REPORTS' ignored for PRIMARY key. (SQL State:  - Error Code: 1280)
Flyway version
7.11.0


typo

Description

Related Issue

Motivation and Context

How Has This Been Tested?

Screenshots (if appropriate):

hi @oscyp , thanks for your PR :)


suggest obsoletion, splicing factor binding

Has 3 EXP annotation, no chance of being consistent since there are ~125 "splicing factors"
All have "with" fields. Obsolete, or merge into protein binding?

@ValWood How about we discuss this more generally (rather than creating individual tickets for each term in this branch?)

OK. I was picking off a few that were especially confusing or meaningless, or had small numbers of annotation,  because getting rid of them all at once would be too much recuration work.

I would prefer a global solution.

Even though you want to do this globally we could just get rid of "splicing factor binding" now since it is clearly not a good term, and only has 3 EXP. Will prevent a new annotation.

Should we close this ?

@cmungall any thoughts ?

Did you want to close this one? we do need a global solution, but this term is particularly useless ;)
It only had 3 annotations before and now it has 8- only 3 have a with field. If you know something is a splicing factor binding, then you must know what it binds to. This term is encouraging laziness as the "with" field is not enforced for protein binding children.

Also, there is another ticket  dealing with a global solution that I forgot about:
https://github.com/geneontology/go-ontology/issues/16186


Request provided as argument can be different from actual one

First Check

[X] I added a very descriptive title to this issue.
[X] I used the GitHub search to find a similar issue and didn't find it.
[X] I searched the FastAPI documentation, with the integrated search.
[X] I already searched in Google "How to X in FastAPI" and didn't find any information.
[X] I already read and followed all the tutorial in the docs and didn't find an answer.
[X] I already checked if it is not related to FastAPI but to Pydantic.
[X] I already checked if it is not related to FastAPI but to Swagger UI.
[X] I already checked if it is not related to FastAPI but to ReDoc.

Commit to Help

[X] I commit to help with one of those options 👆

Example Code
import fastapi
import fastapi.exception_handlers
import fastapi.testclient
import starlette.exceptions

app = fastapi.FastAPI(root_path="/api", title="Custom root path problem")
router = fastapi.APIRouter(prefix="/api")

@app.exception_handler(starlette.exceptions.HTTPException)
async def http_handler(request: fastapi.Request, exception: fastapi.HTTPException):
    print("HTTP error: ", exception.detail, "; URL in the request object:", request.url)
    response = await fastapi.exception_handlers.http_exception_handler(request, exception)
    return response

@app.exception_handler(Exception)
async def exception_handler(request: fastapi.Request, exception: Exception):
    print("Exception", exception, "; URL in the request object:", request.url)
    return fastapi.responses.PlainTextResponse(str(exception), status_code=500)

@router.get("/abc")
def abc_handler():
    raise Exception("Error in ABC")

@router.get("/xyz")
def xyz_handler(request: fastapi.Request):
    print("URL in the request-as-argument:", request.url)
    return "XYZ"

app.include_router(router)

if __name__ == "__main__":
    client = fastapi.testclient.TestClient(app)
    print("Test 1: request-as-argument vs response.request")

    url = "/api/xyz"
    response = client.get(url)
    print("URL in response.request:", response.request.url)

    print("Test 2: expected/not expected errors")

    print("Test 2.1:")
    url = "/abc"
    print("Requesting", url, "; NotFound is expected because the url is wrong")
    try:
        client.get(url)
    except Exception:
        print("Exception is caught")

    print("Test 2.1:")
    url = "/api/abc"
    print("Requesting", url, "; Exception is expected because the url is right")
    try:
        client.get(url)
    except Exception:
        print("Exception is caught")

Description
The output of the example code:
Test 1: request-as-argument vs response.request
URL in the request-as-argument: http://testserver/api/api/xyz
URL in response.request: http://testserver/api/xyz
Test 2: expected/not expected errors
Test 2.1:
Requesting /abc ; NotFound is expected because the url is wrong
HTTP error:  Not Found ; URL in the request object: http://testserver/api/abc
Test 2.1:
Requesting /api/abc ; Exception is expected because the url is right
Exception Error in ABC ; URL in the request object: http://testserver/api/api/abc
Exception is caught

The output of the first test shows that the URL in the Request object that provided to the handler is different in comparison with the request provided in the response object (and the actual request I see in https://github.com/psf/requests/blob/fa1b0a367abc8488542f7ce7c02a3614ad8aa09d/requests/sessions.py#L645 ).
The second test shows the behavior of the server for the different requests and the URL the handlers sees in the direct Request object.
Wanted Solution
In such case the best behavior is to have the identical request objects everywhere for such cases. If it is not possible it is will be better if they looks like identical in every case because it is expected to receive the actual request as an argument but not reconstructed one.
Maybe the problem with Starlette but I do not thinks so since the specific app configuration shows the problem.
If a repository maintainer agree that the described behavior is a problem than I can try to find a possible solution. I do not believe that it is easy so that's why I want to discuss the issue first.)
Wanted Code
Not relevant for now.

Alternatives
Not relevant (for now?).
Operating System
Windows
Operating System Details
I believe that the OS is not important here.
FastAPI Version
0.85.0
Python Version
3.8.13
Additional Context
I believe that the issue can be related to https://github.com/tiangolo/fastapi/issues/5344

The request that is returned as part of the Response is not from FastAPI nor Starlette; it's from the requests model. The Request model as argument in your path endpoint function is from FastAPI (inherited from Starlette). They do not represent the same object and so they will not be the same object.  I've never dug too deep into the TestClient to be fair, but I would imagine it alters the behaviour of the requests package (note that this package is replaced by httpx in 0.21 of Starlette, and FastAPI is currently on 0.20.4).
Note that your application code does see the correct URLs from the parameter Request object; it's more of a TestClient implementation than anything else I'd say, and I don't think using the returned request object from the response is documented (or encouraged) behaviour.

it's from the requests model

Yes, I know but the question is how Request provided as an argument is created.

They do not represent the same object and so they will not be the same object.
I don't think using the returned request object from the response is documented (or encouraged) behaviour

But request attribute is a public one so it is allowed to read (or to be returned as an argument).

this package is replaced by httpx in 0.21 of Starlette, and FastAPI is currently on 0.20.4

Yeah, it makes the issue solution is untimely now.

Note that your application code does see the correct URLs from the parameter Request object
So do you believe that the right URL of abc_handler is /api/api/abc not /api/abc?

Yes, I know but the question is how Request provided as an argument is created.

That is basically a wrapper around the scope that is expected from a ASGI server like Starlette to handle. Uvicorn calls Starlette with 3 arguments; scope, receive, send where scope is a dictionary following the standard as described here. The Request object of Starlette is just a nice-to-have, and FastAPI injects it when you have a param of type Request declared in your path operation function.

But request attribute is a public one so it is allowed to read (or to be returned as an argument).

Yes sorry I've should've been clearer; no guarantees in the Starlette/FastAPI documentation is made on that attribute, and it isn't a Starlette/FastAPI object type.

So do you believe that the right URL of abc_handler is /api/api/abc not /api/abc?

Definitely yes. The first /api is from the root path that you've set on the application level. The second /api is from the router (which you gave a prefix of /api). The last part is just your endpoint that you've declared in your router. So, combining everything that would lead to root_path/prefix/endpoint = api/api/abc.

By the way,
import fastapi
import fastapi.testclient

app = fastapi.FastAPI(root_path="/api", title="Custom root path problem")
router = fastapi.APIRouter()

@router.get("/xyz")
def xyz_handler(request: fastapi.Request):
    print("URL in the request-as-argument:", request.url)
    return "XYZ"

app.include_router(router)

if __name__ == "__main__":
    client = fastapi.testclient.TestClient(app)
    print("Test 1: request-as-argument vs response.request")

    url = "/xyz"
    response = client.get(url)
    print("URL in response.request:", response.request.url)

shows
Test 1: request-as-argument vs response.request
URL in the request-as-argument: http://testserver/api/xyz
URL in response.request: http://testserver/xyz

On the other hand:
import fastapi
import fastapi.testclient

app = fastapi.FastAPI(title="Custom root path problem")
router = fastapi.APIRouter(prefix="/api")

@router.get("/xyz")
def xyz_handler(request: fastapi.Request):
    print("URL in the request-as-argument:", request.url)
    return "XYZ"

app.include_router(router)

if __name__ == "__main__":
    client = fastapi.testclient.TestClient(app)
    print("Test 1: request-as-argument vs response.request")

    url = "/api/xyz"
    response = client.get(url)
    print("URL in response.request:", response.request.url)

shows
Test 1: request-as-argument vs response.request
URL in the request-as-argument: http://testserver/api/xyz
URL in response.request: http://testserver/api/xyz

So the problem is somewhere between TestClient and root_path`

If you use root_path or prefix with the same values, then FastAPI will construct identical URLs in the Request object-as-parameter.
The problem is not with root_path, the problem is with how requests package is used by TestClient. And to be fair, I would argue this is still correct as root_path is meant to make FastAPI (Starlette) believe that there is a default prefix to all routes. It is used in cases where there is a reverse proxy, and will let FastAPI know that normally, people will visit an URL with root_path in it but that a reverse proxy is stripping that. So what comes into FastAPI is actually without a root_path. Now, you are using a TestClient and not a reverse proxy, so the end result (the actual URL that hits your FastAPI application) will be the same.

Thanks for the help here @JarroVGIT ! 👏  🙇
If that solves the original problem, then you can close this issue @NickVeld  ✔
Otherwise, please read carefully the docs about root_path: https://fastapi.tiangolo.com/advanced/behind-a-proxy/


embyTV for andriod v2.1.16g部分视频直链黑屏仅有声音

客户端：Emby for Android TV v2.1.16g
链接：https://t.me/SaltSoupGarage/696
问题：部分视频如白夜追凶第一季，格式4K HEVC，播放黑屏，只有声音，可以复现，其他视频无问题，切回8096端口无问题，手机客户端无问题
烦请帮忙排查下到底什么原因
log:
2024/11/24 15:08:46 [warn] 22#22: *1401 js: try to fetch alist path from /115/影视/电视剧/白夜追凶 (2017)/Season 1/白夜追凶 - S01E09 - 2160p.mp4
2024/11/24 15:08:46 [warn] 22#22: *1401 js: fetchAlistPathApi add Host: <IP_ADDRESS>:5244
2024/11/24 15:08:46 [warn] 22#22: *1401 js: redirect to: https://cdnfhnfile.115.com/xxx
2024/11/24 15:08:46 [warn] 22#22: *1401 js: routeL1Dict add: [/emby/videos/1004795/stream.mp4:ab3ebe208167d345e179dee69f378b4e:Emby/2.1.16g (Linux;Android 11) ExoPlayerLib/2.18.7] : [https://cdnfhnfile.115.com/xxx]
2024/11/24 15:08:46 [warn] 22#22: *1401 js: === redirect2Pan: /emby/videos/1004795/stream.mp4, the NJS VM is destroyed ===
2024/11/24 15:08:47 [warn] 22#22: *1401 js: redirect2Pan, UA: Emby/2.1.16g (Linux;Android 11) ExoPlayerLib/2.18.7
2024/11/24 15:08:47 [warn] 22#22: *1401 js: hit cache routeL1Dict: https://cdnfhnfile.115.com/xxx
2024/11/24 15:08:47 [warn] 22#22: *1401 js: redirect to: https://cdnfhnfile.115.com/xxxx
2024/11/24 15:08:47 [warn] 22#22: *1401 js: === redirect2Pan: /emby/videos/1004795/stream.mp4, the NJS VM is destroyed ===
2024/11/24 15:08:48 [warn] 22#22: *1401 js: redirect2Pan, UA: Emby/2.1.16g (Linux;Android 11) ExoPlayerLib/2.18.7
2024/11/24 15:08:48 [warn] 22#22: *1401 js: hit cache routeL1Dict: https://cdnfhnfile.115.com/xxxx
2024/11/24 15:08:48 [warn] 22#22: *1401 js: redirect to: https://cdnfhnfile.115.com/xxxx
2024/11/24 15:08:48 [warn] 22#22: *1401 js: === redirect2Pan: /emby/videos/1004795/stream.mp4, the NJS VM is destroyed ===
2024/11/24 15:09:15 [notice] 23#23: *1317 a client request body is buffered to a temporary file /var/cache/nginx/client_temp/0000000198, client: <IP_ADDRESS>, server: default, request: "POST /emby/Items/1004795/PlaybackInfo?format=json HTTP/1.1", host: "<IP_ADDRESS>:8091"
2024/11/24 15:09:15 [warn] 23#23: *1317 js: playbackinfo proxy uri: /proxy/emby/Items/1004795/PlaybackInfo
2024/11/24 15:09:15 [warn] 23#23: *1317 js: playbackinfo proxy query string: format=json
2024/11/24 15:09:15 [warn] 23#23: *1317 js: origin playbackinfo: {"MediaSources":[{"Protocol":"File","Id":"ab3ebe208167d345e179dee69f378b4e","Path":"/clouddrive/115/影视/电视剧/白夜追凶 (2017)/Season 1/白夜追凶 - S01E09 - 2160p.mp4","Type":"Default","Container":"mp4","Size":9090884452,"Name":"白夜追凶 - S01E09 - 2160p","IsRemote":false,"HasMixedProtocols":false,"RunTimeTicks":28843830000,"SupportsTranscoding":true,"SupportsDirectStream":false,"SupportsDirectPlay":false,"IsInfiniteStream":false,"RequiresOpening":false,"RequiresClosing":false,"RequiresLooping":false,"SupportsProbing":false,"MediaStreams":[{"Codec":"hevc","CodecTag":"hev1","Language":"und","ColorTransfer":"bt709","ColorPrimaries":"bt709","ColorSpace":"bt709","TimeBase":"1/90000","VideoRange":"SDR","DisplayTitle":"4K HEVC","IsInterlaced":false,"BitRate":25009002,"BitDepth":10,"RefFrames":1,"IsDefault":true,"IsForced":false,"IsHearingImpaired":false,"Height":1746,"Width":4096,"AverageFrameRate":60,"RealFrameRate":60,"Profile":"Main 10","Type":"Video","AspectRatio":"2048:873","Index":0,"IsExternal":false,"IsTextSubtitleStream":false,"SupportsExternalStream":false,"Protocol":"File","PixelFormat":"yuv420p10le","Level":183,"ExtendedVideoType":"None","ExtendedVideoSubType":"None","ExtendedVideoSubTypeDescription":"None","AttachmentSize":0},{"Codec":"aac","CodecTag":"mp4a","Language":"und","TimeBase":"1/44100","DisplayTitle":"AAC stereo (默认)","IsInterlaced":false,"ChannelLayout":"stereo","BitRate":189588,"Channels":2,"SampleRate":44100,"IsDefault":true,"IsForced":false,"IsHearingImpaired":false,"Profile":"LC","Type":"Audio","Index":1,"IsExternal":false,"IsTextSubtitleStream":false,"SupportsExternalStream":false,"Protocol":"File","ExtendedVideoType":"None","ExtendedVideoSubType":"None","ExtendedVideoSubTypeDescription":"None","AttachmentSize":0}],"Formats":[],"Bitrate":25214084,"RequiredHttpHeaders":{},"DirectStreamUrl":"/videos/1004795/master.m3u8?DeviceId=0d8541edfbb8904f&MediaSourceId=ab3ebe208167d345e179dee69f378b4e&PlaySessionId=26
2024/11/24 15:09:15 [warn] 23#23: *1317 js: modify direct play supports all true
2024/11/24 15:09:15 [warn] 23#23: *1317 js: modify direct play info
2024/11/24 15:09:15 [warn] 23#23: *1317 js: 4ms, transfer playbackinfo: {"MediaSources":[{"Protocol":"File","Id":"ab3ebe208167d345e179dee69f378b4e","Path":"/clouddrive/115/影视/电视剧/白夜追凶 (2017)/Season 1/白夜追凶 - S01E09 - 2160p.mp4","Type":"Default","Container":"mp4","Size":9090884452,"Name":"白夜追凶 - S01E09 - 2160p","IsRemote":false,"HasMixedProtocols":false,"RunTimeTicks":28843830000,"SupportsTranscoding":false,"SupportsDirectStream":true,"SupportsDirectPlay":true,"IsInfiniteStream":false,"RequiresOpening":false,"RequiresClosing":false,"RequiresLooping":false,"SupportsProbing":false,"MediaStreams":[{"Codec":"hevc","CodecTag":"hev1","Language":"und","ColorTransfer":"bt709","ColorPrimaries":"bt709","ColorSpace":"bt709","TimeBase":"1/90000","VideoRange":"SDR","DisplayTitle":"4K HEVC","IsInterlaced":false,"BitRate":25009002,"BitDepth":10,"RefFrames":1,"IsDefault":true,"IsForced":false,"IsHearingImpaired":false,"Height":1746,"Width":4096,"AverageFrameRate":60,"RealFrameRate":60,"Profile":"Main 10","Type":"Video","AspectRatio":"2048:873","Index":0,"IsExternal":false,"IsTextSubtitleStream":false,"SupportsExternalStream":false,"Protocol":"File","PixelFormat":"yuv420p10le","Level":183,"ExtendedVideoType":"None","ExtendedVideoSubType":"None","ExtendedVideoSubTypeDescription":"None","AttachmentSize":0},{"Codec":"aac","CodecTag":"mp4a","Language":"und","TimeBase":"1/44100","DisplayTitle":"AAC stereo (默认)","IsInterlaced":false,"ChannelLayout":"stereo","BitRate":189588,"Channels":2,"SampleRate":44100,"IsDefault":true,"IsForced":false,"IsHearingImpaired":false,"Profile":"LC","Type":"Audio","Index":1,"IsExternal":false,"IsTextSubtitleStream":false,"SupportsExternalStream":false,"Protocol":"File","ExtendedVideoType":"None","ExtendedVideoSubType":"None","ExtendedVideoSubTypeDescription":"None","AttachmentSize":0}],"Formats":[],"Bitrate":25214084,"RequiredHttpHeaders":{},"DirectStreamUrl":"/videos/1004795/stream.mp4?format=json&api_key=xxxxx&MediaSourceId=ab3ebe208167d345e
2024/11/24 15:09:15 [warn] 23#23: *1317 js: === transferPlaybackInfo: /emby/Items/1004795/PlaybackInfo, the NJS VM is destroyed ===
脚本为最新版

https://115.com/s/swhi6vh33e3?password=g992#
白夜追凶 (2017)
访问码：g992
这是出问题的视频格式，白夜追凶，第一季

因为脚本默认禁用了转码功能，官方的Emby for Android TV看来部分高级的视频编码格式/色彩空间支持也不是太好，开启服务端允许转码后，将交给原始 emby 实时转码处理(中转流量)，与直链是互斥的行为，
配置项位于emby2Alist\nginx\conf.d\config\constant-transcode.js的transcodeConfig.enable = true
// 转码配置,默认 false,将按之前逻辑禁止转码处理并移除转码选项参数,与服务端允许转码配置有相关性
const transcodeConfig = {
  enable: true, // 此大多数情况下为允许转码的总开关
  ...
}


Game menu and in-game feature

Can you add a menu in the start of the pygame window which allows to select the agents and start the game? And also a pause button  and timer while the game is on?

Hello! I have added the selection menu for the AI agents using terminal inputs.

Thanks a lot @akshaychaudhari !! :D


[docs] add examples of testing with mui with react-testing-library

Related page
https://mui.com/material-ui/guides/testing/
Kind of issue
Unclear explanations
Issue description
I already spend a day trying to figure out what is a good way to write tests with mui. From docs:

For example, when rendering a TextField your test should not need to query for the specific Material UI instance of the TextField but rather for the input, or [role="textbox"].

Okay, I should query for role=textbox, but I am not sure how I would test some mui components without data-testid. For example, password and confirm password. I can't really get first input without exact specifying exact label. Should I do it? Or should I use data-testid then? I understand that mui is not about testing, but still it can save so much time for those that are developing with mui if there was at least one example for reference.
Context
I have a form with different submit schemas and it relatively big. It consists of 6 steps (sign up, email confirmation, 4 other steps for company creation specific to our business). Just sign-up step with firebase is around 300 lines of code, so I am trying to write tests for it to ensure I wouldn't break anything in the future.
For form itself we use, zod with react-hook-form + firebase for user authentication. We also use next and next-intl for internalization
Search keywords: testing mui jest vitest react-testing-library rtl @testing-library/react

Okay, I should query for role=textbox, but I am not sure how I would test some mui components without data-testid. For example, password and confirm password. I can't really get first input without exact specifying exact label. Should I do it? Or should I use data-testid then?

@Demianeen I agree that maybe our page on testing could have a bit more practical info, in the mean time I think this part of the RTL docs answers your question: https://testing-library.com/docs/queries/about#priority


Add support for enabling nested mutation from CLI

This issue tracks the efforts needed for exposing the feature flag options through CLI commands and subsequently, serializing the same in the config file.

Proposal:
Property Name: nested-inserts-enabled
Position in the config file: This will be a property within runtime.graphql. Placing the element here implies that when the field is set to true/false, the nested inserts feature is enabled/disabled for all the entities.
One more thing to note: When the property is updated to true/false to enable/disable the feature, the engine will have to be restarted for the change to take effect.
In the first iteration, hot reloading of this flag will not be supported. This can be added iteratively in the subsequent versions (if needed).
@JerryNixon @Aniruddh25 @seantleonard @ayush3797 Please kindly share your thoughts.

In future, we might also add support for nested updates. Having a feature directly in the config for nested inserts won't scale well. Instead, we should add an object (something like nested-mutations) and then inside that object we can have objects storing properties for inserts/updates.
Also we should be creating objects for inserts/updates because we don't know what all inputs we might need from the user. In future, we might also allow them to specify the nesting limit (due to obvious payload size considerations). Then such a property can also go in the already existing json object. This is just one use case I can think of right now but more can come up as we move forward.
"nested-mutations":{
    "inserts":{
        "enabled": true,
        "nesting-limit": 10
    },
    "updates":{
        "enabled": false,
        "nesting-limit": 10
    },
}

Would this also be a possibility to reduce syntax?
"nested-mutations":{
    "*":{
        "enabled": true,
        "nesting-limit": 10
    },
    "inserts":{
        "enabled": true,
        "nesting-limit": 10
    },
    "updates":{
        "enabled": false,
        "nesting-limit": 10
    },
}

Yes, *   would help eliminate redundant entries when the same settings are to be applied for all the operations.
I am inclined to start off with just the insert section. The reason being that, nested update operation is still under evaluation.
When adding the support for update operation, the logic for interpreting * as insert + update can be introduced.
Adding it now is pre-mature for the following reasons:

* would expand to only insert
When adding support for update, a logic change would definitely be required in both CLI and engine to interpret * to be insert, update. So, we can introduce * when implementing the update operation.

100% agree.

CLI Option in the init command: --graphql.nested-insert.enabled. This would be an optional field.
Sample commands:

dab init --database-type mssql --connection-string connString --graphql.nested-insert.enabled true
dab init --database-type mssql --connection-string connString --graphql.nested-insert.enabled false

Thanks for keeping the CLI in sync. Looks great.

Based on inputs in the review comments, nested-insert was renamed to nested-create.
CLI Option: --graphql.nested-create.enabled
JSON property
     "runtime":{
      ...
       "graphql": {
           ...
           "nested-mutations": {
               "create": {
                     "enabled": true/false
                }
           }
       }
     }

Further the feature (and consequentially, the CLI option name and JSON properties) is going to be renamed since nested-mutations has a different meaning (details in the graphql specs https://github.com/graphql/graphql-spec/issues/252 ).
The renaming of the feature, CLI option, fields in the config files are tracked under the issue: #2090

Closing this issue as PR https://github.com/Azure/data-api-builder/pull/1983 is merged.


Use vanilla env to execute a subprocess

Ubuntu/Debian:
kostja@hulk:~$ cat build.ninja
rule test
    command = echo -e 'foo\nbar'
    description = Test rule
build test: test
kostja@hulk:~$ ninja test
[1/1] Test rule
-e foo
bar
kostja@hulk:~$ which echo
echo: shell built-in command

Fedora 32:
kostja@goliath~% cat ./build.ninja;
rule test
    command = echo 'foo\nbar'
    description = Test rule
build test: test
kostja@goliath~% ninja test
[1/1] Test rule
foo\nbar
kostja@goliath~% cat ./build.ninja;
rule test
    command = echo -e 'foo\nbar'
    description = Test rule
build test: test
kostja@goliath~% ninja test
[1/1] Test rule
foo
bar

In Subprocess, it's best to use /usr/bin/env instead of /bin/sh to ensure the path to built-ins does not depend on the derived environment, and thus is unstable in developer and pipleine environment.

Could you make a PR to demonstrate the changes that would be needed?

Now that I'm looking at https://pubs.opengroup.org/onlinepubs/9699919799/utilities/env.html -S is a GNU extension. Perhaps a complete, platform-agnostic fix is to derive the command line parser from https://github.com/coreutils/coreutils/blob/master/src/env.c#L536  into ninja and avoid using env...

Now that I'm looking at https://pubs.opengroup.org/onlinepubs/9699919799/utilities/env.html -S is a GNU extension.

And echo -e is what? :)
https://pubs.opengroup.org/onlinepubs/9699919799/utilities/echo.html

It is not possible to use echo portably across all POSIX systems unless both -n (as the first argument) and escape sequences are omitted.

New applications are encouraged to use printf instead of echo.

In https://www.austingroupbugs.net/view.php?id=1222 the documentation for echo is updated to clarify that it is also impossible to use echo portably, if -e is used.
Using printf solves all issues you will ever have with echo, please use it.


Error message improvements

When hitting a 400 error, the errorMessage doens't include the actual API error: { "message": "......" }

Awesome :)

Maybe we should add a test for the method performHTTPRequest? In order to check all the error handling cases.

If you're able to do it, go ahead; good idea!


Training time

We want to know what GPU you are using and how long you are training.

We used a single P40 GPU. If I recall correctly training takes a couple of days.

We used a single P40 GPU. If I recall correctly training takes a couple of days.

Thank you！


perf dashboard optimizations

This ticket is to track optimizations need to be done in perf dashboard:

[ ] Fix days trace back per user-session and file caching problems

[ ] secure the site, issue created here: https://github.com/istio/istio/issues/22406

cc @clarketm


Generalize fast sum of powers for any length, not just power-of-two

Is there a reason to do this instead of using the identity 1 + ... + x^{n-1} = (1 - x^n) / (1 - x)?

Doesn't one inversion cost ≈200 multiplications? This implementation does (2..3)*lg n multiplications (2*lg(n) when n is power of two).

But i did not know about 1 + ... + x^{n-1} = (1 - x^n) / (1 - x), thanks for pointing it out!

Cool, I'm convinced this works but I'm not sure I understand why yet, so I'm working on some notes right now.

The power-of-two recurrence is really nicely explained and it makes sense, but I don't understand why the recurrence for general n works. Is it possible to prove it?

I just rebased this on main, for good hygiene, not with an expectation to merge this soon.
In fact, only RP code require this helper, and in RP the input is always a power-of-two. For circuits, the delta is defined as an inner product of powers of a challenge with circuit-specific weights, so this whole function is not relevant.