Discussion

Made this issue for an open discussion about the Android version..
Just wanted to share my own experience related to it.

youtube-dl, phantom-js, forked-systray won't work on android, so the addons using youtube-dl and phantom-js won't work either.. youtube-dl might be possible to get working on android though (see https://github.com/yausername/youtubedl-android ), but i haven't seen any successful build for phantom-js on android, and there are no good headless browsers for android either (although web view could be theoretically used for this purpose).. imo the addons that use these should be disregarded for now, the good thing is that PMS supports custom addon lists, so a separated addon list could be published to github to be used only for the Android version (that excludes the non-working addons)

app persistence is an issue here, and pretty much the biggest issue that got me to stop working on an android version, as I can't guarantee it stays running in the background. I had some luck with using .startForegroundService() (i think) to keep the app always active on a Nexus 6P

Other then that.. there haven't been any other big blockers (that i can remember) to get this running on Android..

Oh, right, I counted how many addons use phantom-js and youtube-dl in this comment: https://github.com/sungshon/PimpMyStremio/issues/51#issuecomment-574716351

I've read your notes about the topic at the PimpMyStremio repo.

I think we should either drop support for addons that use unsupported dependencies or work around it using something remotely, like you mentioned here: https://github.com/sungshon/PimpMyStremio/issues/51#issuecomment-587516646
Some devices have settings to disable aggressive battery saving for specific apps, or there are other tricks like this that could work:

Disabling battery optimization didn't work for me so what i did was i installed a modded premium version of app cloner. Enabled the "persistent app" option so it doesn't get killed no matter how aggressive your android device might be and then clone stremio!

If none of these work, I don't think we can do much about the app persistence issue.

Btw, this pms-android project was made in a day (and +1 day to fix some bugs) as a fast POC, because people were asking for it. android-js has worked out nicely so far, but I feel a lack of control so I'm probably gonna try out nodejs-mobile soon.

pms-android project was made in a day

My android attempt didn't take too long to get working either (granted, more then one day), it's the research that took the longest. And I'm still undecided in many aspects of it..

I think we should either drop support for addons that use unsupported dependencies

I think they should be dropped too, although it would of been nice to find a suitable workaround.. But getting fixated on this like I did will only hinder development, so getting it working without those addons is the logical choice.

Some devices have settings to disable aggressive battery saving for specific apps, or there are other tricks like this that could work

I'm not entirely sure how "app cloner" does it, I have to wonder if what it's doing to the apps can't be done in the app itself also. Otherwise patching all the releases with app cloner manually might get annoying at some point.

I know it's a bit too late for this idea, but if i would make PMS use a package.json for setting module depencies, then I could:

mention the npm modules that are not white listed yet to developers (so they can open a PR to add it, and even link to a guide about how to add them for development purposes only)
filter out all the addons that use youtube-dl and phantomjs easily for this project

There are other benefits to this also.. I could only allow access to those specific modules (from package.json) to each addon.

This is also really scalable, we could make module support templates, one being no-binary which might even run in node.js playgrounds. And also platform specific modules, PMS supports internal modules, this means we can even add internal functionality as modules for addons. youtube-dl-android could be a platform specific module for example, that has a completely different API then youtube-dl for Desktop, and addons could make different code depending on which is available for them..


Composite methods records parameters should be of type []any

InsertComposite() and UpdateComposite() should accept a slice as a parameter

Cannot pass custom struct as list as []any


HelmDeploy task fails on warnings

Required Information
Entering this information will route you directly to the right team and expedite traction.
Type: Bug
Enter Task Name: HelmDeployV0
list here (V# not needed):
https://github.com/microsoft/azure-pipelines-tasks/tree/master/Tasks/HelmDeployV0
Environment

Server - Azure Pipeline
Carvana, Carvana.Projects pipeline summary - https://carvanadev.visualstudio.com/Carvana.Projects/_build/results?buildId=639141&view=logs&j=fd490c07-0b22-5182-fac9-6d67fe1e939b

Agent - Hosted or Private:
Hosted agent, provide agent queue name: Azure Pipelines, ubuntu-20.04

Issue Description
Using Helm Deploy task with upgrade command on K8s v1.19.9 results in warning from K8s which fails the task.
When deploying image on K8s v1.19.9 using Helm task and using "apiVersion: extensions/v1beta1" for ingress the task fails. As per K8s  apiVersion: extensions/v1beta1 is deprecated since V1.14+ and will be removed from V1.22+
This results in a warning from K8s client when deploying on K8s v1.19.9 which then results in failed task.
This is not the correct expectation.
With v1.19 K8s has started sending warning  back to api-clients refer
https://kubernetes.io/blog/2020/09/03/warnings/
https://github.com/kubernetes/enhancements/tree/master/keps/sig-api-machinery/1693-warnings#client-side
When warnings are written to stderr by K8s client without --warnings-as-errors flag the task should not fail but continue with warning logged to output. Using "continue on error" is not an option as there could be valid errors that will then be ignored. Updating ingress to latest apiversion is also not an option at this time but is in plans later.
Proposed solution options:
Solution 1 :
Use error code returned from helm/K8s command rather than failing when anything is written to stderr.
Change line 173 helm.ts     if (execResult.code != tl.TaskResult.Succeeded || !!execResult.error || (failOnStderr && !!execResult.stderr))
Solution 2 :
Filter out warning from stderr and only use errors for failing task
Solution 3:
Provide a new flag in task --warnings-as-errors which when checked should fail the task for warnings else not.
Task logs
Starting: Helm Deploy EASTUS2 DEV
==============================================================================
Task         : Package and deploy Helm charts
Description  : Deploy, configure, update a Kubernetes cluster in Azure Container Service by running helm commands
Version      : 0.183.0
Author       : Microsoft Corporation
Help         : https://aka.ms/azpipes-helm-tsg
==============================================================================
/opt/hostedtoolcache/helm/3.4.0/x64/linux-amd64/helm upgrade --namespace edge --install --values /home/vsts/work/1/s/Deployments/customerjourney/values-dev.yaml --set host=treeni-eng0-eastus2.zagforward.com,clusterRegion=eastus2,clusterName=eng0,webpackEntry=v3.index --wait carvana-edge-customerjourney /home/vsts/work/1/s/Deployments/customerjourney
Release "carvana-edge-customerjourney" has been upgraded. Happy Helming!
W0714 04:27:08.569634    3416 warnings.go:67] extensions/v1beta1 Ingress is deprecated in v1.14+, unavailable in v1.22+; use networking.k8s.io/v1 Ingress
NAME: carvana-edge-customerjourney
W0714 04:27:08.578832    3416 warnings.go:67] extensions/v1beta1 Ingress is deprecated in v1.14+, unavailable in v1.22+; use networking.k8s.io/v1 Ingress
LAST DEPLOYED: Wed Jul 14 04:27:07 2021
W0714 04:27:08.603574    3416 warnings.go:67] extensions/v1beta1 Ingress is deprecated in v1.14+, unavailable in v1.22+; use networking.k8s.io/v1 Ingress
NAMESPACE: edge
STATUS: deployed
REVISION: 133
TEST SUITE: None
**##[error]W0714 04:27:08.569634    3416 warnings.go:67] extensions/v1beta1 Ingress is deprecated in v1.14+, unavailable in v1.22+; use networking.k8s.io/v1 Ingress
W0714 04:27:08.578832    3416 warnings.go:67] extensions/v1beta1 Ingress is deprecated in v1.14+, unavailable in v1.22+; use networking.k8s.io/v1 Ingress
W0714 04:27:08.603574    3416 warnings.go:67] extensions/v1beta1 Ingress is deprecated in v1.14+, unavailable in v1.22+; use networking.k8s.io/v1 Ingress**

Finishing: Helm Deploy EASTUS2 DEV

Error logs

Any update folks??


[Feature Request]: Support pnpm package manager

Describe your request
We currently only support npm and yarn. pnpm is the new hotness, so we should support it as well.
Possible Implementation
The logic for which package manager commands to use lives in src/queries/getPackageManager.ts, so we would just need to add it as an option in the getPackageManager function and then add it's corresponding commands to the PACKAGE_MANAGER object in that file.
Also, many of the pnpm commands actually just fall through to using npm under the hood, so the implementation details should be very similar.
Code of Conduct

[X] I agree to follow this project's Code of Conduct

any progress on this?


Bug: Formatter removing some generics

It seems to only be generics on the right side of the Type declaration, or in the return declaration of a function. This is the only file I'm having problems with so far.
Normal prettier does not have this same behavior. It keeps the generics.
Command and rc File
prettier --write .

{
  "plugins": ["prettier-plugin-svelte", "prettier-plugin-tailwindcss"],
  "overrides": [{ "files": "*.svelte", "options": { "parser": "svelte" } }],
  "tabWidth": 2,
  "semi": false,
  "arrowParens": "avoid",
  "singleAttributePerLine": true,
  "svelteSortOrder": "scripts-options-markup-styles"
}

Input:
export const Some = <T>(value: T): Some<T> => ({ value })
export const None = (): None => ({})
export const isSome = <T>(option: Option<T>): option is Some<T> =>
  "value" in option
export const isNone = <T>(option: Option<T>): option is None =>
  !("value" in option)

export const Ok = <T>(value: T): Ok<T> => ({ ok: true, value })
export const Err = <E>(error: E): Err<E> => ({ ok: false, error })
export const isOk = <T, E>(result: Result<T, E>): result is Ok<T> => result.ok
export const isErr = <T, E>(result: Result<T, E>): result is Err<E> =>
  !result.ok

export async function rfetch(
  input: string | URL | globalThis.Request,
  init?: RequestInit & { fetchOverride?: Function },
): Promise<Result<Response, DOMException | TypeError | unknown>>

Output:
export const Some = <T>(value: T): Some => ({ value })
export const None = (): None => ({})
export const isSome = <T>(option: Option): option is Some => "value" in option
export const isNone = <T>(option: Option): option is None =>
  !("value" in option)

export const Ok = <T>(value: T): Ok => ({ ok: true, value })
export const Err = <E>(error: E): Err => ({ ok: false, error })
export const isOk = <T, E>(result: Result): result is Ok => result.ok
export const isErr = <T, E>(result: Result): result is Err => !result.ok

export async function rfetch(
  input: string | URL | globalThis.Request,
  init?: RequestInit & { fetchOverride?: Function },
): Promise

Expected output:
The expected output should not have all the generics removed.
Why?
Because it breaks the typescript code, as seen in this screenshot:

Hi Peyton,
Thanks for creating the ticket. Could you please confirm which version of @marketgridsys/prettier you are using for the input file and the parser or file extension.
If I format the provided input with the typescript parser it is fine and it does not lose the generics.

