use nullable dtypes in dd.read_parquet

[x] Partial fix for #9590 , continues the work of #9156.
[x] Tests added / passed
[x] Passes pre-commit run --all-files

As of pandas==1.2.0 there is a new keyword argument for pd.read_parquet use_nullable_dtypes, which makes the parquet reader prefer nullable pandas extension dtypes where appropriate. This includes nullable integers, nullable booleans, and string dtypes (both python and pyarrow).
This implements use_nullable_dtypes for Dask. One consequence of this is that it make it easier to read parquet files written by other systems with more native null support like Spark or various databases. This does not attempt to read/parse spark metadata (though a follow-up could), and the user still needs to include use_nullable_dtypes=True to get the expected result in the presence of columns with nulls.
A meta comment: pandas is getting more invested in these dtypes, and I wouldn't be surprised to see them becoming the defaults. use_nullable_dtypes will soon also be an option in read_csv, and it will also be a global config option in pandas 2.0.

This is a very nice addition. I'm curious about the use of string[python] extension dtype vs string[pyarrow]. Given that we're restricting nullables to the pyarrow engine, I would think its consistent to use string[pyarrow] but I may be missing something.

This might be because to be able to use string[pyarrow] we need to wait for the arrow release, @ian which one is th PR? @ian-r-rose  you know which one was the PR or am I confusing things here?

@ncclementi -- are you referring to:  https://github.com/dask/dask/issues/9477, which requires https://github.com/apache/arrow/pull/14080 to be released before p2p shuffle works reliably with extension dtypes.

This might be because to be able to use string[pyarrow] we need to wait for the arrow release? @ian-r-rose you know which one was the PR or am I confusing things here?

I think you are referring to #9477, which is fixed in arrow main (and might be in the most recent release from yesterday? We should check). That issue is probably also a problem with string[python], so I'm not sure if we need to worry about that here.

  My guess is that this is because we don't have metadata telling us that this is a string column.  Is that correct?

For context, that is a single-row-group dataset that comes in at either 10GB if we're not clever about dtypes, or 2GB if we are mildly clever about dtypes.

I was screwing around with this a little here:
https://github.com/mrocklin/nyc-taxi
https://www.youtube.com/watch?v=31MbjVpT2hM
Summary:

