[RFC] clienterrors: rename WorkerClientError to clienterrors.New

The usual convention to create new object is to prefix New* so this commit renames the WorkerClientError. Initially I thought it would be NewWorkerClientError() but looking at the package prefix it seems unneeded, i.e. clienterrors.New() already provides enough context it seems and it's the only error we construct.
We could consider renaming it to clienterror (singular) too but that could be a followup.
I would also like to make clienterror.Error implement the error interface but that should be a followup to make this (mechanical) rename trivial to review.
Note that the rename was done via
$ go fmt -w 'WorkerClientError -> NewWorkerClientError' ./...

so choosing a different name it "cheap".

@mvo5 do you mind if I push to your branch with the rebase?

@mvo5 do you mind if I push to your branch with the rebase?

Sorry for the slow reply, I rebased and pushed now, sorry that I did not see the conflicts earlier. And thanks for the kind offer to do it for me, that is of course always welcome too :)


Windows installation is broken on "Read Consul package checksum" step

Hello
I tried to install consul under Windows server 2012 Core, and get this kind of error:
TASK [consul-cluster.role : Read Consul package checksum] ************************************************************************************************************************************
task path: /home/citius/ansible/roles/internal/consul-cluster.role/tasks/install_windows.yml:29
Using module file /usr/lib/python2.7/site-packages/ansible/modules/windows/win_shell.ps1
<<IP_ADDRESS>> ESTABLISH WINRM CONNECTION FOR USER: administrator on PORT 5986 TO <IP_ADDRESS>
EXEC (via pipeline wrapper)
fatal: [<IP_ADDRESS>]: FAILED! => changed=true
  cmd: findstr consul_1.2.2_windows_amd64.zip /tmp/consul/consul_1.2.2_SHA256SUMS
  delta: '0:00:00.499999'
  end: '2018-08-29 03:35:16.065991'
  msg: non-zero return code
  rc: 1
  start: '2018-08-29 03:35:15.565991'
  stderr: |-
    FINDSTR: Cannot open consul_1.2.2_SHA256SUMS
  stderr_lines:
  - 'FINDSTR: Cannot open consul_1.2.2_SHA256SUMS'
  stdout: ''
  stdout_lines: <omitted>
        to retry, use: --limit @/home/citius/ansible/projects/windows/all.retry

File was in place, and the same command executed manually via cmd or powershell, worked OK, when executed at the same directory, but does not work from any other path.
So I suggest to add chdir parameter to win_shell doing this step:
- name: Read Consul package checksum
  win_shell: "findstr {{ consul_pkg }} /tmp/consul/consul_{{ consul_version }}_SHA256SUMS"
  args:
    chdir: /tmp/consul
  register: consul_pkg_checksum
  tags: installation

This change fixes the issue.
Thanks.

Opened PR #198 with this fix.

Thanks for the report and PR!

I've merged and included this in the just released v2.0.7 of the role. Thanks again! I'll go ahead and close this now.


fix: incorrect vault name displayed for matching hierarchy

If the user was in vault1 and there was a matching hierarchy in vault2, Note Lookup would display the name vault1 for the matching hierarchy. This PR fixes this issue.
Pull Request Checklist
You can go to dendron pull requests to see full details for items in this checklist.
General
Quality Assurance

[x] add a test for the new feature
[x] make sure all the existing tests pass
[x] do a spot check by running your feature with our test workspace
[ ] after you submit your pull request, check the output of our integration test and make sure all tests pass

NOTE: if you running mac/linux, check the windows output and vice versa if you are developing on windows

Special Cases

[ ] if your tests changes an existing snaphot, make sure that snapshots are updated
[ ] if you are adding a new language feature (graphically visible in vscode/preview/publishing), make sure that it is included in test-workspace. We use this to manually inspect new changes and for auto regression testiing

Docs

[ ] Make sure that the PR title follows our commit style
[ ] Please summarize the feature or impact in 1-2 lines in the PR description
[ ] If your change reflects documentation changes, also submit a PR to dendron-site and mention the doc PR link in your current PR

Example PR Description
# feat: capitalize all foos

This changes capitalizes all occurences of `foo` to `Foo`

Docs PR: <URL_TO_DOCS_PR>

Special Cases
First Time PR

[ ] sign the CLA which will be prompted by our github bot after you submit the PR
[ ] add your discord alias in the review so that we can give you the horticulturalist badge in our community

Analytics

[ ] if you are adding analytics related changes, make sure the Telemetry docs are updated

I think both of us jumped on this -> https://github.com/dendronhq/dendron/pull/1463/files
closing since its fixed now


Improve Error Message: Need PRNG for "params"

This error occurs when a user isn't passing rngs during apply, e.g.:
module.apply(..., rngs={'params': jax.random.PRNG(0)}, ...)

Passings RNGS is forced during init but not during apply.
The error message is AssertionError: Need PRNG for "params", which is not very informative and should at least contain the explanation above.

Closed by #1072


chore(repo): Set team-js group as codeowners

Description
Start using the @clerkinc/team-js as the default owner of the repo instead of adding explicitly Nikos and Sokratis.

Checklist

[x] npm test runs as expected.
[x] npm run build runs as expected.
[x] (If applicable) JSDoc comments have been added or updated for any package exports
[x] (If applicable) Documentation has been updated

Type of change

[ ] 🐛 Bug fix
[ ] 🌟 New feature
[ ] 🔨 Breaking change
[ ] 📖 Refactoring / dependency upgrade / documentation
[x] other:

Packages affected

[ ] @clerk/clerk-js
[ ] @clerk/clerk-react
[ ] @clerk/nextjs
[ ] @clerk/remix
[ ] @clerk/types
[ ] @clerk/themes
[ ] @clerk/localizations
[ ] @clerk/clerk-expo
[ ] @clerk/backend
[ ] @clerk/clerk-sdk-node
[ ] @clerk/shared
[ ] @clerk/fastify
[ ] @clerk/chrome-extension
[ ] gatsby-plugin-clerk
[x] build/tooling/chore

This PR has been automatically locked since there has not been any recent activity after it was closed. Please open a new issue for related bugs.


Document and cleanup shib timeout behavior

See normalizeResponse.

PR #25 removes timeout code from adapter, once merged this is no longer required. Code was instead added to pass-ember to check for a timeout when each page or workflow step is loaded.


feat: added ttln to metadata

- What I did
Added ttln to metadata for ephemeral notifications
- How I did it
- How to verify it
I wrote a test in the notify verb builder
- Description for the changelog
feat: added ttln to metadata

@Xlin123 can you please bump the minor version in pyproject.toml


[fix] fix api of table schema in http v2

Proposed changes
schema in this api should be a list, just like in v1
Problem Summary:
Describe the overview of changes.
Checklist(Required)

Does it affect the original behavior: (Yes/No/I Don't know)
Has unit tests been added: (Yes/No/No Need)
Has document been added or modified: (Yes/No/No Need)
Does it need to update dependencies: (Yes/No)
Are there any changes that cannot be rolled back: (Yes/No)

Further comments
If this is a relatively large or complex change, kick off the discussion at<EMAIL_ADDRESS>by explaining why you chose the solution you did and what alternatives you considered, etc...

It should be consistent, but does the v2 version already have users using it? changing it maybe makes it unusable for them?

It should be consistent, but does the v2 version already have users using it? changing it maybe makes it unusable for them?

I think this api is not usable before this fix, because anyone who query this api expect to get all columns info in the table but actually he would just got the table's last column info. It is absolutely an unexpected behaviour. So I guess nobody  is really using this api right now.


react-native support ?

amazing work !
but is this project support react-native ?

Thank you!
Hm. I think it should although I'm not sure about getBoundingClientRect. I've actually not used React Native myself.
Want to give it a shot and let me know? :)

Finally got around to checking out react-native this morning and no, this project isn't compatible. Fails right away when react-virtualized tries to require react (instead of react-native).
I think supporting react-native would probably turn out to be a fair bit of work as I'd have to essentially replace all of the DOM elements with their native component counterparts, which would probably involve first breaking react-virtualized into react-virtualized-core and react-virtualized-browser and then adding a react-virtualized-native layer on top.
This would probably be fun to do but I don't have the resources to do it as a side project. If someone would like to sponsor the development effort, I'd be interested in talking more. Else I'm going to leave this as a "help wanted" issue.

Closing for now due to lack of interest (and resources).

Just a comment and suggestion on this: React-native has the ListView component out of the box that already supports virtualization.  I think it makes sense to separate out the high-order components like InfiniteLoader out to a separate "react neutral" package so they work with VirtualScroller or React-native's ListView. That should be a much smaller task.

@joewood Your comment relates to #182. In my branch for that issue I'm working on refactoring the  windowing logic to be more decoupled from Grid in order to support windowing for non-checkerboard layouts.
Maybe the result of that could be, as you say, a new NPM package- but I'm not sure. I'll have to give it more thought. More packages means more complicated release process for me and this is a nights-and-weekends project. :)

Right, appreciate the time you've put into this.
I was more thinking about reusing the InfiniteLoader logic (basically on-demand data loading) in a react-native project. Although #182 is interesting (I'm personally using a flex-wrap style scrolling container in the VirtualScroller - but that's a separate issue). My point is that InfiniteLoader is definitely view technology agnostic and could be separated out. Appreciate that release management and dependencies don't make that any easier though.

Right, right. I realized a few minutes after responding that I had kind of responded to something a little orthogonal to what you were suggesting by talking about #182. My apologies. :)
I think the same concerns still apply in terms of package complexity. But I'll give it some thought!

Hey can you give me a quick overview of how virtualized list works? At a high level so I can potentially port this to react native? we are really in need of a listView that behaves in this manner.
From what I understand the core idea behind this is that you have a bounding rectangle, and you just do collusion detection and determine what is in view as soon as the cell goes out of the view you replace it and you keep a cache of cells ?This is just a guess at the technique after reading the code for like 30 seconds.

I don't know enough about react-native to know how easy it would be to port RV to native. I've been interested in doing just that for a while but I don't have the time to do it for fun. (If you'd be interested in talking about contractual work, let me know and we could discuss that possibility.)
Otherwise the core parts of the code you'll want to look at are:

The Grid component
The CellSizeAndPositionManager utility

@bvaughn hey yeah sorry I don't have the funds for contractual work haha, I am doing this to get stars on github =P, I know this is a huge pain point for me and other people.
Could you potentially break down the general ideas?  or are you too busy for this ?

There's actually not all that much code if you set aside the Flow typings and comments- (the comments are, I think, pretty much the summary you're asking for?). There's also a lot of unit tests that (I think) should help clarify my intentions.
This method is probably a good starting point for you:
https://github.com/bvaughn/react-virtualized/blob/master/source/Grid/utils/CellSizeAndPositionManager.js#L130

@bvaughn Thanks ill have more clear questions after I actually run through the code !

I think virtualizing the ListView in React Native may be a lot easier than re-implementing the browser based version for a couple of reasons:

ListView is already "virtualized" in some ways as there's a per row callback to render the row.
ListView has an event to when the viewport has changed onChangeVisibleRows. Do no row indicators are needed.
ListView has an event to signal the end of available data has reached. Note that this is the end of the dataset within a configured threshold. So this wouldn't respect a virtual scroll size (but a virtual scroll size is arguably less useful for touch based devices).

So, I think all that's really needed is those first two events tied together with some batch loading callback logic.

Since react-native is not really good out of the box with infinite lists, I would still like to register interest in a RN version. Preferably one that doesn't require fixed heights.