"devDependencies": {
    "@marketgridsys/prettier": "3.4.0-mgs.2",
    ...

The file is result.ts and I uploaded the entire file here for your reference.
result.ts.zip

I'm struggling to reproduce this.
Could you run prettier --version. If prettier is aliased to<EMAIL_ADDRESS>this should print 3.4.0-mgs.2. Alternatively you can run which prettier to see which directory it points at.
Please run prettier --debug-level debug --debug-check path/to/result.ts and post the results here.

Hi Alex,
For some reason prettier in my terminal returns command not found. I just run it with my pnpm run format script, which is prettier --write .
I did some digging and the problem is with how your fork interacts with prettier-plugin-tailwindcss. When I exclude that from .prettierrc.json the bug goes away. The normal prettier formatter doesn't have this problem, so it's a compatibility problem with your fork and the plugin. If this is outside of what you're willing to fix I can just not use the plugin.
I created a repo here that replicates this for you. There are 3 different branches, make sure to run pnpm i when switching.
https://gitlab.com/peytonhanel/marketgridsys-prettier-bug

@PeytonHanel  Looking at the pnpm lock file I can see that (the base/vanilla) prettier is a dependency of prettier-plugin-tailwindcss. This plugin caused the formatting issue because it was using it's own version of prettier. In order to get the plugin to use the @marketgridsys/prettier version of prettier you need to install @marketgridsys/prettier aliased as prettier.
When you install @marketgridsys/prettier with pnpm you can run this command to alias it to prettier:
pnpm i prettier@npm:@marketgridsys/prettier

Remove the unaliased version with:
pnpm remove @marketgridsys/prettier

I've tested this fix and it resolves the formatting issue where the generics dissapear.


Add v1

https://github.com/googleapis/googleapis/tree/master/google/cloud/securitycenter/v1

Obsolete. V1 is already in master.


Add "lazy" version of maybe

For discussion first, I'll add comments if we're ok with this.
Basically, this thunks the alternative value, so if you don't want to resort to writing a case explicitly you can still use maybe-style folds in cases where it might be expensive to do so.

:+1: Could you just add some comments though, please?

:book:

Do these read alright?

:shipit:


Adapter stays Red in Iobroker and starting ober and over again

hi
I have installed the adapter in the iobroker and it remains red in the status.  Or rather, it kept starting over and over again.
The log contains the following messages

Cannot read property 'status' of undefined
Cannot read property 'status' of undefined AT /opt/iobroker/node_modules/iobroker.govee/main.js:135:27 at processTicksAndRejections (internal/process/task_queues.js:97:5)
unhandled promise rejection: Cannot read property 'status' of
Unhandled promise rejection.  This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch().

I created the API key.  Tested with and without a connected device in the app.
Currently I can't check my version of Java etc. because I'm on the road.  Maybe someone has a nice tip?!
Regards
Sascha

Hey @Sash7770,
I am aware of the problems with the adapter.
Unfortunately I haven't had time to fix this yet.
I am currently working on a new version.
Best regards
Nick


Log an exception if the app is terminated by the OS (Android) to free up memory.

Use case
TLDR; logging errors if the app is terminated by Android to free up memory would help us fix errors in the wild.
There has been a long-standing issue with image_picker that has been hard to diagnose. @stuartmorgan has shed some light on this issue; Android will sometimes terminate the Flutter app to free up memory. This can occur when a separate intent/activity is in the foreground. There are no errors logged when this occurs.
https://github.com/flutter/flutter/issues/48016#issuecomment-971918009
Proposal
Throw an error if the app is destroyed to clear up memory.
Notes
I know very little about Android activities and processes, these shed a little light on where and when they are destroyed for memory.
https://developer.android.com/guide/components/activities/activity-lifecycle#asem
https://developer.android.com/guide/components/activities/process-lifecycle
NB: I have logged a similar request with the crashlytics team in case there's something similar needed for them.
https://github.com/firebase/firebase-android-sdk/issues/3150
I have logged a similar request with the crashlytics team
https://github.com/firebase/firebase-android-sdk/issues/3150

Throw an error if the app is destroyed to clear up memory.

There is no reliable way to do this.
@blasten Do you happen to know how useful onDestroy would be for this purpose? The lifecycle diagrams suggest that it would never be called in this situation (just as on iOS), while the onDestroy docs are much more vague ("This can happen [...] because the system is temporarily destroying this instance of the activity to save space." but then "There are situations where the system will simply kill the activity's hosting process without calling this method (or any others) in it"). So it's unclear to me if best-effort logging would ever actually fire in practice.

Keeping this issue open for further insights from the team.

I agree with Stuart that there isn't a reliable way to do this. Closing as cant-fix.

In particular

There are situations where the system will simply kill the activity's hosting process without calling this method (or any others) in it, so it should not be used to do things that are intended to remain around after the process goes away.

https://developer.android.com/reference/android/app/Activity#onDestroy()

And we don't know in onDestroy why we're getting destroyed...


Add generate_ pattern to allowed pipelines

Fixes #112.
Can't really be tested until the update mentioned in that issue adds those pipelines. @mattdawkins whenever that happens please let me know.

As discussed with @mattdawkins, the menu for this in the front-end should be something like "Utility" instead of "Generate".

Tested running the new pipeline locally and it worked without issue.


Replace rental with self_cell

Before:
$ cargo build
... 64 dependencies
Finished dev [unoptimized + debuginfo] target(s) in 45.76s
After:
$ cargo build
... 54 dependencies
Finished dev [unoptimized + debuginfo] target(s) in 25.65s
That's 78% faster in this very rough test. But the 10 fewer dependencies make this seem plausible, especially as this gets rid of building syn.
Disclaimer I'm the author of self_cell.
I ran cargo test and all non skipped tests passed before and after.
Note, rental is no longer maintained and ouroboros still carries the compile time cost of proc macros. Plus https://github.com/scpwiki/wikijump/pull/270#pullrequestreview-655216432 here they noticed a perf boost over ouroboros, I'd greatly appreciate if you could benchmark before and after and report your findings here.

Friendly ping what's the status of this?

Friendly ping what's the status of this?

Thank you very much for the contribution but we've decided to go with #47. self_cell looks interesting but ouroboros seems to have received more scrutiny and production use so we've decided to use it.


Add namespace when calling pods_by_resource

Description
The namespace is needed to be passed as a parameter when calling pods_by_resource of kubectl client.
Impacted tests: single_process_type, prometheus_traffic Also adding non-default namespace to respective spec tests.
Issues:
Refs: #2030
How has this been tested:

[ ] Covered by existing integration testing
[ ] Added integration testing to cover
[ ] Verified all A/C passes

[ ] develop
[ ] master
[ ] tag/other branch

[ ] Test environment

[ ] Shared Packet K8s cluster
[ ] New Packet K8s cluster
[ ] Kind cluster

[ ] Have not tested

Types of changes:

[ ] Bug fix (non-breaking change which fixes an issue)
[ ] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to not work as expected)
[ ] Documentation update

Checklist:
Documentation

[ ] My change requires a change to the documentation.
[ ] I have updated the documentation accordingly.
[ ] No updates required.

Code Review

[ ] Does the test handle fatal exceptions, ie. rescue block

Issue

[ ] Tasks in issue are checked off

Verified by github action
https://github.com/cnti-testcatalog/testsuite/actions/runs/9407220616


Update baselines missed in PR

#51580 had not been updated in a while and has some baseline changes.
I am not sure the behavior of intraExpressionInferencesJsx is desirable here. @Andarist

It's definitely not desirable - I've been looking at it and it seems like #51580 and #52837 conflict semantically, to the tune of partially re-breaking what #52837 fixed. (Also the null thing, but that's just a change we made recently.)
In the meantime, we can revert #51580 to put main right again, imo.

(Specifically, by no longer passing in the checkMode, we're missing the intra-expression sites in the nested expression. We should probably be specifying the checkMode, but be skipping the error reporting when checkMode isn't Normal, and I did a quick test of that - diff is here, but I haven't had time to check if all those baseline changes are OK)

Sent #53283.

We should probably be specifying the checkMode, but be skipping the error reporting when checkMode isn't Normal, and I did a quick test of that - diff is here - but I haven't had time to check if all those baseline changes are OK; they may just be highlighting even more scenarios where CheckMode isn't being propagated where it should be, ungh)

I took a look at those changes and I think that some of them are not desired.


chore: tweaks

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

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


feat: add scaffold impl of EthFilter API handler

Closes #1247
Th previous PR for this issue hasn't been merged, I think I deleted the branch too fast on my side.... Sorry about that.

oops :)
ty for reopening

Codecov Report

Merging #1270 (bd33611) into main (a58cf8a) will decrease coverage by 0.06%.
The diff coverage is 0.00%.

: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
@@            Coverage Diff             @@
##             main    #1270      +/-   ##
==========================================
- Coverage   76.42%   76.36%   -0.06%
==========================================
  Files         342      343       +1
  Lines       38385    38412      +27
==========================================
- Hits        29334    29333       -1
- Misses       9051     9079      +28

Flag
Coverage Δ

unit-tests
76.36% <0.00%> (-0.06%)
:arrow_down:

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

Impacted Files
Coverage Δ

crates/rpc/rpc/src/eth/filter.rs
0.00% <0.00%> (ø)

crates/rpc/rpc/src/eth/pubsub.rs
0.00% <ø> (ø)

crates/rpc/rpc/src/lib.rs
100.00% <ø> (ø)

crates/net/network/src/peers/manager.rs
82.44% <0.00%> (-0.09%)
:arrow_down:

crates/net/discv4/src/lib.rs
66.41% <0.00%> (-0.08%)
:arrow_down:

crates/net/eth-wire/src/capability.rs
61.32% <0.00%> (+0.94%)
:arrow_up:

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


Run tests with Docker

Use Docker for testing, which makes local development easier and allow tests to run seamlessly on Travis.

Sorry I just noticed that tests are run for different versions of Ubuntu. I'll fix that and open a new PR.


Devel

Issue

Description

Screenshots (if appropriate):

Types of changes

[ ] Bug fix (non-breaking change which fixes an issue)
[ ] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to not work as expected)
[ ] Documentation

Checklist:

[x] My code follows the code style of this project.
[ ] My change requires a change to the documentation.
[ ] I have updated the documentation accordingly.

Codecov Report

Merging #48 into master will not change coverage.
The diff coverage is 0%.

@@         Coverage Diff          @@
##           master   #48   +/-   ##
====================================
  Coverage       0%    0%
====================================
  Files           8    10    +2
  Lines          32    71   +39
  Branches        0     1    +1
====================================
- Misses         32    70   +38
- Partials        0     1    +1

Impacted Files
Coverage Δ

app/scripts/graphs.js
0% <ø> (ø)
:arrow_up:

app/scripts/badges.js
0% <ø> (ø)
:arrow_up:

app/scripts/loading.js
0% <0%> (ø)

app/scripts/contentscript.js
0% <0%> (ø)
:arrow_up:

app/scripts/button.js
0% <0%> (ø)

Continue to review full report at Codecov.

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


Update "static" docker image versions

Pull requests:

https://github.com/Senzing/dockerhub-util/pull/110


Bug in error message from dynamic_rnn

When using inputs of dimention 2 instead of 3 I get following error
"ValueError: Dimension must be 2 but is 3 for 'transpose' "
I believe the numbers in the error message are switched.

This may help you:
https://github.com/sherjilozair/char-rnn-tensorflow/issues/58#issuecomment-257380780

Fogelton, does that advice solve your problem?

I did not have any problem, I just reported a bug in tensorflow, that those two numbers are switched in the error message. I found out so I reported it.

It has been 14 days with no activity and this issue has an assignee.Please update the label and/or status accordingly.

