Maya: Animation FBX Export feedback

Is there an existing issue for this?

[X] I have searched the existing issues

Current Behavior:
When publishing animation from Maya, if FBX extraction is enabled but rig isn't set properly (content of sets), Extract Animation FBX (ExtractFBXAnimation) will just inform you in the log, but that is all and the publishing will continue. Result is, that your version is missing FBX representation then and you never know until someone tries to use it.
These are the problematic lines:
https://github.com/ynput/ayon-core/blob/37f11f9bba630dff98443326e87b1fc5e7908b25/client/ayon_core/hosts/maya/plugins/publish/extract_fbx_animation.py#L50-L53
Expected Behavior:
There should be validator that will trigger on this condition that is now causing "skipping' behaviour in the Extractor. And if it is really soft-fail condition, then it should at least produce warning.
Version
1.0.0
What platform you are running on?
Windows
Steps To Reproduce:

Create rig in Maya that fulfills this condition (top group is not found)
Publish animation with that rig with FBX workflow enabled.

Are there any labels you wish to add?

[X] I have added the relevant labels to the bug report.

Relevant log output:
DEBUG: Top group of animated skeleton not found in ['robot_rigMain_01_:rigMain_skeletonAnim_SET'].
Skipping fbx animation extraction.

Additional context:
No response
[cuID:AY-4757]

There is actually a validator for skeleton rig contents, which validates the elements inside the set. Guess we can do some enhancement on top of that.
https://github.com/ynput/ayon-core/blob/194e41563b66b6267d206ae8bb0b531945228e56/client/ayon_core/hosts/maya/plugins/publish/validate_rig_contents.py#L205-L260


Include tests for modern Python and Django versions.

Test under Python 3.8
Update to Django 1.11.29
Test under Django 2.0.x
Test under Django 2.1.x
Test under Django 3.0.x

Bah. I don't know enough travis to know how to say "only run these tests under these versions of python".

@schinckel check out this Travis config for how to run jobs with different Python and framework versions:
https://github.com/plone/plone.restapi/blob/master/.travis.yml
I'd also be ok with dropping some versions to simplify the setup. Is Python 2 still common and widely used in the Django community? If not, maybe we can drop testing Python 2 altogether. We could also drop testing old Django versions. I always tried to cover the most important versions in the past. Though, it has been a while since I updated that list...

Python 2 is only supported by Django earlier than 2.0, and they are all unsupported now.
Normally I'd agree with you, but I personally work on a project that is still 1.11 and Python 2.7-bound, at least for now. :(


[WIP] Add sidecar mode

WIP

Description

Motivation and Context

How Has This Been Tested?

Types of changes

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

Checklist:

[ ] 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.

Close this because https://github.com/checkr/flagr/pull/247 implemented a better version.


raftstore: return more region info

What problem does this PR solve?
Issue Number: close #xxx
Problem Summary:
What is changed and how it works?
Proposal: xxx
What's Changed:
Related changes

PR to update pingcap/docs/pingcap/docs-cn:
PR to update pingcap/tidb-ansible:
Need to cherry-pick to the release branch

Check List
Tests

Unit test
Integration test
Manual test (add detailed scripts or steps below)
No code

Side effects

Performance regression

Consumes more CPU
Consumes more MEM

Breaking backward compatibility

Release note

No release note

/release

/run-all-tests

/run-integration-copr-test

/run-all-tests

/run-all-tests

/release

/release

/run-all-tests

/run-all-tests

/release

All changes are merged into master.


Plugin backstage-plugin-github-pull-requests not persisting session on refresh

Expected Behavior
Session should persist on refresh of the page and not prompt login.
Current Behavior
Github login is prompted upon opening the plugin. After login, refreshing the page does not persist authentication session, and prompts for another login. Navigation to different pages in the app persists the session.
Steps to Reproduce

Install backstage-plugin-github-pull-requests.
Follow Github Auth setup as noted here.
Follow implementation instructions as noted here:

// packages/app/src/components/catalog/EntityPage.tsx
import { EntityGithubPullRequestsContent } from '@roadiehq/backstage-plugin-github-pull-requests';
...

const serviceEntityPage = (
  <EntityLayout>
    ...
    <EntityLayout.Route path="/pull-requests" title="Pull Requests">
      <EntityGithubPullRequestsContent />
    </EntityLayout.Route>
    ...
  </EntityLayout>

Navigate to the page, get prompted for authentication by github.
Successfully see pull request plugin rendered after login.
Refresh the page, prompting login again.

Context
I also implemented Github login as a test, and had no issues with persisting the auth session on refresh. Wanted to eliminate the possibility that this was by design first.
Your Environment

@backstage/plugin-catalog-react version: 0.6.11
@backstage/integration version: ^0.7.1
@roadiehq/backstage-plugin-github-pull-requests version: 1.3.3

@dhhuynh2 I tried to repro this issue but wasn't able to. I created a new clean backstage setup. with @backstage/create-app added the github auth provider and added the plugin. Went through the steps getting prompted to login, after I refresh and I am still logged in. Could you please provide more information, more context where/how can you reproduce it? Is it something comes up if you try a clean install ?

Hi @kissmikijr, I went with a clean install and followed steps to reproduce. Behavior is the same for me - still asking for login on refresh.
Can keep trying to dig into it on my side, but here's some more context:
yarn backstage-cli info output:
OS:   Darwin 20.4.0 - darwin/x64
node: v16.13.1
yarn: 1.22.17
cli:  0.12.0 (installed)

app-config:
auth:
  environment: development
  providers:
    github:
      development:
        clientId: CLIENT_ID
        clientSecret: CLIENT_SECRET

Github app callback: http://localhost:7007/api/auth/github
Should also note I'm using a Github App for auth vs a Github Oauth App.

Should also note I'm using a Github App for auth vs a Github Oauth App.
Ah, I tried only with an OAuth app, let me try with a Github App and see if I can repro.

Yes I can, however, I don't think the issue is in this plugin, we just use the auth tokens from the core backstage backend.  If you go to settings->authentication providers you can see that the whole application is going to be logged out of github after a refresh.
I'll check to make sure, but I think we will need to fix this somewhere else than in this plugin.

I'll check to make sure, but I think we will need to fix this somewhere else than in this plugin.

That would be helpful, appreciate it. I see what what you mean, but I tried to reproduce with an Oauth app as well. Navigating to that page and refreshing also has the same behavior of displaying "Sign In" after a refresh. Like you said though, I can access the Pull Request plugin fine without it prompting another login, after refresh.
Does seem that an Oauth app appears to store the session locally vs a Github App using a refresh-token. Will try to take a closer look at what's happening whenever I get a chance.

A fix got merged to backstage/backstage master for this issue. I'll close this ticket

Thanks for opening upstream ticket @kissmikijr


Update functions-infrastructure-as-code.md

The doc is misleading as it is contradicting with the  https://learn.microsoft.com/en-us/azure/azure-functions/functions-app-settings#website_contentazurefileconnectionstring
This setting is required for Consumption and Premium plan apps on both Windows and Linux. It's not required for Dedicated plan apps, which aren't dynamically scaled by Functions.

Docs Build status updates of commit 783ad82:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

articles/azure-functions/functions-infrastructure-as-code.md
:white_check_mark:Succeeded

For more details, please refer to the build report.
Note: Broken links written as relative paths are included in the above build report. For broken links written as absolute paths or external URLs, see the broken link report.
For any questions, please:Try searching the docs.microsoft.com contributor guidesPost your question in the Docs support channel

@ggailey777,
Can you review the proposed changes?
IMPORTANT: When the changes are ready for publication, add a #sign-off comment to signal that the PR is ready for the review team to merge.
#label:"aq-pr-triaged"
@MicrosoftDocs/public-repo-pr-review-team

@ggailey777 @mijacobs - Can you review this old PR and determine whether it needs to be closed or merged?
IMPORTANT: When the changes are ready for publication, add a #sign-off comment to signal that the PR is ready for the review team to merge.

Thanks @rapopescu16 for catching us up here. #sign-off


rustls 0.22.2 vulnerability

FYI - I'm seeing this when running cargo audit (apologies if already reported).

cargo audit
Fetching advisory database from https://github.com/RustSec/advisory-db.git
Loaded 623 security advisories (from C:\Users\david.askew.cargo\advisory-db)
Updating crates.io index
Scanning Cargo.lock for vulnerabilities (202 crate dependencies)
Crate:     rustls
Version:   0.22.2
Title:     rustls::ConnectionCommon::complete_io could fall into an infinite loop based on network input
Date:      2024-04-19
ID:        RUSTSEC-2024-0336
URL:       https://rustsec.org/advisories/RUSTSEC-2024-0336
Severity:  7.5 (high)
Solution:  Upgrade to >=0.23.5 OR >=0.22.4, <0.23.0 OR >=0.21.11, <0.22.0
Dependency tree:
rustls 0.22.2
├── reqwest 0.12.4
└── hyper-rustls 0.26.0

error: 1 vulnerability found!

You can run cargo update locally to get the updated versions.


Add support manual font fallback

Add the following configuration item.
[Editor]
#...
ManualFontFallback = true

@bfulop
Yes. It is possible to supply a character missing from the first font family with the second font family by specifying the following comma separated value of guifont.
set guifont=Hack:h14,JetBrainsMonoNL_Nerd_Font_Mono:h14,Apple_Color_Emoji:h14

Excellent, thank you @akiyosi !


box() consumes trailing spaces

Description
#box("AB        ")C \
#box("A        B")C \
#box("        AB")C \

As a consequence box(" ") and box([ ]) collapses to nothing. Leading spaces are preserved, that is why I assume this a bug.
Reproduction URL
No response
Operating system
No response
Typst version

[X] I am using the latest version of Typst

https://github.com/typst/typst/issues/597


Add—time-format option support for dmesg

Continuation of PR #152 for issue #14 : support —time-format option.

[x] notime
[x] raw
[x] ctime
[x] iso
[x] delta
[x] reltime

@cakebaker can I support --time-format delta and --time-format reltime directly in this PR or should I put it on a separate PR? I am worried this PR is already too big. delta and reltime will be similar in implementation but differs from the other option values implementation.
I'll delete reltime and delta from test_dmesg.rs if I should put it on a separate PR.

It's ok to keep them in this PR, they are part of the --time-format feature.

Thanks, good job :)


Motion planning generates zigzagging path in planning simulator

Checklist

[X] I've read the contribution guidelines.
[X] I've searched other issues and no duplicate issues were found.
[X] I'm convinced that this is not my fault but a bug.