This is something I have an interest in too. And I plan to work on it in the next few months, but likely as a separate effort- (not as react-virtualized but something new). :smile:

Would be great to post this to react-native world too.

@adaptabi (and everyone else interested) you might want to check out FlatList and VirtualizedList, if you haven't already. Lot's of progress has been made towards a better, virtualized List/Grid component in React Native 🎉

Clauderic beat me to it :smile:
Lots of movement on this in the RN world lately.

need this in react-native +1

react-native +1

still not support react-native yet?

I too am looking for a high-performance list view for large lists in RN.

@BergQuester check out https://github.com/bolan9999/react-native-largelist

Hi @bvaughn . Is this available for react-native now. Or, is it practically possible to convert your source code to work react-native. Is this a good idea?


Creating project with default values throw an error on .github\workflows\ci.yaml file

Error message:
Unable to create file '.github/workflows/ci.yaml'
Error message: 'matrix' is undefined
Context: {
    "cookiecutter": {
        "_extensions": [
            "jinja2_time.TimeExtension"
        ],
        "_template": "gh:arthurhenrique/cookiecutter-fastapi",
        "email": "Your address email (you@example.com)",
        "full_name": "Your name",
        "machine_learn_model_name": "model.pkl",
        "machine_learn_model_path": "./ml/model/",
        "project_name": "Name of the project",
        "project_short_description": "A short description of the project",
        "project_slug": "name-of-the-project",
        "release_date": "2022-06-17",
        "version": "0.1.0"
    }
}

Steps to reproduce:
cookiecutter gh:arthurhenrique/cookiecutter-fastapi
You've downloaded /home/maciej/snap/cookiecutter/1/.cookiecutters/cookiecutter-fastapi before. Is it okay to delete and re-download it? [yes]: yes
project_name [Name of the project]:
project_slug [name-of-the-project]:
project_short_description [A short description of the project]:
machine_learn_model_path [./ml/model/]:
machine_learn_model_name [model.pkl]:
full_name [Your name]:
email [Your address email (you@example.com)]:
release_date [2022-06-17]:
version [0.1.0]:

Enviroment:
Ubuntu 20.04.4 LTS
Python 3.10.4 (via pyenv 2.3.0-14-g0930533)
Cookiecutter 1.6.0 from /snap/cookiecutter/1/lib/python3.6/site-packages (Python 3.6)
Creation of project inside venv

thanks for your report! I'll merge a PR with fix and an integration test.
thanks again!


Add form validation to the contact form in frontend

The contact form currently lacks comprehensive validation, which may lead to submission of incomplete or incorrect data.
Steps to reproduce the behavior:

Navigate to the contact page.
Attempt to submit the form with invalid or incomplete data (e.g., name less than 3 characters, phone number not 10 digits,
message less than 10 characters).
Observe that the form submits without proper validation feedback.

Kindly assign this issue to me under GSSoC'24

@Naman197 validation for phone number is there now.


Update PyYAML to fix vulnerability alert?

Can we move to PyYAML?
https://github.com/juanep97/iop4/security/dependabot/15

Fixed in #139


[REQUEST] Add pip check in TF recipe

Moving to 1.11.4.

https://github.com/open-ce/tensorflow-feedstock/pull/139


Added additional functionality and hooks to TimeoutTransitionGroup

Added delayed transitions
Added hooks after transition completes

I'd recommend just using the lower-level ReactTransitionGroup API and creating custom child wrappers for your use case – TimeoutTransitionGroup (and its inspiration, CSSTransitionGroup) is specifically designed for adding and removing CSS classes due to a transition and if you want more complicated logic you can use the lower-level API instead. How does that sound?

No worries, if it doesn't fit what you're looking for.  Just made a few mods and wanted to share back.  Cheers.

Not a problem, thanks for sending this in anyway!


Use link modifiers -bundle on musl and wasi target

Implement https://github.com/rust-lang/rust/issues/72274
Fix:

https://github.com/rust-lang/wg-cargo-std-aware/issues/66
https://github.com/rust-lang/rust/issues/89626

TODO:

[x] Implement rustbuild side change: https://github.com/rust-lang/rust/pull/90527

Thanks for the pull request, and welcome! The Rust team is excited to review your changes, and you should hear from @Amanieu (or someone else) soon.
Please see the contribution instructions for more information.

:umbrella: The latest upstream changes (presumably #2271) made this pull request unmergeable. Please resolve the merge conflicts.

Hello world don't compile on aarch64-unknown-linux-musl now.
It seems this pr will fix this, see https://github.com/rust-lang/rust/issues/89626#issuecomment-938089359

@bors r+

:pushpin: Commit fd331f65f214ea75b6210b415b5fd8650be15c73 has been approved by Amanieu

:hourglass: Testing commit fd331f65f214ea75b6210b415b5fd8650be15c73 with merge 74c391352309b2de13afc82bce54661f67bd6c49...

:broken_heart: Test failed - checks-actions

broken_heart Test failed - checks-actions

Network failure
info: downloading component 'rustc'
info: retrying download for 'https://static.rust-lang.org/dist/2021-11-04/rustc-nightly-x86_64-apple-darwin.tar.xz'
info: retrying download for 'https://static.rust-lang.org/dist/2021-11-04/rustc-nightly-x86_64-apple-darwin.tar.xz'
info: retrying download for 'https://static.rust-lang.org/dist/2021-11-04/rustc-nightly-x86_64-apple-darwin.tar.xz'
info: retrying download for 'https://static.rust-lang.org/dist/2021-11-04/rustc-nightly-x86_64-apple-darwin.tar.xz'
error: component download failed for rustc-x86_64-apple-darwin: could not download file from 'https://static.rust-lang.org/dist/2021-11-04/rustc-nightly-x86_64-apple-darwin.tar.xz' to '/Users/runner/.rustup/downloads/0c18cbfe1f653fa88a0ea659d91730320360ee26cdaaf1f4c3b135f2e0ddf52e.partial'

@bors retry

:hourglass: Testing commit fd331f65f214ea75b6210b415b5fd8650be15c73 with merge 3b1f0ba565523512c8ffa7d7de0aea3816263335...

:broken_heart: Test failed - checks-actions

@bors retry

:hourglass: Testing commit fd331f65f214ea75b6210b415b5fd8650be15c73 with merge 3bde54ffef10bc05c0f3d6498d5a42eabfa4bee9...

:sunny: Test successful - checks-actions, checks-cirrus-freebsd-11, checks-cirrus-freebsd-12, checks-cirrus-freebsd-13
Approved by: Amanieu
Pushing 3bde54ffef10bc05c0f3d6498d5a42eabfa4bee9 to master...


How to ingore duplicate property

I was display property as duplicate at one place.
Written as in sass-lint config. It's a YAML format.
    - 2
    - ignore: display

But didn't work. Can someone please help.
Also, can anyone give pointers to thread saying when the per-line wise lint ignore will come just like es-lint.
Thanks

Have you looked at the docs?
https://github.com/sasstools/sass-lint/blob/develop/docs/rules/no-duplicate-properties.md
It shows an example of the exclude setting

no-duplicate-properties:
    - 2
    -
      ignore:
        - display

no-duplicate-properties:
    - 2
    - exclude:
        - display

Thanks. Worked. I should take care to see the docs again.


Reduce B group percentage of search A/B test

Reduce B percentage of SearchMatchLength test from 30% to 5% before the test starts because the test should be run with just a small group of users initially.

🚀


In a Form, the SelectField Seems to return the Label, not the Value

I am using a selectfield like so:
<SelectField
label="Role"
name="permission_level"
options={[
{ value: '1', label: 'Admin (view, Edit, Update, Delete)' },
{ value: '2', label: 'User (view data, Download Data' },
{ value: '3', label: 'Viewer (view data only)' }
]}
/>
When calling
const formData = await request.formData();
let result = formData.get('permission_level')
I would hope to get the value, meaning 1 or 2 or 3, however I get the label, in the case of 3, i would get the value 'Viewer (view data only)' in the result variable.
Is this known yet?

@CropWatchDevelopment Great feedback.  Most of my apps do not leverage normal form submission so never encountered this.  Should be fixed via https://github.com/techniq/svelte-ux/pull/337

Sounds great techniq! Looking forward to it, Until then, If anyone is interested, here is my workaround:

Btw, the root issue with name was passed to TextField and thus used it's value, which was the selected options label.  Added a hidden input to set name and the current value.

Basically doing the same thing :).  Pushing a release now

0.62.11 released.  Thanks for the report


Support property initializer syntax for classes

A popular method for defining state and binding this context to methods in React is to use the proposed property initializer syntax to define them. Currently bublé does not recognize this syntax.
ES6 Syntax:
class Example extends Component {
  constructor() {
    super();

    this.state = {
      count: 0
    };

    this.increment = this.increment.bind(this);
  }

  increment() {
    this.setState({count: this.state.count + 1});
  }
}

With property initializer syntax:
class Example extends Component {
  state = {
    count: 0
  }

  increment = () => {
    this.setState({count: this.state.count + 1});
  }
}

Would love to see support for this in bublé as it condenses code and removes boilerplate. For comparison here is the babel plugin that supports it.

Just ran into this problem when using react-styleguidist to document ... well React ...
The idiom in React is to use the property initializer syntax for things like propTypes, defaultProps and state and not being able to use this in react-styleguidist means the examples in the docs - compiled by Bublé - don't look like the actual code - compiled by Babel - we will write.

https://github.com/acornjs/acorn-class-fields could be used to parse this.

Any news on this features implementation ?

As far as I know nobody is working on this. If someone wants to pick this up I'm happy to mentor and help.

This is also known as 'class properties'.
I am foreseeing a problem with arrow functions:
class X { fun = () => { alert('fun') }; }
might be transpiled as
function X { this.fun = function() { alert('fun') }; }
but I am expecting it to be transpiled as:
function X { this.fun = function() { alert('fun') }.bind(this); }
but this seems to be a general problem with arrow functions.

I don't understand why the standard says that properties should become part of the instance.
I made more sense to transpile it like this:
class X { a = 3 } --> function X() {} X.prototype.a =3

bublé generally knows how to handle this with arrow functions. Example:
class X {
  constructor() {
    this.fun = () => { alert(this.string) };
  }
}

is transpiled as
var X = function X() {
  var this$1 = this;

  this.fun = function () { alert(this$1.string) };
};

I think it should be easy to follow this with class fields.
If you wouldn't copy the field value to each instance all instances would share the same value. Example:
class StringBuf {
  parts = []
  push(str) { this.parts.push(str) }
}

You wouldn't expect all StringBuf instances to share a parts field.

huh, I see. Since functions are stateless they would be ok, but properties would conflict between instances.
Still feels there should be a way to set proto properties, but it's beside the point.
I hope I could clear some time to write the class properties, I will ping you when I do :)

Functions are just objects and can have properties as well:
const x = { a() { console.log(x.a.f) } }
x.a.f = 'hello'
x.a()

It would be great if you could start working on this!

Still no class fields?


Add hooks to cli commands

Feature request
Is your feature request related to a problem? Please describe.
Currently, when I would like to run a command before or after certain supabase cli commands, I've to run that manually or write a script to run both commands.
Describe the solution you'd like
It would be useful if we could hook commands to supabase cli commands. One idea comes to mind is to define them within the config.toml such as:
[hooks]

post_start='psql postgresql://postgres:postgres@localhost:54322/postgres < custom_seed.sql'
post_start='dart run generate_types.dart'

post_db_reset='dart run generate_types.dart'

pre_stop='pg_dump postgresql://postgres:postgres@localhost:54322/postgres -n public > dumps/schema_dump.sql'