Ping. @ebrevdo , any updates?

Nagging Assignee @ebrevdo: It has been 14 days with no activity and this issue has an assignee. Please update the label and/or status accordingly.

I think this can be closed.


History.length

It would be great to have some way of inspecting the history, I'd like to be able to do something like the following:
if (history.length > 0) {
  history.goBack();
} else {
  // display something else
}

Length would be enough, but others might find a method to return the history stack itself useful? Perhaps I'm missing an API - but really can't see anything exposed in the docs.

Some earlier discussions: https://github.com/reactjs/react-router/pull/843, https://github.com/mjackson/history/issues/89, https://github.com/reactjs/react-router/issues/767, https://github.com/reactjs/react-router/pull/1376#issuecomment-118185067.
Unfortunately there's a lot of complexity in doing this right now, so we don't have a really great way forward on this.


Making the from parameter in the build bundle task optional

Proposed Changes

Making the from parameter in the build bundle task optional

Added a unit test for BundleBuilder. Also the com.ca.apim.gateway.capublisherplugin.CAGatewayDeveloperTest#testMultiProject should test this because gateway-developer-plugin/src/test/resources/multi-project/project-c does not contain a src folder.


change reg_read interface to not require importing arch module

it is unintuitive to have import the arch module to use the reg_read interface.

Fixed


Turtlebot4 model not showing in gazebo simulation after update

Robot Model
Turtlebot4 Standard
ROS distro
Humble
Networking Configuration
Discovery Server
OS
Ubuntu 22.04
Built from source or installed?
Installed
Package version
1.0.2-1jammy.20240415.175517
Expected behaviour
I expect the turtlebot4 model to launch, it launched before when the problem was fixed, but now after another update it does not work
Actual behaviour
Turtlebot4 does not show up in the simulation
Error messages
[ruby $(which ign) gazebo-1] [GUI] [Wrn] [Application.cc:797] [QT] file::/TransformControl/TransformControl.qml:104:3: QML Connections: Implicitly defined onFoo properties in Connections are deprecated. Use this syntax instead: function onFoo(<arguments>) { ... }
[ruby $(which ign) gazebo-1] [GUI] [Wrn] [Application.cc:797] [QT] file::/TransformControl/TransformControl.qml:99:3: QML Connections: Implicitly defined onFoo properties in Connections are deprecated. Use this syntax instead: function onFoo(<arguments>) { ... }
[ruby $(which ign) gazebo-1] [GUI] [Wrn] [Application.cc:797] [QT] file::/TransformControl/TransformControl.qml:94:3: QML Connections: Implicitly defined onFoo properties in Connections are deprecated. Use this syntax instead: function onFoo(<arguments>) { ... }
[ruby $(which ign) gazebo-1] [GUI] [Wrn] [Application.cc:797] [QT] file::/TransformControl/TransformControl.qml:89:3: QML Connections: Implicitly defined onFoo properties in Connections are deprecated. Use this syntax instead: function onFoo(<arguments>) { ... }
[ruby $(which ign) gazebo-1] [GUI] [Wrn] [Application.cc:797] [QT] file::/Create3Hmi/Create3Hmi.qml:49:7: Unable to assign [undefined] to QString
[ruby $(which ign) gazebo-1] [GUI] [Wrn] [Application.cc:797] [QT] QObject::connect: No such signal ignition::gui::Create3Hmi::AddMsg(QString)
[ruby $(which ign) gazebo-1] [GUI] [Wrn] [Application.cc:797] [QT] file::/WorldStats/WorldStats.qml:53:3: QML RowLayout: Binding loop detected for property "x"
[ruby $(which ign) gazebo-1] [GUI] [Wrn] [Ogre2Camera.cc:390] Ogre2Camera::SetVisibilityMask: Mask bits c0000000 are set but will be ignored as they conflict with the reserved bits used internally by the ogre2 backend.
[ruby $(which ign) gazebo-1] [Wrn] [Model.hh:69] Skipping serialization / deserialization for models with //pose/@relative_to attribute.
[ruby $(which ign) gazebo-1] [Wrn] [Component.hh:144] Trying to serialize component with data type [N3sdf3v125WorldE], which doesn't have `operator<<`. Component will not be serialized.
[ruby $(which ign) gazebo-1] [Wrn] [Model.hh:69] Skipping serialization / deserialization for models with //pose/@relative_to attribute.
[ruby $(which ign) gazebo-1] [GUI] [Wrn] [Component.hh:189] Trying to deserialize component with data type [N3sdf3v125WorldE], which doesn't have `operator>>`. Component will not be deserialized.
[ruby $(which ign) gazebo-1] [GUI] [Wrn] [Model.hh:98] Unable to deserialize sdf::Model
[ruby $(which ign) gazebo-1] [GUI] [Wrn] [Model.hh:98] Unable to deserialize sdf::Model
[ruby $(which ign) gazebo-1] [GUI] [Wrn] [Model.hh:98] Unable to deserialize sdf::Model
[ruby $(which ign) gazebo-1] [GUI] [Wrn] [Model.hh:98] Unable to deserialize sdf::Model
[ruby $(which ign) gazebo-1] [GUI] [Wrn] [Model.hh:98] Unable to deserialize sdf::Model
[ruby $(which ign) gazebo-1] [GUI] [Wrn] [Model.hh:98] Unable to deserialize sdf::Model

To Reproduce
ros2 launch turtlebot4_ignition_bringup ignition.launch.py
Other notes
I also changed my computer from simple discovery to discovery server, but I do not see why this would affect

Switching your computer to discovery server would definitely impact the simulation. Your networking settings that you choose will impact any ROS node that is launched including the nodes that are used for the simulation. These are not Turtlebot4 specific settings but rather ROS 2 DDS settings. We do our best with Turtlebot4 to manage the settings in a digestible way that is easy to set up but they will still impact any node that is launched. Selecting discovery server or simple discovery indicates how node discovery will work for all nodes that are launched. Therefore, with discovery server all of your simulator nodes are trying to connect with the indicated server in order to find each other and connect the topics / services etc as necessary. It so happens within the context of Turtlebot4 that whenever you have a discovery server it is generally hosted on the robot but the core concept of a discovery server has no such restriction. It is a valid configuration for someone to run a simulation using a discovery server for node discovery although we do not see any reason to do that in this case.
I will also mention that when I talk about having selected DDS settings I am referring to the environment variables that are set in any given terminal or script. We generally instruct for you to use the .bashrc to set your environment variables such that they will be set the same on every terminal that you open. This generally looks like either sourcing /etc/turtlebot4/setup.bash or /etc/turtlebot4_discovery/setup.bash in your .bashrc.
You can choose to modify the .bashrc before you run the simulation so that you are sourcing the settings for simple discovery in those terminals (just make sure to open your terminal after .bashrc is updated) or you can manually change the environment variables in any terminal that you are going to use for simulation.

This issue is being closed due to inactivity. If you are still experiencing the issue, feel free to reopen this ticket when you are ready to continue the troubleshooting process.


QUIC: QLOG Draft Implementation

QUIC: QLOG Draft Implementation
This is an implementation of the current QLOG draft intended to be of use to those hacking on our QUIC implementation.
An example trace loaded into qvis (namely, multistream script 2):

(For those that just want to take a quick look at what kind of output this can provide when used with qvis, here is an archive of a set of logfiles produced by running quic_multistream_test.)
Using QLOG

Apply the patches to your branch using the instructions under “Getting the patches” below.
Build with enable-unstable-qlog
Set environment variable QLOGDIR= to a directory where logs should be stored
Set environment variable QFILTER='*' to enable all events
Run any program which uses QUIC in the built libssl (e.g. quic_multistream_test)
Log files will appear in the specified directory. The JSON-SEQ format is used.
You can load these log files into qvis.

For details, see:

QUIC: Debugging and Tracing
QLOG Design Document

The Debugging and Tracing document above also includes guidance on using packet captures and keylogs for debugging purposes, as well as on how to use QLOG.
Implementation Status
Currently supported events:

connectivity:connection_started
connectivity:connection_state_updated
connectivity:connection_closed
transport:parameters_set
transport:packet_sent
transport:packet_received
recovery:packet_lost

These have been chosen as having the highest immediate utility. More will be added over time.
This implementation tracks the version of QLOG supported by qvis.
PR Status
Not intended for merge at this time as the format remains somewhat unstable.
Therefore, developers hacking on QUIC should focus on using this code to enhance their productivity, rather than reviewing this PR — though reviews are of course welcome.
We discussed the possibility of experimental feature branches (wherein incomplete features are hidden behind configure options and do not have any kind of public stability guarantee) at the Committers F2F and this would be helpful for maintaining features like this in the future.
Getting the patches
This branch will be continuously maintained for the benefit of those developing QUIC. The recommended usage pattern is for developers to cherry-pick the patches onto a branch they are developing on in order to take advantage of QLOG and enhance their productivity when troubleshooting and profiling our QUIC implementation.
The patches live at git@github.com:hlandau/openssl.git in branch quic-qlog. For convenience, the base for these patches is always kept stored as a ref at branch quic-qlog-base. This makes for easy cherry-picking (quic-qlog-base...quic-qlog).
A script called gitqlog has been developed to automate the application of these patches to arbitrary branches, and the removal of those patches again (e.g. before publishing a PR). You do not have to use this script, but reading the script may give some inspiration as to your own preferred workflow and applicable git commands. Usage of the script is at your own risk, as git environments do vary.
Let's walk through some example use cases for gitqlog:

Applying. You want to apply the current published version of the patches to your current development branch.
You run gitqlog apply.
This is equivalent to:

Making sure you don't already have the QLOG commits applied:
git log --oneline -n 1000 | grep '^QLOG: '

Fetching the commits into a dummy branch (overwriting any existing ref with the same name):
$ git fetch git@github.com:hlandau/openssl.git \
   +quic-qlog:TEMP-quic-qlog +quic-qlog-base:TEMP-quic-qlog-base

Cherry picking the commits onto the current branch:
$ git cherry-pick --keep-redundant-commits \
   TEMP-quic-qlog-base...TEMP-quic-qlog

gitqlog apply does this all for you and does the safety check to ensure you don't already have the commits applied for you.

Dropping. You want to remove the QLOG patches from your branch.
You run gitqlog drop.
This is equivalent to:

Running git rebase -i ${COMMIT}^, where $COMMIT is the oldest commit the commit message of which begins with QLOG: , and changing all lines in that file which begin with pick ... QLOG:  to start with drop.

Updating. You already have the QLOG patches applied and want to update them to the latest version.
Run gitqlog drop followed by gitqlog apply.