Description
I am testing Autoware planning simulator with a bus (from https://github.com/autowarefoundation/itri_bus_sensor_kit and https://github.com/autowarefoundation/cbus_vehicle_launch). I have created a simple lanelet map with large lanes (5.0m) and simple curves.
When I run the simulator with the bus, the vehicle sometimes brakes strongly as the planner generates zigzagging path right in front of the vehicle.
For example at 15 second in this video:
output.webm
The problem does not occur with the sample vehicle, so it might be related to the size of the vehicle. In my example, the lane is twice as large as the bus, so I think there should be enough room for Autoware to moneuver the vehicle without such kind of zigzag.
I had a similar problem a long time ago (on a real car this time): https://github.com/autowarefoundation/autoware.universe/issues/1958
Any idea?
A few examples:

From farther away:

Expected behavior
No zigzag
Actual behavior
zigzagging path + strong brake
Steps to reproduce
Run planning simulator with a big vehicle?
Versions
No response
Possible causes
No response
Additional context
No response

@VRichardJP Could you try fitting_uniform_circle for vehicle_circles.method in obstacle_avoidance_planner?
https://github.com/autowarefoundation/autoware.universe/pull/2646

@takayuki5168 thank you for the suggestion.
I still get path zigzags:


Handling inconsistency between package.json and license text

Has any thought been given to checking whether the found license text correctly corresponds to what's in the package.json? It seems like a package could easily include a license but accidentally keep the default ISC in the package.json.
I've never seen a JavaScript implementation of this but the Licensee ruby gem (licenseejs is different) can detect license information from text. https://github.com/licensee/licensee
I'm thinking of implementing something myself to validate this but it seems like it could make sense for this functionality to be included in the plugin. That said it could take a long time to run so it would be something you would turn on with a special option.

Feel free to implement that functionality as a package and let me know when it's done.
I might be tempted to use the functionality in this plugin! 😏


[RFC]: implementation modification to improve accuracy of @stdlib/math/base/special/binomcoef

Description
This RFC proposes modifying the implementation of @stdlib/math/base/special/binomcoef to improve accuracy.
Example inaccuracies with the current implementation:
binomcoef( 54, 23 ); // expected:<PHONE_NUMBER>159840, actual:<PHONE_NUMBER>159839
binomcoef( 55, 24 ); // expected:<PHONE_NUMBER>741300, actual:<PHONE_NUMBER>741299
binomcoef( 56, 22 ); // expected:<PHONE_NUMBER>263900, actual:<PHONE_NUMBER>263899
binomcoef( 58, 20 ); // expected:<PHONE_NUMBER>032930, actual:<PHONE_NUMBER>032931

I suggest modifying the implementation to use @stdlib/math/base/special/gcd in
var isInteger = require( '@stdlib/math/base/assert/is-integer' );
var isnan = require( '@stdlib/math/base/assert/is-nan' );
var isOdd = require( '@stdlib/math/base/assert/is-odd' );
var gcd = require( '@stdlib/math/base/special/gcd' );

        ...

	var res;
	var j;
	var d; // 'd' for divisor

        ...

	res = n;
	for ( j = 2; j <= k; j++ ) {
		d = gcd( res, j );
		res = ( res / d ) * ( d * ( n - j + 1 ) / j );
	}
	return res;

Notes:

Exact when the binomial coefficient is not greater than Number.MAX_SAFE_INTEGER.
Reasonably accurate when the binomial coefficient is not greater than Number.MAX_VALUE.
res is always an integer or Infinity, which removes the need to correct for rounding errors.

Arguments against:

Accurate large binomial coefficients are unimportant for most (all?) use cases involving computation of binomial coefficients.
Reduces performance due to repeated calls to gcd.

Arguments for:

Generally, it is preferable for algorithms to be more accurate when possible.
Performance of computation of binomial coefficients might be unimportant for many use cases (e.g., only a moderate number of binomial coefficients computed, and overall performance dominated by other computations).

Related Issues
https://github.com/stdlib-js/stdlib/blob/0e370957ae1d899c2d07a67ab92c5d45197c78b6/lib/node_modules/%40stdlib/math/base/tools/fibpoly/test/test.js#L83
https://github.com/stdlib-js/stdlib/blob/0e370957ae1d899c2d07a67ab92c5d45197c78b6/lib/node_modules/%40stdlib/math/base/tools/fibpoly/test/test.factory.js#L89
#802 (search for "binomcoef")
Questions
No.
Other
No response
Checklist

[X] I have read and understood the Code of Conduct.
[X] Searched for existing issues and pull requests.
[X] The issue name begins with RFC:.

An alternative version of the suggest modification avoids calling gcd when unnecessary, at the cost of increased code complexity.

	var res;
	var j;
	var s; // 's' for 'safe'
	var d; // 'd' for divisor

        ...

	s = Math.floor(Number.MAX_SAFE_INTEGER / n);
	res = n - k + 1;
	n = res + 1;
	for ( j = 2; j <= k && res < s; j++, n++ ) {
		res = res * n / j;
	}
	for ( ; j <= k; j++, n++ ) {
		d = gcd( res, j );
		res = ( res / d ) * ( d * n / j );
	}
	return res;

This version swaps the order of the numerator values to be increasing rather than decreasing, which helps in detecting when the non-gcd version of the calculation is safe to perform.
In some non-scientific testing, this version appears to be about three times faster, than the simpler modification, when calculating the four example binomial coefficients mentioned above.

@Andrew-Cottrell Thanks for opening this issue and your proposed solutions. Based on my testing, performance drops by over 10x when moving to GCD, even for the improved version.
The accuracy does improve, which is a plus, but I'd prefer, if possible, to find a different algorithm which doesn't force an order of magnitude drop in performance, especially as binomcoef is used as a dependency by other functions within stdlib. Meaning, a significant drop in binomcoef perf will likely necessarily mean a drop in dependants perf.
I've done a bit of research to try and find other algorithms which improve accuracy without sacrificing perf; however, I haven't had much luck finding one which is universally good.

@Andrew-Cottrell I did a bit more investigating. I was able to update the implementation to only compute the GCD when overflow is a risk. For larger binomial coefficients, this drops performance by 50%. Not great, but also not the end of the world.
For reference: https://github.com/stdlib-js/stdlib/blob/9782026baac4239e8fabd217952b77bd633bce75/lib/node_modules/%40stdlib/math/base/special/binomcoef/lib/main.js#L99
Thanks for opening this issue and helping point in the right direction. This resolves the failing tests in fibpoly, which have subsequently been updated.


Use .bablrc to configure babel.

First off, fantastic starter kit! Thank you for putting it together.
I wasn't able to figure out why Relay wasn't working for me. After a day of tearing my hair out, I realized that the js loader config in weback was cloberring my .babelrc settings.
I put the loader settings in the .babelrc file and everything came to life.

Hi @trbngr!
Thank you for your compliment and for your interest in expanding this boilerplate / starter kit.
I've had a look at your PR.  I have a couple of questions and a note...
Questions

What functionality was Relay specifically relying upon from babel?
I have no experience with GraphQL and Relay as of yet.  I assume your Relay implementation is bundled with the client?
 Is it purely a bundle size optimisation?
I am not familiar with the passPerPreset flag in the .babelrc file.  What is its intention?

Note
I am open to using a .babelrc file if we get the right configuration.  However, there are a few things that you need to be aware of about the current babel configuration that exists within the webpack loaders.
If you not if the if helpers you will see that I specifically do not transpile the code when we are targeting the node environment.  This is because v6 of node supports most of the es2015 syntax out of the box.  I would like us to take advantage of that fact as we may get a more performant experience as the node server may be more optimised for the natural ES6 syntax.  The syntax that it doesn't support is ES6 modules, which is fine because webpack 2 handles them natively for us and will do the necessary transpilation on our behalf.
The client bundle needs to be transpiled to ES5 as you know, but again, webpack 2 has the native ES6 modules support and it requires a handle on them in order to do its treeshaking effectively.  Hence my usage of babel-preset-es2015-webpack when we are targetting the browser/client - this preset does all ES6 transpilation except for ES6 modules.
I am happy for us to move to .babelrc for the babel configuration.  It's probably where most people would look first for their babel config, however, I want us to keep the semantics described above.

What functionality was Relay specifically relying upon from babel?
Relay requires a Babel plugin to transform some string templates into literals based on a well-define schema. I suppose I could have added my plugin definition into the webpack config, but, IMO, that goes against convention.

I totally understand the server scenario. But I don't have a solution ATM.
Relay is more than likely not taking part in SSR, so maybe it's fine. IDK.

I have no experience with GraphQL and Relay as of yet. I assume your Relay implementation is bundled with the client?

Relay is a client-side library. So yes.

 Is it purely a bundle size optimisation?

No reason at all. Just what I had from a previous package.json. Come to think of it, I don't want it at all. Thanks for questioning that. ;)

I am not familiar with the passPerPreset flag in the .babelrc file. What is its intention?

This required to support Relay in React Native apps. You can read about it [here].(https://facebook.github.io/relay/docs/guides-babel-plugin.html#react-native-configuration)
I agree with all your notes. And I applaud you for taking the time to think about this PR before merging. However, I believe there is a flaw in this particular example WRT tree-shaking. I'm pretty sure that feature is out the window when combining a vendor bundle with code-splitting. I do see that you didn't add React Router to the vendor bundle though. That's good ;)

Awesome to hear some confirmation about tree shaking and the vendor bundle approach.  I actually suspected this myself and had opened an issue (#2) to investigate this.  Do you have any blogs/issues/posts that discuss/verify this as being a known issue.  I am happy to remove the vendor bundle approach. I definitely want to keep the tree shaking feature active.
In regards to Relay's requirements - I will have a read of that link you have provided and see if I can come up with any solutions.

Well. That's the good thing about .babelrc. You don't need a solution to that ;)
I can't recall the blog I read about it, but when I read the comment, I promptly tested the theory. It's an issue.

I've removed the vendor bundle and closed that issue, thank you for verifying that was an issue.
In regards to the babel loader updates for Relay - can you try add the necessary config to the webpack loaders in the interim?  I don't want to add "feature-specific" configuration to this boilerplate, but we can definitely still try to move the existing structure to .babelrc files if the solution is clean.
For now I may create an empty .babelrc file with a comment stating that all babel config is created and loaded via the webpack loader.

I've solved my issues on my side. The whole reason for this PR was to bring attention to the issues I ran into.
I think adding an empty .babelrc with an explanation is perfectly acceptable.

I'm not sure removing vendor bundle all together is the right thing to do. The issues I saw were the duplication of code in split chunks.
I'll do more testing tomorrow. I have to get off this computer thingy for a bit. ha

Great!  I appreciate you looking into this.

Just as a dis-interested party, I have made projects before that have multiple babel configurations.  An example would be a .babelrc file to define how babel transpiles gulp files and runs them, and then a babel config (in webpack) to define how to transpile the browser javascript.
Due to that, if possible I try to keep babel config options inside the tool that is able to define them for that tool when possible... otherwise fallback to .babelrc
For that reason I would say: leave the webpack babel config in the webpack config definition

I've added a .babelrc placeholder file with a comment informing users of our reasoning in having the babel config contained within the loaders.
Closing this PR.


Enable admin access to the internal dogma project.

Motivation:
@trustin suggested utilizing the internal dogma project for the control plane. However, it's not easy to use the project because it isn't accessible through UI even for an admin.
The ProjectManager, which is used in the ProjectServiceV1, is wrapped with the SafeProjectManager that blocks to access the dogma project. (A Plugin uses the ProjectManager directly so no problem from the plugin side.)
Modifications:

Grant admins to access to the internal dogma project via REST API and web UI.
Rename SafeProjectManager to ProjectApiManager.

It's also used for Thrift service.

Result:

Administrators can now access the internal dogma project through both REST API and the web UI.

Thanks! All addressed. 😉

Would you mind resolving the conflicts?

Would you mind resolving the conflicts?

Did it. 😆


Turn off scroll for Furo anchor links

Some of our pages are quite long. I think this scroll is not worth the "aesthetics". See https://github.com/pradyunsg/furo/discussions/384.

Oops, I accidentally built this on my fork. See https://github.com/Qiskit/qiskit_sphinx_theme/pull/393.


[uss_qualifier/reports] Add reports README index

This PR adds an index page for reports generated by uss_qualifier.  It is intended to serve as a useful link target for people interested in artifacts in general.  A fair amount of content is simply moved from its previous location in the uss_qualifier main documentation index.

Looking at https://github.com/interuss/monitoring/blob/main/monitoring/uss_qualifier/reports/artifacts.py#L45, there are two other types of report which may be worth noting:

Html version of the raw report.
Templated report used for rendering the capability report for uspace and generate the javascript standalone application.

Sounds good; I'm happy for those to be added in another PR.


Not work select_node.jstree for two jsTree

I have two jsTree in same page
Each jsTree have own select_node event

$("#tree1").jstree({...})
     .on('select_node.jstree', function (e, data) {
            // get selected node id and draw second tree with node id
            $("#tree2").jstree({...})
                   .on('select_node.jstree', function (e, data) {
                          console.log('select second tree');
                  });
});

when i select first tree then second tree is show on the page
also second tree works as well
but when i select first tree again, only second tree's on(''select_node.jstree') works
I cannot get work of first tree select event
How can i get separate two tree's selection event?

You need to explicitly destroy the second tree before creating it again.

Yes I know I need to destroy or refresh second tree before creating it again
But i cannot get select_node event of first tree after create second tree
It is call always second tree select_node event

It works as well when i update jsTree version
Sorry for my issue and Thank you


SNOW-1642295: Support lazy index objects in DataFrame.reindex and Series.reindex

Which Jira issue is this PR addressing? Make sure that there is an accompanying issue to your PR.

Fixes SNOW-1642295

Fill out the following pre-review checklist:

[x] I am adding a new automated test(s) to verify correctness of my new code

[ ] If this test skips Local Testing mode, I'm requesting review from @snowflakedb/local-testing

[ ] I am adding new logging messages
[ ] I am adding a new telemetry message
[ ] I am adding new credentials
[ ] I am adding a new dependency
[ ] If this is a new feature/behavior, I'm adding the Local Testing parity changes.

Please describe how your code solves the related issue.
Added support for lazy index objects in DataFrame.reindex and Series.reindex.

>>> ser = pd.Series([1, 2, 3], index=["A", "B", "C"])
>>> idx = pd.Index(["X", "Y", "Z"])
>>> ser.reindex(idx)
X   NaN
Y   NaN
Z   NaN
dtype: float64

I'm going to combine this PR with the index name bug PR: https://github.com/snowflakedb/snowpark-python/pull/2175


Swift4 migration

Migrated to swift 4.

@AnthonyMDev can you please review this PR? It seems like the change you've requested is done.


Add debug logging for system state changes

Add logging for reading and writing to system files including /proc

this looks like a level of detail where you might as well use DTrace for
(or eBPF on Linux these days?)

The reason was that dhcpcd was changing system configuration that I had explicitely defined otherwise. So I wasted excessive time trying to understand why sysctl and systemd are buggy. I ran everything with debug output, but dhcpcd didn't log anything, so I was assuming that it didn't change anything and wasted a lot of time trying to debug systemd...

What sysctls are we talking about here that would cause a service distruption? dhcpcd will change the following IPv6 related tunables:

disables the kernel from making it's own IPv6 LL addresses because it will make it's own stable private address.
disables the kernel from doing autoconf or accept_ra because dhcpcd will do it instead
adjust interface tunables for hop limit, retrans and reachable based on RA received

You can stop dhcpcd from doing this by disabling IPv6 or IPv6RS support in dhcpcd.
Otherwise I'm not sure what else dhcpcd would stamp on and cause a problem?

It has been a while, but if I recall correctly, it was an interaction between multiple settings (at least accept_ra and forwarding) that caused the disruption.
The system was used to run containers (I.E. forwarding was enabled). But dhcpcd set accept_ra to 1 (or 0, don't know anymore), whereas I had set it to 2 within a startup task explicitly. Other systems on the same lan were advertising their internal container networks, so that traffic to them was routed directly instead of to the gateway (which filtered it).


quaternion_operation: 0.0.12-1 in 'rolling/distribution.yaml' [bloom]

Increasing version of package(s) in repository quaternion_operation to 0.0.12-1:

upstream repository: https://github.com/OUXT-Polaris/quaternion_operation.git
release repository: https://github.com/ros2-gbp/quaternion_operation-release.git
distro file: rolling/distribution.yaml
bloom version: 0.11.2
previous version for package: 0.0.7-2

quaternion_operation
* add header file (#63 <https://github.com/OUXT-Polaris/quaternion_operation/issues/63>)
* Setup workflow (#62 <https://github.com/OUXT-Polaris/quaternion_operation/issues/62>)
* [Bot] Update workflow (#61 <https://github.com/OUXT-Polaris/quaternion_operation/issues/61>)
  * Setup workflow
  * empty commit
  Co-authored-by: Masaya Kataoka<EMAIL_ADDRESS>* Contributors: Masaya Kataoka, wam-v-tan

More specifically, quaternion_operation: doc: version: is currently master, but this branch doesn't exist on the source repo anymore. If you update this to be ros2 it should solve the issue

Thanks!


Help

Hello!
I want to ask for help on how to make the program work? Unfortunately I didn't really get it so I want to ask for help. Step by step. Thanks!

I made a video recently on my process for results scoring. The tool is just one part of how I score a championship so the video is kind of long, but you can see a how-to on using the tool at around 11:16 on this video https://youtu.be/bCO1fOBigjM?t=676
The club ID in that video comes from the URL of the club on the dirtgame.com for example if you go to a club page https://dirtrally2.dirtgame.com/clubs/club/239655 - the number at the end of that URL is your club id (239655).


70341 Correct dateHelpText for en_AU localization

Description
This PR closes #70341 by fixing the en_AU localisation for dateHelpTest.
Previously, dateHelpText returned mm/dd/yyyy which is incorrect for Australian dates, and also did not reflect DateFormat's compact date for en_AU.
Related Issues

#70341

Tests
There doesn't seem to be any tests for changing localizations. I have followed the instructions here.
Checklist
Before you create this PR, confirm that it meets all requirements listed below by checking the relevant checkboxes ([x]). This will ensure a smooth and quick review process.

[X] I read the Contributor Guide and followed the process outlined there for submitting PRs.
[ ] I signed the CLA.
[X] I read and followed the Flutter Style Guide, including Features we expect every widget to implement.
[X] I read the Tree Hygiene wiki page, which explains my responsibilities.
[X] I updated/added relevant documentation (doc comments with ///).
[X] All existing and new tests are passing.
[X] The analyzer (flutter analyze --flutter-repo) does not report any problems on my PR.
[X] I am willing to follow-up on review comments in a timely manner.

Breaking Change
Did any tests fail when you ran them? Please read Handling breaking changes.

[X] No, no existing tests failed, so this is not a breaking change.
[ ] Yes, this is a breaking change. If not, delete the remainder of this section.

[ ] I wrote a design doc: https://flutter.dev/go/template Replace this with a link to your design doc's short link
[ ] I got input from the developer relations team, specifically from: Replace with the names of who gave advice
[ ] I wrote a migration guide: https://flutter.dev/go/breaking-changes-template Replace this with a link to a pull request that adds the migration guide to https://flutter.dev/docs/release/breaking-changes

@googlebot I signed it!

Hi, thank you for the PR! Unfortunately, we don't take PRs to update any of the .arb file changes because we run a script to update these values. We use values generated by Google's internal translation infrastructure to make these changes. However, if there's a value that isn't correct, you can file an issue and we'll make a request for the change to the translation console.

Hey @shihaohong - sorry I was just following the instructions in the Readme. Hope this can be resolved soon 👍

No worries, thanks for attempting the fix :)


State of output pins

Creating a new 'output pin' instance rewrites to the sysfs GPIO direction file and resets the pin state.
Solution is to check to see if the pin is already an output pin and only write to the direction file if it isn't.
Tag: @alfredomova

It seems this project is dead. Does anyone find a good alternative?

Sorry - very much looking for maintainers as my time is on other things.
I do maintain a list of resources of similar projects and other PHP programming bits and bobs aimed at the Raspberry Pi: https://github.com/PiPHP/Resources


Document :timeout Redix.start_link/2 option

Hello!
There is an important option when establishing a connection to Redis: connect timeout. It is actually implemented (https://github.com/whatyouhide/redix/blob/master/lib/redix/utils.ex#L71), but the documentations says nothing about it. I tried to add missing docs.
Thanks for the great Elixir-native Redis client!

Sorry for the long wait time, thanks so much for the contribution! 💟


Add copy button to code blocks

Currently there is no copy to clipboard button for code blocks within the documentation. The design proposed in #377 includes a copy button. We should look into how to implement the functionality for this.

I think a good example of a page that would benefit from the copy to clipboard function is the new developing stacks page, where, as a stack developer I might want to copy the commands necessary to create a new stack and copy the basic stacks.yml file to get me going.


✨ Add webhook readiness and health check

Currently the readiness of our controller deployments does not include the webhook server. I.e., the deployment is already ready even when the webhooks are not up.
The current PR will help that the wait for readiness will also include the webhook server. This is crucial because otherwise there's a chance that clusterctl immediately fails when we try to deploy resources.
Follows: kubernetes-sigs/cluster-api#4989

/test-integration

/assign @furkatgofurov7
/cc @fmuyassarov

/test-integration

/assign @fmuyassarov
/cc @furkatgofurov7

@kashifest can you please rebase? I will lgtm afterwards. Thanks

/test-integration

@kashifest can you please rebase? I will lgtm afterwards. Thanks

Done

/lgtm


Generated classes mark autogenerated fields as required - primary id keys and timestamps

Environment:
    Supabase:  1.219.2
    Supadart: 1.6.5
    Flutter: 3.24.5 • channel stable
    Dart: 3.5.4

Hello,
First, thank you for your work. It saves us a lot of time and effort.
Supadart will mark all required db fields as required in the generated class.
This means fields like the db primary id field and timestamps (which are required and automatically generated) will be required when instantiating an object for that table.
Would it be possible to have a constructor /factory that returns Object   with id/date fields populated?
Ex:
Assume this simple Genre table:
create table
  public.genres (
    id uuid not null default extensions.uuid_generate_v4 (),
    name character varying(30) not null,
    created_date timestamp with time zone not null default now(),
    last_updated timestamp with time zone not null default now(),

    constraint genres_pkey primary key (id),
    constraint genres_name_key unique (name)
  ) tablespace pg_default;

The generated code is
class Genre implements SupadartClass<Genre> {
  final String name;
  final DateTime createdDate;
  final DateTime lastUpdated;
  final String id;

  const Genre({
    required this.name,
    required this.createdDate,
    required this.lastUpdated,
    required this.id,
  });

This means  Genre needs to be instantiated with an ID and a value for create/update date.
final Genre = Genre(
              id: <id>,
              name: <name>,
             createdDate: <date>,
             lastUpdated: <data>
 );

The expectation is to use
 final Genre genre = Genre(name: 'genre 1');

I can see from the docs  that Object.fromJson() is available, but that means I would have to instantiate objects like
final Genre genre = Genre.fromJson({
        "name": "Genre 1"
  })

The name option is Object.insert() which returns a map.    So we're looking at something like
final Genre genre  = Genre.fromJson(Genre.insert(name: 'genre 1'))

Both of these approaches seems verbose and cumbersome.
Here is my supadart.yaml:
 supabase_url: <url here>
 supabase_anon_key:  <hey here>
 output: lib/models/
 separated: true
dart: false

Hi @pepie , thanks for opening an issue!
So just to be clear the goal is to instantiate a Genre object with default values.
Im thinking of adding a factory method called "New" to instantiate it with default values (it will be optional, configurable in the supadart.yaml) .

So the real question is what are the default values, im thinking of using dartTypeDefaultNullValue() function that the from_json uses.
But the thing about that function is its not "postgres default value" if you know what i mean.
for ex.
uuid default value
will just be ""
instead of
"00000000-0000-0000-0000-000000000000"
I think it'll be fine in the client runtime but when you try to push that object into the database it probably wont work until you change those values.

I'd like your thoughts on this, ill work on it as soon as i get your feedback
class Test {
  final String name;
  final int age;

  Test({required this.name, required this.age});

  factory Test.New({String name = 'John', int age = 30}) {
    return Test(name: name, age: age);
  }
}

void main() {
  var test1 = Test.New(); // Uses default values
  print('Name: ${test1.name}, Age: ${test1.age}');

  var test2 = Test.New(name: 'Alice'); // Uses default age
  print('Name: ${test2.name}, Age: ${test2.age}');

  var test3 = Test.New(age: 25); // Uses default name
  print('Name: ${test3.name}, Age: ${test3.age}');
}

// Output
// Name: John, Age: 30
// Name: Alice, Age: 30
// Name: John, Age: 25

This is sample generation implementing the new method (is renamed to New because we can use the word new) from

class StringTypes implements SupadartClass<StringTypes> {
  final String id;
  final String? colUuid;
  final List<String>? colUuidArray;
  final String? colCharacter;
  final List<String>? colCharacterArray;
  final String? colCharactervarying;
  final List<String>? colCharactervaryingArray;
  final String? colText;
  final List<String>? colTextArray;

  const StringTypes({
    required this.id,
    this.colUuid,
    this.colUuidArray,
    this.colCharacter,
    this.colCharacterArray,
    this.colCharactervarying,
    this.colCharactervaryingArray,
    this.colText,
    this.colTextArray,
  });

  static String get table_name => 'string_types';
  static String get c_id => 'id';
  static String get c_colUuid => 'col_uuid';
  static String get c_colUuidArray => 'col_uuid_array';
  static String get c_colCharacter => 'col_character';
  static String get c_colCharacterArray => 'col_character_array';
  static String get c_colCharactervarying => 'col_charactervarying';
  static String get c_colCharactervaryingArray => 'col_charactervarying_array';
  static String get c_colText => 'col_text';
  static String get c_colTextArray => 'col_text_array';

  static List<StringTypes> converter(List<Map<String, dynamic>> data) {
    return data.map(StringTypes.fromJson).toList();
  }

  static StringTypes converterSingle(Map<String, dynamic> data) {
    return StringTypes.fromJson(data);
  }

  static Map<String, dynamic> _generateMap({
    String? id,
    String? colUuid,
    List<String>? colUuidArray,
    String? colCharacter,
    List<String>? colCharacterArray,
    String? colCharactervarying,
    List<String>? colCharactervaryingArray,
    String? colText,
    List<String>? colTextArray,
  }) {
    return {
      if (id != null) 'id': id,
      if (colUuid != null) 'col_uuid': colUuid,
      if (colUuidArray != null)
        'col_uuid_array': colUuidArray.map((e) => e).toList(),
      if (colCharacter != null) 'col_character': colCharacter,
      if (colCharacterArray != null)
        'col_character_array': colCharacterArray.map((e) => e).toList(),
      if (colCharactervarying != null)
        'col_charactervarying': colCharactervarying,
      if (colCharactervaryingArray != null)
        'col_charactervarying_array':
            colCharactervaryingArray.map((e) => e).toList(),
      if (colText != null) 'col_text': colText,
      if (colTextArray != null)
        'col_text_array': colTextArray.map((e) => e).toList(),
    };
  }
   // New Method
   // New Method
   // New Method
  static Object New({
    String? id,
    String? colUuid,
    List<String>? colUuidArray,
    String? colCharacter,
    List<String>? colCharacterArray,
    String? colCharactervarying,
    List<String>? colCharactervaryingArray,
    String? colText,
    List<String>? colTextArray,
  }) {
    return {
      if (id != null) 'id': id,
      if (colUuid != null) 'col_uuid': colUuid,
      if (colUuidArray != null) 'col_uuid_array': colUuidArray,
      if (colCharacter != null) 'col_character': colCharacter,
      if (colCharacterArray != null) 'col_character_array': colCharacterArray,
      if (colCharactervarying != null)
        'col_charactervarying': colCharactervarying,
      if (colCharactervaryingArray != null)
        'col_charactervarying_array': colCharactervaryingArray,
      if (colText != null) 'col_text': colText,
      if (colTextArray != null) 'col_text_array': colTextArray,
    };
  }

  static Map<String, dynamic> insert({
    String? id,
    String? colUuid,
    List<String>? colUuidArray,
    String? colCharacter,
    List<String>? colCharacterArray,
    String? colCharactervarying,
    List<String>? colCharactervaryingArray,
    String? colText,
    List<String>? colTextArray,
  }) {
    return _generateMap(
      id: id,
      colUuid: colUuid,
      colUuidArray: colUuidArray,
      colCharacter: colCharacter,
      colCharacterArray: colCharacterArray,
      colCharactervarying: colCharactervarying,
      colCharactervaryingArray: colCharactervaryingArray,
      colText: colText,
      colTextArray: colTextArray,
    );
  }

  static Map<String, dynamic> update({
    String? id,
    String? colUuid,
    List<String>? colUuidArray,
    String? colCharacter,
    List<String>? colCharacterArray,
    String? colCharactervarying,
    List<String>? colCharactervaryingArray,
    String? colText,
    List<String>? colTextArray,
  }) {
    return _generateMap(
      id: id,
      colUuid: colUuid,
      colUuidArray: colUuidArray,
      colCharacter: colCharacter,
      colCharacterArray: colCharacterArray,
      colCharactervarying: colCharactervarying,
      colCharactervaryingArray: colCharactervaryingArray,
      colText: colText,
      colTextArray: colTextArray,
    );
  }

  factory StringTypes.fromJson(Map<String, dynamic> jsonn) {
    return StringTypes(
      id: jsonn['id'] != null ? jsonn['id'].toString() : '',
      colUuid: jsonn['col_uuid'] != null ? jsonn['col_uuid'].toString() : '',
      colUuidArray: jsonn['col_uuid_array'] != null
          ? (jsonn['col_uuid_array'] as List<dynamic>)
              .map((v) => v.toString())
              .toList()
          : <String>[],
      colCharacter: jsonn['col_character'] != null
          ? jsonn['col_character'].toString()
          : '',
      colCharacterArray: jsonn['col_character_array'] != null
          ? (jsonn['col_character_array'] as List<dynamic>)
              .map((v) => v.toString())
              .toList()
          : <String>[],
      colCharactervarying: jsonn['col_charactervarying'] != null
          ? jsonn['col_charactervarying'].toString()
          : '',
      colCharactervaryingArray: jsonn['col_charactervarying_array'] != null
          ? (jsonn['col_charactervarying_array'] as List<dynamic>)
              .map((v) => v.toString())
              .toList()
          : <String>[],
      colText: jsonn['col_text'] != null ? jsonn['col_text'].toString() : '',
      colTextArray: jsonn['col_text_array'] != null
          ? (jsonn['col_text_array'] as List<dynamic>)
              .map((v) => v.toString())
              .toList()
          : <String>[],
    );
  }

  Map<String, dynamic> toJson() {
    return _generateMap(
      id: id,
      colUuid: colUuid,
      colUuidArray: colUuidArray,
      colCharacter: colCharacter,
      colCharacterArray: colCharacterArray,
      colCharactervarying: colCharactervarying,
      colCharactervaryingArray: colCharactervaryingArray,
      colText: colText,
      colTextArray: colTextArray,
    );
  }

  StringTypes copyWith({
    String? id,
    String? colUuid,
    List<String>? colUuidArray,
    String? colCharacter,
    List<String>? colCharacterArray,
    String? colCharactervarying,
    List<String>? colCharactervaryingArray,
    String? colText,
    List<String>? colTextArray,
  }) {
    return StringTypes(
      id: id ?? this.id,
      colUuid: colUuid ?? this.colUuid,
      colUuidArray: colUuidArray ?? this.colUuidArray,
      colCharacter: colCharacter ?? this.colCharacter,
      colCharacterArray: colCharacterArray ?? this.colCharacterArray,
      colCharactervarying: colCharactervarying ?? this.colCharactervarying,
      colCharactervaryingArray:
          colCharactervaryingArray ?? this.colCharactervaryingArray,
      colText: colText ?? this.colText,
      colTextArray: colTextArray ?? this.colTextArray,
    );
  }
}

does it seem good to you?

That looks good.
Let's try it out.

updated to 1.6.8 you can try it out now

I did a quick test on v 1.6.8 and it looks good.
The only thing  I noticed is having to cast the return object to , since new T.New() returns an "Object".
It would be nice to have it return the class, similar the .fromJson() factory method.
He's the updated usage example:
OLD:
Genre g =  Genre.fromJson( Genre.insert(
    name: 'some name'
));

NEW:
Genre g = Genre.New(  name ) as Genre;

The TypeScript code generated using the Supabase CLI wraps the existing types with an Insert type, allowing you to omit auto-generated values. Would it be possible to use that approach?

Yes.
Here's a sample use case:
Genre genre = Genre.new(
    name: 'Classical'
);

Genre g = await _genreService.create ( genre );
print(g);

Output:
{
  id: 'abc123',
  name: 'Classical',
  createdDated: '202-12-01...',
  lastUpdated: '202-12-01...',
}

Create function:
Future<Genre?> create(Genre genre) async{
    try {

      return  await supabase
          .genres
          .insert( genre.toJson() )
          .single();

    } catch( error, trace){
      log( "create failed ",  error: error,  stackTrace: trace );
      ...
    }
  }

Instantiating Genre locally helps me mocking or  manipulating the object before sending it back to the server.
ex:
ex:
List<Genre> = List.generate(
   10,
   ( int index ) => Genre.New( name: "item $index" )
).toList();

.insert() works great but it returns a JSON map.  An object is easier to work with and provides better type safety.
You can simply duplicate .insert and have it return object  instead of a map.
I am wondering if you need .insert() to return a JSON at all, since you can get that with .toJson().
I can see the current implementation being useful in a web dev environment (like Node/Typescript), where json is a first-class citizen. But you will most often work with objects and use the dot pattern to access fields/methods.
I would only need a JSON in specific cases, and can get it with the following snippet when needed
Map json =  Object.New(...).toJson();

I think .insert() is a nice wrapper, but it doesn't completely replace the need for a constructor/function that returns the object.

I see, I didn't think about that.

I am wondering if you need .insert() to return a JSON at all, since you can get that with .toJson().

it needs to return a JSON because assuming we do insert then only the required fields, then if we cast it to the Class it will fail because some required (non-nullable in the database) fields are there like the field id. It will throw an error
So trying out the new method which is
  static Object New({
    String? id,
    String? colUuid,
    List<String>? colUuidArray,
    String? colCharacter,
    List<String>? colCharacterArray,
    String? colCharactervarying,
    List<String>? colCharactervaryingArray,
    String? colText,
    List<String>? colTextArray,
  }) {
    return {
      if (id != null) 'id': id,
      if (colUuid != null) 'col_uuid': colUuid,
      if (colUuidArray != null) 'col_uuid_array': colUuidArray,
      if (colCharacter != null) 'col_character': colCharacter,
      if (colCharacterArray != null) 'col_character_array': colCharacterArray,
      if (colCharactervarying != null)
        'col_charactervarying': colCharactervarying,
      if (colCharactervaryingArray != null)
        'col_charactervarying_array': colCharactervaryingArray,
      if (colText != null) 'col_text': colText,
      if (colTextArray != null) 'col_text_array': colTextArray,
    };
  }

Then doing
StringTypes g = StringTypes.New() as StringTypes;

Will throw this error
TypeError: Instance of 'IdentityMap<String, Object>': type 'IdentityMap<String, Object>' is not a
subtype of type 'StringTypes'

So i just realized the New method won't work

Best thing i could do is probably  this
  static StringTypes New({
    String? id,
    String? colUuid,
    List<String>? colUuidArray,
    String? colCharacter,
    List<String>? colCharacterArray,
    String? colCharactervarying,
    List<String>? colCharactervaryingArray,
    String? colText,
    List<String>? colTextArray,
  }) {
    return StringTypes.fromJson(StringTypes.insert(
      id: id,
      colUuid: colUuid,
      colUuidArray: colUuidArray,
      colCharacter: colCharacter,
      colCharacterArray: colCharacterArray,
      colCharactervarying: colCharactervarying,
      colCharactervaryingArray: colCharactervaryingArray,
      colText: colText,
    ));
  }

which is just basically what you described last time
Genre g =  Genre.fromJson( Genre.insert(
    name: 'some name'
));

but this populates the properties with default values, which is against on what you want which is to instantiate the class, then have the server populate it. am i understanding it correctly? i maybe out of it again lol

Yes, that's correct.
I imaging populating the properties with default values would be difficult to maintain.
This could be problematic if the case where we have a timestamp or an auto-incremented column, since the values would not be generated by the DB server.
I'll try to complete a full insert today and let you if what we have so far doesn't work.
Some additional thoughts:
Optional fields are null by default, so is it possible to simply not initialize them? And leave it to the developer to initialize them when needed?
This would add the flexibility needed, I think.
Imagine the following table, with auto-generated columns and one nullable column with no default value
create table
  public.genres (

    name character varying(30) not null,        <-- required & not generated => required in class
    nickname character varying(30)  null,     <-- nullable &  not generated => optional in class

    -- required but auto-generated => optional in class

    id uuid not null default extensions.uuid_generate_v4 (),
    created_date timestamp with time zone not null default now(),
    last_updated timestamp with time zone not null default now(),
  )

This should produce a class like
class Genre {
   String name;      <- only required field, everything else is optional

   String? id;
   String? color;
   DateTime? createdDate;
   DateTime? lastUpdated;

    ....
}

Instantiating with
Genre genre = Genre.new(
    name: 'Classical'
);

Should create an object with the following values
{
  name: 'Classical',

  id: null,
  color: null,
  createdDated: null,
  lastUpdated: null,

}

Now, I can work with Genre locally until I am ready to send it to the server with
Genre? g = await _genreService.create (
     genre.copyWith( color: 'red' )
);
print( g );

The server would receive the following values
{
  name: 'Classical',
  color: 'red,

  id: null,
  createdDated: null,
  lastUpdated: null

}

and would apply the relevant rules/constraints to the columns with null values. It would then return
{
  id: 'abc123xyz',
  name: 'Classical',
  color: 'red,
  createdDated: '2024-12-01....',
  lastUpdated: '2024-12-01....',
}

The key point here is, we don't make assumptions about optional fields, and leave it to the developer to deal with default values locally. The develop should have enough context about the model they're working with and make any necessary adjustments. Like,
g.color = 'red';
or
final g = genre.copyWith( color='red');

//save
await _createGenre ( g );

A developer can always initialize defaults when creating the object, if needed:
Genre genre = Genre.new(
    id: generateNewKeyFunction(),
    name: 'Classical',
    createdDate: DateTime.now()
);

so altering the class to be
create table
  public.genres (

    name character varying(30) not null,        <-- required & not generated => required in class
    nickname character varying(30)  null,     <-- nullable &  not generated => optional in class

    -- required but auto-generated => optional in class

    id uuid not null default extensions.uuid_generate_v4 (),
    created_date timestamp with time zone not null default now(),
    last_updated timestamp with time zone not null default now(),
  )

class Genre {
   String name;      <- only required field, everything else is optional

   String? id;
   String? color;
   DateTime? createdDate;
   DateTime? lastUpdated;

    ....
}

But the rule of the class right now is

attribute can be null if it can be null in the server
attribute is required it can't be null in the server

What you are proposing is changing this and do

attribute can be null if it can be inserted as null in the server
attribute is required if it can't be inserted in the server as null

am i following?
I don't know how i feel about leaving not database nullable fields like ID in the class because in the supabase typescript that's not how it works,
I can do some tweaking for you and have an option to apply the rule you are proposing. so you can just instantiate the class directly from the constructor. just let me know

Yeah,
I think we might be overthinking this.
At the end of the day, I just want to instantiate the class without having to specify the timestamp field or anything that will be generated by the server.
So far I've been able to do that with
T object = T.fromJson(T.insert(...));

The .new() addition works fine too, so far.
Let me play with it and see if more is needed. I wouldn't want you do unnecessary tweaks to the code.
I'll have more information by tonight.

The TypeScript code generated using the Supabase CLI wraps the existing types with an Insert type, allowing you to omit auto-generated values. Would it be possible to use that approach?

do you mean like this?
factory StringTypes.fromJson(Map<String, dynamic> jsonn) {
    return StringTypes(
      id: jsonn['id'] != null ? jsonn['id'].toString() : '',
      ...
   )

sorry i don't quite follow.

The types generated based on the Supabase CLI are typically defined as Tables<'table_name'> when retrieving objects from a table. However, when inserting new objects into a table, they are declared using TablesInsert<'table_name'>. Would it be challenging to distinguish between auto-generated values in this manner?
I have some experience with TypeScript but understand that it differs from Dart classes. I think it might be difficult to find an alternative as well.

The types generated based on the Supabase CLI are typically defined as Tables<'table_name'> when retrieving objects from a table. However, when inserting new objects into a table, they are declared using TablesInsert<'table_name'>. Would it be challenging to distinguish between auto-generated values in this manner?
I have some experience with TypeScript but understand that it differs from Dart classes. I think it might be difficult to find an alternative as well.

@wisewinshin
The generated class .insert() method does not require you to provide values for fields that are auto-generated or have default values on the schema/database.
for ex.
books_table
id - is auto generated
name - string
created_at - has a default value of now

you can just do
// Yes we know which one's are optional or required.
final data = Books.insert(
  name: 'Learn Flutter',
);
await supabase.books.insert(data);

and it will return
{ "name":"your_name" }

which then you can use the supabase sdk to insert,
await supabase.books.insert(data);

are you talking about the .insert() method of the sdk itself

Hey,
I finally got a chance to test inserts and have few updates.
To answer your question, I was referring to T.insert() in my previous post - the insert statement generated with the class, not  .insert() from the sdk  ( supabase..insert() ).
I noticed today the object created with T.New() will mark ALL fields as optional. I missed that from your previous message , but I ended up going back to using T.fromJson( T.insert(...)) so I can leverage the null safety features.
Ex:  Given a Genre table with one a required 'name' column:
create table
  public.genres (
     id uuid not null default extensions.uuid_generate_v4 (),
    name character varying(30) not null,

  )

using
Genre.fromJson(
    Genre.insert(
        name: 'Test'
    )
)```

 will correctly create  the class as

class Genre {
String? id;           <-- optional
String name;     <-- required
...
}
Genre.New( name: 'Test' ) , however, will produce

class {
String? id;
String? name;   <-- should not be optional
...
}

Inserts will  also fail for records with an array column, if the class is created with T.New()
Error: "malformed array literal"

My table is defined as

create table
public.events (
id uuid not null default extensions.uuid_generate_v4 (),
title character varying(100) not null,
category character varying[] not null         <-- this causes "malformed array literal"
...
)

This is the only way I could get inserts to work:

final event = Event.fromJson(Event.insert(...));
await create(event);
...
Future<Event?> create(Event event) async{
try {

  Map<String, dynamic> record = event.toJson();    <-- use/convert to JSON so array columns work

  record.remove("id");     <-- manually remove id field so Postgres don't complain

  final result = await supabase
      .events
      .insert(record)
      .select("*");          <--- hack: using .single() will fail
      //.withConverter(Event.converterSingle)        <-- hack: using .single() with Event.convertSingle() fails.

  return Event.fromJson(            <-- needed since we can't use  .single() and .withConverter( <T>.converterSingle() ) fails
         result.single
  );

} on PostgrestException catch(error, trace){
     ...
}
...

}

Note:
.withConverter( T.convertSingle) only fails for inserts. It works find for other queries.

Things are a bit out of place

Regarding the T.new()
I think we should just give up this feature, it's too complicated and can even cause runtime issues in your app,
If this pattern works well for you i think we should just keep it that way, unless there are more problems
Genres.fromJson(Genres.insert(name: 'Test'));

Regarding the converters
.select("*") returns an array based on docs/testing so you have to  apply the corresponding converter
with no .single()
  final result = await supabase.events
      .insert(Events.insert(title: "title", category: ["category"]))
      .select("*")
      .withConverter(Events.converter);

  print(result); // [Instance of 'Events']

with .single()
  final result = await supabase.events
      .insert(Events.insert(title: "title", category: ["category"]))
      .select("*")
      .single()
      .withConverter(Events.converterSingle);

  print(result); // Instance of 'Events'


Add scene.apply service

Description:
Add a scene.apply service that can apply a scene without requiring users to define it in YAML.
Example service data:
light.kitchen: on
light.ceiling:
  state: on
  brightness: 100

Related issue (if applicable): fixes #26813
Pull request with documentation for home-assistant.io (if applicable): TODO
Checklist:

[x] The code change is tested and works locally.
[x] Local tests pass with tox. Your PR cannot be merged unless tests pass
[x] There is no commented out code in this PR.
[x] I have followed the development checklist

If user exposed functionality or configuration variables are added/changed:

[ ] Documentation added/updated in home-assistant.io

If the code communicates with devices, web services, or third-party tools:

[ ] The manifest file has all fields filled out correctly. Update and include derived files by running python3 -m script.hassfest.
[ ] New or updated dependencies have been added to requirements_all.txt by running python3 -m script.gen_requirements_all.
[ ] Untested files have been added to .coveragerc.

If the code does not interact with devices:

[ ] Tests have been added to verify that the new code works.

After some consideration (lunch), I have decided to define the states under the entities field in the service call. This makes descriptions work and I feel will make a more consistent experience with the rest of Home Assistant, which all have fields in service data.
PR updated and docs written. https://github.com/home-assistant/home-assistant.io/pull/10657


Pass input name as a prop

It would be a "nice to have" if the the input name could be passed as a prop. This would make it easier for acceptance testing to have an HTML hook to use.

Sounds good to me 👍

Using with reduxForm, 'name' prop is also required.


WeldJoint copy returns instance of PivotJoint rather than WeldJoint

Perhaps I am misunderstanding something here? I feel weldJoint.copy() should return a weld joint... rather that a PivotJoint.

HAHA. yes. you are quite right.


cannot import components from outside the project

I have a project structure as below
- components
       - SharedComponent.js
- desktop
    - pages
        - page1.js
    - .next
- mobile
    - pages
        - page1.js
    - .next

There are 2 NextJs Projects. I am trying to share components between the two projects.
But I am getting an error when I try to use SharedComponents in one of the projects. SharedComponents is a React component written in JSX.
Below is the error
 error  in ./components/SharedComponent.js
[1] Module parse failed: Unexpected token (98:12)
[1] You may need an appropriate loader to handle this file type.

does anybody know how to fix this?

@mitrey did you found solution?

Tracking this under #706


Feature request: Time Column Filter

Please be more explicit !

Hi,
I would like to customize the time filter column with custom groupings and time intervals.
For example:

group 1

00:00 - 01:00 (time range 1)

00:00
...
00:59

01:00 - 02:00  (time range 2)
...

group 2

05:00 - 06:00
...

Is there a way that I can achieve this grouping? I imagine it to be something similar to the grouping of dates into months of the Date column.

It is possible to do it but you will have to do it yourself because it is a specific request for a specific development.

It is possible to do it but you will have to do it yourself because it is a specific request for a specific development.

Can you give us some hint about how do it? I read the CodeProject article and the look the code but I don't see how to hang for a custom flter...


1.2.8 Set up Recovery Phrase/Walkthrough 3

1. User Story
Info about what the recovery phrase is and why it is important.
2. Acceptance Criteria

Progress circle animation.

3. Related Issues

[ ] Create all related issue for this issue, label them, assign them, and move them to the right projects.
[ ] tbd
[ ] tbd

4. Wire Frame
None
5. Design

https://www.figma.com/file/ERJ7bYyBWdqJw1ID9nZJ2N/Designs?node-id=7904%3A10802

button component / progress animation


How to create request params based on Map?

Is there a way to dynamically map request params using Map?
E.g instead of this
@RequestLine("GET /?foo={bar}") Result list(@Param("bar") String bar);
something like
@RequestLine("GET /") Result list(@Param Map params);
This would be great, because now I don't have overload the same method over & over.

Should be possible with a custom Expander. At the bottom of this file is an
example you can play with
https://github.com/Netflix/feign/blob/master/core/src/test/java/feign/DefaultContractTest.java

ok thanks

And if that doesn't work for some reason, you can make an Encoder which
definitely will. Goos luck!


Firefox DRM issue

Hello.
I have problem with Firefox DRM.
I use windows OS and Shaka Player v2.2.3-debug from https://shaka-player-demo.appspot.com/demo/.
Shaka player works fine in Chrome (63.0.3236.0, 64 bit) and Edge (40.15063.674.0), but does not work in Firefox (56.0.1, 64 bit, widevine module version <IP_ADDRESS>8). Blank screen.
Chrome and Firefox link:
https://shaka-player-demo.appspot.com/demo/#asset=https://nginx.dev.cdnnow.ru/live/index.mpd;license=https://one.drmnow.ru/widevine;
Edge link:
https://shaka-player-demo.appspot.com/demo/#asset=https://nginx.dev.cdnnow.ru/live/index.mpd;license=https://one.drmnow.ru/playready/rightsmanager.asmx;lang=ru;
Where is no javascript or network errors.
What's can be wrong with Shaka in Firefox?

I see "Shaka Error NETWORK.HTTP_ERROR (https://nginx.dev.cdnnow.ru/live/3466666.m4a)" in both Firefox 56.0.1 and Chrome 62. In the devtools console, I see CORS network errors:
Cross-Origin Request Blocked: The Same Origin Policy disallows reading the remote resource at https://nginx.dev.cdnnow.ru/live/3675000.m4v. (Reason: CORS header ‘Access-Control-Allow-Origin’ missing).
Cross-Origin Request Blocked: The Same Origin Policy disallows reading the remote resource at https://nginx.dev.cdnnow.ru/live/3675000.m4a. (Reason: CORS header ‘Access-Control-Allow-Origin’ missing).
Cross-Origin Request Blocked: The Same Origin Policy disallows reading the remote resource at https://nginx.dev.cdnnow.ru/live/3675000.m4v. (Reason: CORS header ‘Access-Control-Allow-Origin’ missing).
(video:1) failed fetch and append: code=1002

@gleb-shchavlev, please check your CORS setup.  Are you working around CORS in Chrome with something like --disable-web-security?

CORS errors was on 404 answers, fixed.
Sometimes need to move slider to the right of player window to make stream live.
Where is no CORS problem if translation goes in live.

Okay, thanks.  Moved back to the triage list.

There was a bug where we didn't set the start time in live streams correctly.  It has been fixed and you can use the nightly instead to use the correct start time:
https://nightly-dot-shaka-player-demo.appspot.com/demo/#asset=https://nginx.dev.cdnnow.ru/live/index.mpd;license=https://one.drmnow.ru/widevine;lang=en-US
We have reproduced the playback bug.  It appears to be a platform issue.  Both Firefox and Chrome are generating the same license requests and we get back a reasonable license response, but Firefox is failing to playback the content.  I'll look into the CDM more to see about extra logging info to help.
Here are the logs from the about:media plugin:
HTMLMediaElement debug data

    http://localhost/shaka/demo/#asset=https://nginx.dev.cdnnow.ru/live/index.mpd;license=https://one.drmnow.ru/widevine;lang=en-US
        blob:http://localhost/dc6250f9-7780-4870-bd9a-762b898bbcf6
        currentTime: 23877.21199987602 readyState: 1
        Quality: -- (total:0 dropped:0 corrupted:0)
        Buffered ranges: [(23866.732, 23874.989)(23875.012, 23883.325)(23883.348, 23891.661)]
        SourceBuffer[0]: (23866.676, 23874.989)(23875.012, 23883.325)(23883.348, 23891.661)
        SourceBuffer[1]: (23866.732, 23891.699)
        Internal Data:
            Audio Decoder: ffmpeg audio decoder
            Audio Frames Decoded: 6
            Audio State: ni=0 no=0 wp=0 demuxr=0 demuxq=0 decoder=0 tt=-1.0 tths=-1 in=3 out=3 qs=0 pending=0 wfd=0 eos=0 ds=0 wfk=0 sid=6
            Video Decoder: Chromium CDM video decoder
            Hardware Video Decoding: disabled
            Video Frames Decoded: 0 (skipped=0)
            Video State: ni=0 no=0 wp=1 demuxr=0 demuxq=0 decoder=0 tt=-1.0 tths=-1 in=500 out=0 qs=500 pending:0 wfd=1 eos=0 ds=0 wfk=0 sid=7
            Dumping Data for Demuxer: 7f85d2d06c00
            Dumping Audio Track Buffer(audio/mp4a-latm): mLastAudioTime=23877.218000
            Audio Track Buffer Details: NumSamples=1077 Size=851260 Evictable=358051 NextGetSampleIndex=454 NextInsertionIndex=1077
            Audio Track Buffered: ranges=[(23866.676000, 23874.989000), (23875.012000, 23883.325000), (23883.348000, 23891.661000)]
            Dumping Video Track Buffer(video/avc): mLastVideoTime=23891.699000
            Video Track Buffer Details: NumSamples=750 Size=8057719 Evictable=5371813 NextGetSampleIndex=750 NextInsertionIndex=750
            Video Track Buffered: ranges=[(23866.732000, 23891.699000)]
            EME Info: Key System=com.widevine.alpha SessionsInfo=(sid=8C41A0D82A52A25CA37F10E9834D8908(kid=61656435306535326532336437653461 status=usable))
            MediaDecoder State: channels=2 rate=44100 hasAudio=1 hasVideo=1 mPlayState=LOADING mdsm=7f85cae16800
            MediaDecoderStateMachine State: GetMediaTime=23877212000 GetClock=-1 mMediaSink=7f85d5127030 state=SEEKING mPlayState=1 mSentFirstFrameLoadedEvent=0 IsPlaying=0 mAudioStatus=idle mVideoStatus=waiting mDecodedAudioEndTime=23877218219 mDecodedVideoEndTime=0mAudioCompleted=0 mVideoCompleted=0
            VideoSink Status: IsStarted=0 IsPlaying=0 VideoQueue(finished=0 size=0) mVideoFrameEndTime=0 mHasVideo=0 mVideoSinkEndRequest.Exists()=0 mEndPromiseHolder.IsEmpty()=1

@cpearce, I can reproduce this Shaka Widevine failure in Firefox 56+ on Windows 10. It works in Chrome.
I see the following EME errors in the browser console (Ctrl+Shift+J), but I don't see any errors in the devtools console (Ctrl+Shift+K):
MediaKeySystemAccess::GetKeySystemStatus(org.w3.clearkey) result=available msg=''
MediaKeySystemAccess::GetKeySystemStatus(com.widevine.alpha) result=available msg=''
navigator.requestMediaKeySystemAccess promise rejected 0x80530009 'Key system is unsupported'

Thanks for reporting this. I can also repro on Linux. I've filed Mozilla Bug 1409988 to track fixing this in Firefox.

I think this may be fixed in Firefox Nightly buy Mozilla bug, but the test URL  https://nightly-dot-shaka-player-demo.appspot.com/demo/#asset=https://nginx.dev.cdnnow.ru/live/index.mpd;license=https://one.drmnow.ru/widevine;lang=en-US no longer works in Firefox or Chrome for that matter.
@gleb-shchavlev are you able to either download and test Firefox Nightly on your content, or provide a URL to content that we can test with? That will help us confirm whether this issue is fixed or not. Thanks!

I restart stream. It's available right now.

Just checked on Firefox 57.0b12 (64-bit).
It does not work.
The behavior is same.

@gleb-shchavlev, I don't think that's what @cpearce meant.  Can you try on the nightly version of Firefox?
https://www.mozilla.org/en-US/firefox/nightly/all/

Oh, ok. Tried. Chunks downloaded, white screen in player window.
Error apears:
Shaka Error MEDIA.VIDEO_ERROR (3,,NS_ERROR_DOM_MEDIA_FATAL_ERR (0x806e0005) - class mozilla::ipc::IPCResult __cdecl mozilla::gmp::ChromiumCDMParent::RecvDecodeFailed(const unsigned int &): ChromiumCDMParent::RecvDecodeFailed)

Adding my experience with what appears to be the same bug. However the one caveat is the following behaviour only occurs when automating playback - I get NO errors when manually playing the same content on the same browsers. I should add that the these are real machines (not VMs) and it is only since the latest round of browser updates that this occurs.
Automation setup

Robot framework
Selenium Standalone Server 3.7.1 (grid and node)
Selenium 3.7.0
Geckodriver 0.19.0
Chromedrvier 2.33
Firefox version 56 and 57
Chrome version 62 and 63
Windows 10

Error occurs when trying to playback content for which the 'HDCP Required' rule must be enforced.
Firefox output (console)
Media resource blob:https://urm.latens.com/429e435a-9c5a-4347-9846-462a6472345e could not be decoded. demo Player error  Object { category: 3, code: 3016, data: [?], message: "Shaka Error MEDIA.VIDEO_ERROR (3,)", stack: "shaka.util.Error@https://urm.latens.com/boomplayer/lib/util/error.js:77:13\nshaka.Player.prototype.onVideoError_@https://urm.latens.com/boomplayer/lib/player.js:1760:17\n" } main.js:258:3 Media resource blob:https://urm.latens.com/429e435a-9c5a-4347-9846-462a6472345e could not be decoded. demo Media resource blob:https://urm.latens.com/429e435a-9c5a-4347-9846-462a6472345e could not be decoded, error: Error Code: NS_ERROR_DOM_MEDIA_FATAL_ERR (0x806e0005) Details: class mozilla::ipc::IPCResult __cdecl mozilla::gmp::ChromiumCDMParent::RecvDecodeFailed(const unsigned int &): ChromiumCDMParent::RecvDecodeFailed
Chrome output (media://internals)

Timestamp
Property
Value

00:00:00 00
origin_url
https://urm.latens.com/

00:00:00 00
frame_url
https://urm.latens.com/boomplayer/demo/

00:00:00 00
frame_title
Shaka Laka Player

00:00:00 00
url
blob:https://urm.latens.com/a410ce94-1715-4449-bc37-d620f73ab15e

00:00:00 03
pipeline_state
kStarting

00:00:10 643
has_cdm
true

00:00:10 669
found_audio_stream
true

00:00:10 669
audio_codec_name
aac

00:00:10 727
found_video_stream
true

00:00:10 727
video_codec_name
h264

00:00:10 735
debug
DecryptingAudioDecoder: failed to init decoder on decryptor

00:00:10 736
audio_dds
true

00:00:10 736
audio_decoder
FFmpegAudioDecoder

00:00:10 744
video_dds
false

00:00:10 744
video_decoder
DecryptingVideoDecoder

00:00:10 744
pipeline_state
kPlaying

00:00:10 747
info
DecryptingDemuxerStream: no key for key ID A63F23DCD98445E9AC1201E4A50E5D32

00:00:10 755
info
DecryptingVideoDecoder: no key for key ID A63F23DCD98445E9AC1201E4A50E5D32

00:00:10 648
duration
157.04

00:00:12 210
info
DecryptingDemuxerStream: key was added, resuming decrypt

00:00:12 210
info
DecryptingVideoDecoder: key added, resuming decode

00:00:12 212
info
DecryptingDemuxerStream: no key for key ID A63F23DCD98445E9AC1201E4A50E5D32

00:00:12 223
info
DecryptingVideoDecoder: no key for key ID A63F23DCD98445E9AC1201E4A50E5D32

00:00:15 17
pipeline_state
kSuspending

00:00:15 18
pipeline_state
kSuspended

00:00:35 15o
info
Selected video track: []

Will gladly supply any further information if needed.

@gleb-shchavlev, is this still an issue for you in Firefox?  If so, can you provide an updated manifest and license URL we can use to re-test?

Nope, issue was fixed. It was bug in drm packager code.


fix: typo & version in CI/CD

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

GitHub release
v1.4.0

Your semantic-release bot :package::rocket:


Rosetta crashes because of "Google Maps Android API: Authorization failure"

After many restarts, Rosetta starts to crash because of a "Google Maps Android API: Authorization failure":
sq.rogue.rosettadrone E/Google Maps Android API: Authorization failure.  Please see https://developers.google.com/maps/documentation/android-api/start for how to correctly set up the map.
sq.rogue.rosettadrone E/Google Maps Android API: In the Google Developer Console (https://console.developers.google.com)
    Ensure that the "Google Maps Android API v2" is enabled.
    Ensure that the following Android Key exists:

sq.rogue.rosettadrone E/AndroidRuntime: FATAL EXCEPTION: GLThread 247
    Process: sq.rogue.rosettadrone, PID: 29522
    java.lang.NullPointerException: Attempt to invoke virtual method 'int android.graphics.Bitmap.getWidth()' on a null object reference
        at com.google.maps.api.android.lib6.gmm6.vector.gl.aj.b(:com.google.android.gms.dynamite_mapsdynamite<EMAIL_ADDRESS>(190400-0):2)
        at com.google.maps.api.android.lib6.gmm6.vector.gl.aj.<init>(:com.google.android.gms.dynamite_mapsdynamite<EMAIL_ADDRESS>(190400-0):2)
        at com.google.maps.api.android.lib6.gmm6.vector.gl.g.<init>(:com.google.android.gms.dynamite_mapsdynamite<EMAIL_ADDRESS>(190400-0):18)
        at com.google.maps.api.android.lib6.gmm6.vector.bs.d(:com.google.android.gms.dynamite_mapsdynamite<EMAIL_ADDRESS>(190400-0):14)
        at com.google.maps.api.android.lib6.gmm6.vector.av.run(:com.google.android.gms.dynamite_mapsdynamite<EMAIL_ADDRESS>(190400-0):44)

This kind of random crashes must be addressed urgently because they confuse developers and push them to revert their last changes in despertation to get Rosetta working agian.
It happened to me once at the beginning and I lost a lot of time until I had to stop trying to find the cause.
Next day it fixed automagically, so I knew something was wrong.

It ocurrs when using "Apply code changes" from Android Studio.

Workaround is to change the GoogleAPI key (to any invalid string), start the app, and then revert to the original key.
Also reported here:
https://issuetracker.google.com/issues/201308676


Error: UnboundLocalError: cannot access local variable 'progress_bar' where it is not associated with a value

bug description

Trying to transcode some videos
progress bar doesn't show up, my existing use of tqdm doesn't seem to be interfering.
The only weird thing I'm doing here is that I'm calling the full path of ffmpeg.exe since my computer won't add ffmpeg to the system path

steps to reproduce

running python 3.11 on a windows machine
run script. here's my script: (just replace the folder names with your own folder names)
hit control+c and I get the error below.

Script
import os
from tqdm import tqdm
from better_ffmpeg_progress import FfmpegProcess

def get_video_files(directory):
    video_extensions = ['.mp4', '.mkv', '.avi', '.mov', '.flv', '.wmv']
    video_files = []

    for foldername, subfolders, filenames in os.walk(directory):
        for filename in filenames:
            if any(filename.lower().endswith(ext) for ext in video_extensions):
                full_path = os.path.join(foldername, filename)
                video_files.append(full_path)

    # sort list
    video_files.sort()

    return video_files

def transcode_to_hevc(input_file, output_file):
    # List of FFmpeg arguments
    command = ["C:/Users/paula/ffmpeg-6.0-essentials_build/bin/ffmpeg.exe",
               "-i", input_file,
               "-c:v", "libx265",
               output_file]

    # Create FfmpegProcess object
    process = FfmpegProcess(command)

    # Run FFmpeg command
    process.run()

if __name__ == "__main__":
    input_directory = 'E:/Novatek/Movie/'  # current directory, you can change this to any directory you want
    output_directory = 'D:/dash cam videos 2023-08-27/transcoded dashcam videos/'  # Ensure this directory exists or change the path

    video_list = get_video_files(input_directory)
    # print(video_list)

    files_to_transcode = video_list # Replace with your list of files

    for file in tqdm(files_to_transcode):
        print(file)
        output_file = output_directory + file.split('/')[-1].replace('.MP4', '_hevc.mp4')
        transcode_to_hevc(file, output_file)

Error
File "<python path>", line 123, in run
PS <working directory> &<python path> <script path>
  0%|                                                                                | 0/1176 [00:00<?, ?it/s]E:/Novatek/Movie/2022_0831_122548_212.MP4
Running: C:/Users/paula/ffmpeg-6.0-essentials_build/bin/ffmpeg.exe -y -i E:/Novatek/Movie/2022_0831_122548_212.MP4 -c:v libx265 D:/dash cam videos 2023-08-27/transcoded dashcam videos/2022_0831_122548_212_hevc.mp4 -hide_banner -loglevel verbose
  0%|                                                                                | 0/1176 [00:21<?, ?it/s]
Traceback (most recent call last):
  File "C:\Users\paula\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.11_qbz5n2kfra8p0\LocalCache\local-packages\Python311\site-packages\better_ffmpeg_progress\better_ffmpeg_progress.py", line 66, in run
    while process.poll() is None:
          ^^^^^^^^^^^^^^
  File "C:\Program Files\WindowsApps\PythonSoftwareFoundation.Python.3.11_3.11.1264.0_x64__qbz5n2kfra8p0\Lib\subprocess.py", line 1236, in poll
    return self._internal_poll()
           ^^^^^^^^^^^^^^^^^^^^^
  File "C:\Program Files\WindowsApps\PythonSoftwareFoundation.Python.3.11_3.11.1264.0_x64__qbz5n2kfra8p0\Lib\subprocess.py", line 1575, in _internal_poll
    if _WaitForSingleObject(self._handle, 0) == _WAIT_OBJECT_0:
       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
KeyboardInterrupt

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "c:\Users\paula\python-learning\transcode-videos.py", line 47, in <module>
    transcode_to_hevc(file, output_file)
  File "c:\Users\paula\python-learning\transcode-videos.py", line 33, in transcode_to_hevc
    process.run()
  File "C:\Users\paula\AppData\Local\Packages\PythonSoftwareFoundation.Python.3.11_qbz5n2kfra8p0\LocalCache\local-packages\Python311\site-packages\better_ffmpeg_progress\better_ffmpeg_progress.py", line 117, in run
    progress_bar.close()
    ^^^^^^^^^^^^
UnboundLocalError: cannot access local variable 'progress_bar' where it is not associated with a value```

@PaulAlexAhlstrom I have refactored the code and released v2.1.1 which should eradicate this issue. Please update to the latest version with pip3 install better-ffmpeg-progress --upgrade and report back.


fix(events,github): fixes signature validation by using raw req body

Adds raw body information (body as buffer, encoding) to RequestDetails to support more request validation use cases.
Additionally, uses the raw body to retrieve the transmitted JSON string unparsed/raw to correctly validate the signature.
Previously, we re-stringified the parsed JSON payload which could lead to different JSON strings.
Those differences can lead to the rejection of requests due to a mismatch with the expected signature.
Fixes: #26709
Relates-to: PR #26884
Hey, I just made a Pull Request!

:heavy_check_mark: Checklist

[x] A changeset describing the change and affected packages. (more info)
[ ] Added or updated documentation
[x] Tests for new functionality and regression tests for bug fixes
[ ] Screenshots attached (for UI changes)
[x] All your commits have a Signed-off-by line in the message. (more info)

Seems like the bump of the browser action in PR #27087 broke the "setup-chrome" step at the E2E tests.

This will also fix: #26708

After rebase, there is now
/usr/bin/pip install docutils
error: externally-managed-environment

@pjungermann give it another rebase and hopefully errors be gone.


Theme gets broken when rapidly changing themes...

This problem occurs when you spam click light theme and dark theme alternating between them again and again and then stoppingon light theme.. sorry for bad explanation but i think you can understand

Duplicate with my #1399

Thank you for reporting this issue @WinUIDev and thank you for pointing out the dupe @HO-COOH, I'll be closing this as duplicate.


VLANG fuse pass through implementation in V (example)

see the C example:
can maybe translate using C to V
benchmark difference between V and C implementation

Closing, performance would be dramatically slow and not easy to bind, can be investigated later if really needed


Add more Open Source Programs, Internship, Fellowship, Competition .

 Add more Open Source Programs, Internship, Fellowship, Competition .
Remember, contributions to this repository should follow its "contributing guidelines" and "code of conduct".

Hi I am can I slove it

Hi I am abhishek can I slove it

Hi I am abhishek can I slove it

Why not @Abhi19990628 ,
Go and create a issue and explain there which Open source programs you are adding to the list.
If those issue not in this Repo. Then I will assign that issue to you and you can proceed .

Ok sir
On Sat, Feb 5, 2022, 8:28 PM Ayush Mishra @.***> wrote:

Hi I am abhishek can I slove it
Why not @Abhi19990628 https://github.com/Abhi19990628 ,
Go and create a issue and explain there which Open source programs you are
adding to the list.
If those issue not in this Repo. Then I will assign that issue to you and
you can proceed .
—
Reply to this email directly, view it on GitHub
https://github.com/ayush-sleeping/Every-Open-Source-Programs/issues/3#issuecomment-1030639357,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AWD7GUNPA2D5XIT6YICJLDDUZU3I5ANCNFSM5LWH4AWA
.
Triage notifications on the go with GitHub Mobile for iOS
https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675
or Android
https://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign%3Dnotification-email%26utm_medium%3Demail%26utm_source%3Dgithub.
You are receiving this because you were mentioned.Message ID:
@.***>


add lspci sample

We do have vfu_ctx_try_attach() to accept() clients, though today its for non-blocking ctx.
We can make vfu_ctx_try_attach() also for blocking ctx, instead of having separate API just for NB accept().

It's also useful to separate out "setup" errors that we can only really detect during attach from others though I think. Not sure.

I am not sure if it is worth to have public function to get the errors separately, in any case those errors will be returned by drive() or vfu_ctx_try_attach(). My point is to be more careful while adding public functions, otherwise we will end up having pile of those.

It's also useful to separate out "setup" errors that we can only really detect during attach from others though I think. Not sure.

This is the main reason I added it. Just because we've had itnitally implemented setting up the context in drive() doesn't necessarily mean that it was the right thing to do. drive() should mean just that: attach and drive.


Release Google.Cloud.BinaryAuthorization.V1Beta1 version 2.0.0-beta07

Changes in this release:
New features

Change netstandard2.1 target to netstandard2.0 (commit 82bea85)

Created release for Google.Cloud.BinaryAuthorization.V1Beta1-2.0.0-beta07


Bump unicode-width, adapt test and fixtures

This PR bumps unicode-width from 0.1.12 to 0.2.0 and adapts a failing more test and some sort fixtures.

Changes since last push:

fixed merge conflict with Cargo.lock


Crash with phantomjs

Suddenly started occurring, no major modifications to the test file noted.
Dump file and casperjs file attached.

Correction, can't attach .dmp file

Or attach a .js file.


fix: ImportGeoPckg reliably sends request

Changes

Fixed bug with versionNumber value

https://user-images.githubusercontent.com/38907762/124145731-57032580-da8d-11eb-899a-8fb1273bc9aa.mov

It does solve the front-end issue but I get a ValueError: Bad GPKG group ['PML95xY3pNy', 'hraO6yWAQkT', 'iaso#2974'] for Zone de santé bu Bili Zone de Santé 21937 don't exist in input or SourceVersion on the backend, not sure if it's related.


VMSSH with managed identity

https://github.com/Azure/azure-cli/blob/4a8879f587378615ff0e1d10728dffe63f462b2d/src/azure-cli-core/azure/cli/core/_profile.py#L620
After MSAL adopted completely, would it be available with Managed Identity for VMSSH?
If yes, when would it be possible?

Login with MI : az login -i -u /subscriptions/{subscription id}/resourceGroups/{resource group}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{myMI}
Command : az ssh cert --public-key-file ./test.pub
Error : VM SSH currently doesn't support managed identity or Cloud Shell.
https://github.com/Azure/azure-cli/blob/2e0a42f304f5fd543818a98a9eab2faf8d1fd6d6/src/azure-cli-core/azure/cli/core/auth/adal_authentication.py#L22

route to CXP team

I saw this error when run az cli via Cloud Shell.
$ az ssh vm --ip <IP> --port 22
VM SSH currently doesn't support managed identity or Cloud Shell

But I am fine to run it from my own mac book
Use case:
We need this feature because normally team members have no permission to install az cli on their laptops (need administrator permission, but it need approval process). So we have to use Cloud Shell to run theses commands.

@millanie, you can see from the source code that currently "VM SSH currently doesn't support managed identity or Cloud Shell":
https://github.com/Azure/azure-cli/blob/2e0a42f304f5fd543818a98a9eab2faf8d1fd6d6/src/azure-cli-core/azure/cli/core/auth/adal_authentication.py#L21-L23
We are working on it.
@ozbillwang, for Cloud Shell, there is a workaround: you may manually run az login (--service-principal) in Cloud Shell and Cloud Shell will run under a user or service principal context (not Cloud Shell context), and VM SSH should work.

Thanks @jiasli
The workaround works.

@jiasli
Thanks for the update. Is there an estimated date to support the managed identity?

Part of the confusion may stem from this direction in the Portal:

Part of the confusion may stem from this direction in the Portal:

@SanDeo-MSFT, I think Azure Portal shouldn't show this before this feature is ready.

@millanie I am checking with the product owners on the plans in roadmap for the support for VMSSH with managed identity. I will update this thread once I have that information. In the meantime, if you have any questions, please feel free to ask.

@millanie Regarding the error message, We already have 2 issues opened for the same  https://github.com/Azure/azure-cli/issues/22057 and https://github.com/Azure/azure-cli/issues/22063. The CLI team is currently working on the SSH support in Cloud Shell. We don't have any ETA for the fix. Please track these issues for the progress of the release. Until then you can follow the workaround suggested here. We will now proceed with the closure of this issue. Feel free to reopen this issue if you need any further assistance on this.

Part of the confusion may stem from this direction in the Portal:

@SanDeo-MSFT, I think Azure Portal shouldn't show this before this feature is ready.

The portal is showing this message for over a year now, so removing it days before this finally get implemented seems strange. But since this message is still shown on the portal and it still doesn't work I think this issue should be re-opened @navba-MSFT what do you think?

Part of the confusion may stem from this direction in the Portal:

@SanDeo-MSFT, I think Azure Portal shouldn't show this before this feature is ready.

The portal is showing this message for over a year now, so removing it days before this finally get implemented seems strange. But since this message is still shown on the portal and it still doesn't work I think this issue should be re-opened @navba-MSFT what do you think?

The az ssh vm ... command has long been supported, in two different ways, which might be the source of confusion.

Run az login ... and then az ssh vm ... on your local machine which already has Azure CLI installed. So I guess this is corresponding to that "1. Install Azure CLI..." guidance.

STILL need to run az login ... explicitly, and then az ssh vm ..., but them inside Cloud Shell in Azure Portal. This is corresponding to that "... or open Cloud Shell in Azure Portal" guidance. In other words, Cloud Shell just gives you a pre-installed Azure CLI so that you won't have to install it locally, but, in my opinion, the guidance failed to remind end user that the az login would still be necessary. When that leading az login ... was not run, Azure CLI seemingly emits this error:
$ az ssh vm --ip <IP> --port 22
VM SSH currently doesn't support managed identity or Cloud Shell

which isn't accurate, therefore contribute to the confusion.

FWIW, recently we worked on a new mechanism to allow skipping that "az login ..." when running inside Cloud Shell (although I don't exactly know when they will be shipped). So, at this point, the Portal guidance "... or open Cloud Shell in Azure Portal" ended up becoming correct again (or soon). I would suggest the affected user to rerun the "az ssh vm ..." from inside Cloud Shell, and see if it works and/or the error message makes sense.
CC: @SanDeo-MSFT , @jiasli

@navba-MSFT , it has been two years, any update on VM SSH for manage identities?


Html() escapes Val for Attr

package main

import (
	"strings"

	"github.com/PuerkitoBio/goquery"
)

func main() {
	input := `
	<link href="https://www.example.com/downloads.php?country=AF&language=EN&id=976414" hreflang="en-af" rel="alternate"/>
	<link href="https://www.example.com/downloads.php?country=AF&language=DE&id=976414" hreflang="de-af" rel="alternate"/>
	`
	reader := strings.NewReader(input)
	doc, err := goquery.NewDocumentFromReader(reader)
	if err != nil {
		panic(err)
	}
	output, err := doc.Html()
	if err != nil {
		panic(err)
	}
	println(output)
}

Prints out:
<link href="https://www.example.com/downloads.php?country=AF&language=EN&id=976414" hreflang="en-af" rel="alternate"/>
        <link href="https://www.example.com/downloads.php?country=AF&amplanguage=DE&id=976414" hreflang="de-af" rel="alternate"/>

The ampersands are encoded in the first cage and & isn't encoded in & in the second case. So I can't even distinguish through the cases. I've looked through some alike issues. But why there are even such lines (render.go line 166)?
if err := escape(w, a.Val); err != nil {
			return err
		}

Why values of attributes are coming through encoding?

Really how is it possible to distinguish between real & and falsely encoded &?


Argument 1 passed to Twig_Filter::__construct() must be of the type string, object given

When running     $twig->addExtension(new TwigGravatar());, this error occurs.
Full printout:

Fatal error: Uncaught TypeError: Argument 1 passed to Twig_Filter::__construct() must be of the type string, object given, called in E:\Webdev\g3\app\vendor\ry167\twig-gravatar\src\TwigGravatar.php on line 23 and defined in E:\Webdev\g3\app\vendor\twig\twig\lib\Twig\Filter.php:35 Stack trace: #0 E:\Webdev\g3\app\vendor\ry167\twig-gravatar\src\TwigGravatar.php(23): Twig_Filter->__construct(Object(TwigGravatar), 'avatar', Array) #1 E:\Webdev\g3\app\vendor\twig\twig\lib\Twig\ExtensionSet.php(429): TwigGravatar->getFilters() #2 E:\Webdev\g3\app\vendor\twig\twig\lib\Twig\ExtensionSet.php(419): Twig_ExtensionSet->initExtension(Object(TwigGravatar)) #3 E:\Webdev\g3\app\vendor\twig\twig\lib\Twig\ExtensionSet.php(388): Twig_ExtensionSet->initExtensions() #4 E:\Webdev\g3\app\vendor\twig\twig\lib\Twig\Environment.php(918): Twig_ExtensionSet->getUnaryOperators() #5 E:\Webdev\g3\app\vendor\twig\twig\lib\Twig\Lexer.php(353): Twig_Environment->getUnaryOperators() #6 E:\Webdev\g3\app\vendor\twig\twig\lib\Twig\Lexer.php(65): Twig_Lexer->g in E:\Webdev\g3\app\vendor\twig\twig\lib\Twig\Filter.php on line 35

Using Twig ~2.0

Hi Rando,
Thanks for your issue report & pull request, I just have a few questions first.
getFilters used to return strings but was changed in #4  by someone else.
I am currently not using Twig which makes it hard for me to stay updated with what is changing so I took the previous contributors advice.
Currently in the documentation it claims to expect an array of Twig Filters without string indexes.
Can you help me understand what could be going on here?

I'm as baffled as you, This and #4 both seem to work, yet what's on composer, doesnt? May it just be an update to the version there, that hasn't been made? Because that sure breaks - the array on Composer is
return array(
			$this->filterPrefix.'Avatar'  => new \Twig_SimpleFilter($this,'avatar', $this->filterOptions),
			$this->filterPrefix.'Https'   => new \Twig_SimpleFilter($this,'https', $this->filterOptions),
			$this->filterPrefix.'Size'    => new \Twig_SimpleFilter($this,'size', $this->filterOptions),
			$this->filterPrefix.'Default' => new \Twig_SimpleFilter($this, 'def', $this->filterOptions),
			$this->filterPrefix.'Rating'  => new \Twig_SimpleFilter($this, 'rating', $this->filterOptions),
		);

all the $this in the constructors are the error here...

I have tagged a new release, so could you update your version in composer.json to 2.0.0 and run composer update
Let me know if that fixes the issue

@ry167 Yup, that works.