excuse my poor toml -- I'm sure this could be structured in a better way for sub-commands (e.g. supabase db reset).

In the above example, the idea is that each lifecycle command (e.g. stop, start, reset) can have pre- or post-hook(s).

Also related #150

Would be great with an example where a seed.ts file is executed after resetting the db. I always run into TS config issues with imports etc. I imagine I'm not the only one

@NixBiks as you might have Deno set up in your workspace for functions anyway, using Deno for the seed script is quite comfortable.
supabase start && deno run --allow-read=. --allow-net scripts/seed.ts

would love to know if there have been more thoughts on this topic? Particularly for seed files. My seed.sql is getting really large, would be very helpful to be able to split it up a bit and simplify

@mosnicholas we ran into this problem too, so we just wrote a little script that'll read CSVs from a supabase/seeds directory and create a load of insert statements in the seeds.sql file.
You can also have pre-seed.sql and post-seed.sql for running any other SQL you need (extensions etc.).
If you name files 1-foo.csv, 2-bar.csv, the numbering will be respected (and 10 will come after 9, not 1... thanks ascii...).
Code is here: https://gist.github.com/isaacharrisholt/8b92d21429e2981827795c5e29763a5f

@mosnicholas we run it using a pre-commit hook with the following:
bash -c 'cd scripts/csv-seeder; go run main.go ../../supabase'
But you could also do it in CI and push the changes to the branch, like you might do with supabase gen types

Any updates here? :)

would love a pre-migrations hook to run externally managed migrations e.g. for graphile/worker.

This would be great. We already have custom scripts for e.g. seeding storage, and now looking to run idempotent migrations for some stuff like webhooks, and so fort. Would be great to pipe them into the CLI workflows, as custom scripts can be easy to forgotten / accidentially bypassed in the team.

This would be great. We already have custom scripts for e.g. seeding storage

how do you approached seeding storage? I really would like to see a feature lfrom supabase ike seed-storage.yml where we just define the files together with the fileURL and map them to the buckets created in seed.sql. This way we could db reset everything and have a full running DB with storage again...


support rolling publishing in AI scenarios

Ⅰ. Describe what this PR does
Support rolling publishing in AI scenarios.
Ⅱ. Does this pull request fix one issue?

Fix webhook ValidatingWebhookConfiguration support for apiVersion v1beta1.
Support Istio getaway to filter VirtualService retries fields.

Ⅲ. Special notes for reviews

Codecov Report
All modified and coverable lines are covered by tests :white_check_mark:

Comparison is base (9dcf365) 43.40% compared to head (7cac136) 43.40%.

:exclamation: Your organization needs to install the Codecov GitHub app to enable full functionality.
Additional details and impacted files
@@           Coverage Diff           @@
##           master     #187   +/-   ##
=======================================
  Coverage   43.40%   43.40%
=======================================
  Files          52       52
  Lines        5667     5667
=======================================
  Hits         2460     2460
  Misses       2783     2783
  Partials      424      424

Flag
Coverage Δ

unittests
43.40% <ø> (ø)

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

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


Fails to navigate to TODO location from OUTPUT Panel

Whenever I "command-click" a todo link I get the following error:
Error: Unable to open 'my.service.js#209': File not found(/Users/justin/src/js/project/src/endpoint/my.service.js#209).

This file path is correct and I can verify by doing an $ ls on the path.
From file:///Users/justin/src/js/project/src/endpoint/my.service.js#209
----------------------------------
todo:(justin) Finish the validation

==================================
Found 1 TODO.

MacOS Sierra 10.12.4
VS Code 1.11.2

I have encountered this problem also.  macOS

Have the same problem. Mac OS

Same on linux.

Possible related to https://github.com/Microsoft/vscode/issues/29735

this problem seems to be different to above linked issue, because in this case the filename that is linked to is the actual file path but also including the line number at the end as part of the extension.

Can anyone provide a solid snippet which can reproduce in latest VSCode stable. I can't reproduce this issue whether there is a line number in the link or not.

This is still an issue. Mac OSX Sierra v10.12.6, VSCode v1.20.1, TODO parser v1.9.1, a project consisting of a single file. Cmd-Click the TODO file link, the error banner is displayed:

Thanks.

Have the same issue too :(


feat: Add opengraph information to document pages

@mnot I think you have some familiarity with opengraph; does this look reasonable at all?

Looks reasonable to me. Have you tested with the validator?

Yes, but uploading an HTML to eggert.org and then feeding that in. The Twitter validator shows no error but says it can't render. The Facebook one seems happier. If you want to try yourself: https://eggert.org/x.html

Hmm. The URL is to <IP_ADDRESS> - I wonder if they're blocking it because of that?

Also, last time I checked the twitter bot can't do TLS 1.3, so you need to allow 1.2.

I don't do TLS 1.3, only 1.2.

What do your access logs say?

<IP_ADDRESS>  - - [13/Jul/2022:19:30:15 +0300] "GET /x.html HTTP/1.1" 200 21456 "-" "Twitterbot/1.0"

but still

Facebook seems to like it though: https://developers.facebook.com/tools/debug/?q=https%3A%2F%2Feggert.org%2Fx.html

It's not clear to me that this is ready to merge. Are you still looking into why there were failures at twitter?

There is no way to debug this unfortunately. I wonder if it would be safe to merge this and then fix things if they need fixing once everything is in place at the correct URLs. This shouldn't cause any failures, because Twitter would just fall back to the normal cards.

I think the twitter validator tool is just broken -- the URLs on my personal blog do the same thing, but if I go to Twitter itself, compose a tweet, and paste in a URL from my blog, the preview shows up successfully.
Likewise, if I do that with Lars' test URL, it works -- although the logo doesn't show correctly.

So I think we just need to fix the logo (1:1 ratio, and maybe smaller?). I see you use a different URL in the PR, so maybe that's already addressed?
Also, I'll take this opportunity to ask again, explicitly: are we sure we want to put the IETF logo on drafts that aren't on any stream? That's going to be misleading for the vast majority of people who see it.

I am using the same logo logic now that you are proposing for xml2rfc, so that should avoid IETF logos on I do visual drafts.
I asked Greg to have the design company do a 1:1 icon already, so that should be coming. Or I can do a 1:1 version of the logo in the meantime.


unable to create horizontal scrollable mat-chip-list

Bug
mat-chip-list doesn't respect css flex property
What is the expected behavior?
mat-chip should display in a horizontal scrollable layout
Example
stackblitz

这是极好的

From looking at your reproduction it looks to be that the issue is you are not targeting the .mat-chip-list-wrapper container div.  You can see a working fork of your stackblitz here

Why r u using ViewEncapsulation.None  doc says - "Don't provide any template or style encapsulation."
But can you explain it a little more

@josephperrott Why r u using ViewEncapsulation.None  doc says - "Don't provide any template or style encapsulation."
But can you explain it a little more.
More specifically, why do we have to use it here?

It allows you to override the styles of the child components.


Migrate from deprecated legacy Graph panels to Time Series panels

The Graph (old) panel uses a deprecated, legacy platform based on AngularJS and will stop working in future releases of Grafana:

https://grafana.com/docs/grafana/latest/developers/angular_deprecation/
https://grafana.com/docs/grafana/latest/panels-visualizations/visualizations/time-series/

Types of changes

[x] 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 change)
[x] I have read the CONTRIBUTING document.
[x] My code follows the code style of this project.
[ ] My change requires a change to the documentation.
[ ] I have updated the documentation accordingly.
[ ] I have added tests to cover my changes.
[ ] All new and existing tests passed.

I just tested this patch and it works. Please consider to merge it and we can upgrade to Grafana 11, thanks.

@mitchtech thank you for the PR, and @dennys thanks for testing. I'll try to look into this hopefully soon.


Add ability to transform deps before transform/validate/process

Hey Jeff! We've run into a situation where it would be helpful to transform our dependencies before they actually hit the process method. Essentially, I would like to have an additional dependency that contains pre-populated values from the current state and action (things like the user context, specific values optionally passed in via an action's meta field, etc.). Right now we're doing the extraction in each process call, which isn't very DRY.
I was thinking about how to accomplish this and my thought is to add a mapDeps (name TBD) function as the third argument in createLogicMiddleware. Then, that function would run here each time. An example of what this looks like could be:
    const depObj = {
      ...mapDeps(deps, getState, action),
      cancelled$,
      ctx: {}, // for sharing data between hooks
      getState,
      action
    };

mapDeps would be written by the user (defaulting to the identity function if not provided) and could look like this:
function mapDeps(deps, getState, action) {
  return {
    ...deps,
    someValue: get(getState(), 'some.deeply.nested.value.in.my.store')
  }
}

If you think this is a good idea and approach, I can submit a PR to get this worked in.

Ray,
Thanks for reaching out. I'm onsite right now, but I'll give it some
thought and then we can greenlight the approach.
Will get back to you soon.  Thanks.
Jeff
On Thu, Nov 2, 2017 at 9:52 AM Ray Gesualdo<EMAIL_ADDRESS>wrote:

Hey Jeff! We've run into a situation where it would be helpful to
transform our dependencies before they actually hit the process method.
Essentially, I would like to have an additional dependency that contains
pre-populated values from the current state and action (things like the
user context, specific values optionally passed in via an action's meta
field, etc.). Right now we're doing the extraction in each process call,
which isn't very DRY.
I was thinking about how to accomplish this and my thought is to add a
mapDeps (name TBD) function as the third argument in createLogicMiddleware.
Then, that function would run here
https://github.com/jeffbski/redux-logic/blob/d8d6424d74a83c07840ebc532a8768d5cacb8d3e/src/createLogicAction$.js#L194
each time. An example of what this looks like could be:
const depObj = {
  ...mapDeps(deps, getState, action),
  cancelled$,
  ctx: {}, // for sharing data between hooks
  getState,
  action
};