Composition of the PR
For those that do choose to review this PR, this PR is intended to be reviewable on a commit-by-commit basis.
All commits in this PR will always have a commit message starting with QLOG:  to make it easy for people to apply and then remove these commits from their own branches. The only exception are some trivial fixes discovered during development of this functionality which will also be raised in a separate PR imminently.
6336a407e7 (self/quic-qlog) QLOG: Add debugging guide
743035f9fe QLOG: Events: Implement transport:packet_received
b319709767 QLOG: Events: Implement transport:packet_sent
f35276878f QLOG: Wiring: QUIC QTX
1c57112b58 QLOG: QUIC MULTISTREAM TEST: Pass script name to QLOG
e1098334d8 QLOG: Wire title-setting code to QUIC_CHANNEL and SSL_CTX
7227b5fe79 QLOG: QUIC CHANNEL: Allow a log title to be specified
2a1472a06c QLOG: Events: Implement recovery:packet_lost
8d855c4eb8 QLOG: Wiring: QUIC TXPIM: Record the packet type
20375c0e25 QLOG: Wiring: QUIC FIFD
6ae8c6af16 QLOG: Wiring: QUIC QRX: Report the datagram ID from the DEMUX
5611e82f6a QLOG: Wiring: QUIC DEMUX: Report a monotonically increasing datagram ID
53ba0d4cad QLOG: Events: Implement connectivity:connection_closed
440032c448 QLOG: Events: Implement transport:parameters_set
a35ca594a2 QLOG: Events: Implement connectivity:connection_state_updated
0cfa07219a QLOG: Events: Implement connectivity:connection_started
26ce928edb QLOG: Wiring: QUIC CHANNEL
70ed273f9f QLOG: Frontend: Implementation
571105fad2 QLOG: Frontend: API Definition
4f50bbe045 QLOG: Frontend: Design
eda88cac21 QLOG: JSON Encoder: Tests
663140c3cc QLOG: JSON Encoder: Implementation
a452ea2a4a QLOG: Configuration
52b5c87b23 QLOG: JSON Encoder: Design
8793acf93b QUIC MULTISTREAM TEST: Correct trivial bug
4d0cdabc45 QUIC CHANNEL: Add missing duplicate TPARAM handling cases

Note we can't merge this until we've created the 3.2 branch.

This is nice and would be good to see in the mainline code. Just a couple of nits noted in reviewing.

@t-j-h
Of course, QLOG is still a draft. Strictly speaking our policy probably doesn't prevent us putting this in because it's not a cryptographic algorithm (it's not like ad-hoc printf tracing output is governed by a standard either).
However I've actually become more conservative about this during the implementation of this PR as there are still a few nits and inconsistencies in the spec that I think will need to be worked out. I hope to find the time to write to the QUIC ML to get these addressed.
Again, we discussed the notion of experimental feature flags without stability guarantees at the committers F2F and this probably is an area we need to address strategically in the future. (But if we deem an enable-unstable-qlog flag to be adequate for now, well, I'm not going to say no...)
As the above indicates I've developed this at least for our own use for the time being. Not having this has already cost us too much productivity.

For those wanting to use the packet capture based methods discussed in the Debugging and Tracing document, this tool of mine may prove useful:
https://gist.github.com/hlandau/f67b4065909913ed31da1500dc4a8719

Perhaps we should have an "Experimental Features" technical policy that lets us carve things out from our stability guarantees. Any interest in this?

Updated to rename JSON_ENC.

Updated after port refactor.

@t-j-h This is already gated by a configure flag enable-unstable-qlog. I don't mind it going in as is subject to that. Thoughts?

@hlandau this is not something that should require any additional actions on the part of a user to be able to enable - it is sufficiently useful and widespread used that it should be a core always-enabled capability - my view hasn't changed on this.
That the format perhaps might change over time is not an issue that should require us to leave the feature out or require a developer to jump through extra hoops to get this enabled.

@hlandau does the current implementation impose any overhead if built in but not used?

@hlandau does the current implementation impose any overhead if built in but not used?

No.

That the format perhaps might change over time is not an issue that should require us to leave the feature out or require a developer to jump through extra hoops to get this enabled.

The format has already changed. This doesn't even implement the current draft revision because qvis doesn't implement that. So this implements a format which is already obsolete because the tool which is actually useful only supports an even older draft revision.
I don't understand the attitude here. "Let's ship this and randomly break it in an incompatible way later" is the diametrical opposite of every principle ordinarily underlying this project.

Yeah, I actually do not understand why do we absolutely must enable it by default. Of course it is very much useful to many of our users but having to acknowledge that the format will change in future releases by configuring with enable-unstable-qlog for now until the RFC is published - I do not see a problem with that.
Having it as unstable and off-by-default in 3.3 of course does not mean that qlog cannot be enabled by default in a future release once the format is stable.

I'd suggest merging this as is - i.e. with the off-by-default configure flag and handling whether it should be always on by default as a separate follow up OTC (or OMC?) decision.

I have no objection to merging this as-is.

Rebased and ready for review.

Added a CHANGES entry.

OTC: Can we confirm that we are ok to merge this PR based on a draft version of the spec?

We will have a brief discussion at OTC on if this is OK to go in.
This is still eligible for review and reviews are still sought.

Updated

OTC: The draft version supported by qvis is OK to be supported. This PR should document the option in INSTALL.md and openssl-qlog(7) manpage. The environment variable needs to be documented in manual pages as well. The documentation must make it clear that the version supported can be updated in incompatible way in a future release.

I thought this exchange was a valuable perspective on QLOG and how it is a little bit different from a normal standardisation process for a protocol, which seeks to form something fully rigid and interoperable, and something more fluid and pragmatic. Fundamentally QLOG is seeking to do something a bit different and it seems will always be fuzzier as a format than we necessarily are used to expecting as implementers of protocols and standards.
https://github.com/quicwg/qlog/issues/371#issuecomment-1900972178
Just something interesting to think about.

Updated to tweak CHANGES.md further, add a note to INSTALL.md, and add a manpage openssl-qlog(7).

I've now finished my first pass review of this.
While I see a test of the json encoding, I don't see an actual test for qlog itself. >Shouldn't we have one?

Not sure about doing it as a unit test, as it seems like it would require also adding a JSON parser, which seems a bit overkill. But it would be fairly easy to test in CI. How about it?

Minor updates. Some questions in response to feedback.

Not sure about doing it as a unit test, as it seems like it would require also adding a JSON parser, which seems a bit overkill. But it would be fairly easy to test in CI. How about it?

Yes, that would be IMO sufficient.

There are just a few outstanding comments from me left to resolve.
Also - please can you update the CI in this PR to actually enable the option in some of the builds?

Minor updates and fixes
Added unit test for QLOG and filter syntax
Added CI-only integration test that confirms the multistream test is able to produce log files correctly
Enabled qlog in CI runs

approval reconfirmed

Updated

Also, still an outstanding earlier comment that has not been responded to: https://github.com/openssl/openssl/pull/22037#discussion_r1467850340

Updated.

Needs reapproval from @nhorman

Approval confirmed

Trivial CHANGES.md conflict will be fixed by me on merge.

Merged to master. Thanks for the reviews.

I tried to play with this new feature. But linking libssl*.dll has some issues since none of these gets exported from libcrypto*.dll:

ossl_safe_getenv in crypto/getenv.c.
ossl_ctype_check  in crypto/ctype.c.
ossl_isdigit in crypto/ctype.c.
And even getpid.  It getter be _getpid. No dependencies on oldnames.lib please!

I tried to play with this new feature. But linking libssl*.dll has some issues since none of these gets exported from libcrypto*.dll:
* `ossl_safe_getenv` in `crypto/getenv.c`.

* `ossl_ctype_check`  in `crypto/ctype.c`.

* `ossl_isdigit` in `crypto/ctype.c`.

* And even `getpid`.  It getter be `_getpid`. No dependencies on `oldnames.lib` please!

Can you open a new issue for this? Thanks.

Yes, soon.


Support browsing from the local file system

Other than translating bare links to the default index file, there's no technical reason to run a local web server to browse a static site.
If there were an option (e.g. --dev, ) which:

used relative paths for internal links (e.g. --relative-paths), and
linked directly to index.html (e.g. --direct-links)

it would greatly simplify development.

@invisnet thanks for bringing this up. I've been working on this setup and have it just about ready.
I updated the script to default to a --dev build using relative paths and direct links. This way you'll be able to just run it like this:
python3 stattic.py --output ~/Documents/demo --posts-per-page 5 --minify

And when you're ready to build it for production, you'll specify the --site-url like this:
python3 stattic.py --output ~/Documents/demo --posts-per-page 5 --minify --site-url "https://demo.stattic.site"

I'm doing some final testing and adding this to the repo shortly, so I'll be closing this issue out. Feel free to open a new issue if you run into any problems with the new update.
FWIW it'll be v0.0.6 added in the releases once it's ready 🤘


Print: Entry, ":CFBundleIdentifier", Does Not Exist

MacOS 10.12.1
react-native  0.39.2
xcode 7.2
react-native-cli: 2.0.0
i can working properly in xcode, but when i run with react-native run-ios
...
** BUILD SUCCEEDED **
Installing build/Build/Products/Debug-iphonesimulator/test.app
An error was encountered processing the command (domain=NSPOSIXErrorDomain, code=2):
Failed to install the requested application
An application bundle was not found at the provided path.
Provide a valid path to the desired application bundle.
Print: Entry, ":CFBundleIdentifier", Does Not Exist
Command failed: /usr/libexec/PlistBuddy -c Print:CFBundleIdentifier build/Build/Products/Debug-iphonesimulator/test.app/Info.plist
Print: Entry, ":CFBundleIdentifier", Does Not Exist

Duplicate of #14423


New repos not automatically enforced

Summary
Despite the setting on @kubernetes-sigs being enabled, two newly created repos were not automatically enforced in EasyCLA.
Background
On Monday Feb 26, I created two new repos in the @kubernetes-sigs org:

kubernetes-sigs/referencegrant-poc
kubernetes-sigs/testgrid

I expected that they would automatically be enrolled and enforced with EasyCLA as that checkbox is enabled for our orgs. However, these were showing as disabled in the UI.
Expected behavior
All current and future repos in our orgs have EasyCLA enabled and enforced.
Screenshots
N/A
Environment
Please complete the following information:

Environment:

[ ] ALL
[ ] DEV
[ ] STAGING
[x] PROD

Browser:

[x] Chrome/Brave
[ ] Firefox
[ ] Opera
[ ] Vivaldi
[ ] LibreWolf
[ ] SRware Iron
[ ] Dissenter
[ ] Slimjet
[ ] Midori
[ ] Edge
[ ] Lynx

Version: v1.0.XX

Additional Context
N/A
Assumptions
N/A
Acceptance Criteria
If there is a bug preventing the automatic enablement of new clusters, that it fixed so that the setting works as expected. If there is something misconfigured, that it is identified so it can be fixed.
References
N/A

Related to https://github.com/communitybridge/easycla/issues/4137

Hello @cblecker this issue was related to https://github.com/communitybridge/easycla/issues/4137 and resolved recently. I have confirmed that both repos have EasyCLA enabled.

kubernetes-sigs/referencegrant-poc
kubernetes-sigs/testgrid

@thakurveerendras please review this to make sure it is working as expected.

Tested on prod & found that it is working fine. It looks like it is fixed after issue #4237 fix
Refer to the video clip:

4263.webm


Support for read-only volumes

Handle cases like:

mounting a read-only snapshot
allowing access from multiple clients (write from one, read-many)

This feature request is being tracked under:

https://github.com/openebs/openebs/issues/439
https://github.com/openebs/openebs/issues/440


Fix NETTY-452, add an option for whether to count length field into packet length or not

For some protocols (such as Diameter Protocol), the value of length field means the whole packet size. LengthFieldOffset and LengthFieldLength are counted into that. It conflicts with current LengthFieldBasedFrameDecoder impl. And also I find it difficult to subclass it to add this modification (fields are private, no accessors, decode is rather big). So I think it's better to provide the new option to LengthFieldBasedFrameDecoder.

I will review later and if everything is ok pull itin. So stay tuned....

sunng87,
You can easily extract the Diameter protocol message frame with the following parameters:

lengthFieldOffset = 1
lengthFieldLength = 3
lengthAdjustment = -4
initialBytesToStrip = 0

Therefore, there's no need to patch LengthFieldBasedFrameDecoder.  If this is not correct, please let me know.

Trustin, you are right, it works. Thank you.
Please revert my changes. Sorry to be annoying...

No problem. :-)

Reverted in master and 3.2


Update cri to 4ea022f82a55c449bf15bfc62ac8b0de968d81be.

Update cri to 4ea022f82a55c449bf15bfc62ac8b0de968d81be.
The release note is updated to reflect the change - mainly dual-stack support.
Signed-off-by: Lantao Liu<EMAIL_ADDRESS>

Codecov Report

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

@@          Coverage Diff           @@
##           master   #3675   +/-   ##
======================================
  Coverage      42%     42%
======================================
  Files         129     129
  Lines       14275   14275
======================================
  Hits         5996    5996
  Misses       7379    7379
  Partials      900     900

Flag
Coverage Δ

#linux
45.51% <ø> (ø)
:arrow_up:

#windows
36.91% <ø> (ø)
: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 51f8807...cbbb6a2. Read the comment docs.

LGTM


Add taxpasta testdata

Adding test dataset for taxpasta/merge module

Shouldn't this be going into the modules branch? And I believe (I might be wrong) that there might already be a SARS-CoV2 kraken2 report there...

There is, I've used it for the standardise command. See the main.nf in the tests here https://github.com/nf-core/modules/pull/2831/files#diff-ff43f06cfaf55f8bc77e98e7160a49dc904883e1aa65df347367980b395b85c8R11.

We need  at least two profiles for testing taxpasta/merge, right? That is why I did added some extra examples here.

Maybe it's possible to use multiple copies with different names.

Do you mean to update those lines: https://github.com/nf-core/modules/blob/master/tests/config/test_data.config#L124-L129
as
 'metagenome' {
                classified_reads_assignment                    = "${params.test_data_base}/data/genomics/sarscov2/metagenome/test_1.kraken2.reads.txt"
                kraken_report                                  = "${params.test_data_base}/data/genomics/sarscov2/metagenome/test_1.kraken2.report.txt"
                kraken_report2                                =  "${params.test_data_base}/data/genomics/sarscov2/metagenome/test_1.kraken2.report.txt"
                krona_taxonomy                                 = "${params.test_data_base}/data/genomics/sarscov2/metagenome/krona_taxonomy.tab"
                seqid2taxid_map                                = "${params.test_data_base}/data/genomics/sarscov2/metagenome/seqid2taxid.map"
            }

@jfy133 explained how I shall proceed, thank you :)