I'm curious about how to force string[pyarrow] from the beginning, even if metadata isn't set (see #9631 )
I'd love it if we could get to a point where string[pyarrow] was default.  Do we have a sense for what is broken?  Or is this https://github.com/dask/dask/pull/9523 ?

A meta comment: pandas is getting more invested in these dtypes, and I wouldn't be surprised to see them becoming the defaults. use_nullable_dtypes will soon also be an option in read_csv, and it will also be a global config option in pandas 2.0.

Just cross linking https://github.com/dask/dask/issues/9631#issuecomment-1311069526 noting in pandas 2.0 there will also be another global option to make use_nullable_dtypes=True return pyarrow types  (for everything not just strings).

@jrbourbeau I suspect that you're busy, but I wanted to ping on this in case it was going stale.

(actually I'm just cleaning up my tabs, and this one seemed important)

Yes, this is near the top of my list

Cool.  Sorry to prod
On Thu, Nov 17, 2022 at 9:47 AM James Bourbeau @.***>
wrote:

Yes, this is near the top of my list
—
Reply to this email directly, view it on GitHub
https://github.com/dask/dask/pull/9617#issuecomment-1318833683, or
unsubscribe
https://github.com/notifications/unsubscribe-auth/AACKZTGJFXKZCF6BU5RW3CTWIZHPNANCNFSM6AAAAAARVS3OVM
.
You are receiving this because you commented.Message ID:
@.***>

Woo! Thanks for bringing this over the line!
On Wed, Nov 30, 2022 at 5:57 PM James Bourbeau @.***>
wrote:

Merged #9617 https://github.com/dask/dask/pull/9617 into main.
—
Reply to this email directly, view it on GitHub
https://github.com/dask/dask/pull/9617#event-7927424920, or unsubscribe
https://github.com/notifications/unsubscribe-auth/ABLWQN6E3CVQV7X636WQS3LWLAAYRANCNFSM6AAAAAARVS3OVM
.
You are receiving this because you were mentioned.Message ID:
@.***>


memory leak when exporting fbx files from static batched maps

for example, whenever i export a static batched map, the filesize of the file goes very high and it eats up memory, this didn't happen on older versions of assetstudio (even the original one), so is it possible for a fix to be made

also when exported they yield being broken, such as parts flying around, also in different sizes

Hi
it would be helpful if you attached some asset as an example
also:

in which mode did you export it? (all object (split)/selected objects (split)/selected objects (merge)/..)
in which version of the original AssetStudio were you able to successfully export it?

i exported it in all objects (split) and selected objects, these options do the same thing
i think the huge size was in the later versions, probably being v.0.16.0, tested it in 0.15.37 or 47, and it has a smaller filesize

a_house original has 143kb, while a_housenow has 17,2mb

the game i tested it out with was chicken gun 1.7.2

https://mega.nz/file/FREw1LYZ#5bqFjEIOOTmSBygi02d7ki9LlyEyYpDd_vWTDvs3-Q0 this is the link with the models, textures not needed

still no news
Well, one more bug related to changes in fbx export from v0.15 to v0.16
This time the problem probably is somewhere in https://github.com/Perfare/AssetStudio/pull/768
I'll try to take a look at it later, but can't guarantee anything
Or maybe you also want to take a look,@Fraxul?


spotgini entry added to index + Icon added to apps

Hi folks, Just submitted spotgini to pwa.rocks.

Hi @amitshob. Can you email me<EMAIL_ADDRESS>


[Event Request] Codeunit::"Item Tracking Management" - Function RetrieveSubcontrItemTracking - OnbeforeRetrieveSubcontrItemTracking

We like to request the following Event:
Object: Codeunit::"Item Tracking Management"
Function: RetrieveSubcontrItemTracking
Publisher Event: OnbeforeRetrieveSubcontrItemTracking
Reason: To implement custom business logic
Where is the event placed:
local procedure RetrieveSubcontrItemTracking(ItemJnlLine: Record "Item Journal Line"; var TempHandlingSpecification: Record "Tracking Specification" temporary): Boolean
var
ReservEntry: Record "Reservation Entry";
ProdOrderRoutingLine: Record "Prod. Order Routing Line";
IsLastOperation: Boolean;
IsHandled: Boolean;
Success: Boolean;
begin
IsHandled := false;
OnBeforeRetrieveSubcontrItemTracking(ItemJnlLine, TempHandlingSpecification, Success, IsHandled);
if IsHandled then
exit(Success);
if not ItemJnlLine.Subcontracting then
exit(false);
Event Code:
[IntegrationEvent(false, false)]
local procedure OnBeforeRetrieveSubcontrItemTracking(ItemJnlLine: Record "Item Journal Line"; var TempHandlingSpecification: Record "Tracking Specification" temporary; var Success: Boolean; var IsHandled: Boolean)

Thanks for reporting this. We agree, and we’ll publish a fix asap, either in an update for the current version or in the next major release. We will update this issue with information about availability.


updates.xml

cant find it

Using the following format seems to do the trick.
<node>     <patch>         <title>Some Title</title>         <desc>Some Desc</desc>         <link>https://SomeUrl.com</link>     </patch>     <patch>         <title>Some Title</title>         <desc>Some Desc</desc>         <link>https://SomeUrl.com</link>     </patch>     <patch>         <title>Some Title</title>         <desc>Some Desc</desc>         <link>https://SomeUrl.com</link>     </patch> </node>

Give me the finished xml for this launcher please! I will be grateful to you.


Node.js  Performance Team Meeting 2024-02-19

Time
UTC Mon 19-Feb-2024 18:00 (06:00 PM):

Timezone
Date/Time

US / Pacific
Mon 19-Feb-2024 10:00 (10:00 AM)

US / Mountain
Mon 19-Feb-2024 11:00 (11:00 AM)

US / Central
Mon 19-Feb-2024 12:00 (12:00 PM)

US / Eastern
Mon 19-Feb-2024 13:00 (01:00 PM)

EU / Western
Mon 19-Feb-2024 18:00 (06:00 PM)

EU / Central
Mon 19-Feb-2024 19:00 (07:00 PM)

EU / Eastern
Mon 19-Feb-2024 20:00 (08:00 PM)

Moscow
Mon 19-Feb-2024 21:00 (09:00 PM)

Chennai
Mon 19-Feb-2024 23:30 (11:30 PM)

Hangzhou
Tue 20-Feb-2024 02:00 (02:00 AM)

Tokyo
Tue 20-Feb-2024 03:00 (03:00 AM)

Sydney
Tue 20-Feb-2024 05:00 (05:00 AM)

Or in your local time:

https://www.timeanddate.com/worldclock/fixedtime.html?msg=Node.js+Foundation+Performance Team+Meeting+2024-02-19&iso=20240219T1800
or https://www.wolframalpha.com/input/?i=06PM+UTC%2C+Feb+19%2C+2024+in+local+time

Links

Minutes Google Doc: https://docs.google.com/document/d/16HokE2B_lChRfln7IAClpNDePrG2skTPPpV9BE6LQr4/edit

Agenda
Extracted from performance-agenda labelled issues and pull requests from the nodejs org prior to the meeting.
Invited

Performance team: @nodejs/performance

Observers/Guests
Notes
The agenda comes from issues labelled with performance-agenda across all of the repositories in the nodejs org. Please label any additional issues that should be on the agenda before the meeting starts.
Joining the meeting

link for participants: https://zoom.us/j/94710602723

Since we don't have anything on the agenda, it's fair to say it will be cancelled, right?

Yeah


In conjunction with the 'sorry' command when a wrong cmd is tried, also add a message to chat

Addressed in PR #125


Properly quote workdir

@dfaggioli It's the only way I have found to have it work. First I tried various ways of quoting, but none worked other than turning that into an array.
Sure, I'll update the commit to have a better message.


python311Packages.google-cloud-os-config: 1.16.0 -> 1.17.0

Automatic update generated by nixpkgs-update tools. This update was made based on information from passthru.updateScript.
meta.description for python311Packages.google-cloud-os-config is: Google Cloud OS Config API client library
meta.homepage for python311Packages.google-cloud-os-config is: https://github.com/googleapis/python-os-config
meta.changelog for python311Packages.google-cloud-os-config is: https://github.com/googleapis/python-os-config/blob/v1.17.0/CHANGELOG.md
Updates performed

Ran passthru.UpdateScript

To inspect upstream changes
Impact
Checks done

built on NixOS
The tests defined in passthru.tests, if any, passed
found 1.17.0 with grep in /nix/store/g06n2vkyfpbxdql3467nrlchcz9sw1bs-python3.11-google-cloud-os-config-1.17.0
found 1.17.0 in filename of file in /nix/store/g06n2vkyfpbxdql3467nrlchcz9sw1bs-python3.11-google-cloud-os-config-1.17.0

Rebuild report (if merged into master) (click to expand)

2 total rebuild path(s)

2 package rebuild(s)

First fifty rebuilds by attrpath
python311Packages.google-cloud-asset
python311Packages.google-cloud-os-config

Instructions to test this update (click to expand)

Either download from Cachix:
nix-store -r /nix/store/g06n2vkyfpbxdql3467nrlchcz9sw1bs-python3.11-google-cloud-os-config-1.17.0 \
  --option binary-caches 'https://cache.nixos.org/ https://nix-community.cachix.org/' \
  --option trusted-public-keys '
  nix-community.cachix.org-1:mB9FSh9qf2dCimDSUo8Zy7bkq5CX+/rkCWyvRCYg3Fs=
  cache.nixos.org-1:6NCHdD59X431o0gWypbMrAURkbJ16ZPMQFGspcDShjY=
  '

(The Cachix cache is only trusted for this store-path realization.)
For the Cachix download to work, your user must be in the trusted-users list or you can use sudo since root is effectively trusted.
Or, build yourself:
nix-build -A python311Packages.google-cloud-os-config https://github.com/r-ryantm/nixpkgs/archive/ece0a74ac2de714108ecd80533077795b4b0ec82.tar.gz

Or:
nix build github:r-ryantm/nixpkgs/ece0a74ac2de714108ecd80533077795b4b0ec82#python311Packages.google-cloud-os-config

After you've downloaded or built it, look at the files and if there are any, run the binaries:
ls -la /nix/store/g06n2vkyfpbxdql3467nrlchcz9sw1bs-python3.11-google-cloud-os-config-1.17.0
ls -la /nix/store/g06n2vkyfpbxdql3467nrlchcz9sw1bs-python3.11-google-cloud-os-config-1.17.0/bin

Pre-merge build results
We have automatically built all packages that will get rebuilt due to
this change.
This gives evidence on whether the upgrade will break dependent packages.
Note sometimes packages show up as failed to build independent of the
change, simply because they are already broken on the target branch.
Result of nixpkgs-review run on x86_64-linux 1

2 packages built:

python311Packages.google-cloud-asset
python311Packages.google-cloud-os-config

Maintainer pings

Result of nixpkgs-review pr 286204 run on x86_64-linux 1

4 packages built:

python311Packages.google-cloud-asset
python311Packages.google-cloud-asset.dist
python311Packages.google-cloud-os-config
python311Packages.google-cloud-os-config.dist


typo replace "json_paths" with "jsonpaths" in s3 tvf related docs

Proposed changes
Issue Number: close #xxx
Problem summary
The corresponding field is actually jsonpaths rather than json_paths.
Checklist(Required)

[ ] Does it affect the original behavior
[ ] Has unit tests been added
[x] Has document been added or modified
[ ] Does it need to update dependencies
[x] Is this PR support rollback (If NO, please explain WHY)

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

run buildall


Adding support for all parameters?

Is Simple DNSCrypt x64 for Win going to finally support all settings & parameters dnscrypt-proxy got? (at this point it's lacking support for setting's to dnscrypt-proxy.toml i.e keep-alive, lb_estimator, lb_strategy, and cert_refresh_delay plus the sets to tls_cipher_suite you want to use)
I'm a real follower of this project - great work guys!
Sincerely,
z

@z-ph0ria yes in future versions. I`am working on this: https://github.com/bitbeans/DnsCrypt.Toolbox


Fix "scanline_height" key to "line_height"

I resolved a naming conflict in which the key name for "line_height"of the scanlines shader was incorrectly named "scanline_height," resulting in an error thrown in execution. The key has been renamed as "line_height" and thus would be used in Lua as follows:
local scanlines = shine.scanlines()
scanlines.parameter = {pixel_size = 3, opacity = 0.3, center_fade = 0.44, line_height = 0.35}

lol, I just added a new pull request for the same thing without realizing this was here.

Literally just did the exact same thing as @lunarfyre7

Closing without merging as this will be eventually be fixed in the shinier-api branch


Scala.js support

There is nothing wrong with https://github.com/japgolly/Monocle but I think it is nicer in the long run to have scala.js support upstream here.
Problems:

[ ] No official support for scalaz scala.js build yet but @japgolly  https://github.com/japgolly/scalaz should do fine for now.

looks like @japgolly has already done half of the work here: https://github.com/japgolly/Monocle/commit/0b32fed84a0077e86717d630bc6fbafb2e9445a5

from what I got, it seems that https://github.com/InTheNow/catalysts simplifies the integration with scala.js

there is also no official scala.js build for scalaz yet. Is there a way to have monocle-core without scalaz?

I think @japgolly released scalaz 7.2 for scala.js

Yeah I did. (Hopefully the last unofficial release - I'll try to get official support in for 7.2.1).
Maybe this is what @ngbinh is getting at too: I'm hesitant to upgrade my projects to Scalaz 7.2 because Monocle is tied to 7.1. I think it might be an idea to make monocle-core dependency-free and move the scalaz stuff into a monocle-scalaz module.

yes, official support is what I am getting at. And a separate monocle-core from monocle-scalaz and possibly monocle-cats will be awesome!

I don't think we can have a useful monocle-core without scalaz or cats. For example, a traversal is defined as:
def traversal[F[_]: Applicative, S, T, A, B](f: A => F[B])(s: S): F[T]

scalaz 7.2.1 (first official scalajs support) released :)

https://github.com/scalaz/scalaz/wiki/7.2.1
https://github.com/scalaz/scalaz/commit/d646388c573416f837b6afbb50ce079b8696391a
https://groups.google.com/d/topic/scalaz/NPOdiT9lv-E/discussion

Awesome! Thanks @xuwei-k

Cool it should simplify official scala.js support for monocle.

Submitted PR #335. Let's see how Travis goes.
Also FYI, I published 1.2.0-2 under my fork to use Scalaz 7.2.1 official.


[Doc Improvement][Broken link fixed and deep link to share stage content removed]

Deep link content removed and broken link fixed

Acrolinx Scorecards
We currently enforce a minimum score of 80.
Click the scorecard links for each article to review the Acrolinx feedback on grammar, spelling, punctuation, writing style, and terminology:

Article
Score
Issues
Scorecard
Processed

msteams-platform/concepts/build-and-test/deep-links.md
93
21
link
:white_check_mark:

msteams-platform/mstdd-landing.yml
100
0
link
:white_check_mark:

msteams-platform/whats-new.md
92
35
link
:white_check_mark:

More info about Acrolinx
Use the Acrolinx extension, or sidebar, in Visual Studio Code to check spelling, grammar, style, tone, clarity, and key terminology when you're creating or updating content. For more information, see Use the Visual Studio Code extension to run Acrolinx locally.

Learn Build status updates of commit 80e2dbd:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

.openpublishing.redirection.json
:white_check_mark:Succeeded

msteams-platform/concepts/build-and-test/deep-links.md
:white_check_mark:Succeeded
View

msteams-platform/mstdd-landing.yml
:white_check_mark:Succeeded
View

msteams-platform/whats-new.md
:white_check_mark:Succeeded
View

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 learn.microsoft.com contributor guidesPost your question in the Learn support channel

Acrolinx Scorecards
We currently enforce a minimum score of 80.
Click the scorecard links for each article to review the Acrolinx feedback on grammar, spelling, punctuation, writing style, and terminology:

Article
Score
Issues
Scorecard
Processed

msteams-platform/apps-in-teams-meetings/build-apps-for-anonymous-user.md
91
14
link
:white_check_mark:

msteams-platform/apps-in-teams-meetings/build-apps-for-teams-meeting-stage.md
91
14
link
:white_check_mark:

msteams-platform/apps-in-teams-meetings/build-tabs-for-meeting.md
94
6
link
:white_check_mark:

msteams-platform/apps-in-teams-meetings/in-meeting-notification-for-meeting.md
95
1
link
:white_check_mark:

msteams-platform/concepts/build-and-test/deep-links.md
93
21
link
:white_check_mark:

msteams-platform/mstdd-landing.yml
100
0
link
:white_check_mark:

msteams-platform/whats-new.md
92
35
link
:white_check_mark:

More info about Acrolinx
Use the Acrolinx extension, or sidebar, in Visual Studio Code to check spelling, grammar, style, tone, clarity, and key terminology when you're creating or updating content. For more information, see Use the Visual Studio Code extension to run Acrolinx locally.

Learn Build status updates of commit 962be8d:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

.openpublishing.redirection.json
:white_check_mark:Succeeded

msteams-platform/apps-in-teams-meetings/build-apps-for-anonymous-user.md
:white_check_mark:Succeeded
View

msteams-platform/apps-in-teams-meetings/build-apps-for-teams-meeting-stage.md
:white_check_mark:Succeeded
View

msteams-platform/apps-in-teams-meetings/build-tabs-for-meeting.md
:white_check_mark:Succeeded
View

msteams-platform/apps-in-teams-meetings/in-meeting-notification-for-meeting.md
:white_check_mark:Succeeded
View

msteams-platform/concepts/build-and-test/deep-links.md
:white_check_mark:Succeeded
View

msteams-platform/mstdd-landing.yml
:white_check_mark:Succeeded
View

msteams-platform/whats-new.md
:white_check_mark:Succeeded
View

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 learn.microsoft.com contributor guidesPost your question in the Learn support channel


Don't use port 35729

Seems like you are using the port 35729 for black-screen.
This is a common port used on projects based on grunt/node/npm etc so having it busy by black-screen make difficult run these kind of projects directly inside black-window.
Fatal error: Port 35729 is already in use by another process.

Consider using a different port to prevent collisions.

Since this is in the freely allocatable range, consider opening this issue at other projects that use this port. This port should always be assumed to be blocked.

livereload.js uses that port and is much more famous than your app, I doubt it will change port for you and you will lose all the livereload users

I am not part of this project, just FYI.
Ports in that range are usable by anybody, so any user should have a sensible fallback.

Fixed.


server crash when user try to connect to socks4 without a way to recover

I created a socks5 server with socksv5js, and when a client try to connect through different protocol (like socks4), the server crash without a way for me to recover from that error. Please advice.

This should be fixed in d011967841. Let me know if the master branch works for you too.

Thanks, that works. Though I would like to add a console.log("error", error_msg) if you don't mind :)


Enable unused groupby tests

This PR either enables tests previously ignored because they didn't follow the test_ naming convention (see #3443) or removes them if they were supposed to test a since then removed API. Not all of these tests pass, see #3481

@joergdietrich interested in updating? Looks like there's a merge conflict.

Merge conflict resolved but not #3481 that neither of us know how to address.

So I've moved the known failures that we don't know how to handle best to a separate test method and marked that as expected failure. In this way we can at least use the working tests to guard against regressions.

Thanks @joergdietrich!


Updated docs for all implemented algorithms

Copied docs from the implemented code for each algorithm, fixed style and improved consistency

Thank you.


How would you recommend implementing "enum" props?

This could be a feature request, or it could be a support request.
Feature request
Possibly, an enum prop type. Or some suggestions about a good pattern for them. Or a place to access oldValue when props are being processed.
Use case(s)
My UI components often have options that are chosen by passing props of the string type. But I don't actually want to use any string passed along; I only want to use it if it's one of a few valid and limited option values. From previous ecosystems, I am in the habit of calling these "enum" props.
Some examples:
<ui-icon name="hamburger" align="left" label="Menu"></ui-icon>

In this case, the component has an align property that can be one of top, right, bottom, or left. It defaults to left. As a vanilla WC, I might do something like this:
set align (value) {
  if (value in ALIGN_OPTIONS) {
    // continue and change
  }
  // return and don't change
}

But with Skate, the props are abstracted a little higher for good reasons, which makes me feel limited to the options that are provided and I wasn't satisfied with my first stab:
static get props () {
  return {
    align: Object.assign({}, props.string, {
      default: DEFAULT_ALIGN,
      serialize: function (value) {
        value = props.string.serialize(value);
        if (value in ALIGN_OPTIONS) {
          return value;
        }
        return DEFAULT_ALIGN;
      }
    })
    // ...more code irl
  };
}

In part this is because I think the best behavior isn't to fall back to the default, but rather not to change. If someone initially set right, then accidentally set whee, my opinion is that it's preferable to leave it right-aligned. I'd need some way to get at the old or current value for that, which didn't appear to be currently supported.
<ui-button theme="danger">
  Delete
</ui-button>

In this case, the component has a theme property that can be one of standard, primary, danger, or confirm.
Like the alignment case, there is a default, but passing an unsupported theme can give strange visual results.

There is a coerce function that you could use instead of serialize. The only argument is the prop value coming in, and the return value is the new value.
In Skate v6, I think I'm dropping most of these in favour of types, but I'm still on the fence. In the proposed v6, this would look like:
// @flow (or use TS)

class MyComponent extends withUpdate() {
  // Build-time checks.
  static props: {
    myEnum: 'val1' | 'val2' | 'val3'
  };
  // Runtime from-attribute handlers.
  static props = {
    myEnum: String
  }
}

The goal here is to simplify runtime logic, but then you don't get this static type checking from HTML which could prove useful. I'm definitely open to input here.

In Skate v6, I think I'm dropping most of these in favour of types, but I'm still on the fence.

A types-only API doesn't in most of my cases which don't use Flow or TypeScript. I could still write tests, and/or type checks in coerce or deserialize though, but having it be automatic is nice.

The goal here is to simplify runtime logic, but then you don't get this static type checking from HTML which could prove useful.

That's a very good performance consideration though.
Maybe a "dev" vs "prod" runtime mode can enable/disable the features. It'd be helpful to know things work in dev mode and testing without requiring build steps, and have it lean in production. Maybe there's something we can learn from Vue's "production mode", which is to remove certain checks in the production bundle (or to remove them when there's a capable build system in play).

There is a coerce function that you could use instead of serialize. The only argument is the prop value coming in, and the return value is the new value.

If I have to return something and don't have access to the "old" value, I can't keep from changing the prop when I don't want to, right? (Irrespective of whether that change renders or not.)

The goal here is to simplify runtime logic, but then you don't get this static type checking from HTML which could prove useful. I'm definitely open to input here.

The reasoning around your V6 plans sounds good to me.
But I don't have much context around types, Flow, or TypeScript--I'm an old fashioned front end web developer who has rarely used strong or static types at all and never in JavaScript. So I am doing some confused squinting at the bitwise or operator in that example.
Take this with a grain of salt, as I also don't think in terms of a Reactish component lifecycle; I haven't reached the level of complexity with my Skate work yet to drill it into my head. That may be why I don't find usingshouldUpdate intuitive for this purpose. Enumeration is something I think of in terms of deciding what options my component will have and how those options should work, rather than in terms of skipping renders.
My only concerns would be, since someone can access an element and set its attribute in runtime, and I don't want to write components so opinionated that someone can't do that, it seems to me that there has to be coercion and logic that occur in runtime. Plus, I wouldn't want to be forced to use Flow or TypeScript. I've been doing some component prototypes recently where I don't even build and, god, I miss not having to build. I mean, that's prototypes, not production, and I wouldn't advocate it for production, but still.

Maybe a "dev" vs "prod" runtime mode can enable/disable the features.

Really like this idea.

If I have to return something and don't have access to the "old" value, I can't keep from changing the prop when I don't want to, right? (Irrespective of whether that change renders or not.)

Coerce should still return something, because the value gets applied, and same with serialize and deserialize. But you can return the same value (f.e. a reference to the same object, in order to avoid creating a new one, and maybe this isn't very significant with primitives). This would be a lot easier to do if we had access to this of the specific instance; I made an issue about that here: https://github.com/skatejs/skatejs/issues/1396.

I think as I'm reading I'm having a little trouble telling which parts of the comments are addressing which aspects of the issue. There's both:
Short term: best choice for this behavior today in latest stable Skate 5.
Long term: everything else.
Either that or it sounds like there isn't a way to do exactly what I want right now, though there are some ways to get pretty close?

Yeah, so I'm thinking we need to keep coerce, deserialize and serialize. We should possibly also pass in old / new values to all of them, too. What about name?

@treshugart I can see name being useful. I just got back to looking at this again and was just thinking that about that exact thing.

The new stuff (v6-trey branch) passes elem into get/set (though I think it should do this in other functions as well), and also you can use this in the prop definition to refer to methods in the prop definition.
I think this mostly has everything you need covered @CH-RhyMoore.
You'll be able to do things like
import {props} from 'skatejs'

myProps = {
  ...props,

  number: {
    ...props.number,
    set(elem, propName, val) {
      if (!enumValues.includes(val)) throw TypeError('invalid value')
      return val
    }

  },
}

then use your new prop definition in your class.

@CH-RhyMoore Well, actually, there's nothing preventing you from doing this currently, as in your case you just need to check an enum, and you don't necessarily need a reference to elem.
So, currently (in v5), you can do
import {props} from 'skatejs'

myProps = {
  ...props,

  specificNumber: {
    ...props.number,
    coerce(val) {
      val = Number(val)
      if (!enumValues.includes(val)) throw new TypeError('invalid value, expected on of: ' + enumValues)
      return val
    }
  },

}

and you can throw an error in the case an invalid value is used.
But in v6, it will be more flexible in the sense that you could have per instance or per-class enums, and check those from the element, like this:
myProps = {
  ...props,

  number: {
    ...props.number,
    set(elem, propName, val) {
      if (!elem.enumFor[propName].includes(val)) throw new TypeError('invalid value, expected on of: ' + elem.enumFor[propName])
      return val
    }
  },

}

thus it will be easy to create various ways of creating the props interfaces, including reacting differently based on instances.

Is there still a need for an enum prop?


gcc10: use gcc 9 patch of mcfgthread.patch to fix MinGW build

Motivation for this change
Fixes #107886.
@Ericson2314 The patch files are no longer available from https://github.com/lhmouse/MINGW-packages. The GCC 9 patch applies fine for GCC 10, but should we keep trying to maintain this in the future?
Things done

[x] Tested using sandboxing (nix.useSandbox on NixOS, or option sandbox in nix.conf on non-NixOS linux)
Built on platform(s)

[x] NixOS
[ ] macOS
[ ] other Linux distributions

[ ] Tested via one or more NixOS test(s) if existing and applicable for the change (look inside nixos/tests)
[x] Tested compilation of all pkgs that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review wip"
[x] Tested execution of all binary files (usually in ./result/bin/)
[ ] Determined the impact on package closure size (by running nix path-info -S before and after)
[ ] Ensured that relevant documentation is up to date
[x] Fits CONTRIBUTING.md.

@Ericson2314 @Synthetica9

Result of nixpkgs-review pr 107918 run on x86_64-linux 1

Here's the "official" url for the patch from @lhmouse:
https://raw.githubusercontent.com/lhmouse/MINGW-packages-dev/062ab54a396b838c68756ac240901003be1177d1/mingw-w64-gcc-git/9000-gcc-10-branch-Added-mcf-thread-model-support-from-mcfgthread.patch
It is in fact the same thing as 9000-gcc-9-branch-Added-mcf-thread-model-support-from-mcfgthread.patch though :-).

Here's a commit removing mfcgthreads-patches-repo.nix that I can push if @Ericson2314 is okay with it:
https://github.com/matthewbauer/nixpkgs/commit/c75217d3e70c5032a0fbd9172dade9fa1adc3928

Thanks, @matthewbauer! Yeah, that's probably a better way of handling it.

While I'm decently ambivalent, if we remove that file they will certainly drift out of sync.

I'll close this then in favour of @matthewbauer's fix.

I am afraid the links with commit SHA-1 values will expire sooner or later, as the master branch is constantly rebased on upstream and force-pushed. You may fork the repo and maintain a permanent link yourself, or maintain a local copy of it. The patch itself is less likely to result in conflicts nowadays (it used to cause some back in GCC 7 or 8 days).

@lhmouse Thank you! GitHub should always keep around the old commits, even if they were force pushed. (for example youtube-dl on the dcma repo), but yeah we probably shouldn't rely on it, and I think it would be better to maintain a local copy.

While I'm decently ambivalent, if we remove that file they will certainly drift out of sync. Also, I think we can go back to using -${majorVersion} now that we found it?

They drift out of sync anyway since the sha256 is cached in cache.nixos.org. You have to update both URL & sha256 to change the contents. Since Nix looks up the cache first, it's bad practice to concat paths in this way, since it's providing more confusion than abstraction.


Shortcut arrow removal, please.

Description of the new feature / enhancement
The setting or feature to remove shorcut arrows.
Scenario when this would be used?
It would be used mainly on the desktop.
Supporting information
The old power toys from back in the day had this feature. Like back in the 90's when I was one of the first people on windows 3.0, 3.1, 95, 98 and ME. It would be better than people messing around in the registry. Which could mess up their computers and then they would have something to complain about. Blaming it on you guys at Microsoft.

/dup #16883


Answer to exercise 3-10 ch.2

added answer to exercise 3-10 ch.2
@axel22 pls see this answers

Thanks a lot for your contribution!
I'll leave a couple of comments before merging this in.

Looks good overall - the major points are with synchronizing isEmpty and nonEmpty in sync-var exercises, and with the sendAll implementation.
Please address my comments, and I'll merge this in - and thanks a lot again!

@axel22 thanks for the detailed reply, I will try to address your comments

@axel22  pls see this changes

@ryblovAV Thanks for the changes! I only left one last remark.

Actually, I can also merge this in, and then personally do the change.

Awesome work!

Thanks!


Add functionality to keep track of generated layers and remove them

RemovePreviousLayers() in AacFlBase will remove generated layers.
close #13

AAC is not meant to hold state (and nor return state) between different creation/deletion stages, it is an object that is meant to be instantiated and discarded immediately after it has been used, not kept around in memory nor across sessions.
The implementation of this PR only seems to be usable during one session where a reference to the AAC object is preserved.

Described in further detail in #13


Updated to see how well it did after world cup 2014 ended

Kindly review my changes

Removed 2014 data from the training set
Modified the pyb to predict all 2014 matches and compare against actual winners

I'm not sure if I modified this correctly, and it currently has 81% accuracy (13/16).

Any plan to try your system for the 2018 World Cup?


add code to export existing students

When I apply a filter that doesn't return data in the table, I can't export it and I get an error


Maintenance preparations

Changes proposed in this pull request:

Add requirements.txt
Move various invocations of open() into context managers
Fix bare except: statements that would have caught system exit, SIGHUP, other variants of BaseException unintentionally
Remove some assignments of variables that were not being used
Blacken code and begin PEP8 conformance

On line 191 there's still a misuse of open() but I don't yet understand what this code is doing there... this PR just has the easy fixes to get started.

All the code changes look good.
Using black as a formater is good.
Pep8 compliance is also great. I personally see features before pep8 compliance. Especially as this isn't an important application.(no one depends on it) If you want to further help with this project, and do pep compliance, i can also start to do more of it.
I do like the idea of a requirement.txt . But I think something went wrong when you generated it and there are too many packages. I assume you used the pip command to autogenerate it. And I assume that took all packages that you have installed instead of the ones used in in this file. Or does mathplotlib have so many dependencies?
Thank you for your work.

I do like the idea of a requirement.txt . But I think something went wrong when you generated it and there are too many packages. I assume you used the pip command to autogenerate it. And I assume that took all packages that you have installed instead of the ones used in in this file. Or does mathplotlib have so many dependencies?

pipreqs


Missing dependencies for ros_ign_gazebo_demos

Environment

OS Version: All
Source or binary build? All

Description

Expected behavior: rosdep install should install all necessary packages to run the demos
Actual behavior: rosdep install completes but some unlisted dependencies are missing

Steps to reproduce

Install minimal version of ROS.
Clone this repo into a new catkin workspace
Run rosdep install
Run roslaunch on pretty much any demo

https://github.com/gazebosim/ros_gz/pull/277


CVE-2021-23337 Command Injection in lodash

Library Affected:
workbox-build
Browser & Platform:
"all browsers"
Issue or Feature Request Description:
workbox-build appears to be using lodash.template that has a vulnerability reported. Please kindly release a version to fix this. Thank you.
CVE: https://github.com/advisories/GHSA-35jh-r3h4-6jhm
Lodash stance: https://github.com/lodash/lodash/issues/5851

What's the state of this issue? We are also getting the same alert from dependabot. If this was fixed please let me know in which version.

The maintainers of lodash suggest that you install lodash (which includes the same method) instead of lodash.template, which is no longer supported.
https://github.com/lodash/lodash/issues/5851

I believe this was already addressed 4 years ago in #2522. Please confirm.

I believe this was already addressed 4 years ago in #2522. Please confirm.

I completely missed that, sorry.


Calibnet check gh action

Summary of changes
Changes introduced in this pull request:

add calibnet sync check to a PR,
move the code coverage step to push to main only (we don't need it for PRs)

Reference issue to close (if applicable)

Closes https://github.com/ChainSafe/forest/issues/2038
Other information and links

Looks good.
I keep seeing --target-peer-count 50 in our documentation and scripts. I wonder why the default of 75 peers isn't good enough. Should we change the default to 50? Or have different defaults for calibnet and mainnet?

I'm not sure, I put it everywhere because it was everywhere so now it's even more everywhere. 🤣 It's definitely worth investigating further, good point.


No title id is returned when useDialog and useOverlayTriggerState are used in the same component

Provide a general summary of the issue here
We are building an AlertDialog component in our components library using the useDialog, useModalOverlay and useOverlayTriggerState hooks.
It seems, that using useOverlayTriggerState in the same component as useDialog seems to trigger a rerender which causes the titleProps.id to be undefined on the second pass.
This causes accessibility issues as the dialog can't be properly labelled without that id.
🤔 Expected Behavior?
The titleProps.id should not be undefined.
😯 Current Behavior
You can verify this issue in this codesanbox: view in Codesanbox.
In the console, you'll notice that the id is correct on the first pass but undefined on the rerender.

💁 Possible Solution
Our current solution is to create a separate child component so that useDialog and useOverlayTriggerState are not used in the same component however this is not ideal.
Is the issue potentially with useSlotId or are we using the hook(s) the wrong way?
Thank you!
🔦 Context
No response
🖥 Steps to Reproduce
As per the details above, we copied your AlertDialog codesanbox and adapted it to match our implementation: view codesanbox.
Version
3.30.0
What browsers are you seeing the problem on?
Firefox, Chrome, Safari, Microsoft Edge
If other, please specify.
No response
What operating system are you using?
macOS
🧢 Your Company/Team
No response
🕷 Tracking Issue
No response

That would be because we do a search in the dom to find out if there is a title which is using the id so we don't label by an id which doesn't exist, which would also be an issue. That's what useSlotId does https://github.com/adobe/react-spectrum/blob/main/packages/%40react-aria/dialog/src/useDialog.ts#L34
If you can separate them, that'd be preferable, and you'll get more reusability out of the deal. There may be some other issues if you use both in the same component
You don't have to give up on having a single React component to represent the whole thing, but inside it, you can split them up.
If you really cannot separate them, it'd be good to know a bit more about why.
This is likely a common thing for people to accidentally do. We do have some ideas to show more warnings in developer mode when things aren't quite wired right. I'm not sure what else we'd do other than query the entire dom for the id. This should be relatively low cost as I believe browsers keep a map of the ids, but I might be misremembering. Would be a good thing to probably find out.
The last thing I'll mention is that I don't know if we've made any other assumptions based on these being two components. One possibility is that the focus scope may behave oddly. I tried your codesandbox, and it appears to be working, but that doesn't mean I tested every edge case.

Thanks @snowystinger for your quick answer! It's good to get confirmation that not using them together in the recommendation. 🙇🏻♂

You don't have to give up on having a single React component to represent the whole thing, but inside it, you can split them up.

Yes, that's exactly the alternative approach that we took which works fine for us.

This is likely a common thing for people to accidentally do. We do have some ideas to show more warnings in developer mode when things aren't quite wired right.

That would be great if there was a way to display a warning in dev mode as this silently makes the dialog inaccessible.
Thanks again for your help!


having problems building for pi2b

adafruit 2.8" 320x240 tft
pi 2b
raspbian stretch fresh instal+updates
everything worked fine until i  get hung up on the make -j line.
getting these compile errors:
pi@raspberrypi:~/fbcp-ili9341/build $ sudo make -j [ 11%] Building CXX object CMakeFiles/fbcp-ili9341.dir/ili9341.cpp.o [ 11%] Building CXX object CMakeFiles/fbcp-ili9341.dir/dma.cpp.o [ 16%] Building CXX object CMakeFiles/fbcp-ili9341.dir/display.cpp.o [ 22%] Building CXX object CMakeFiles/fbcp-ili9341.dir/diff.cpp.o [ 27%] Building CXX object CMakeFiles/fbcp-ili9341.dir/statistics.cpp.o [ 33%] Building CXX object CMakeFiles/fbcp-ili9341.dir/spi.cpp.o In file included from /home/pi/fbcp-ili9341/display.cpp:3:0: /home/pi/fbcp-ili9341/spi.h: In member function ‘uint8_t* SPITask::PayloadStart()’: /home/pi/fbcp-ili9341/spi.h:121:58: error: ‘size9BitTaskWithPadding’ was not declared in this scope    inline uint8_t *PayloadStart() { return data + (size - size9BitTaskWithPadding); }                                                           ^~~~~~~~~~~~~~~~~~~~~~~ /home/pi/fbcp-ili9341/spi.h: In member function ‘uint32_t SPITask::PayloadSize() const’: /home/pi/fbcp-ili9341/spi.h:123:48: error: ‘size9BitTaskWithPadding’ was not declared in this scope    inline uint32_t PayloadSize() const { return size9BitTaskWithPadding - SPI_9BIT_TASK_PADDING_BYTES; }                                                 ^~~~~~~~~~~~~~~~~~~~~~~ CMakeFiles/fbcp-ili9341.dir/build.make:86: recipe for target 'CMakeFiles/fbcp-ili9341.dir/display.cpp.o' failed make[2]: *** [CMakeFiles/fbcp-ili9341.dir/display.cpp.o] Error 1 make[2]: *** Waiting for unfinished jobs.... In file included from /home/pi/fbcp-ili9341/diff.cpp:6:0: /home/pi/fbcp-ili9341/spi.h: In member function ‘uint8_t* SPITask::PayloadStart()’: /home/pi/fbcp-ili9341/spi.h:121:58: error: ‘size9BitTaskWithPadding’ was not declared in this scope    inline uint8_t *PayloadStart() { return data + (size - size9BitTaskWithPadding); }                                                           ^~~~~~~~~~~~~~~~~~~~~~~ /home/pi/fbcp-ili9341/spi.h: In member function ‘uint32_t SPITask::PayloadSize() const’: /home/pi/fbcp-ili9341/spi.h:123:48: error: ‘size9BitTaskWithPadding’ was not declared in this scope    inline uint32_t PayloadSize() const { return size9BitTaskWithPadding - SPI_9BIT_TASK_PADDING_BYTES; }                                                 ^~~~~~~~~~~~~~~~~~~~~~~ In file included from /home/pi/fbcp-ili9341/ili9341.cpp:5:0: /home/pi/fbcp-ili9341/spi.h: In member function ‘uint8_t* SPITask::PayloadStart()’: /home/pi/fbcp-ili9341/spi.h:121:58: error: ‘size9BitTaskWithPadding’ was not declared in this scope    inline uint8_t *PayloadStart() { return data + (size - size9BitTaskWithPadding); }                                                           ^~~~~~~~~~~~~~~~~~~~~~~ CMakeFiles/fbcp-ili9341.dir/build.make:62: recipe for target 'CMakeFiles/fbcp-ili9341.dir/diff.cpp.o' failed make[2]: *** [CMakeFiles/fbcp-ili9341.dir/diff.cpp.o] Error 1 /home/pi/fbcp-ili9341/spi.h: In member function ‘uint32_t SPITask::PayloadSize() const’: /home/pi/fbcp-ili9341/spi.h:123:48: error: ‘size9BitTaskWithPadding’ was not declared in this scope    inline uint32_t PayloadSize() const { return size9BitTaskWithPadding - SPI_9BIT_TASK_PADDING_BYTES; }                                                 ^~~~~~~~~~~~~~~~~~~~~~~ In file included from /home/pi/fbcp-ili9341/statistics.cpp:15:0: /home/pi/fbcp-ili9341/spi.h: In member function ‘uint8_t* SPITask::PayloadStart()’: /home/pi/fbcp-ili9341/spi.h:121:58: error: ‘size9BitTaskWithPadding’ was not declared in this scope    inline uint8_t *PayloadStart() { return data + (size - size9BitTaskWithPadding); }                                                           ^~~~~~~~~~~~~~~~~~~~~~~ /home/pi/fbcp-ili9341/spi.h: In member function ‘uint32_t SPITask::PayloadSize() const’: /home/pi/fbcp-ili9341/spi.h:123:48: error: ‘size9BitTaskWithPadding’ was not declared in this scope    inline uint32_t PayloadSize() const { return size9BitTaskWithPadding - SPI_9BIT_TASK_PADDING_BYTES; }                                                 ^~~~~~~~~~~~~~~~~~~~~~~ CMakeFiles/fbcp-ili9341.dir/build.make:422: recipe for target 'CMakeFiles/fbcp-ili9341.dir/statistics.cpp.o' failed make[2]: *** [CMakeFiles/fbcp-ili9341.dir/statistics.cpp.o] Error 1 CMakeFiles/fbcp-ili9341.dir/build.make:206: recipe for target 'CMakeFiles/fbcp-ili9341.dir/ili9341.cpp.o' failed make[2]: *** [CMakeFiles/fbcp-ili9341.dir/ili9341.cpp.o] Error 1 In file included from /home/pi/fbcp-ili9341/dma.cpp:17:0: /home/pi/fbcp-ili9341/spi.h: In member function ‘uint8_t* SPITask::PayloadStart()’: /home/pi/fbcp-ili9341/spi.h:121:58: error: ‘size9BitTaskWithPadding’ was not declared in this scope    inline uint8_t *PayloadStart() { return data + (size - size9BitTaskWithPadding); }                                                           ^~~~~~~~~~~~~~~~~~~~~~~ /home/pi/fbcp-ili9341/spi.h: In member function ‘uint32_t SPITask::PayloadSize() const’: /home/pi/fbcp-ili9341/spi.h:123:48: error: ‘size9BitTaskWithPadding’ was not declared in this scope    inline uint32_t PayloadSize() const { return size9BitTaskWithPadding - SPI_9BIT_TASK_PADDING_BYTES; }                                                 ^~~~~~~~~~~~~~~~~~~~~~~ In file included from /home/pi/fbcp-ili9341/spi.cpp:16:0: /home/pi/fbcp-ili9341/spi.h: In member function ‘uint8_t* SPITask::PayloadStart()’: /home/pi/fbcp-ili9341/spi.h:121:58: error: ‘size9BitTaskWithPadding’ was not declared in this scope    inline uint8_t *PayloadStart() { return data + (size - size9BitTaskWithPadding); }                                                           ^~~~~~~~~~~~~~~~~~~~~~~ /home/pi/fbcp-ili9341/spi.h: In member function ‘uint32_t SPITask::PayloadSize() const’: /home/pi/fbcp-ili9341/spi.h:123:48: error: ‘size9BitTaskWithPadding’ was not declared in this scope    inline uint32_t PayloadSize() const { return size9BitTaskWithPadding - SPI_9BIT_TASK_PADDING_BYTES; }                                                 ^~~~~~~~~~~~~~~~~~~~~~~ CMakeFiles/fbcp-ili9341.dir/build.make:350: recipe for target 'CMakeFiles/fbcp-ili9341.dir/spi.cpp.o' failed make[2]: *** [CMakeFiles/fbcp-ili9341.dir/spi.cpp.o] Error 1 CMakeFiles/fbcp-ili9341.dir/build.make:110: recipe for target 'CMakeFiles/fbcp-ili9341.dir/dma.cpp.o' failed make[2]: *** [CMakeFiles/fbcp-ili9341.dir/dma.cpp.o] Error 1 CMakeFiles/Makefile2:67: recipe for target 'CMakeFiles/fbcp-ili9341.dir/all' failed make[1]: *** [CMakeFiles/fbcp-ili9341.dir/all] Error 2 Makefile:83: recipe for target 'all' failed make: *** [all] Error 2

Try doing a git pull, there were changes that went in just recently related to here. Does that help?

ah thanks that worked.

Great!


Feature: Ldap login support

Is Ldap login support planned? Or can it be implementet in the near future?

You can do this very easily (and safely) with traefik and forward auth.   What I do is set it to be no-auth, and then use traefik to supply authentication and SSL.  Check out "doc/FAQ.md" under "how-should-i-expose-code-server-to-the-internet" for a great starting point.

I'll try it out in the next months. Thanks.

Highly recommend a reverse proxy for this like @geiseri mentioned.


Minor tweaks to box_painter

Moves BorderRadius to above its first use.
Slight improvements to the BoxShape docs.

LGTM.

added paren, will check in when green


Can I create a signal?

How can I send a signal? Can you add a sample please?

@Acidrai0 Thanks for your contribution. Currently, this API is not supported in the v7 API SDK, but we are working on adding support in the v8 API SDK, which will be released soon.


Build openwebrtc-0.3.0-android-sources failed in last step

Hi,I compile it on Ubuntu14.0. But I always failed at last step.Have someone can help me solve this problem.Thanks for your warmly help.Thanks.
[(29/35) icu -> already built ]
[(30/35) javascriptcoregtk -> already built ]
[(31/35) seed -> already built ]
[(32/35) libusrsctp -> already built ]
[(33/35) openwebrtc-gst-plugins -> already built ]
[(34/35) openwebrtc-gst-plugins-static -> already built ]
[(35/35) openwebrtc -> fetch ]
-----> Step done
[(35/35) openwebrtc -> extract ]
-----> Step done
[(35/35) openwebrtc -> configure ]
host_prefix=/home/cj/cerbero/dist/android_armv7/../linux_x86_64
gir_file_path=/home/cj/cerbero/dist/android_armv7/../linux_x86_64/share/gir-1.0
gir_file=Owr-0.3.gir
Recipe 'openwebrtc' failed at the build step 'configure'
Traceback (most recent call last):
File "./cerbero/build/oven.py", line 143, in _cook_recipe
stepfunc()
File "/home/cj/cerbero/recipes/openwebrtc.recipe", line 193, in configure
raise Exception(err_nobuild)
Exception: You need to build openwebrtc for the host linux before you can cross-compile it for android
Select an action to proceed:
[0] Enter the shell
[1] Rebuild the recipe from scratch
[2] Rebuild starting from the failed step
[3] Skip recipe
[4] Abort

Note in the output: Exception: You need to build openwebrtc for the host linux before you can cross-compile it for android

I had compile by those steps,but still failed.
sudo mkdir -p /opt/openwebrtc-0.3
sudo chown -R $UID /opt/openwebrtc-0.3
cd ~/cerbero
&& ./cerbero-uninstalled -c config/linux.cbc fetch-package --full-reset --reset-rdeps openwebrtc
&& ./cerbero-uninstalled -c config/linux.cbc bootstrap
&& ./cerbero-uninstalled -c config/linux.cbc package -f openwebrtc
I meet error, no dir /opt/openwebrtc-1.0 ,then I build it;or change /cerbero/config/linux.cbc..
Then I succesfully build linux version.
After This, I build android version.
cd ~/cerbero
&& ./cerbero-uninstalled -c config/cross-android-armv7.cbc fetch-package --full-reset --reset-rdeps openwebrtc
&& ./cerbero-uninstalled -c config/cross-android-armv7.cbc bootstrap
&& ./cerbero-uninstalled -c config/cross-android-armv7.cbc package -f openwebrtc
At last, I failed in 35 step.

On Ubuntu, I know the method,what is "export PATH="$PATH:/home/username/ndk/toolchains/arm-linux-androideabi-4.8/prebuilt/linux-x86_64/bin", can build cross-compile envirionment.But how can I do in buildding openwebrtc, I start learn openwebrtc just few days.Please Help me solve this problem.Thanks.

I meet error, no dir /opt/openwebrtc-1.0 ,then I build it;or change /cerbero/config/linux.cbc..
Then I succesfully build linux version.

I don't understand. We don't use /opt/openwebrtc-1.0 .
It is important to follow the instructions exactly and not miss any steps. I would recommend removing cerbero and /opt/openwebrtc* and then follow the steps again.

what version do you use in site of "https://github.com/EricssonResearch/openwebrtc/releases" ?
openwebrtc-0.3.0-android-sources.tar.bz2 or
openwebrtc-0.3.0-linux-sources.tar.bz2

in openwebrtc-0.3.0-android-sources\cerbero\config\linux.cbc
import os
from cerbero.config import Platform, Architecture, Distro
packages_prefix = 'openwebrtc'
packager = 'OpenWebRTC<EMAIL_ADDRESS>prefix = "/opt/openwebrtc-1.0"
Uncomment to allow parallel builds
allow_parallel_build = True
Uncomment this to allow cross-building for another architecture
target_arch = Architecture.X86_64
I download openwebrtc-0.3.0-android-sources.tar.bz2,then I compile it ,meet those problems.

Ah, OK. That must have been a bug. I would recommend cloning from master and building that instead.

Thanks for your warmly help, I success to get openwebrtc-android-armv7-0.3.0.zip


Order a computational column

Bug report
We have a column of the type "closure" that shows a result returned by a function within the model and we want to order this column like this:
 [
                'name'     => 'recited_lecture_count',
                'label'    => trans('site.recited_lecture_count'),
                'orderable'  => true,
                'type'     => 'closure',
                'function' => function ($entry) use ($dates, $studentStatus) {
                    return $entry->totalRecitationCount($dates, $studentStatus);
                }
            ]

But it doesn't work

Hey @dimaAlj - for columns that SQL itself can't order, you can define your own orderLogic. Take a look here for more details - https://backpackforlaravel.com/docs/5.x/crud-columns#custom-order-logic-for-columns
Hope it helps!


Improve testing of API more advanced with features such as ensure response received is correct (status, header, body, cookies)

Can you assign this to me? I can complete it.

@RiyaRaj28 , clone branch initial-cli and raise pr for it

@RiyaRaj28 , clone branch initial-cli and raise pr for it

Yes sure


Batching support in subscriptions

It would be great if we could support batches (i.e. all events in same tx) for subscriptions. For this to work we need an another  cloud event extension though that writes sequence number and sequence count and a transactionId to each cloud event.

We could also use write a wrapper around the existing functionality and read event by event. But this won't work if we have filters. So maybe a completely new API would be warranted where filtering is not possible and you always get a List<CloudEvent> instead of just a single cloud event?
https://stackoverflow.com/questions/65038952/get-all-documents-involved-in-a-transaction-when-using-change-streams-in-mongodb


Play short animation on component update

Hi. I've been trying to figure out a simple case:
How to make an element "jump" (scale from 1.0 to 1.1 and back to 1.0), every time it re-renders (initial render, and every time a certain prop changes)? Let's say, a "jumping counter".
Is there any simple case like this? Couldn't figure out how to map Transitions, Springs and Keyframes to this.
This is the furthest I can make it: https://codesandbox.io/s/v8zxlw0q47
Problems that I can't figure out:

Is Keyframes the right thing to use?
How to replay the animation every time the counter is updated?
How to make the transition faster? Using a config or with a specific delay?
Should I use async + call or just an array?
Should I use this reset property of the Spring somehow?

I have been pondering upon this as well. Not really any examples of passive continuous running pulse animations. Except for https://codesandbox.io/embed/q9lozyymr9.

@Kadrian I can do a working example with the imperiative api.. It seem like cheating thougg.

@lasseborly Show me! That would be amazing. Maybe we can figure it out.
Have to say it's weird. I like all of the concepts in react-spring, using it feels very powerful. But if a simple case like this feels like cheating, there's room for improvement :-). If not in react-spring itself, then at least in the Readme.

Yeah. Agree. But I'm pretty sure we are just missing the point. 😅 Let me get home and I'll share my sandbox.

@Kadrian this is my hack.. https://codesandbox.io/s/qkzx3n7y9q 😅

Wow nice! How did you even know that there's an export called controller and AnimatedValue? That's not documented in any of the API refs, right? Now I see what you mean with "hack".
Would really like someone who knows how to use the library to tell us how to do this properly.

@Kadrian it's briefly shown here.
But from then on it was a combination of looking through most usage of react-spring on github and codesandbox to see if anyone else had tried some of the same stuff.
Did not exactly turn out to be that fruitful of a search. So delved into the source. :blush:
Yeah.. Would be lovely :heart:

Ok so for proper visibility:
We still need help here

Here is my attempt: https://codesandbox.io/s/xpqq0ll5nw - I'd be interested to know if this is less or more of a hack.
I created a Keyframes container with one animation that animates scale to 1.2 and then back to 1, and then used that as the Counter container.
The trick was to supply a "key" prop to the container component, so that it treats the animation as a new one every time it's rendered. In a different issue, this behaviour was a problem (https://github.com/drcmda/react-spring/issues/118), but for this case it is the desired behaviour.
My only concern is whether creating multiple keyed animations like this is in any way a leak? Hope @drcmda can weigh in on that.

That looks a little more like it should! :-) Thanks a lot! I'm wondering: Why isn't it necessary now to use an animated.div?

As far as I can understand, animated.div is called for when using the native flag (docs).
Since that is the recommended approach, I have updated the codepen to use the native flag on the counter. Note that this has required me to import interpolate in addition to animated from the library, since the style must be interpolated manually as far as I can make out.
Also, if your animation was only going one way (just scaling from 1 to 1.2 every time, and not needing to go back to 1 right away), you can use the Spring component to render it as usual, with the same key prop that would ensure it re-runs every time. Here's a codepen using a Spring animation with the native flag on. (Note that I didn't import interpolate in this case, because the scale property in this case has an ìnterpolatemethod, so I could just callscale.interpolate'`.
I'm very new to this lib too, so hopefully @drcmda can weigh in on all this at some point.

I was on a small trip, just getting on top of things. I'd probably do it either with a self-made primitive or keyframes. If any of you has suggestions on how to cut down on the boilerplate a little or maybe you have something else in mind, im all ears.
@Kadrian @cosmophile Correct, the native flag uses a wrapped element (div, span, etc) that interprets the style property (and attributes) differently. Normally react can also accept plain values. But animated.div can take animated-values, they're classes that inform the element of changes so it can skip reacts render passes. For that reason you couldn't do transform: scale(${x}) because x is not a number.

Made some changes to introduce more shortcuts, here's @cosmophile 's example shortened up: https://codesandbox.io/embed/pxqo7113x
Basically now it's just:
const Counter = Keyframes.Spring.to([{ immediate: true, scale: 1.5 }, { scale: 1 }])

<Counter reset native>

So, no need to re-key (which means it should also be faster), Spring.to interpolates props that can be animated into to, while still allowing reserved props (like immediate in this case). And reset actually does something, i didn't do anything before for some odd reason.

@drcmda Hey, thanks a lot for taking the time to solve it. Really cool to see this in action now.
Three questions:

Does your example stop working if you're not using the new to-shortcut anymore?
E.g. if you use:

const Container = Keyframes.Spring([
  { to: { immediate: true, scale: 1.5 } },
  { to: { scale: 1 } },
])

Why do I need to say scale: 1.5, but then still need to interpolate it "manually"? Can't I just say: to: 1.5 in the Spring then?

How could I have arrived there?

In my opinion, I would have had to answer my questions above plus the following ones in the beginning:

Should I use Keyframes?
Should I use Spring or Transition?
How to trigger the animation? (immediate: true? other ways?)
Should I use the reset property or reset the animation with some "state" or some other way?

Should I use an animated.div? Why?

 Not only when to use what, but also how to use it remains difficult. You introducing another shortcut is not a bad idea, but again adds to the learning curve. I hope that in the future you'll figure out how to make the whole library a little more straightforward to use. Until then, I'll probably go back to plain css animations.

@Kadrian

Yes, it works like that

You only need to interpolate if you use a native spring, the value you receive in the render function is not a number but a class, you can console.log it. You can't drop a class into reacts style-prop. This is exactly what animated.div is there for. When you use native the component will render only once instead of thousands of times. Again, log it and you'll see the difference:
{props => console.log(props) || <animated.div .....

Should I use Keyframes?

For this case i think so
Should I use Spring or Transition?
Spring can't run arrays, Transition only tracks lifecycles
How to trigger the animation? (immediate: true? other ways?)
If you use an array or function as the argument to keyframes instead of an object with slots it starts by itself, it doesn't need a "state" prop to trigger.
  Using reset instead of re-keying it is faster.

Array is shorter
Should I use an animated.div? Why?
Read this: https://github.com/drcmda/react-spring/blob/master/API-OVERVIEW.md#native-rendering-and-interpolation-demo


communicate major site changes ... on the site

I searched all over the Web UI, but couldn't find a way to cancel a weekly tip/payment I'm making.  Is this not possible?  I would expect there to be a widget on the https://gratipay.com/~$USER/giving/ page allowing me to stop a payment.

---
Want to back this issue? **[Post a bounty on it!](https://www.bountysource.com/issues/15129245-communicate-major-site-changes-on-the-site?utm_campaign=plugin&utm_content=tracker%2F85909&utm_medium=issues&utm_source=github)** We accept bounties via [Bountysource](https://www.bountysource.com/?utm_campaign=plugin&utm_content=tracker%2F85909&utm_medium=issues&utm_source=github).

If you go to the page of the person you're tipping, you can edit the amount on the left sidebar.
Never mind, that went away.

Confirmed. As of a few days ago, the widget's been removed and there's no way to create, change, or stop payments. Also, this week's payments were skipped.
It's been removed (in pull request #3406) as part of Gratipay's change in direction, described in "Gratipocalypse" on the blog, gratipay/inside.gratipay.com#180, etc.
@whit537, it's rather disconcerting for such a core component of the UI to just vanish, especially one that controls money going out of our bank accounts. Please restore it with suitable changes, or at the very least put in a few words and a link to a longer explanation. That'll save others from trawling through commit logs or raising issues to find out what happened.

I’d add a vote for also adding a separate button stating "Cancel this tip" as it’s confusing for users to edit the amount to $0. I received some questions on that topic from some of my donators.
And yes, a statement/notice that currently no payments are processed would also be good. Couldn’t find any on the website.

I opened this ticket because I noticed that folks stopped paying me so I better stop paying others if I want to maintain the equilibrium. It looks like there was no intention behind it. If all payments stopped, then I don't have a problem.
So yes, the real issue here is that after searching through all of the usual pages, I found no notice or information anywhere on what was actually going on. A short message where these controls normally would be should fix this, with a link to more information.

Sorry for the confusion, @colans, et al. :-(
I've added +1s to #3432 for turning the tipping/subscription UI back on.

put in a few words and a link to a longer explanation.
And yes, a statement/notice that currently no payments are processed would also be good. Couldn’t find any on the website.
A short message where these controls normally would be should fix this, with a link to more information.

I've PR'd a global site notice in #3452. Is that suitable for now?

I've rescoped this ticket to be about communicating major site changes on the site itself, since we already have a ticket for bringing back the tipping UI (#3432).

Closing as I've deployed #3452.

Perfect.  Thanks.


Fixed division by zero in QR decomposition. Issue #1058

Description
https://github.com/tensorflow/tfjs/issues/1058
The sign() function returns 0 on 0, which causes a division by zero in the QR decomposition function qr() if there is a zero on the diagonal.

For repository owners only:
Please remember to apply all applicable tags to your pull request.
Tags: FEATURE, BREAKING, BUG, PERF, DEV, DOC, SECURITY
For more info see: https://github.com/tensorflow/tfjs/blob/master/DEVELOPMENT.md

This change is

FYI: https://github.com/tensorflow/tfjs-core/pull/1366 has a new implementation of qr() using an entirely difference algorithm, which might also fix this issue.

I'm not sure I understand, why there is a sign there in first place. Isn't it completely arbitrary wether or not we Householder reflect to [0, ..., 0, -norm, 0, ..., 0] or [0, ..., 0, +norm, 0, ..., 0]? It makes the gradient smother when the input is close to triangular but:

The gradient cannot be computed as is anyways, since dispose() is called manually
The gradient becomes quite volatile if the diagonal entry is close to zero, since the sign of the diagonal might change on tiny pertubations while the norm might still be huge.

@caisq Change committed.
@DirkToewe The code appears to be based directly on the lecture notes mentioned in the comments. There's no explanation there, why the sign is chosen as is. There's a somewhat cryptic note on the Wikipedia page on QR decomposition via Householder reflections claiming that the sign should be chosen to avoid losing significance, but that doesn't make any sense to me.
I really don't know much about how tensorflow.js works, so I can't say anything about the use of dispose().

Oh, that actually makes sense. If You subtract a large float form another equally large float the result is a small float that only represents the last few digits of the two large numbers so there is a loss in significance. So it makes sense from an accuracy standpoint.

@DirkToewe It says 'Only those with write access to this repository can merge pull requests.' I don't think I have write access.

CLA is ok since the commits are mine due to sync with master.

@googlebot I consent.


Bug Report: AutoNexting missed Parts after Playout Gateway downtime

About me
This bug report is posted on behalf of SuperFly.tv
Observed Behavior
When dealing with a sequence of auto-nexting parts, which is usually the case in a looping Playlist, Playout Gateway going online after a period of its downtime causes all the parts that would have been played during that period to be ran through as fast as possible in a sequence of quick auto-nexts. When the parts are short and the downtime was long, it may take a considerable amount of time before Core catches up, which results in an unnecessary load on Core and the Gateway. I have not verified if it also causes flooding of controlled devices with lots of commands, possibly causing visual glitches, but I think it might.
The chain of events looks like this:

Part A is playing, set to autonext to B at time 1000
Playout gateway goes offline
Playout gateway comes back online at time 5000
Playout gateway tells core A finished playback at 1000
Core generates a new timeline with B starting at 1000, running until 2000
Playout gateway receives timeline, confirming B started at 1000
Playout gateway immediately tells core that B has finished playback at 2000
Core generates a new timeline with C starting at 2000, running until 3000
and so on until it catches up until the current time

Expected Behavior
Not auto-nexting through all the Parts that would have played during downtime.
When the Playout Gateway goes back online, the Part that is set as Next and gets auto-nexted immediately could be treated as having started now. Alternatively a recovery step could be added, to perform necessary calculations and skip directly to the Part that would be playing if downtime didn't occur.
Version
Release51 of Sofie Core and Playout Gateway
Severity / Impact
No response

When the Playout Gateway goes back online, the Part that is set as Next and gets auto-nexted immediately could be treated as having started now

Care will need to be taken here. Did playout-gateway go offline because it restarted (meaning that the part will start playing once it reconnects), or was there a network issue (meaning that the part did start playing when it was supposed to)
The main problem I see here is that it keeps taking into C, D, E as fast as possible. Core should be clever enough to realise that it has just created a part instance which is then marked as having started(and finished) before it was generated, which clearly cannot be accurate. If it were to avoid doing that, then this will become limited to at most a couple of takes.


mhusd.org request

Hi, I would like to make a request for the Morgan Hill Unified School District's domain mhusd.org  be added to swot.
Student email addresses are formatted<EMAIL_ADDRESS>Students lose access to these email address as soon as they graduate, or leave the district.
Official Website URL

mhusd.org District
sobrato.mhusd.org Highschool
liveoak.mhusd.org Highschool

IT-related course
JS, Java, Python.
Our school district does not do a good job of advertising its courses, its a public school system. Both high schools have computer science and computer programming course. We are taking steps towards teaching students from a younger age about computer programming.
Proof

2016 courses pdf

@jakobii Pull request merged. Please notice that free educational license for JetBrains tools is for high and higher schools students, i.e. those who are over 13 of age. Thank you!

thank you! I'm existed to inform the schools on Monday.


Improve "conditional halt" system to support filtering of waveforms

Ideally we'd be able to rapidly search through thousands of waveforms and purge ones not matching a filter from the history. Halting when a filter is hit is a good starting point but not as powerful as we should have.
This should be extra powerful when combined with segmented memory and/or scopes with multi-Gbps streaming capability.

Closing as this feature doesnt exist in ngscopeclient, we can explore better filtering later.


Scrolling in notebooks feels slow and non-native

Testing #119715
Open my-work.github-issues and scroll up and down on Windows, I observe:

Much slower framerate than in the editor.
Sometimes the scroll bar jumps much more than it should - this seems very random and I can't figure out what causes it. It also seems to happen much more when scrolling towards the top and bottom edges of the notebook.

I tried to take a webview perf profile but it didn't reveal anything useful, and when I take a non-webview perf profile the webview freezes (I've created an issue on this in the past).

Sometimes the scroll bar jumps much more than it should

Do you have outputs in any cell?

It happens without output

Mac profile:

Profile-20210401T045824.json.zip

this is the same as https://github.com/microsoft/vscode/issues/126880 .


First time use is confusing

I've updated to the latest version (which changed where my caches are, which I'm not complaining about, this was a good chance), and now I can't really figure out what the intended way of getting music to play is.
After a random amount of clicking and spacebar action it stars playing, but there is no clear indication of why.

The issue is that while music is downloading it can't be played. You should see your musics written in blue (being downloaded) so it's probably not the action repetition but the time it takes to download the first musics (When the cache grows there is pretty much always music already downloaded so no issue).
Correct me if I'm missing the point and maybe send a screenshot

I had the same experience, indeed after a while the songs were downloaded and I could play them.
I tried looking where they were saved but the data folder seemed empty, so I tried restarting the application and the TUI won't display like before....

The data folder has been moved in your appdata directory to be more consistent with others apps.
But the fact restarting the TUI breaks things is strange.

Ok the TUI works now, maybe I didn't wait long enough or something

It's not expected to be waiting for the TUI to load it's definitely an issue. What system are you using ? What specs ?

I'm on Arch with my Zephyrus G14 2022, so Ryzen 9 5900HS and 32GB of RAM...

Yep so no chance this comes from a performance issue on the computer side. Maybe something related to arch. Anyways I plan on adding a performance meter for startup tasks. (This can be linked to tokio waiting for some tasks to finish before starting others)

The issue is that while music is downloading it can't be played. You should see your musics written in blue (being downloaded) so it's probably not the action repetition but the time it takes to download the first musics (When the cache grows there is pretty much always music already downloaded so no issue). Correct me if I'm missing the point and maybe send a screenshot

I see. It's unclear to the user what is happening, since there is no sense of priority: which song will start playing first? Can I act on it?
There is also no indication of progress, at least for me, contributes to the feeling of being stuck.
Related, do you think streaming the requested song so we could have instant playback would be possible in the future?

Adding a progress percentage or some animation could be a good idea. The playlist gets shuffled thhen played so no way of knowing which song plays first.
Streaming music is not possible with the current Symphonia ACC decoder...

@Karrq I added some performance measurements can you reproduce the problem and send the log

@Alphare I've added some progress percentage information in the last commit 8715a7f4226333dcdac1ebafd5d1eabfc4de19de

@Alphare I've added some progress percentage information in the last commit 8715a7f

Thanks! This is very useful to make the experience less confusing: it is now very clear that (at least in my case) 4 songs are being downloading concurrently and that nothing is happening because of this.