mapDeps would be written by the user (defaulting to the identity function
if not provided) and could look like this:
function mapDeps(deps, getState, action) {
return {
...deps,
someValue: get(getState(), 'some.deeply.nested.value.in.my.store')
}
If you think this is a good idea and approach, I can submit a PR to get
this worked in.
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/jeffbski/redux-logic/issues/84, or mute the thread
https://github.com/notifications/unsubscribe-auth/AAAWOZSBW1y9p0RBQ2buW4KF1UBOBzeBks5sydc9gaJpZM4QP0BA
.

--
Jeff Barczewski
Founder of CodeWinds
http://codewinds.com/
Live and Online developer training

Sounds great!
Another idea I had was to allow deps to also be a function (which is passed getState and action) that returns an object. That way there's no need to have another argument in createLogicMiddleware or to explain what mapping over dependencies involves. deps is either an object or a function that returns an object. I think I like this way better. 😃

@raygesualdo ... I also think your second approach (allowing deps to be a function) is a much cleaner approach!

Thanks @raygesualdo and @KevinAst! I think the second approach sounds the best to me too.
If deps is a function then it would be providing the resulting dependency structure after doing whatever transformation is desired.
Since this is a fair number of arguments to pass into the deps function, I'm thinking it should come in as an object containing all the built-in deps and then a new object can be returned with any overrides, additions, etc.
So createLogicMiddleware(arrLogic, deps) and also logicMiddlware.addDeps(deps) would allow functions as an alternative to the objDeps. In the second case addDeps(fnDeps) would basically supercede the previous dep fn or would both be called in order?
The deps fn signature in either case would be
// return the transformed/augmented deps
const deps = builtinDepsObj => ({
  ...builtinDepsObj,
  foo: 123,  // adding in new
  bar: builtinDepsObj.bar * 100    // overriding previous
});

How does that sound? and what should be the flow if addDeps(depfn) is called one or more times. Will they chain together or completely replace any previous one? I guess since the function is named addDeps and it was traditionally always appending to, it seems like addDeps would also append to the chain calling any previous depFns before calling itself.


Move chain registry code into client/ directory

Moving the chain-registry related code into the client/ directory and making sure the functions/methods there are public for use in outside repos.
Closes #47

Great @jtieri thanks!


Is it possible to set calculator options dynamically (run time)?

Hi,
I am new at Google Mediapipe technology and interesting in calculator properties. So in my project we need to change treshhold dynamicly depends on general video luminance. Could you explain is it possible is it possible to set calculator options dynamically (run time)? And how?

Hi @OleslavIntellias, Could you please elaborate your use case with more details. Thanks!

Well, the main idea is to modify the treshhold for each frame in case the brigtness is weak enough or, on the contrary, too strong. If the brigtness is good, leave the threshhold high enough so that the mediapipe does not recognize foreign objects. My question is how it would be possible to dynamically change the threshhold (min_score_thresh parameter in the TensorsToDetectionsCalculatorOptions that are passed to the TensorsToDetectionsCalculator).
P.S. As I can see the TensorsToDetectionsCalculatorOptions class has setters and getters for each parameter.
  public:

  // optional float min_score_thresh = 19;
  bool has_min_score_thresh() const;
  private:
  bool _internal_has_min_score_thresh() const;
  public:
  void clear_min_score_thresh();
  float min_score_thresh() const;
  void set_min_score_thresh(float value);
  private:
  float _internal_min_score_thresh() const;
  void _internal_set_min_score_thresh(float value);

P.S. P.S. I found an explanation in the documentation that can be done. But I still have no practical idea of how it could be implemented. https://google.github.io/mediapipe/getting_started/faq.html#:~:text=Send new calculator options through packets on graph input-streams

Hi @OleslavIntellias,  You can do the changes in the graph  at min_score_thresh: 0.5 , Which sets the min_detection_confidence.

Hi @sgowroji,
I

Hi, @sgowroji,
You're right so I can do it. I want to know if you can set this value dynamically.

@hadon, @sgowroji, Could anybody help me with this issue?

But as i can see in the TensorsToDetectionsCalculatorOptions class has setters and getters for each parameter.  Maybe is it possible to set new options in previous calculator for next one?
  public:

  // optional float min_score_thresh = 19;
  bool has_min_score_thresh() const;
  private:
  bool _internal_has_min_score_thresh() const;
  public:
  void clear_min_score_thresh();
  float min_score_thresh() const;
  void set_min_score_thresh(float value);
  private:
  float _internal_min_score_thresh() const;
  void _internal_set_min_score_thresh(float value);

Hello @OleslavIntellias,
We are upgrading the MediaPipe Legacy Solutions to new MediaPipe solutions However, the libraries, documentation, and source code for all the MediapPipe Legacy Solutions will continue to be available in our GitHub repository and through library distribution services, such as Maven and NPM.
You can continue to use those legacy solutions in your applications if you choose. Though, we would request you to check new MediaPipe solutions which can help you more easily build and customize ML solutions for your applications. These new solutions will provide a superset of capabilities available in the legacy solutions. Thank you

@OleslavIntellias
I need to change the options at runtime as well. Have you found the way? Thanks.


PacketDeath

PacketDeath make anim of "you are death" but not activate black screen

Have you tried to turn on sphere.ini, PacketDeathAnimation setting?

Hmm, I don't know why that happened, I am trying and packet is sending for me, which version of uo are you using? If you are using Razor or Orion they can block packets or render packets different.

client 203 without any.

https://puu.sh/FFnp2/24e52470ce.mp4
that account was gm, but it happen same with player account.
sphere.ini:
// Enable death screen animation on classic clients (on enhanced clients this is always enabled)
PacketDeathAnimation=1

Also you can't pass through a door while dead

i can confirm, client 3.0.6j
even if logout and login back, dead, still see in color

It is not fixed yet

Not work that fix. continue same problem.

Hmm, I tried with my latest build and I got you are dead animation when I died (tested on 2.0.3 client)

Just for make sure, do you have any @Death trigger? Maybe you can use @Death to send player some safe area when he is dead. If you return 1, he is technically don't die so animation doesn't work. Even nothing done about this from all these time but as I said before I had no issue from the beginning, and after 5 fixes, if the issue haven't solved, I personally think it's some script side issue. Maybe you need to check all of your @Death @Kill @DeathCorpse triggers.

Is this still an issue?


Sync release-v0.11 with upstream

What this PR does / why we need it:
Pull changes from upstream release-0.11 branch into ODH release-v0.11 branch
Which issue(s) this PR fixes (optional, in fixes #<issue number>(, fixes #<issue_number>, ...) format, will close the issue(s) when PR gets merged):
Related #58
Release note:

NONE

/test e2e-slow


cannot generate route slug with parent in v3

Select a parent on the route document
Add a topic slug
Click "generate" on slug
Slug is generated without the parent

😢

Will be fixed on #1651, hence closing this


Added KerrNewman to from .vacuum_solutions

part of the fix for #360 issue

Add it to #427 only :)


Switch directly to unreaded feeds when click on the number of unreaded feeds

Is your feature request related to a problem? Please describe.
Not directly to a problem. It will improve the handling of switing between "unreaded" feeds to "marked or favorite" feeds.
I think it would be a good improvement, when i could click in the red marked box (here with the number 5) to switch directly to the 5 unreded feeds.

Describe the solution you'd like
Direcly switch to the unreaded feeds when clicking on the 5 (see screenshot)

Any plans to implement this feature?


Make "open proposals" link to topic on github

Makes "open proposals" into a link to whichever topic you have selected

Merged manually with https://github.com/godot-proposals-viewer/godot-proposals-viewer.github.io/commit/a4e98c48d483a04227fb8d5aa2cc7731fa0c0920. Thanks!


fix: Removing t0 alias from column name, while getting schema from query. Adding Integration test for Hive Custom-Query

This PR does following:

Adding integration test for Hive Custom-Query validation.
Fixes the t0 alias issue, while generating schema from custom query, issue pointed in #1162

/gcbrun

/gcbrun


Add progress bar for CSV import

Is your feature request related to a problem? Please describe.
When a big csv file will be uploaded and many pdf cards will be generated, the user just see a loading spinner but no progress for minutes. The user should be informed about the process of the pdf generation
Describe the solution you'd like

show a progress bar or a text "x of  cards" were generated

looks like thats not that easy because the main time is need to create the blob


Improve binding of missing identifier.

Currently when users use words that can't be use as an identifier (this case will be more common as module  and class becomes strict mode code), we should then have better binding diagnostics to report this error instead of Duplicate identifier '(Missing)'.

Please provide more information about the suggestion and reopen.


Send sentry logs

In my project, I create a util call log. Here is content.
import { logger, sentryTransport } from "react-native-logs"
import * as Sentry from "@sentry/react-native"

/*
 * Configure sentry
 */

const config = {
  severity: "error",
  transport: sentryTransport,
  transportOptions: {
    SENTRY: Sentry,
  },
}

export const log = logger.createLogger(config)

In my app.tsx, I import log and try my first error log but it doesn't work:
import React, { useEffect,} from "react"
import {Text, View} from "react-native"
import { log } from "./utils/log"

function App() {
  useEffect(() => {

    log.error("My first Sentry error!")
  }, [])
  return (
       <View><Text>test</Text></View>
  )
}

export default App

Can anyone help me to push my first log?

have you configured Sentry correctly?
you should have something like that in your app index file before send logs:
import * as Sentry from "@sentry/react-native";

Sentry.init({
  dsn<EMAIL_ADDRESS>});

import * as Sentry from "@sentry/react-native";

Sentry.init({
  dsn<EMAIL_ADDRESS>});

Thanks @alessandro-bottamedi I will try and let you know.

@alessandro-bottamedi it doesn't work. Here is my code
import { logger, sentryTransport } from "react-native-logs"
import * as Sentry from "@sentry/react-native"

util.ts
/*
 * Configure sentry
 */

const config = {
  severity: "error",
  transport: sentryTransport,
  transportOptions: {
    SENTRY: Sentry,
  },
}

export const log = logger.createLogger(config)

app.tsx
import React, { useEffect,} from "react"
import {Text, View} from "react-native"
import { log } from "./utils/log"
import * as Sentry from "@sentry/react-native"
Sentry.init({
  dsn<EMAIL_ADDRESS>})

function App() {
  useEffect(() => {

    log.error("My first Sentry error!")
  }, [])
  return (
       <View><Text>test</Text></View>
  )
}

export default App

Se lanci direttamente l'errore a SENTRY funziona?
Sentry.captureException("My first Sentry error!");

@alessandro-bottamedi yes, it works with direct throwing.

No, do you have the last version?
try to put this lines in the index.js file, the very first file you load:
import * as Sentry from "@sentry/react-native"

Sentry.init({
  dsn: "https://xxxx",
})

Feel free to re-open if necessary

Any idea why errors are shown as <unknown>?


[agent] Fix logging in process agent component's Enabled() method

What does this PR do?

Remove duplicate logging in process agent component's Enabled() method.

Enabled() method will only be invoked once per Sync.once() object instance (as Enabled() depends on configuration that should not change during one run).

Add compatibility with above changes to process agent unit tests.

Motivation
https://datadoghq.atlassian.net/browse/PROCS-4223

Possible Drawbacks / Trade-offs

Will need to create a new Sync.once instance if Enabled() configuration changes across one run.

Describe how to test/QA your changes

Local unit testing by running the agent_linux_test.go tests (TestProcessAgentComponentOnLinux, TestStatusProvider,  TestTelemetryCoreAgent),  in a linux environment to ensure all tests pass.
Run process agent to ensure only unique log message is being output, as shown in the following:

Before:
2024-07-15 14:08:35 UTC | PROCESS | INFO | (comp/process/agent/agent_linux.go:60 in Enabled) | Process/Container Collection in the Process Agent will be deprecated in a future release and will instead be run in the Core Agent. Set process_config.run_in_core_agent.enabled to true to switch now.
2024-07-15 14:08:35 UTC | PROCESS | INFO | (comp/process/agent/agent_linux.go:60 in Enabled) | Process/Container Collection in the Process Agent will be deprecated in a future release and will instead be run in the Core Agent. Set process_config.run_in_core_agent.enabled to true to switch now.
2024-07-15 14:08:35 UTC | PROCESS | INFO | (comp/process/agent/agent_linux.go:60 in Enabled) | Process/Container Collection in the Process Agent will be deprecated in a future release and will instead be run in the Core Agent. Set process_config.run_in_core_agent.enabled to true to switch now.

After (there are different log messages before and after this message):

Reviewer's Checklist

[ ] If known, an appropriate milestone has been selected; otherwise the Triage milestone is set.
[ ] Use the major_change label if your change either has a major impact on the code base, is impacting multiple teams or is changing important well-established internals of the Agent. This label will be use during QA to make sure each team pay extra attention to the changed behavior. For any customer facing change use a releasenote.
[ ] A release note has been added or the changelog/no-changelog label has been applied.
[ ] Changed code has automated tests for its functionality.
[ ] Adequate QA/testing plan information is provided if the qa/skip-qa label is not applied.
[ ] At least one team/.. label has been applied, indicating the team(s) that should QA this change.
[ ] If applicable, docs team has been notified or an issue has been opened on the documentation repo.
[ ] If applicable, the need-change/operator and need-change/helm labels have been applied.
[ ] If applicable, the k8s/<min-version> label, indicating the lowest Kubernetes version compatible with this feature.
[ ] If applicable, the config template has been updated.

/merge


Add WebXR

This PR adds the WebXR feature set as a Baseline feature.

Thanks for the PR. I won't review as I know nothing about WebXR. Do you know who is a subject matter expert and could help us review this? This would ideally be someone who not only knows about WebXR, but someone who actually uses it as a web dev.

I documented WebXR on MDN, I proposed to split this into modules, and I will review this :)

One more description to figure out.
Also, @queengooborg, can you re-run dist generation for this PR to pass? TY!


Browsers not uninstalled

When running the "one-version" way, none of the three browsers was uninstalled at the end. All failed at the Chocolatey uninstall process saying "the package named chromium/firefox/opera" does not exist.

Bug fixed.


Modified bookshelf.bucket property to use myBucketName instead of using projectId

The current instruction at https://cloud.google.com/java/tutorials/bookshelf-on-compute-engine doesn't expect/suggest the user should use the project-id as the bucket name. So I updated the value of the bookshelf.bucket to be myBucketName instead.

Looking at the instructions in the README and pom.xml where we use the project id in the sql connection string : looks like we should be asking users to set the project id ? We could use the project id as the bucket name or provide that as a separate param.

Are you referring to this part?
  <sql.dbName>bookshelf</sql.dbName>                        <!-- A reasonable default -->
  <!-- Instance Connection Name - project:region:dbName -->
  <!-- -Dsql.instanceName=localhost to use a local MySQL server -->
  <sql.instanceName>${projectID}:us-central1:${sql.dbName}</sql.instanceName>
  <sql.userName>root</sql.userName>                         <!-- A reasonable default -->
  <sql.password>myRootPassword1234</sql.password> <!-- -Dsql.password=myRootPassword1234 -->

Updated PR to reflect conversation with @jabubake and @lesv last comment.

Circle won't pass, ok to merge as admin.


Can not make multiple BLE IPSP connection to the same host

Reopen of https://github.com/zephyrproject-rtos/zephyr/issues/29684
@carlescufi I do more tests with "tcpdump -i bt0" for this issue at the weekend, it looks like the issue come from zephyr but not Bluez, please check below.
IPv6 address for each devices:

RPI 3B+: global addr: 2001:db8::2, link-local addr: fe80::dca6:32ff:feb3:5b7e
ipsp node1: global addr: 2001:db8::3, link-local addr: fe80::f2f0:1ff:fec6:c12e
ipsp node2: global addr: 2001:db8::1, link-local addr: fe80::c387:ecff:fee8:e79a

Connect node1 with 'echo "connect F2:F0:01:C6:C1:2E 2" > /sys/kernel/debug/bluetooth/6lowpan_control', ping from node1 to rpi works fine:

and ping from rpi to node1 also works fine:

Keep the ping from rpi to node1 running, then connect node2 with 'echo "connect C3:87:EC:E8:E7:9A 2" > /sys/kernel/debug/bluetooth/6lowpan_control', at this time rpi is keep sending ping but didn't get any reply from node1:

try to ping from node1 to rpi, we saw that node1 send NS to query who has 2001:db8::2(rpi) and rpi replied NA to node1, but when rpi send NS to query who is 2001:db8::3(node1), rpi didn't get any reply from node1...

at this point ping from rpi to node1 or node2,  rpi is keep sending ping message, but didn't get any reply from node1/node2

Although can't ping each other with global ipv6 address, but it's ok to ping with the link local address:

So it looks like the some issues from zephyr, could you please help to check it again? thanks.
Originally posted by @hguomin8 in https://github.com/zephyrproject-rtos/zephyr/issues/29684#issuecomment-727569324

@Vudentz any chance you can comment on this?

@Vudentz any chance you can comment on this?

@hguomin8 could you please post exact instructions on how to reproduce this problem, including BlueZ and Linux kernel versions?

@hguomin8 could you please post exact instructions on how to reproduce this problem, including BlueZ and Linux kernel versions?

Keep the ping from rpi to node1 running, then connect node2 with 'echo "connect C3:87:EC:E8:E7:9A 2" > /sys/kernel/debug/bluetooth/6lowpan_control', at this time rpi is keep sending ping but didn't get any reply from node1:

If that is the case, I don't see how this can be a Zephyr problem. node1, running Zephyr, should not have noticed at all that Linux connected to a second host. It seems to me that the Linux kernel is not correctly configured with multiple BLE nodes on one bt0 network interface.

Keep the ping from rpi to node1 running, then connect node2 with 'echo "connect C3:87:EC:E8:E7:9A 2" > /sys/kernel/debug/bluetooth/6lowpan_control', at this time rpi is keep sending ping but didn't get any reply from node1:

If that is the case, I don't see how this can be a Zephyr problem. node1, running Zephyr, should not have noticed at all that Linux connected to a second host. It seems to me that the Linux kernel is not correctly configured with multiple BLE nodes on one bt0 network interface.

Lowering priority since it is not immediately clear that this is an issue on the Zephyr side.

Lowering priority since it is not immediately clear that this is an issue on the Zephyr side.

@hguomin8 could you please post exact instructions on how to reproduce this problem, including BlueZ and Linux kernel versions?

Thanks Carles, details please refer to the issue I opened before: https://github.com/zephyrproject-rtos/zephyr/issues/29684

@hguomin8 could you please post exact instructions on how to reproduce this problem, including BlueZ and Linux kernel versions?

Thanks Carles, details please refer to the issue I opened before: https://github.com/zephyrproject-rtos/zephyr/issues/29684

Keep the ping from rpi to node1 running, then connect node2 with 'echo "connect C3:87:EC:E8:E7:9A 2" > /sys/kernel/debug/bluetooth/6lowpan_control', at this time rpi is keep sending ping but didn't get any reply from node1:

If that is the case, I don't see how this can be a Zephyr problem. node1, running Zephyr, should not have noticed at all that Linux connected to a second host. It seems to me that the Linux kernel is not correctly configured with multiple BLE nodes on one bt0 network interface.

If this is an issue from Linux kernel, do you or your team know any solution or work around can be applied to make this kind of multiple 6lowpan nodes connection to a linux host? if no, the 6lowpan over ble might be useless...

Keep the ping from rpi to node1 running, then connect node2 with 'echo "connect C3:87:EC:E8:E7:9A 2" > /sys/kernel/debug/bluetooth/6lowpan_control', at this time rpi is keep sending ping but didn't get any reply from node1:

If that is the case, I don't see how this can be a Zephyr problem. node1, running Zephyr, should not have noticed at all that Linux connected to a second host. It seems to me that the Linux kernel is not correctly configured with multiple BLE nodes on one bt0 network interface.

If this is an issue from Linux kernel, do you or your team know any solution or work around can be applied to make this kind of multiple 6lowpan nodes connection to a linux host? if no, the 6lowpan over ble might be useless...

If this is an issue from Linux kernel, do you or your team know any solution or work around can be applied to make this kind of multiple 6lowpan nodes connection to a linux host? if no, the 6lowpan over ble might be useless...

You can contact BlueZ here:
http://www.bluez.org/contact/
or create an issue here, copying @Vudentz:
https://github.com/bluez/bluez/issues

Could you provide full btmon logs for the complete connection cycle? We can take a look at those and decide if this is indeed a Zephyr issue.

Could you provide full btmon logs for the complete connection cycle? We can take a look at those and decide if this is indeed a Zephyr issue.

Sure, but let me make it after this Chinese New Year holidays...

Sure, but let me make it after this Chinese New Year holidays...

Any news @hguomin8?

Sure, but let me make it after this Chinese New Year holidays...

Any news @hguomin8?
Please check the btmon.zip attached, I use the "btmon -w btmon.log" command to generate.

Test step as follows:
Setup RPI host:
sudo -i
modprobe bluetooth_6lowpan
echo 1 > /sys/kernel/debug/bluetooth/6lowpan_enable
echo 1 > /proc/sys/net/ipv6/conf/all/forwarding
service radvd restart
hcitool lescan
Ctrl+C
Connect node1
echo "connect EF:E4:8B:50:0F:71 2" > /sys/kernel/debug/bluetooth/6lowpan_control
ip address add 2001:db8::1/64 dev bt0
ping6 fe80::efe4:8bff:fe50:0f71%bt0
=>link local ip ping works fine
ping6 2001:db8::efe4:8bff:fe50:0f71
=>global ip ping works fine works fine
Then connect node2
echo "connect F2:F0:01:C6:C1:2E 2" > /sys/kernel/debug/bluetooth/6lowpan_control
=>node1's global ip ping be stop...
ping6 fe80::f2f0:01ff:fec6:c12e%bt0
=>link local ip ping works fine
ping6 2001:db8::f2f0:01ff:fec6:c12e
=>global ip ping not working
ping6 fe80::efe4:8bff:fe50:0f71%bt0
=>node1's link local ping also works fine
btmon.zip

As per the log, the BLE communication between node1 and Linux and node2 and Linux seems stable all through the trace, even after connecting node2. This looks instead like a TCP-related problem, as shown in the trace if you load it in Wireshark:

@Vudentz or @jukkar could you please take a look at the trace in Wireshark and analyze what is wrong with TCP?

What Zephyr version was used here?
I looked the latest upstream TCP code and the RST is send to peer after SYN only if the packet is malformed or we received unknown TCP option. The dump file shows that the only option we receive is the Maximum Segment Size and current TCP code should be able to handle that. There was some fixes for the option handling in this commit 9e8c1b0bbfe02f84185f81002a42967017bcb61a but it is certainly possible that there are still some issues present.

I tested the TCP and option handling by sending TCP SYN with the same options as in the btmon.log file. Zephyr did not send RST to peer so our TCP MSS option handling works ok.
Was the application in Zephyr listening the 1883 port?

What Zephyr version was used here?
I looked the latest upstream TCP code and the RST is send to peer after SYN only if the packet is malformed or we received unknown TCP option. The dump file shows that the only option we receive is the Maximum Segment Size and current TCP code should be able to handle that. There was some fixes for the option handling in this commit 9e8c1b0 but it is certainly possible that there are still some issues present.

Zephyr version is v2.2.0

I tested the TCP and option handling by sending TCP SYN with the same options as in the btmon.log file. Zephyr did not send RST to peer so our TCP MSS option handling works ok.
Was the application in Zephyr listening the 1883 port?

Yes, I am running an MQTT app that listening the 1883 port, but this issue can be simply reproduced with MQTT running.

Zephyr version is v2.2.0

Ok, that is an ancient version. Would you be able to try your setup in latest upstream so we could get information if the TCP issue is fixed there.

Zephyr version is v2.2.0

Ok, that is an ancient version. Would you be able to try your setup in latest upstream so we could get information if the TCP issue is fixed there.

Let me try it and get back to you later next week.

@jukkar Just tested this issue with same environment and configuration on Zephyr latest v2.5.0, this issue still exist and the same. the two node's local ip(start with fe80::) ping both works fine, but the global ip(start with 2001:db8::) ping not working.

@jukkar Just tested this issue with same environment and configuration on Zephyr latest v2.5.0, this issue still exist and the same. the two node's local ip(start with fe80::) ping both works fine, but the global ip(start with 2001:db8::) ping not working.

@jukkar could you take a look to see if this indeed can be TCP-related?

@jukkar ping

@rlubos is there any chance you could take a look at the Wireshark log and see if this could be an issue on the TCP stack?

Is this the same issue https://devzone.nordicsemi.com/f/nordic-q-a/70593/nrfconnect-ipsp-example-global-address-unreachable
This might also be related to #33185 where the root cause was the incorrect handling of lowpan_cb->gw in linux ipsp driver.

@carlescufi The log could indeed indicate some issue with the TCP stack on the Zephyr side, as @jukkar pointed out, however from what I understood from this conversation the log was generated with "Zephyr version v2.2.0" - we still used the "old" TCP stack at that point. So it'd be good to see a more up do date logs.
However, I think the TCP topic slightly deviates from the original report, where TCP wasn't involved, only pings. So I don't think the core issue with handling multiple devices is related to TCP at all.

Closing due to inactivity, @hguomin8 please reopen if you reproduce this with the latest Zephyr and Linux kernels.


[pre-sve] DGSW-2.2 Implementation for event handler of Software Diagnostics events is missing

Problem
In Test case DGSW-2

expected behavior
- DUT sends an event report to TH. TH reads a list of SoftwareFault struct from DUT.

actual behavior
- No Event Report is sent

system configuration
-  DUT used : ESP32
-  app use: all-clusters-app
- chip-tool and DUT commit id : 425f1fb916ca154deeb75cd82cd5196778aba152 (pre-sve SHA)

logs

esp32: esp32.txt
chip-tool: th.txt

Proposed Solution

Add code to handle software events

Bumping this issue to cert blocker as it's a request cert blocker discovered during pre-SVE tests.

SoftwareFault event conformance is optional.
While this is useful for testing, I am unsure if this should block cert: event generation is up to the individual device implementation, software fault event generation is optional.

Cert Blocker Review: Tagging @franck-apple to follow up with Sankar, to see if there's a test plan update/review needed.

@PSONALl  I checked with QA team, they used the following command to generate the event & then read the event.

It worked fine for us

@sankarselvam tried this but I am not getting any Event Report when I read the event
this is because OnSoftwareFaultDetect is never called

OK, Seems like its a platform specific issue. We tried in RPI & we could able to see the called in DUT. Attached logs for re
[TC-DGSW-2.2]TH.txt
[TC-DGSW-2.2]DUT.txt

Yes @sankarselvam I am working to fix this issue on the esp32 side


Fix bug in HTTP-digest auth w/ URI having query string

When there's a query string in the request URL, we need to separate it from the parsed path with a question mark when constructing the digest input.
(Sorry, I didn't add a test case for the problem.)

I can confirm that this patch fixes a bug I ran into where all of my HTTP Digest Auth request calls worked except ones with query strings (like /whatever?foo=bar). I could observe this in wireshark where the query strings were being truncated by requests.

Thanks a ton!


Make WriteSymbol case-insensitive about given Javascript objects

Now the object given to the WriteSymbol needs to have 100% identical keys (case-sensitive).
It should be insensitive, as the PLC doesn't matter about the upper/lower case.

Closing as support is added @ version 1.1.0


Fix flaky debugger test

Description
Fixes flaky test https://dashboard.cypress.io/projects/eyxvp8/runs/7314/overview.
The property pane is open already, removing the duplicate.
Type of change

Bug fix (non-breaking change which fixes an issue)

How Has This Been Tested?
Locally
Checklist:

[x] My code follows the style guidelines of this project
[x] I have performed a self-review of my own code
[ ] I have commented my code, particularly in hard-to-understand areas
[ ] I have made corresponding changes to the documentation
[x] My changes generate no new warnings
[ ] I have added tests that prove my fix is effective or that my feature works
[x] New and existing unit tests pass locally with my changes

Test coverage results :test_tube:
:white_circle: Total coverage has not changed
No changes to code coverage between the base branch and the head branch

/ok-to-test sha=36bf07e


fixing --render argument

Now the game is not rendered by default and rendering is enabled via adding --render.

Awesome, thanks!


[BUG] clone is not working correctly on ExpandingWindowSplitter

Describe the bug

Sklearn's clone() function is not working correctly on ExpandingWindowSplitter
The window_length parameter is not copied
initial_window is copied into window_length which is fine according to docstrings, however is counterintuitive and incompatible with clone()
This generates problems when cloning models that have cross-validation embeded
Example: MultiplexForecaster combined with ForecastingGridSearchCV cannot be evaluated using sktime's evaluate()

To Reproduce

from sktime.forecasting.model_selection import ExpandingWindowSplitter
from sklearn.base import clone

cv = ExpandingWindowSplitter(
    start_with_window=True,
    initial_window=10,
    fh=[1])

print('pre-clone: ', cv.__dict__)
print('post-clone: ', clone(cv).__dict__)

pre-clone:  {'step_length': 1, 'start_with_window': True, 'initial_window': None, 'window_length': 10, 'fh': [1]}
post-clone:  {'step_length': 1, 'start_with_window': True, 'initial_window': None, 'window_length': None, 'fh': [1]}

Expected behavior

Pre-clone and post-clone CVs should be identical.
Additional context

Versions

System:
python: 3.8.10 (default, Mar 15 2022, 12:22:08)  [GCC 9.4.0]
executable: /local_disk0/pythonVirtualEnvDirs/virtualEnv-3d157b3d-b81c-4d78-b9fe-a70430ada65a/bin/python
machine: Linux-5.4.0-1086-azure-x86_64-with-glibc2.29
Python dependencies:
pip: 21.0.1
setuptools: 52.0.0
sklearn: 0.24.1
sktime: 0.13.0
statsmodels: 0.13.1
numpy: 1.22.4
scipy: 1.6.2
pandas: 1.2.4
matplotlib: 3.4.2
joblib: 1.0.1
numba: 0.55.2
pmdarima: 1.8.4
tsfresh: None

Yes, I can confirm that.
I wondered why the tests do not catch this, since all objects meant to be sklearn compatible are run through the test suite which tests precisely this.
The reason is that BaseSplitter has only recently been moved to inherit from BaseObject, and is not in the registry of base objects, so while going through the package, the splitters are not discovered by the tests.
A secondary issue is that the tests do not distinguish between fittable and non-fittable objects (like splitters), so simply adding the splitters to the registry would make them fail the tests that have to do with fit. We may have to think about this carefully, how to solve the test issue.
Regarding the issue with the splitters, this should be easy to solve by ensuring that self writes happen properly.

I added the general issue here: https://github.com/alan-turing-institute/sktime/issues/3120
This issue is for fixing ExpandingWindowSplitter only.

Fix here: https://github.com/alan-turing-institute/sktime/pull/3121


Fix builds for mitmproxy 10.4

Changes:
First, downloading old OpenSSL versions now requires telling curl to follow redirects. Second, it seems that a change in a recent Python cryptography version now requires the OPENSSL_STATIC option to be set in order for mitmproxy to actually use the custom OpenSSL version.

[x] I have read and agreed to the Code of Conduct.
[x] I have read and complied with the contributing guidelines.
[ ] What I'm implementing was an approved issue.
[x] I have tested all of my changes.

lgtm, good to merge?

Yes, I previously tested and this works fine.


fix(page-referrer): should be a full URL, not only pathname

otherwise, recognized as external links in Analytics Console

@tx0c shall we merge it?

already in 137dde7e14 in #2710


Admin API - Kafka

We would like to request the ability to manipulate Kafka ACL's through this .net interface
Per conversations, we understand the issue mentioned here to be a dependency.
https://github.com/edenhill/librdkafka/issues/2058
Thanks,
Jeff

no, not a near term priority. these are awkward to add to the bindings, and we are prioritizing great admin coverage in REST Proxy (this should be in the latest release) instead for the moment. Also, the REST API will be available directly in Confluent Cloud before too long, if it's not already.

Thank you, to firm up this conversation we are understanding the recommended path is to proceed here. https://docs.confluent.io/platform/current/kafka-rest/api.html#rest-proxy-v3

yes

you could also consider calling out to the command line utils that come with kafka. that's not completely hassle/additional dependency free though - requires java installed.


zel 3.3.0 node memory usage is higher than before after July 18th

I run some zel 3.3.0 node and the memory usage jumps from about 740MB to 880MB after July 18th. I am not sure it will increase more in the future. I will monitor and report it here.

Interesting, we'd like to hear back if you have any further reports. @lcgogo

Have not heard back from @lcgogo - please feel free to open another issue if you have any new data.


V4 query api changes

Changing query API to return Generic FeedResponse instead of Document FeedResponse
Added tests to test Integers, Strings, Pojos. Need to add more tests
At the moment, still supporting deserialization to CosmosItemProperties when CosmosItemProperties is specified as T in the query, this can be removed along with refactoring the tests if necessary.

/azp run java - cosmos - tests

/azp run java - cosmos - tests

/azp run java - cosmos - tests

/azp run java - cosmos - tests

Failing tests pass locally. E2E tests on Strong TCP, Session TCP and Session HTTPS pass. Strong HTTPS got cancelled.


[fix][broker]fix missing return when internalGetReplicatedSubscriptionStatus

Motivation
Fix missing return null if throw any exception when internalGetReplicatedSubscriptionStatus
Modifications
Add return null when handing exception in internalGetReplicatedSubscriptionStatus.
Verifying this change

[x] Make sure that the change passes the CI checks.

Documentation

[ ] doc
[ ] doc-required
[x] doc-not-needed
[ ] doc-complete

Matching PR in forked repository
PR in forked repository: https://github.com/hqebupt/pulsar/pull/7

/pulsarbot rerun-failure-checks


HIVE-23721 MetaStoreDirectSql.ensureDbInit() need to optimize QuerySQL

NOTICE
Please create an issue in ASF JIRA before opening a pull request,
and you need to set the title of the pull request which starts with
the corresponding JIRA issue number. (e.g. HIVE-XXXXX: Fix a typo in YYY)
For more details, please see https://cwiki.apache.org/confluence/display/Hive/HowToContribute

Failed tests seem not  be relate to this pr , and I can run  successfully in my local env.


Temporarily Unlocking Phase-Locked Laser for Chirping via External Signal

I am working on optical phase-locking a laser to a frequency comb using an IQ and PID module as described in the paper. I need to temporarily unlock the phase lock in response to an external signal, allowing me to chirp the laser, and then reestablish the phase lock. How can I achieve this?

@michaelcroquette Do you think the delay would decrease if one would execute the python routine on the RedPitaya itself without using a Ethernet connection?

It should but I have never tried it.


fix: accessibility of video tabs

What are the relevant tickets?
Closes #1219
Description (What does it do?)
Fixes accessibility related issues of video tabs by restructuring the code. This includes the toggleable video tabs and the download button.
How can this be tested?
You may use a screenreader for testing or check the accessibility using inspect element. Make sure the screen reader would correctly read the text now (and no redundancy/repeats).
In addition to this, we also want to make sure that the UI does not break because there were styling changes. (Check for different screen sizes)
Here are some courses names:

3.091-fall-2018 (Example of multiple video instances in a single page -- Goodie Bag Tutorials from left menu). Contains embed videos + click on 'View video page' for regular video pages.
18.06sc-fall-2011 (Another example of embed videos -- Instructor Insights from left menu)
16.885j-fall-2005 (Example of video + nanogallery in same page -- Related Resources from left menu)

Make sure to check for offline theme as well. Steps same as mentioned here for offline course theme only:
https://github.com/mitodl/ocw-hugo-themes/pull/1227
Checkout to this branch, yarn start course <name> and then do the above mentioned instructions.
To run playwright tests:
yarn test:e2e video-tabs.spec.ts

When there is no transcript, the download button aligns itself to the left. I think it should be on the right, right? The rest seems good to me.
That's a good find. Thanks.

Another thing, I don't know if this is in the scope of the ticket but I can't seem to navigate inside the on-screen transcript. The screen reader assistant doesn't read the transcript when I click it, nor can I navigate into it using tabs. This might be intentional, I just wanted to bring it up in case it isn't.

Yes, it has been designed this way it appears. We should probably raise that discussion somewhere to confirm this and open a new ticket if required.


Doesn't work with multiple users.

I've installed antigen for my root user. I copied the zshrc from root to my non-root user, and git cloned the antigen repo again for my non-root user. Now whenever I try to su to my non-root user, it gives me
fatal: could not create leading directories of '/root/.antigen/repos/https-COLON--SLASH--SLASH-github.com-SLASH-robbyrussell-SLASH-oh-my-zsh.git': Permission denied
ls: cannot access /root/.antigen/repos/https-COLON--SLASH--SLASH-github.com-SLASH-robbyrussell-SLASH-oh-my-zsh.git/lib: Permission denied
ls: cannot access /root/.antigen/repos/https-COLON--SLASH--SLASH-github.com-SLASH-robbyrussell-SLASH-oh-my-zsh.git/lib: Permission denied
ls: cannot access /root/.antigen/repos/https-COLON--SLASH--SLASH-github.com-SLASH-robbyrussell-SLASH-oh-my-zsh.git/lib: Permission denied
fatal: could not create leading directories of '/root/.antigen/repos/https-COLON--SLASH--SLASH-github.com-SLASH-robbyrussell-SLASH-oh-my-zsh.git': Permission denied
ls: cannot access /root/.antigen/repos/https-COLON--SLASH--SLASH-github.com-SLASH-robbyrussell-SLASH-oh-my-zsh.git/plugins/git: Permission denied
ls: cannot access /root/.antigen/repos/https-COLON--SLASH--SLASH-github.com-SLASH-robbyrussell-SLASH-oh-my-zsh.git/plugins/git: Permission denied
ls: cannot access /root/.antigen/repos/https-COLON--SLASH--SLASH-github.com-SLASH-robbyrussell-SLASH-oh-my-zsh.git/plugins/git: Permission denied
fatal: could not create leading directories of '/root/.antigen/repos/https-COLON--SLASH--SLASH-github.com-SLASH-zsh-users-SLASH-zsh-completions.git': Permission denied
ls: cannot access /root/.antigen/repos/https-COLON--SLASH--SLASH-github.com-SLASH-zsh-users-SLASH-zsh-completions.git/src: Permission denied
ls: cannot access /root/.antigen/repos/https-COLON--SLASH--SLASH-github.com-SLASH-zsh-users-SLASH-zsh-completions.git/src: Permission denied
ls: cannot access /root/.antigen/repos/https-COLON--SLASH--SLASH-github.com-SLASH-zsh-users-SLASH-zsh-completions.git/src: Permission denied
fatal: could not create leading directories of '/root/.antigen/repos/https-COLON--SLASH--SLASH-github.com-SLASH-zsh-users-SLASH-zsh-syntax-highlighting.git': Permission denied
ls: cannot access /root/.antigen/repos/https-COLON--SLASH--SLASH-github.com-SLASH-zsh-users-SLASH-zsh-syntax-highlighting.git/: Permission denied
ls: cannot access /root/.antigen/repos/https-COLON--SLASH--SLASH-github.com-SLASH-zsh-users-SLASH-zsh-syntax-highlighting.git/: Permission denied
ls: cannot access /root/.antigen/repos/https-COLON--SLASH--SLASH-github.com-SLASH-zsh-users-SLASH-zsh-syntax-highlighting.git/: Permission denied
fatal: could not create leading directories of '/root/.antigen/repos/https-COLON--SLASH--SLASH-github.com-SLASH-zsh-users-SLASH-zsh-history-substring-search.git': Permission denied
ls: cannot access /root/.antigen/repos/https-COLON--SLASH--SLASH-github.com-SLASH-zsh-users-SLASH-zsh-history-substring-search.git/: Permission denied
ls: cannot access /root/.antigen/repos/https-COLON--SLASH--SLASH-github.com-SLASH-zsh-users-SLASH-zsh-history-substring-search.git/: Permission denied
ls: cannot access /root/.antigen/repos/https-COLON--SLASH--SLASH-github.com-SLASH-zsh-users-SLASH-zsh-history-substring-search.git/: Permission denied
fatal: could not create leading directories of '/root/.antigen/repos/https-COLON--SLASH--SLASH-github.com-SLASH-robbyrussell-SLASH-oh-my-zsh.git': Permission denied
ls: cannot access /root/.antigen/repos/https-COLON--SLASH--SLASH-github.com-SLASH-robbyrussell-SLASH-oh-my-zsh.git/plugins/history: Permission denied
ls: cannot access /root/.antigen/repos/https-COLON--SLASH--SLASH-github.com-SLASH-robbyrussell-SLASH-oh-my-zsh.git/plugins/history: Permission denied
ls: cannot access /root/.antigen/repos/https-COLON--SLASH--SLASH-github.com-SLASH-robbyrussell-SLASH-oh-my-zsh.git/plugins/history: Permission denied
fatal: could not create leading directories of '/root/.antigen/repos/https-COLON--SLASH--SLASH-github.com-SLASH-robbyrussell-SLASH-oh-my-zsh.git': Permission denied
ls: cannot access /root/.antigen/repos/https-COLON--SLASH--SLASH-github.com-SLASH-robbyrussell-SLASH-oh-my-zsh.git/plugins/vundle: Permission denied
ls: cannot access /root/.antigen/repos/https-COLON--SLASH--SLASH-github.com-SLASH-robbyrussell-SLASH-oh-my-zsh.git/plugins/vundle: Permission denied
ls: cannot access /root/.antigen/repos/https-COLON--SLASH--SLASH-github.com-SLASH-robbyrussell-SLASH-oh-my-zsh.git/plugins/vundle: Permission denied
fatal: could not create leading directories of '/root/.antigen/repos/https-COLON--SLASH--SLASH-github.com-SLASH-robbyrussell-SLASH-oh-my-zsh.git': Permission denied
ls: cannot access /root/.antigen/repos/https-COLON--SLASH--SLASH-github.com-SLASH-robbyrussell-SLASH-oh-my-zsh.git/plugins/rsync: Permission denied
ls: cannot access /root/.antigen/repos/https-COLON--SLASH--SLASH-github.com-SLASH-robbyrussell-SLASH-oh-my-zsh.git/plugins/rsync: Permission denied
ls: cannot access /root/.antigen/repos/https-COLON--SLASH--SLASH-github.com-SLASH-robbyrussell-SLASH-oh-my-zsh.git/plugins/rsync: Permission denied
fatal: could not create leading directories of '/root/.antigen/repos/https-COLON--SLASH--SLASH-github.com-SLASH-robbyrussell-SLASH-oh-my-zsh.git': Permission denied
ls: cannot access /root/.antigen/repos/https-COLON--SLASH--SLASH-github.com-SLASH-robbyrussell-SLASH-oh-my-zsh.git/plugins/tmux: Permission denied
ls: cannot access /root/.antigen/repos/https-COLON--SLASH--SLASH-github.com-SLASH-robbyrussell-SLASH-oh-my-zsh.git/plugins/tmux: Permission denied
ls: cannot access /root/.antigen/repos/https-COLON--SLASH--SLASH-github.com-SLASH-robbyrussell-SLASH-oh-my-zsh.git/plugins/tmux: Permission denied
fatal: could not create leading directories of '/root/.antigen/repos/https-COLON--SLASH--SLASH-github.com-SLASH-robbyrussell-SLASH-oh-my-zsh.git': Permission denied
ls: cannot access /root/.antigen/repos/https-COLON--SLASH--SLASH-github.com-SLASH-robbyrussell-SLASH-oh-my-zsh.git/plugins/history-substring-search: Permission denied
ls: cannot access /root/.antigen/repos/https-COLON--SLASH--SLASH-github.com-SLASH-robbyrussell-SLASH-oh-my-zsh.git/plugins/history-substring-search: Permission denied
ls: cannot access /root/.antigen/repos/https-COLON--SLASH--SLASH-github.com-SLASH-robbyrussell-SLASH-oh-my-zsh.git/plugins/history-substring-search: Permission denied
fatal: could not create leading directories of '/root/.antigen/repos/https-COLON--SLASH--SLASH-github.com-SLASH-robbyrussell-SLASH-oh-my-zsh.git': Permission denied
ls: cannot access /root/.antigen/repos/https-COLON--SLASH--SLASH-github.com-SLASH-robbyrussell-SLASH-oh-my-zsh.git/themes/dpoggi.zsh-theme: Permission denied
ls: cannot access /root/.antigen/repos/https-COLON--SLASH--SLASH-github.com-SLASH-robbyrussell-SLASH-oh-my-zsh.git/themes/dpoggi.zsh-theme: Permission denied
ls: cannot access /root/.antigen/repos/https-COLON--SLASH--SLASH-github.com-SLASH-robbyrussell-SLASH-oh-my-zsh.git/themes/dpoggi.zsh-theme: Permission denied

This is caused because the variable $ADOTDIR is '/root/.antigen' for both the root user and the non-root user.

It's because 'su' doesn't load the profile scripts and so $ADOTDIR is not overwritten. Try 'su -' instead.
» su
Password:
root@host:/home/<user># echo $ADOTDIR
/home/<user>/.antigen

» su -
Password:
root@host:~# echo $ADOTDIR
/root/.antigen

Not sure if it's an antigen problem.

I'm actually logged in as root and doing 'su '. How do I workaround that?

su - <username>


🐛 Android Black Screen

What were you trying to do?
When I launch the example app, it just gives me a black screen. I can still press the buttons for flash and for swap but the flash does not work either and the swap does not remove the black screen.(I don't have this problem with version 2.13, only with 2.14).
It seems that I have the permissions and I have no error message, just a black screen on my phone with the buttons. I tried this https://github.com/mrousavy/react-native-vision-camera/issues/879 too but it the same.
I'm starting to wonder if this is a bug with 2.14 ? I have gone through the issues and everyone seems to have errors with the black screen.
Any idea ?
Thanks
Reproduceable Code
import * as React from 'react';
import { useRef, useState, useMemo, useCallback, useEffect } from 'react';

import { useIsFocused } from '@react-navigation/native';
import { StyleSheet, View, PermissionsAndroid } from 'react-native';
import { PinchGestureHandler, PinchGestureHandlerGestureEvent, TapGestureHandler, TouchableOpacity } from 'react-native-gesture-handler';
import Reanimated, { Extrapolate, interpolate, useAnimatedGestureHandler, useAnimatedProps, useSharedValue } from 'react-native-reanimated';
import IonIcon from 'react-native-vector-icons/Ionicons';
import {
  CameraDeviceFormat,
  PhotoFile,
  sortFormats,
  useCameraDevices,
  Camera as Cam,
  frameRateIncluded,
  VideoFile,
  useFrameProcessor
} from 'react-native-vision-camera';
import type { NativeStackScreenProps } from '@react-navigation/native-stack';
import type { Routes } from './Routes';
import { CONTENT_SPACING, SAFE_AREA_PADDING } from './Constants';
import { CaptureButton } from './views/CaptureButton';

import { scanOCR } from 'vision-camera-ocr';
const ReanimatedCamera = Reanimated.createAnimatedComponent(Cam);
Reanimated.addWhitelistedNativeProps({
  zoom: true,
});

const BUTTON_SIZE = 40;
const SCALE_FULL_ZOOM = 3;

type Props = NativeStackScreenProps<Routes, 'CameraPage'>;
export function CameraPage({ navigation }: Props): React.ReactElement {
  const camera = useRef<Cam>(null);
  const [isCameraInitialized, setIsCameraInitialized] = useState(false);
  const [cameraPosition, setCameraPosition] = useState<'front' | 'back'>('back');
  const [enableNightMode, setEnableNightMode] = useState(false);
  const [flash, setFlash] = useState<'off' | 'on'>('off');
  const isPressingButton = useSharedValue(false);

  const devices = useCameraDevices();
  const zoom = useSharedValue(0);
  const isFocussed = useIsFocused();

  const isActive = isFocussed;
  const device = devices[cameraPosition];

  const minZoom = device?.minZoom ?? 1;
  const maxZoom = Math.min(device?.maxZoom ?? 1, 20);
  const neutralZoom = device?.neutralZoom ?? 1;
  const supportsFlash = device?.hasFlash ?? false;

  const onMediaCaptured = useCallback(
    (media: PhotoFile | VideoFile, type: 'photo' | 'video') => {
      console.log(`Media captured! ${JSON.stringify(media)}`);
      navigation.navigate('MediaPage', {
        path: media.path,
        type: type,
      });
    },
    [navigation],
  );

  const onInitialized = useCallback(() => {
    console.log('Camera initialized!');
    setIsCameraInitialized(true);
    console.log("supeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeer");
  }, []);

  const onFlipCameraPressed = useCallback(() => {
    setCameraPosition((p) => (p === 'back' ? 'front' : 'back'));
  }, []);

  const onDoubleTap = useCallback(() => {
    onFlipCameraPressed();
  }, [onFlipCameraPressed]);

  const onFlashPressed = useCallback(() => {
    setFlash((f) => (f === 'off' ? 'on' : 'off'));
    console.log("sheesh");
    console.log(format);
  }, []);

  const onPinchGesture = useAnimatedGestureHandler<PinchGestureHandlerGestureEvent, { startZoom?: number }>({
    onStart: (_, context) => {
      context.startZoom = zoom.value;
    },
    onActive: (event, context) => {
      // we're trying to map the scale gesture to a linear zoom here
      const startZoom = context.startZoom ?? 0;
      const scale = interpolate(event.scale, [1 - 1 / SCALE_FULL_ZOOM, 1, SCALE_FULL_ZOOM], [-1, 0, 1], Extrapolate.CLAMP);
      zoom.value = interpolate(scale, [-1, 0, 1], [minZoom, startZoom, maxZoom], Extrapolate.CLAMP);
    },
  });

  //#region Callbacks
  const setIsPressingButton = useCallback(
    (_isPressingButton: boolean) => {
      isPressingButton.value = _isPressingButton;
    },
    [isPressingButton],
  );

  const formats = useMemo<CameraDeviceFormat[]>(() => {
    if (device?.formats == null) {
      return [];
    }
    return device.formats.sort(sortFormats);
  }, [device?.formats]);

  const supportsCameraFlipping = useMemo(() => devices.back != null && devices.front != null, [devices.back, devices.front]);

  const canToggleNightMode = enableNightMode ? true : device?.supportsLowLightBoost ?? false;

  const format = useMemo(() => {
    const result = formats.filter((x) => x.photoHeight < 1200 && x.photoWidth < 900);
    return result.find((f) => f.frameRateRanges.some((r) => frameRateIncluded(r, 30)));
  }, [formats]);

  const cameraAnimatedProps = useAnimatedProps(() => {
    const z = Math.max(Math.min(zoom.value, maxZoom), minZoom);
    return {
      zoom: z,
    };
  }, [maxZoom, minZoom, zoom]);

  useEffect(() => {
    zoom.value = neutralZoom;
  }, [neutralZoom, zoom]);

  const frameProcessor = useFrameProcessor((frame) => {
    'worklet';
    console.log("okkkkk");
    const scannedOcr = scanOCR(frame);
    console.log(scannedOcr.result.text);
  }, []);

  return (
    <View style={styles.container}>
        {device && (
          <PinchGestureHandler onGestureEvent={onPinchGesture} enabled={isActive}>
            <Reanimated.View style={StyleSheet.absoluteFill}>
              <TapGestureHandler onEnded={onDoubleTap} numberOfTaps={2}>
                <ReanimatedCamera
                  photo
                  ref={camera}
                  style={StyleSheet.absoluteFill}
                  device={device}
                  format={format}
                  isActive={isActive}
                  onInitialized={onInitialized}
                  enableZoomGesture={false}
                  animatedProps={cameraAnimatedProps}
                  orientation="portrait"
                />
              </TapGestureHandler>
            </Reanimated.View>
          </PinchGestureHandler>
        )}

            <CaptureButton
              style={styles.captureButton}
              camera={camera}
              onMediaCaptured={onMediaCaptured}
              cameraZoom={zoom}
              minZoom={minZoom}
              maxZoom={maxZoom}
              flash={supportsFlash ? flash : 'off'}
              enabled={isCameraInitialized && isActive}
              setIsPressingButton={setIsPressingButton}
            />

      <View style={styles.rightButtonRow}>
          {canToggleNightMode && (
            <TouchableOpacity style={styles.button} onPress={() => setEnableNightMode(!enableNightMode)}>
              <IonIcon name={enableNightMode ? 'moon' : 'moon-outline'} color="white" size={26} />
            </TouchableOpacity>
          )}
          {supportsFlash && (
            <TouchableOpacity style={styles.button} onPress={onFlashPressed}>
              <IonIcon name={flash === 'on' ? 'flash' : 'flash-off'} color="white" size={26} />
            </TouchableOpacity>
          )}
          {supportsCameraFlipping && (
            <TouchableOpacity style={styles.button} onPress={onFlipCameraPressed}>
              <IonIcon name="camera-reverse" color="white" size={26} />
            </TouchableOpacity>
          )}
    </View>
    </View>
  );
}

const styles = StyleSheet.create({
  container: {
    flex: 1,
    backgroundColor: 'black',
  },
  captureButton: {
    position: 'absolute',
    alignSelf: 'center',
    bottom: SAFE_AREA_PADDING.paddingBottom,
    backgroundColor: 'rgba(140, 20, 140, 0.3)',

  },
  button: {
    marginBottom: CONTENT_SPACING,
    width: BUTTON_SIZE,
    height: BUTTON_SIZE,
    borderRadius: BUTTON_SIZE / 2,
    backgroundColor: 'rgba(140, 140, 140, 0.3)',
    justifyContent: 'center',
    alignItems: 'center',
  },
  rightButtonRow: {
    position: 'absolute',
    right: SAFE_AREA_PADDING.paddingRight,
    top: SAFE_AREA_PADDING.paddingTop,
  },
  text: {
    color: 'white',
    fontSize: 11,
    fontWeight: 'bold',
    textAlign: 'center',
  },
});

export default CameraPage;

What happened instead?
Black screen
Relevant log output
No output :/ Seems like everything works but I still have a blackscreen !

Device
Android
VisionCamera Version
2.14.0
Additional information

[X] I am using Expo
[X] I have read the Troubleshooting Guide
[X] I agree to follow this project's Code of Conduct
[X] I searched for similar issues in this repository and found none.

I figured that if i delete this line "format={format}" i don't have the black screen anymore ... don't know why

Hey, thanks for your issue report!
Problem
Back in 2021 I developed VisionCamera around iOS' native device / format API. This Swift API is really flexible and allows you to get a list of all devices, and each device has a list of all supported formats. That's exactly how VisionCamera exposes it to JavaScript as well.
On Android however, I use CameraX. CameraX is the new recommended native camera library for Android. It does a lot of abstractions already, and while it's possible to get a list of all camera devices (front, back, wide angle, ..), it doesn't tell you which format is supported on which device. There's no such thing as "formats" in CameraX, you kinda just tell CameraX what resolution you want to record in, and it tries to match that as good as it can. All of the filtering is done internally then.
This sucks, because that's the same abstraction that I built using VisionCamera, and now it's not really possible to expose a list of formats through JavaScript, since I kinda have to make them up and just guess that it works, this is done here: https://github.com/mrousavy/react-native-vision-camera/blob/4781ad983530493ee13069fd69ef9f15d154a3cc/android/src/main/java/com/mrousavy/camera/CameraViewModule.kt#L168-L342
Solution
I've been thinking about this for a long time now. I want to fix this issue once and for all with VisionCamera v3.
V3 has these features planned:

Will be a Fabric/TurboModule only. Legacy architecture will not be supported for the sake of simplicity (will fix a ton of build errors)
Write-back frame processors (draw on frame using RN Skia, draw face masks, filters, overlays, color shadings, shaders, Metal, etc..)
Completely redesigned API for device/format selection (resolution, fps, low-light, ...)

I will brainstorm with @thomas-coldwell in our Vienna Margelo office to think about how we can achieve a perfect API redesign that works on both iOS and Android without compromising too much of the flexibility that we have today.
This means, the new API should still allow things like:

Control exactly how much FPS you want to record in
Know exactly if a desired format is supported and be able to fall back to a different one
Control the exact resolution and know what is supported (e.g. higher than 1080, but no higher than 4k, ...)
Control settings like low-light mode, compression, recording format H.264 or H.265, etc.

For this we need a lot of time though.
If you (or your company) is interested in financially supporting those efforts, please let me know. Without sponsorship we can't work on this.

Btw., V3 discussion is here: https://github.com/mrousavy/react-native-vision-camera/issues/1376


Remove unused class

PR Cover Letter

[ ] A detailed description of the changes in the body of the PR
[ ] If available, a link to the relevant JIRA ticket in the body of the PR

[PROJ-XXXX](https://openedx.atlassian.net/browse/PROJ-XXXX)

Sandbox

[ ] Build a sandbox for your branch and add a link here

Testing

[ ] i18n
[ ] RTL
[ ] Unit, integration, acceptance tests as appropriate
[ ] Analytics
[ ] Performance
[ ] Database migrations are backwards-compatible

Reviewers
If you've been tagged for review, please check your corresponding box once you've given the :+1:.

[ ] Code review #1
[ ] Code review #2
[ ] Docs review (required for UI strings/error messages)
[ ] UX review
[ ] Accessibility review
[ ] Product review

Documentation considerations

[ ] Are there user visible changes? If so, list who is affected, and include a pointer to the relevant code.
[ ] Should this be mentioned in the release notes? If so, make sure that you included a description.

DevOps assistance
If it's needed, or even if you suspect it might be needed, do any/all these things as early as possible. Don't surprise devops right before merging! For example, touching envs/aws.py or or envs/common.py are dead giveaways that you'll need assistance when pushing your changes out. Things that require devops attention include, but are not limited to:

configuration changes
feature flags
migrations
Ways to get devops attention, pick-and-choose whichever is most appropriate for your specific PR:
[ ] Tag devops on your PR (@edx/devops), either for review (more specific to devops = better) or just a general FYI
[ ] File a support ticket

FYI: Tag anyone who might be interested in this PR here.
Post-review

[ ] Squash commits

@mikekatz please review

:+1:

Current coverage is 48.22%

Merging #681 into master will increase coverage by +0.01% as of 6e02c45

@@            master    #681   diff @@
======================================
  Files          425     424     -1
  Stmts        28116   28108     -8
  Branches         0       0
  Methods          0       0
======================================
  Hit          13556   13556
  Partial          0       0
+ Missed       14560   14552     -8

Review entire Coverage Diff as of 6e02c45

Powered by Codecov. Updated on successful CI builds.