Update linting and formatting: update configs and workflows, fix source files

Description
The linting and formatting for c++ code had fallen behind CLP and the linting for go code was not yet in workflows. This PR updates the linting and formatting for both languages:

switch to golangci-lint for go linting and formatting checks
update clang-format configuration + source
update clang-tidy to pass on linux and mac
update workflows to properly run linting on linux and mac

Validation performed
Validated on github actions

cc: @davemarco
Next PR should add yaml linting and taskfiles.


[Typo/Mistranslation] 02-load-data-with-power-query-in-power-bi-desktop

Instruction on task 11 step 3 needs to be updated to align with the feature name on the UI.
Current:
보고하기 위해 로드 실행 확인란을 선택 취소합니다.
To be:
보고서에 로드 사용 확인란을 선택 취소합니다.

Hello contributor,
Thank you for your contribution! We are processing your suggestions and we will update you shortly.
Kind regards,
Microsoft Worldwide Learning Team

Locfile Is at PHO at the moment. Need it to be at Handedback so I can make any updates

Discussed with the PM - update made to the older HB locfiles and this will seed the TM when handedback


Building nextpnr looking for database files?

I'm trying to build nextpnr against prjoxide on windows and hitting this error:
  Touching "x64\Release\chipdb-nexus-bbas\chipdb-n.1CF2954C.tlog\unsuccessfulbuild". CustomBuild:   "The build of 'C:\Users\User\Desktop\nextpnr\CMakeFiles\c064314d5248ea648493cfbc4f07cfae\chipdb-nexus-bbas.rule' depends on 'C:\USERS\USER\DESKTOP\NEXTPNR\NEXUS\CHIPDB\CHIPDB-LIFCL.BBA' which is produced by the build of 'C:\Users\User\Desktop\nextpnr\CMakeFiles\9264e4eece416fcd2a7c2b4cbd1744b1\chipdb-LIFCL.bba.rule'. The items cannot be built in parallel."   Generating chipdb/chipdb-LIFCL.bba   thread 'main' panicked at 'calledOption::unwrap()on aNone` value', prjoxide\src\database.rs:481:62
stack backtrace:
0:           0x7bf046 - std::backtrace_rs::backtrace::trace_unsynchronized::h643d2cbff6704dbc
1:           0x76a6e4 - <std::sys_common::backtrace::print::DisplayBacktrace as core::fmt::Display>::fmt::hc5bfef9f5bc416d7
2:           0x81ad9c - core::fmt::write::h1417336d9d869ecc
3:           0x7a8e23 - std::io::Write::write_fmt::hda58e0f5d6826864
4:           0x7a0e22 - std::panicking::default_hook::{{closure}}::h5a2888d9d53a4e94
5:           0x7a0b32 - std::panicking::default_hook::hb32a684211ad1286
6:           0x7a144c - std::panicking::rust_panic_with_hook::h404a72f576cde3a5
7:           0x76abfa - std::panicking::begin_panic_handler::{{closure}}::h07abfc44f5bd25d7
8:           0x76a84f - std::sys_common::backtrace::__rust_end_short_backtrace::hdd961d4b0da77bf7
9:           0x7a1072 - rust_begin_unwind
10:           0x81f660 - core::panicking::panic_fmt::h9440d364e5d01d87
11:           0x81f5ac - core::panicking::panic::ha6b3ac2de31d736d
12:           0x4e0ac0 - prjoxide::database::Database::new_builtin::h22a8f7b4adef2479
13:           0x418b91 - prjoxide::main::h264fe19ae04caa40
14:           0x409bb6 - std::sys_common::backtrace::__rust_begin_short_backtrace::hd0129080c96afc6c
15:           0x40a1dc - std::rt::lang_start::{{closure}}::h8d0702a76cfa83f0
16:           0x78b56f - std::rt::lang_start_internal::hd63699d427712e33
17:           0x41a708 - main
18:           0x4013c1 - __tmainCRTStartup
at C:_\M\mingw-w64-crt-git\src\crt-x86_64-w64-mingw32/C://M/mingw-w64-crt-git/src/mingw-w64/mingw-w64-crt/crt/crtexe.c:333
19:           0x4014f6 - mainCRTStartup
at C:_\M\mingw-w64-crt-git\src\crt-x86_64-w64-mingw32/C:/_/M/mingw-w64-crt-git/src/mingw-w64/mingw-w64-crt/crt/crtexe.c:212
20:     0x7ffdce406fd4 -
21:     0x7ffdcf2fcec1 -
C:\Program Files (x86)\Microsoft Visual Studio\2019\BuildTools\MSBuild\Microsoft\VC\v160\Microsoft.CppCommon.targets(238,5): error MSB8066: Custom build for 'C:\Users\User\Desktop\nextpnr\CMakeFiles\9264e4eece416fcd2a7c2b4cbd1744b1\chipdb-LIFCL.bba.rule;C:\Users\User\Desktop\nextpnr\CMakeFiles\c064314d5248ea648493cfbc4f07cfae\chipdb-nexus-bbas.rule' exited wit
h code 101. [C:\Users\User\Desktop\nextpnr\nexus\chipdb-nexus-bbas.vcxproj]
Done Building Project "C:\Users\User\Desktop\nextpnr\nexus\chipdb-nexus-bbas.vcxproj" (default targets) -- FAILED.
Done Building Project "C:\Users\User\Desktop\nextpnr\nexus\chipdb-nexus-bbas.vcxproj.metaproj" (default targets) -- FAILED.
Done Building Project "C:\Users\User\Desktop\nextpnr\chipdb-nexus-bins.vcxproj.metaproj" (default targets) -- FAILED.
Done Building Project "C:\Users\User\Desktop\nextpnr\chipdb-nexus.vcxproj.metaproj" (default targets) -- FAILED.
Done Building Project "C:\Users\User\Desktop\nextpnr\ALL_BUILD.vcxproj.metaproj" (default targets) -- FAILED.
Done Building Project "C:\Users\User\Desktop\nextpnr\nextpnr.sln" (Build target(s)) -- FAILED.
Build FAILED.
"C:\Users\User\Desktop\nextpnr\nextpnr.sln" (Build target) (1) ->
`
Looks like it's trying to find the database.rs file from the source repo, though the Readme implies that should all be included. My commands for building nextpnr looks like:
cmake . -DCMAKE_TOOLCHAIN_FILE="$Env:GITHUB_WORKSPACE/vcpkg/scripts/buildsystems/vcpkg.cmake" -DSTATIC_BUILD=ON -DPython_ADDITIONAL_VERSIONS='3.8' -DCMAKE_CXX_FLAGS='/D "WIN32" /EHsc' -DARCH=nexus -DCMAKE_PREFIX_PATH="$Env:GITHUB_WORKSPACE\prjtrellis" -DOXIDE_INSTALL_PREFIX="$Env:GITHUB_WORKSPACE\prjoxide"
."C:\Program Files (x86)\Microsoft Visual Studio\2019\BuildTools\MSBuild\Current\Bin\MSBuild.exe" /t:Build /p:Configuration=Release /p:Platform=x64 /p:VCTargetsPath="C:\Program Files (x86)\Microsoft Visual Studio\2019\BuildTools\MSBuild\Microsoft\VC\v160\" nextpnr.sln
The prjoxide just has the bin directory and executable, there's some extra stuff on that cmake command for prjtrellis too of course though the build isn't running for it at the moment.

The database should be being included in the prjoxide binary, it shouldn't be being looked for at all. But it's possible if it is missing at prjoxide build time something is going wrong - did you do a recursive clone of prjoxide?

The database should be being included in the prjoxide binary, it shouldn't be being looked for at all. But it's possible if it is missing at prjoxide build time something is going wrong - did you do a recursive clone of prjoxide?

Oh that's probably it, should've checked that initially. I'm doing it all in Actions so that I (and others if upstream wants it) will always have up to date nightly windows builds - but it looks like I did forget submodules so I'll rerun and close this out if it fixes them.

Oh that's probably it, should've checked that initially. I'm doing it all in Actions so that I (and others if upstream wants it) will always have up to date nightly windows builds - but it looks like I did forget submodules so I'll rerun and close this out if it fixes them.

Well that fixed that error - got a few build errors with the nexus code in nextpnr, will have to dig into those next.

Well that fixed that error - got a few build errors with the nexus code in nextpnr, will have to dig into those next.


Add possibility to get tags on subscription level

Is your feature request related to a problem? Please describe.
At the moment I don't see an easy way to query tags on a Subscription.
The Subscription class doesn't provide a direct attribute to access it.
Describe the solution you'd like
Have an attribute tags in the Subscription class that would list the tags of the Subscription.
There is one attribute tags for the ResourceGroups and Resources not sure why the same option is not available to Subscriptions.
Describe alternatives you've considered
At the moment I found some work around by using the RessourceManagementClient:
    sub_client = SubscriptionClient(credential=credentials)
   for subscription in sub_client.subscriptions.list():
       client = ResourceManagementClient(credential=credentials, subscription_id=subscription.subscription_id)
       print(client.tags.get_at_scope(scope=subscription.id).properties)

but feels a bit convoluted.

Thanks for the feedback, we’ll investigate asap.


CONSUS404 App: Are app sessions being reused?

Check to see if app is being served with --reuse-sessions --global-loading-spinner
check to see if layout or configuration is dependent on variable:
If yes: Implement session_key_func from here
If no: implement --reuse-sessions --global-loading-spinner

This is to be done on code.chs.usgs.gov


How to display two buttons Approve an Reject on the view page of Ressource?

I am currently step by step setup filament-approval on my project. I  need to display the "Approve" and "Reject" buttons on my view page. To achieve this, I added the following actions to the getHeaderActions function :
ApproveAction::make();
RejectAction::make();
However, despite this configuration, the buttons are still not appearing on the page. I was expecting to see both buttons in the header, but nothing shows up.
Have I missed a step or a specific configuration ? Are there any prerequisites or additional dependencies required to make these actions visible?
Thank you in advance for your help.

They will only show if at the user can approve or reject. Has the process been submitted? If the flow has started is it still at initiated state? If so then you need the submit button. If you want to auto-submit on creation you can use:
public bool $autoSubmit = true;
on the model as per:
https://github.com/ringlesoft/laravel-process-approval?tab=readme-ov-file#model-submitting

Thanks for your answer @tonypartridge
At the moment, I only have one user with the Admin role who can validate or reject the process (he can do all the actions).
The process is in created state at the beginning and underneath it is marked in progress in small type.
So for the submission, I do it manually. I'd like to be able to display both the Approve and Reject buttons once I'm on my view page, since the current user has the Admin role, so he can see both buttons normally, but that's not the case at the moment.
I'm trying now to use auto-submit as you told me above and then display only the buttons Approve or Reject but still dosen't work.

I want to have something like this i mean to be able to see the two buttons

Dive into the vendor source code and dd on the button visibility parameters to see which are not being hit


Config changes to reflect the default branch from master to main. Please merge to complete the default branch renaming job.

Auto branch renaming content.

Docs Build status updates of commit 9dade4f:
:x: Validation status: errors
Please follow instructions here which may help to resolve issue.

File
Status
Preview URL
Details

:x:Error

Details

[Error: GitBranchDeletedOrForcePushed] Cannot sync git repo to specified commit because branch d37a61ae-e7f3-4c31-b5f2-a92c4803c46c has been deleted or has been force pushed

For more details, please refer to the build report.
If you see build warnings/errors with permission issues, it might be due to single sign-on (SSO) enabled on Microsoft's GitHub organizations. Please follow instructions here to re-authorize your GitHub account to Docs Build.
Note: Broken links written as relative paths are included in the above build report. For broken links written as absolute paths or external URLs, see the broken link report.
Note: Your PR may contain errors or warnings unrelated to the files you changed. This happens when external dependencies like GitHub alias, Microsoft alias, cross repo links are updated. Please use these instructions to resolve them.
For any questions, please:Try searching the docs.microsoft.com contributor guidesPost your question in the Docs support channel


Fix potential ThreadPool UAF

A race on join() was discovered. More info: https://github.com/kprotty/zap/commit/97d4b4dc5317c0a6614582b51a60d892721018d2

Thanks for sharing this!

Hey @kprotty, I'm still looking into this, but after this merge it looks like our tests on Linux just hang on the join. I haven't seen this happen in production so I have a feeling its due to some synthetic test case but just wanted to call it out.


Cask request: [Google Drive]

Cask details
Please fill out as much as possible. Before you do, note we cannot support Mac App Store-only apps.
Name: Google Drive
Homepage:    https://www.google.com/drive/
Download URL:   https://www.google.com/drive/download/
Description: Google Drive

Google Drive has been replaced by: google-backup-and-sync

Out of curiosity is it possible to create an alias for this particular cask? I had spent a fair while trying to figure out why Google Drive was no longer available before finding this solution :)

We don't have aliases in Cask.


docs: Version rest/graphql seperate from main

This moves rest+graphql out of main version line since they are decoupled.

Codecov Report

Merging #2049 (18b1644) into master (2218dc6) will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##           master    #2049   +/-   ##
=======================================
  Coverage   98.48%   98.48%
=======================================
  Files         102      102
  Lines        1918     1918
  Branches      404      404
=======================================
  Hits         1889     1889
  Misses         13       13
  Partials       16       16

:mega: Codecov can now indicate which changes are the most critical in Pull Requests. Learn more


Improper full screen resolution in NVIDIA metamode.

I'm running Emulationstation on a Linux Desktop (Ubuntu 18.04), using a 9800GT with analog video out (Component) to a 480i tube TV.  This is going to be the brains for an authentic standup arcade machine. I've been fighting overscan issues in the OS for weeks, and finally have it sorted where I use a 720x480 signal, but letterbox down to a 640x440 display area in the center using an NVIDIA Xserver metamode.
Trouble is, when emulationstation starts and goes fullscreen, the top and right sides are cut off.  The bottom left corner is in the correct spot, but it seems to set its size to the full 720x480, and so I lost 80 pixels off the right side and 40 pixels off the top.  Other frontends such as attractmode and mehstation do not exhibit this behavior, and properly size their fullscreen modes.
I'm running the latest version, compiled today from this git, and would be more than happy to help solve the issue.

I am curious how you managed that as I am trying to do something similar. I am running Emulationstation as part of Retropie and because it does not run on X11 (not sure what GUI it does use) the method of using xrandr commands does not apply. So how do you configure EmulationStation for different screen resolutions over HDMI?


Bump node to node16 and dependencies to latest

This is to remove the warnings in the GitHub actions.

LGTM


added w3school practic questions extension

Description
This change introduces a new Chrome extension for quickly accessing W3school coding practice questions. The extension includes a welcome page with a typewriter effect message and a button that navigates the user to the W3school coding practice page upon clicking.
Fixes:  #1195

Type of change

[ X] New feature (non-breaking change which adds functionality)

Checklist:

[ X] I have made this from my own
[ ] I have taken help from some online resourses
[ X] My code follows the style guidelines of this project
[ X] I have performed a self-review of my own code
[ X] I have commented my code, particularly in hard-to-understand areas
[ X] I have made corresponding changes to the documentation
[ X] My changes generate no new warnings

ATTACH SCREEN-SHOTS / DEPLOYMENT LINK

@Sulagna-Dutta-Roy added new extension please check


Fix rotatebounded

Fixes the counter-clockwise bounded rotation (it zoomed out instead of zoomed in).
I modified the factory unit tests to save the output images so that I can see what happens, let me know if you want me to remove it.

I think saving them for viewing is a great idea. I would like to make sure the path is added to gitignore though so we don't track them.

Note that the calculations don't work when the angle is > 90° (or < -90°), which is normal given the basis of calculation, but it's not guarded.
I don't know if it's better to throw an error, leave the processor strange behavior (check out what it does with 140, 150 and 160 degrees), or fix it (it would be more logical to regular-rotate the image 90° then inner-rotate it, but hey, I'm not the user).

The normal rotate class woks for any angle positive or negative angle so the behaviour should match. I'll have a look if I can get the chance.
Is it the zoom calculation that is broken or the rotate?

Both, I think.
The zoom is based on this: http://math.stackexchange.com/a/1071959/11813 and at 180° it completely rotates the image (360°).
Since the zoom calculation depends on the sin and cos of the angle, when the angle is > 90, I think we should invert the sin and cos positions in the formula (I haven't tested yet, though).
But then, if we go this way, it should also work with angles after 180°, then after 270°, etc.

Zoom isn't checking in both directions. I should be able to fix it.

That should be it fixed. Can you double check for me?

Yes, it works perfectly ! :+1: Thanks !

I'm glad! Just released it :smile:


OffscreenCanvasRenderingContext2D.measureText in UC Browser

An error was detected on line 30868 in pixi.js 5.1.1 in UC Browser.
var width = Math.ceil (context.measureText (metricsString) .width);
Error:
pixi.js? 2: 30870 Uncaught TypeError: context.measureText is not a function
I think UC Browser has no method measureText in OffscreenCanvas.

pixi.js version:  5.1.1
Browser & Version: UC Browser
OS & Version: Win 10

Summoning @fserb

@AleXNoD you know the workaround, right?
https://github.com/pixijs/pixi.js/blob/dev/packages/text/src/TextMetrics.js#L726
Should be something like that:
function hackTextMetrics(TextMetrics) {
    TextMetrics._canvas = document.createElement('canvas');
    TextMetrics._canvas.width = 10;
    TextMetrics._canvas.height = 10;
    TextMetrics._context = TextMetrics._canvas.getContext('2d');
}

hackTextMetrics(PIXI.TextMetrics);

That's weird. I didn't know there were browsers out there with Canvas2D but no measureText.
Assuming that this is the problem, we can just change line 709 from:
 return c.getContext('2d') ? c : document.createElement('canvas');

to
 return c.getContext('2d').measureText ? c : document.createElement('canvas');

I'll play with UC Browser a bit and will report back.

ok. I just checked UC v<IP_ADDRESS>6.
It doesn't have window.OffscreenCanvas. Pixi.js's canvas = function is returning HTMLCanvasElement.
Could it be that TextMetrics.measureText is being called before the constructor?

 I just checked UC v<IP_ADDRESS>6.
It doesn't have window.OffscreenCanvas. Pixi.js's canvas = function is
returning HTMLCanvasElement.
Could it be that TextMetrics.measureText is being called before the
constructor?
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/pixijs/pixi.js/issues/6006?email_source=notifications&email_token=AM3QCG47YBMYAOGN4J4GFD3QECM5PA5CNFSM4IK326EKYY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOD4BK42I#issuecomment-520269417,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AM3QCG4OOZ5EHBKAV26PYQTQECM5PANCNFSM4IK326EA
.


ci: [CNI] Move Nightly Cilium Pipeline test to ACN

Reason for Change:

Moved pipeline to ACN to enable the reuse of existing code for this pipeline and others in the future. Changed the cilium image value to be parameterized for future use.
Creation of new file directories were required to follow the same pattern in overlay-e2e-step of calling the directory with kubectl to call clusterrole, serviceaccount, and clusterrolebinding. Similarly the dameonset and deployment for cilium-agent and cilium-operator had to be pulled out of the directories as they cannot be given a dynamic value while within those directories and using the current pattern.
Issue Fixed:

Requirements:

[x] uses conventional commit messages

[ ] includes documentation
[ ] adds unit tests

Notes:
Ensured that other pipelines that use the new file directory are updated and working. See below for pipeline status.
CNI Load Test - https://msazure.visualstudio.com/One/_build/results?buildId=73426710&view=logs&j=3713fd4c-b129-5ac5-2b38-c7386192ca24
Nightly latest - https://msazure.visualstudio.com/One/_build/results?buildId=73423183&view=results
Nightly v1.12.8 - https://msazure.visualstudio.com/One/_build/results?buildId=73426500&view=results
Azure PR - https://msazure.visualstudio.com/One/_build/results?buildId=73501911&view=results
PR runs with image repository parameter
CNI Load Test - https://msazure.visualstudio.com/One/_build/results?buildId=74436193&view=results
Nightly latest - https://msazure.visualstudio.com/One/_build/results?buildId=74435386&view=results
Azure PR - ToDo
Added CILIUM_VERSION_TAG and CILIUM_IMAGE_REPOSITORY env variable to

Azure Container Networking PR
Azure Container Networking PR - Submodules
CNI Load Test

Merged changes from

#1962
https://msazure.visualstudio.com/CloudNativeCompute/_git/aks-rp/pullrequest/8053786?path=/ccp/charts/addon-charts/cilium-addon/templates/cilium-operator/clusterrole.yaml&_a=files

Changed number of operator pods to match TSG - https://eng.ms/docs/cloud-ai-platform/azure-core/azure-management-and-platforms/containers-bburns/azure-kubernetes-service/azure-kubernetes-service-troubleshooting-guide/doc/tsg/cilium

cilium-operator" pods are running (2 pods if there are >= 2 nodes, otherwise 1).
Default is 2 Nodes from makefile

 overlay-byocni-up:` rg-up overlay-net-up ## Brings up an Overlay BYO CNI cluster
	$(AZCLI) aks create -n $(CLUSTER) -g $(GROUP) -l $(REGION) \
		--node-count $(NODE_COUNT) \

NODE_COUNT ?= 2
Once Approved I will start up automatic scheduling, rename the new pipeline from its default, and stop the automatic scheduling from the old pipeline.

see https://github.com/Azure/azure-container-networking/pull/1963#issuecomment-1581623101


Added sample for token administration

The TokenAdmin sample shows organization administrators how they can use the VSTS REST APIs to find and revoke personal access tokens (PATs) for users in their organization. It also shows how to create revocation rules that prevent access through other OAuth credentials, such as self-describing session tokens. The sample is written using our C# client libraries, but is commented with the HTTP calls that administrators can make to perform these same operations directly over the wire.
The methods in this sample, and the endpoints they cover are:

GetPersonalAccessTokenDetailsForUsersInYourOrganization
GET /_apis/tokenAdmin/personalAccessTokens/{subjectDescriptor}

RevokePersonalAccessTokensForUsersInYourOrganization
POST /_apis/tokenAdmin/revocations

RevokeSelfDescribingSessionTokensForUsersInYourOrganization
POST /_apis/tokenAdmin/revocationRules

 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.:x: kigunda sign nowYou have signed the CLA already but the status is still pending? Let us recheck it.

If this is still relevant, can you retarget it to main?


schema transform bug: cannot return null for non nullable type subscription_root.user

So we are trying to perform schema-stitching with schema transforms to prefix schema types and root-fields. This is how we do it:
const renameSchema = (schema, prefix) => {
 return transformSchema(
    schema,
    [
      new RenameTypes((type) => `${prefix}_${type}`),
      new RenameRootFields((operation, name) => `${prefix}_${name}`)
    ]
  );
};

Without renaming, the schema stitching works totally.
After renaming, it works fine in case of queries and mutations but throws an error in case of subscriptions.
The error message reads "Cannot return null for non-nullable field subscription_root.user".
Some details:

Subscription root of the remote server: subscription_root
New subscription root: Subscription
Old root fields: user images
New root fields: hasura_user, hasura_images

You can clone this repo and run npm install && npm start from the root to see this error in action.
https://github.com/wawhal/custom-resolvers-boilerplate

Duplicate of #997.
Fixed in #1104.

Fixed in graphql-tools-fork https://www.npmjs.com/package/graphql-tools-fork

We recently released an alpha version of GraphQL Tools (#1308) that should fix the issue.
Please update graphql-tools to next or run:
npx match-version graphql-tools next

Let us know if it solves the problem, we're counting for your feedback! :)

Rolled into #1306


How to add new document embeddings to existing embeddings in chromadb

Question Validation

[X] I have searched both the documentation and discord for an answer.

Question
if os.path.exists('./chroma_db'):
        print("*************************utilizing pre generated embeddings from chromadb folder")
        chroma_client = chromadb.PersistentClient(path="./chroma_db")
        chroma_collection = chroma_client.get_or_create_collection("quickstart")
        vector_store = ChromaVectorStore(chroma_collection=chroma_collection)
        vector_index_chunk = VectorStoreIndex.from_vector_store(vector_store, embed_model=embed_model, show_progress=True)#, use_async=True, show_progress=True)
    else:
        chroma_client = chromadb.PersistentClient(path="./chroma_db")
        chroma_collection = chroma_client.get_or_create_collection("quickstart")
        vector_store = ChromaVectorStore(chroma_collection=chroma_collection)
        storage_context = StorageContext.from_defaults(vector_store=vector_store)
        vector_index_chunk = VectorStoreIndex(all_nodes, embed_model=embed_model, storage_context=storage_context, show_progress=True)#, use_async=True)

vector_retriever_chunk = vector_index_chunk.as_retriever(similarity_top_k=5)
    retriever_chunk = RecursiveRetriever(
        "vector",
        retriever_dict={"vector": vector_retriever_chunk},
        node_dict=all_nodes_dict,
        verbose=True,
    )

I'm working on a project where I have an existing folder chroma_db containing pre-generated embeddings. I want to add new embeddings from recently added documents to this existing database. Here’s what I have:
I initialize the ChromaVectorStore with pre-existing embeddings if the chroma_db folder is present. If not, I create a new VectorStoreIndex with all existing nodes.
I have a set of new documents that I process to create new nodes. These nodes are further divided into sub-chunks, and both the sub-chunks and the original chunks are added to the all_nodes_dict.
Here is the code I am using to process the new documents and update the all_nodes_dict:
new_documents = [doc for doc in documents if doc.metadata['file_name'] in new_files]

# Process new documents
node_parser = SentenceSplitter(chunk_size=512, chunk_overlap=100)
base_nodes = node_parser.get_nodes_from_documents(new_documents)

for idx, node in enumerate(base_nodes):
    node.id_ = f"node-{len(all_nodes_dict) + idx}"

sub_chunk_sizes = [128, 256, 512]
sub_node_parsers = [
    SentenceSplitter(chunk_size=c, chunk_overlap=100) for c in sub_chunk_sizes
]

new_nodes = []
for base_node in base_nodes:
    for n in sub_node_parsers:
        sub_nodes = n.get_nodes_from_documents([base_node])
        sub_inodes = [
            IndexNode.from_text_node(sn, base_node.node_id) for sn in sub_nodes
        ]
        new_nodes.extend(sub_inodes)

    # Add the original node
    original_node = IndexNode.from_text_node(base_node, base_node.node_id)
    new_nodes.append(original_node)

# Update all_nodes_dict with new nodes
for n in new_nodes:
    all_nodes_dict[n.node_id] = n

# Save the updated dictionary
with open(file_path, 'wb') as f:
    pickle.dump(all_nodes_dict, f)

What I need help with:
I want to create embeddings for these new nodes and update the existing embeddings in chroma_db so that the database contains both the previous and the new embeddings. How can I achieve this?

@dosu
I have a set of new nodes created from newly added documents using the following code:
new_documents = [doc for doc in documents if doc.metadata['file_name'] in new_files]
            @dosu
below is the code i used for creating new_nodes for new documents

new_documents = [doc for doc in documents if doc.metadata['file_name'] in new_files]
Process new documents
node_parser = SentenceSplitter(chunk_size=512, chunk_overlap=100)
base_nodes = node_parser.get_nodes_from_documents(new_documents)
for idx, node in enumerate(base_nodes):
node.id_ = f"node-{len(all_nodes_dict) + idx}"
sub_chunk_sizes = [128, 256, 512]
sub_node_parsers = [
SentenceSplitter(chunk_size=c, chunk_overlap=100) for c in sub_chunk_sizes
]
new_nodes = []
for base_node in base_nodes:
for n in sub_node_parsers:
sub_nodes = n.get_nodes_from_documents([base_node])
sub_inodes = [
IndexNode.from_text_node(sn, base_node.node_id) for sn in sub_nodes
]
new_nodes.extend(sub_inodes)
# Add the original node
original_node = IndexNode.from_text_node(base_node, base_node.node_id)
new_nodes.append(original_node)

How I should create embeddings for this new_nodes
# Process new documents
node_parser = SentenceSplitter(chunk_size=512, chunk_overlap=100)
base_nodes = node_parser.get_nodes_from_documents(new_documents)

for idx, node in enumerate(base_nodes):
    node.id_ = f"node-{len(all_nodes_dict) + idx}"

sub_chunk_sizes = [128, 256, 512]
sub_node_parsers = [
    SentenceSplitter(chunk_size=c, chunk_overlap=100) for c in sub_chunk_sizes
]

new_nodes = []
for base_node in base_nodes:
    for n in sub_node_parsers:
        sub_nodes = n.get_nodes_from_documents([base_node])
        sub_inodes = [
            IndexNode.from_text_node(sn, base_node.node_id) for sn in sub_nodes
        ]
        new_nodes.extend(sub_inodes)

    # Add the original node
    original_node = IndexNode.from_text_node(base_node, base_node.node_id)
    new_nodes.append(original_node)

I need to create embeddings for these new_nodes. How should I go about generating and handling these embeddings? Specifically, I would like to know:
How to use my embedding model to create embeddings for each new_node, so they can be added to an existing ChromaDB collection

@dosu
2.How do we delete embeddings of a particular document from the stored in chromadb?
We are able to delete nodes related to a specific document from the in-memory all_nodes_dict using the following code:
async def delete_embeddings(all_nodes_dict, filepath):
    filename = os.path.basename(filepath)
    print("Current all_nodes_dict:", all_nodes_dict)

    # Identify the node IDs to delete based on the filename
    delete_node_ids = [
        node.node_id for node in all_nodes_dict.values() if node.metadata.get('file_name') == filename
    ]
    print("Node IDs to delete:", delete_node_ids)

    # Delete nodes from the in-memory dictionary
    for node_id in delete_node_ids:
        del all_nodes_dict[node_id]

However, we are unsure how to reflect this deletion in the stored chromadb so that the embeddings of that document are removed from the chromadb as well.

@Dosu
How do we know ref_doc_id?
Any code examples would be greatly appreciated!

@dosu
Failed to delete: 'ChromaVectorStore' object has no attribute 'get_all_ref_doc_info'


Re-enable visual regression testing

At the same time, we should look at possible ways to improve the setup.
Now that we're using NX, can we run VR only on affected packages? This could help limit our runs. Plus provide more focused feedback (possibly).

I guess we'll hold off on this for a few days while we test chromatic.

Done.


Running inf-clojure--process-response twice breaks itself

Running the elisp function inf-clojure--process-response only works once. If you run it a second time you will get an empty string returned, and the result instead printed out in the repl. This is a problem because a lot of the functionality in inf-clojure is dependent on inf-clojure--process-response, and when writing new editor functionality the function is essential.
In these examples "user=>" represents the clojure repl.
(inf-clojure--process-response "1" (inf-clojure-proc))
;; returns "1
;; "
;; user=>             ;; (nothing happens here

Note the newline in the result of "inf-clojure--process-response", this might be a piece of the puzzle.
Now let's run inf-clojure--process-response again.
(inf-clojure--process-response "1" (inf-clojure-proc))
;; returns ""
;; user=> 1
;; user=>

One way to "solve" this is to evaluate something in the repl
;; user=> :wat
;; user=> :wat

For some reason it will print the prompt again, which I also think is a part of the problem, since it normally looks like this:
;; user=> :wat
;; :wat

Now when running the elisp function again:
(inf-clojure--process-response "1" (inf-clojure-proc))
;; returns "1
;; "
;; user=>             ;; (nothing happens here

We get the expected result.

Even when disabling all other emacs packages (except clojure, inf-clojure and the arcadia-repl-functions) using Emacs 26.1 I get the same error.

Hey, this seems like an inf-clojure bug rather than an Arcadia bug? Closing for now

It's not! Maybe you didn't read it on gitter, but it's because of the
custom read function you built. If I use the regular one there aren't any
issues. This is also related to the issue with the repl getting stuck on
inf-clojure-eval-buffer. So I "solved" it by using the old read function,
with the downside being potential deadlocks like you described.
Den mån 1 okt. 2018 21:21Tims Gardner<EMAIL_ADDRESS>skrev:

Closed #302 https://github.com/arcadia-unity/Arcadia/issues/302.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/arcadia-unity/Arcadia/issues/302#event-1877594718,
or mute the thread
https://github.com/notifications/unsubscribe-auth/ACXPZzf9EOf691rnl0rW6ps8TxTG4Tanks5ugms-gaJpZM4W1nam
.


How to re-use Fragment with different ViewModels?

Hello there,
I have an android question which occupies my mind already since a few days. Imagine you have Fragment which is supposed to be reused in multiple usecases, e.g. called "AddOrEditRecipe", this fragment can be used for creating or editing a recipe, since, you know, it is the exact same UI no matter if you create or edit.
But I want to either use a AddRecipeViewModel or EditRecipeViewModel, depending on the usecase, which is identified by a FragmentArgument on the Fragment. Both ViewModels have their custom MvRxState subclass, but in the fragment only common properties (which are defined in let's say AddEditRecipeState) of the state would be used.
Unforunately I can't figure out how to have AddRecipeViewModel and EditRecipeViewModel with a State which subclasses AddEditRecipeState.
I can't figure out how to have two ViewModels implement an Interface and have a state which inherits from.
In the end I am just trying to re-use my UI within different usecases/viewmodels/business-logic.
I'm super happy about any thoughts on this, thanks!

@zirkler You can create two fragments that both use the same layout. Would that work?

Unfortunately, that won't help for now simply because the UI is defined in Code (Epoxy), not in layout XML.
Imaging a different usecase, a "Search Fragment":
On the top of the screen is a Text Input, a RecyclerView shows the search results.
When user inputs text, the "searchTerm: String" property of the state is set, the search is performed by the ViewModel and then the "searchResults: List" property in the state is filled with search results. The fragment then renders all the searchResults in the RecyclerView.
So the Fragment and ViewModel will look something like this:
class SearchFragment {
    private val viewModel: SearchViewModel by activityViewModel()
    override fun epoxyController() = simpleController {
        withState(viewModel) { state ->
            state.searchResults.foreach {
                searchResultCell(
                    id(it)
                    text(it)
                )
            }
        }
    }
}

data class SearchState(
    val searchTerm: String = "",
    val searchResults: List<String> = emptyList()
): MvRxState

class SearchViewModel(
    fun setSearchTerm(searchTerm: String) {
        val results = // search logic ...
        setState { copy(searchResults = results)}
    }
)

So now I want e.g. a PeopleSearchViewModel where the search logic may be different and the state may have additional properties, but the UI/presentation is exactly the same.
I tried something like making the SearchFragment and the SearchState abstract, having a abstract method getViewModel() which allows me to aquire whatever kind of ViewModel, but I can't figure out how to make e.g. the PeopleSearchState subclass the SearchState. In general it feels like I'm not using MvRx correctly here.
How would you approach this? I guess in the Airbnb you have quite plenty of usecases where a fragment gets reused.
Thanks for your time.

@zirkler If it isn't too much code, we have duplicated it in the past. Often, implementations diverge over time (intentionally) and trying to keep the right abstractions often leads to changes for one of the cases accidentally breaking another.

Thanks, that's some really valuable advice. What did you usually do when it was a lot of code to duplicate?

@zirkler Thee is no right answer here. Other things you could consider are moving business logic into other classes that can be injected into your ViewModel, using interface delegation with default implementations, or Fragment subclasses where the shared logic is in the parent and the view model delegate is in the child.


Comments for initiatives (resolves #350)

[x] This pull request has been linted by running npm run lint without errors
[x] This pull request has been tested by running npm run start and reviewing affected routes
[x] This pull request has been built by running npm run build without errors
[x] This isn't a duplicate of an existing pull request

Description
Created workshop page that shows the details of a given workshop and a comment area where users can post new comments and view existing comments.

Steps to test

Go to deploy preview
Navigate to initiatives page
Select a workshop by clicking on its image
Submit a comment with missing fields by clicking on the "post a comment" button to test "Required" message
Submit a comment with no fields missing by entering a name and comment then clicking on the "post a comment button"

Expected behavior:

When any of the fields are missing before clicking on the "post a comment" button a "Required" message should be displayed beside the field label
When no fields are missing before clicking on the "post a comment" button a confirmation message and the new comment should be displayed.

Additional information
Aria labels still need to be added to the comments page.
Netlify functions can only run on Netlify servers so this PR has multiple pushes for testing purposes denoted by commit message format fix: api data test # where # is the test number.
Related issues

closes #350

When focusing on "name" and "comment" fields, the cursor focus is too close to the field border. On firefox, the cursor focus in the comment field even goes out of the rounded border.

Set the focus in the "name" or "comment" fields and type. The font sizes are much smaller than the base font size. It's probably better to use the same font size comment fields. Moreover with firefox, the font size in "name" is small than that in "comment" field.

The time taken from clicking the "post a comment" button until the thanks prompt shows up takes a few seconds. This delay may confuse users and make them clicking more on the post button. We should talk to designers to find out if it's necessary to either disable the button during this period or show a progress icon or do both.
cc @uttaraghodke, @lliskovoi

After user entered comment is successfully submitted, user entered texts remain in text fields. See the screenshot below. Shall fields be cleared?

cc @uttaraghodke, @lliskovoi

Use dev tool to set the network to offline, submit a comment;
The error message shows up;
Set the network back to online, submit a comment;
A problem occurs that both success and error messages are showing on the page. See the screenshot below.

The expected behaviour is only the latest status or error message shows.
This problem is related to this comment above. Hiding both message divs at the submission should fix the problem.

Open developer tool, go to "console";
Enter a comment and click "post a comment" button;
The "thank you" message appears indicating the comment is saved successfully;
However, the console shows an error that the post request failed with "400: Bad request";
Check airtable, the comment is not saved.

It indicates two things:

It's better to check the returned status code. Only show the success message when the status code is 200. Otherwise, show error.
Figure out why the comment is not saved.

@cindyli ready for review

Select an UIO theme and add a comment;
The new comment is added at the top of the comments area.

Problem: The new comment looks same as old comments.
Expected: The style of the new comment should be able to differentiate it from old comments.
One solution is to apply lower the opacity value of the new comment, such as setting it to 0.7 when a UIO theme is selected.

@cindyli ready for review

The "post a comment" button looks broken with Safari.

The "post a comment" button still looks broken with Safari on smaller screens such as iPhone SE or iPhone 8.


Uncaught TypeError: Cannot read property 'length' of undefined

[Enter steps to reproduce:]

Open project
Scroll down

Atom: 1.26.1 x64
Electron: 1.7.11
OS: Ubuntu 16.04.4
Thrown From: Atom Core
Stack Trace
Uncaught TypeError: Cannot read property 'length' of undefined
At /opt/atom/resources/app/node_modules/text-buffer/lib/screen-line-builder.js:329

TypeError: Cannot read property 'length' of undefined
    at ScreenLineBuilder.emitText (/opt/atom/resources/app/node_modules/text-buffer/lib/screen-line-builder.js:329:30)
    at ScreenLineBuilder.buildScreenLines (/opt/atom/resources/app/node_modules/text-buffer/lib/screen-line-builder.js:141:22)
    at DisplayLayer.getScreenLines (/opt/atom/resources/app/node_modules/text-buffer/lib/display-layer.js:643:41)
    at TextEditorComponent.queryScreenLinesToRender (/opt/atom/resources/app/src/text-editor-component.js:881:57)
    at TextEditorComponent.updateSyncBeforeMeasuringContent (/opt/atom/resources/app/src/text-editor-component.js:385:16)
    at TextEditorComponent.updateSync (/opt/atom/resources/app/src/text-editor-component.js:275:16)
    at TextEditorComponent.didMouseWheel (/opt/atom/resources/app/src/text-editor-component.js:1560:59)

Commands

Non-Core Packages
ask-stack 2.2.0
atom-runner 2.7.1
atom-terminal 0.8.0
autocomplete-paths 2.12.2
autocomplete-python 1.10.5
highlight-selected 0.13.1
platformio-ide-terminal 2.8.1
python-indent 1.1.5
reindent 1.4.0

Thanks for contributing!
We noticed that this looks like a duplicate of https://github.com/atom/atom/issues/16892 so you can subscribe there for updates if you'd like.

Because we treat our issues list as the Atom team's backlog, we close duplicates to focus our work and not have to touch the same chunk of code for the same reason multiple times. This is also why we may mark something as duplicate that isn't an exact duplicate but is closely related.
For information on how to use GitHub's search feature to find out if something is a duplicate before filing, see the How Can I Contribute? section of the Atom CONTRIBUTING guide.


Add Booksmarks

This feature will be awesome, because I have files with a bunch of queries and are very long
So is very tedious try to find a code scrolling up & down

SQL Operations Studio Version:
Version 0.32.2-insider
Commit 461a158ac32ac67f17158c931f0c84fc38478341
Date 2018-07-26T20:59:24.143Z
VS Code 1.23.1
Shell 1.7.12
Renderer 58.0.3029.110
Node 7.9.0
Architecture x64

We don't currently have plans for this but it might be a great idea for a community-contributed extension. Also it's possible to install extensions using the "Install from VSIX" command on the command palette so if you already use a VS Code extension that does this you might be able to download the vsix and install it yourself in SQL Ops Studio (though not all VS Code extensions work in Ops Studio)

Closing as duplicate of https://github.com/microsoft/azuredatastudio/issues/13645