Methods returning records never return null

If a native method's return type is a record but can be null, the public API should return null if the native code returns NULL. Currently the public API will never return null in this case; instead it will create and return an object with a NULL handle.
This was observed in Gtk.EventController.GetEvent(), which returns a Gdk.Event?.
Attached is a quick example.

(Move the mouse over the window and then off the window to trigger.)
using System;
using Gtk;

var application = Application.New("org.gir.core", Gio.ApplicationFlags.FlagsNone);
application.OnActivate += (sender, args) =>
{
    var window = ApplicationWindow.New((Application) sender);
    window.Title = "Gtk4 Window";
    var controller = EventControllerMotion.New();
    controller.OnLeave += OnLeave;
    window.AddController(controller);
    window.SetDefaultSize(300, 300);
    window.Show();
};

void OnLeave(EventControllerMotion sender, EventArgs args)
{
	Gdk.Event? @event = sender.GetCurrentEvent();
    if (@event == null)
        Console.WriteLine("event is null (this is fine)");
    else if (@event.Handle.Equals(IntPtr.Zero))
        Console.WriteLine($"event is not null but handle is NULL (this shouldn't happen)");
    else
        Console.WriteLine($"event is not null (0x{@event.Handle:x}) (this is fine)");
}

return application.Run();

<Project Sdk="Microsoft.NET.Sdk">

  <PropertyGroup>
    <OutputType>Exe</OutputType>
    <TargetFramework>net6.0</TargetFramework>
    <Nullable>enable</Nullable>
  </PropertyGroup>

  <ItemGroup>
    <PackageReference Include="GirCore.Gtk-4.0" Version="0.3.0" />
  </ItemGroup>

</Project>

Fixed with #1056


[FLINK-8475][config][docs] Integrate RM options

What is the purpose of the change
This PR integrates the RM ConfigOptions into the configuration docs generator.
Brief change log

Add missing descriptions to config options (derived from existing description/javadocs)
integrate RM configuration table into config.md

Good to go 👌

merging.


Change name of db collection from courseData to courseInfo

Currently our two db collections are named courseSequences and courseData. I would like to rename courseData to courseInfo for consistency. I made an issue for this as it will involve some code changes to our backend and course info storer off the top of my head.
Note that this will also involve doing some DB operations on the mongo shell to rename the collection.

development started on branch renameCourseData-117


Initial setup of the VSCode devcontainers

Added configuration files for using devcontainers in VSCode. A work in progress but provides the API and both frontends.

Wait, a merge somehow got introduced. Let me re-create.


Reference to &lcc-3166-1;NorthMacedonia

fibo-fbc-fct-mkti;Exchange-XMAE (MACEDONIAN STOCK EXCHANGE) refers to &lcc-3166-1;NorthMacedonia - see below - which does not exist, well at least it is not to be found in the current lcc-3166-1.
I think it should refer to &lcc-3166-1;Macedonia
<owl:NamedIndividual rdf:about="&fibo-fbc-fct-mkti;Exchange-XMAE">
	<rdf:type rdf:resource="&fibo-fbc-fct-mkt;OperatingLevelMarket"/>
	<rdf:type rdf:resource="&fibo-fbc-pas-fpas;FinancialServiceProvider"/>
        <rdfs:label>MACEDONIAN STOCK EXCHANGE</rdfs:label>
        <fibo-fbc-fct-mkt:hasExchangeName>MACEDONIAN STOCK EXCHANGE</fibo-fbc-fct-mkt:hasExchangeName>
        <fibo-fbc-fct-mkt:operatesInCountry rdf:resource="&lcc-3166-1;NorthMacedonia"/>
        <fibo-fbc-fct-mkt:operatesInMunicipality rdf:resource="&fibo-fbc-fct-bci;Skopje"/>
        <fibo-fnd-plc-vrt:hasWebsite rdf:datatype="&xsd;anyURI">http://www.mse.org.mk</fibo-fnd-plc-vrt:hasWebsite>
</owl:NamedIndividual>

Perhaps https://spec.edmcouncil.org/fibo/ontology/BE/GovernmentEntities/EuropeanJurisdiction/SouthernEuropeGovernmentEntitiesAndJurisdictions/NorthMacedonianEntity should also be revised.

@mereolog Hi Pawel, the revision to LCC for an LCC 1.2 version, which does include North Macedonia, is what Pete used to generate the FpML update.  It was supposed to have been published before the holiday, thus before the Q4 release was complete.  I don't know what the hold-up is but will investigate.  That version includes the reference to the original Macedonia for backwards compatibility, so I don't believe it will cause issues for the individuals in BE, but will test with it.

@merelog OMG has published the -versioned- LCC 1.2 ontologies, but they are still working on the non-versioned ones.  Mariano (the OMG standards catalog publishing person) let me know this morning that it will be done today or tomorrow latest.  We should recheck it once that's done, but hopefully you'll be able to close this issue with no change as a consequence.

@merelog This has now been corrected and the latest LCC 1.2 ontologies are published, including the non-versioned IRIs.  The referenced FpML rate for North Macedonia should resolve properly now.  Having said this, now that Macedonia is deprecated in LCC, we should revise its usage in currency codes and southern European governments and jurisdictions.


Bump number of drains loaded per map action to 25

10 feels too low

@jasonlally @jeanwalshie Curious if there are any thoughts on how many drains to load at a time -- the old limit was 10, this raises it to 25 which feels better to me. More than that gets a bit busy with the map dropping (or apparating) markers.

@jszwedko @jasonlally -- i think 25 sounds great. i always thought 10 seemed a little low.


nlohmann::json::parse can't handle the "€" symbol.

Description
I have a server application which sent me the following JSON response :
{
"requestAnswer":{
"noError":1,
"message":"Error while processing document 0",
"complement":{
"errCode":-40,
"errLbl":"Dialogue logiciel vers unit\u9820incorrect",
"errComp":"€"
}
},
"processedDocs":[
],
"status":0

}
A quick run of that JSON on https://jsonformatter.curiousconcept.com/# shows that this JSON is totally fine.
However, nlohman::json::parse does not seem to be able to parse this JSON. nlohmann:json::accept does not seem to accept this as a proper JSON either.
I tried to some characters that I suspected could cause nlohmann to not be able to parse my JSON, and quickly concluded that the library seems to have a particular distaste of the character "€".
Reproduction steps
Just parse any JSON with the character "€" as a value. I recommend checking my minimal code example.
Expected vs. actual results
Expected result : nlohmann should accept the JSON as a proper JSON, with "€" as a value for "errComp".
Actual result : "Unknown Exception" from my exception handler.
Minimal code example
//The code below will fail due do the "errComp" value :
try
{
  nlohmann::json jj = nlohmann::json::parse("{ \"requestAnswer\":{\"noError\":1,\"message\" : \"Error while processing document 0\",\"complement\" : {\"errCode\":-40,\"errLbl\" : \"Dialogue logiciel vers unit\u9820incorrect\",\"errComp\" : \"€\"}},\"processedDocs\" : [],\"status\" : 0 }");
}
catch (std::exception e)
{
  std::string errMsg = e.what();
  std::cout << "NLOHMANN ERROR : " + errMsg << std::endl;
}

//Try to replace the "€" with anything else and you'll see that you won't fall into the catch block anymore.

Error messages
C++ std::exception item seems to return "Unknown Exception".

Compiler and operating system
MSVC 2015
Library version
3.11.2
Validation

[X] The bug also occurs if the latest version from the develop branch is used.
[X] I can successfully compile and run the unit tests.

Please make sure the file is UTF-8 encoded.

My server doesn't send files, but I tried to put the faulty JSON string in an UTF-8 encoded file and open it anyway : the parse function managed to open it from the file.
Looks like I'll have to review my server and make sure my responses are properly encoded.


Update deps

Updates:

Update cssnext version to 1.4.0 from 1.2.3
Update lodash version to 3.8.0 from 3.7.0

Seems ok


ci: Replace volta with native actions in CI

I guess this probably clashes but it seems like adding caching on the volta dir works fine which would avoid redownloading node every time https://github.com/cardstack/boxel/pull/677

@IanCal I was also just testing this idea out to see if it's viable.
Caching volta is okay too!
I concerns with caching volta are:

will volta complains again when we bump version for the tools?
can we prune the volta's cache so it does not grow infinitely (removing versions of tools we no longer rely on)
what are the time difference between caching vs fresh setup

This is the better solution right now imo, we can rely on github to cache their own hosted files rather than manual cache management (which often ends up with some issue). But if we revisit this at some point later, context so I don't forget:

will volta complains again when we bump version for the tools?

The cache is based on the package.json so should be new if any versions change

can we prune the volta's cache so it does not grow infinitely (removing versions of tools we no longer rely on)

Github will automatically remove old ones past 7 days, and the cache itself will be entirely replaced if we change tools so it'll never grow beyond an initial build size.

what are the time difference between caching vs fresh setup

This is something we should test if we revisit this, but the size and timings seemed short.


Feature/Add Admins from Parent to Child [OSF-8594]

Purpose
Add admins from the parent project to a component in one-click.
Changes

Put an Add button beside Admins on Parent Projects.  Clicking on the Add button adds the contributor directly to the project with read permissions and visible = True.
Created new knockout computed observable for whether or not this "Add" button is visible.  To add an admin on the parent project to a component, the current user must be an admin on the component, the component cannot be a registration, and the user being added must be an admin on the parent project.
Fixed bug in logic on whether "Remove" button is visible beside a contributor.  Previously, if the logged in user was also the admin on the parent project, and navigated directly to that component's page, they would see a Remove button by their name.  This user has implicit read and should not see that read button. (The read button didn't actually do anything, but it shouldn't be there).

Demo

Demo - scenario where request to add contributor fails

Bug fixed
When logged in as Test User, there is a remove button by my name.  This remove button should not be here and is fixed in this PR.

Side effects
Should be none.
Ticket
https://openscience.atlassian.net/browse/OSF-8594

Thanks for the review @caseyrollins! you brought up some stuff I hadn't thought about!


CI: generate test_ui report

generated artifact: https://github.com/commaai/openpilot/actions/runs/7651552697/artifacts/1195796381

Can we make the HTML one click? Currently, it's a download and unzip.

Can we make the HTML one click? Currently, it's a download and unzip.

maybe with github pages, but I don't think it will work for forks. I'll merge this as an artifact and we can maybe add one click later

Nah, that's janky. We need this be per-PR. We can throw up a bounty for one click.


MySQL Error

When I try to import MySQL backend back to file backend I get this error:
http://pastebin.com/tcF3Xq4g
Config.yml:

multiserver:
use-netevents: true
permissions:
debug: false
allowOps: false
user-add-groups-last: false
log-players: false
createUserRecords: false
backend: file
informplayers:
changes: false
basedir: plugins/PermissionsEx
backends:
file:
type: file
file: permissions.yml
sql:
uri: mysql:///
user: ********
password: ********
aliases:
permissions: server_permissions
permissions_inheritance: server_inheritance
permissions_entity: server_entity
type: sql
updater: true
alwaysUpdate: false

Why would you post it in the PEX tickets when it says "Please report this to http://www.spigotmc.org/"?
Did you follow the Migrating Between Backends documentation?

Yes and I even tried in Minecraft 1.9 and did not worked.

You've set the watchdog timeout too low -- you need to change that in the server.properties.


Is it possible to add/edit label on links?

Hi,
I have some questions.
Is it possible to add/edit label on links?
is it possible to rename the node(box)
does it work it on IE11?
This library looks good so I am considering to use it, however those above functions are needed to me. So could you please answer about it? Thank you

It doesn't have labels as far as I know, but you can easily implement it yourself, something like this:
import { FlowChart, LinkDefault } from 'react-flow-chart';

<FlowChart
  Components={{
    Link: (props) => <><LinkDefault {...props} /><MyLinkLabel {...props} /></>
  }}
  ...
/>

See LinkDefault.tsx for a reference.
You can also customize Node in a same way.

Storybook example:
Demo
Code


async hooks for tests

Description

test hooks like beforeAll and afterAll can be async

Hey @ZE0TRON, can you provide some tests that use this feature? Probably just copying and pasting our tests but make them resolve some kind of promise (preferably at least 1s promise).

For example, in tests/hooks/*, you could add a new suite:
  Rhum.testSuite("test suite 3", () => {
    Rhum.beforeAll(async () => {
      // do something asynchronous
    });
    Rhum.testCase("Hook can be async", () => {
      // Assert a value was changed by the hook - this test is expected to run after the hook
    });
  });

@crookse should i add tests for all hooks or is this enough ?


Enabling annotations causes our arrow functions to lose their names.

Thanks for creating flow-runtime
This is a:

[x] Bug Report
[x] Feature Request
[ ] Question
[ ] Other

Which concerns:

[ ] flow-runtime
[x] babel-plugin-flow-runtime
[ ] flow-runtime-validators
[ ] flow-runtime-mobx
[ ] flow-config-parser
[ ] The documentation website

What is the current behaviour?
When using babel-plugin-flow-runtime with annotations enabled, our stateless functional React components lose their display names. Here is an example that you can run in https://codemix.github.io/flow-runtime/#/try:
type Props = {
  id: string | number;
  name: string;
};

const MyComponent = (props: Props) => {};

console.log(MyComponent.name);

with annotations, this gets transformed to:
const MyComponent = t.annotate(props => {
  let _propsType2 = Props;
  t.param("props", _propsType2).assert(props);
}, t.function(t.param("props", Props)));

If annotations are disabled, the above code logs 'MyComponent'.
If annotations are enabled, the above code logs ''.

What is the expected behaviour?
I would expect that we wouldn't lose the Function.name when annotations are enabled.

I was trying to figure out how this could be accomplished.
Perhaps it could be compiled to something like this:
const MyComponent = t.annotate(function MyComponent(props) {
  let _propsType2 = Props;
  t.param("props", _propsType2).assert(props);
}.bind(this), t.function(t.param("props", Props)), "MyComponent");

I'm not really sure what the right route is to go with this.

Which package versions are you using?
"babel-plugin-flow-runtime": "0.5.0"

I guess in annotation mode we could expand any annotated arrow function and give it a name, but it will only work in simple cases where it's the right hand side of a simple assignment expression, but I guess that's how ES6 function name resolution works anyway so probably not an issue.

released in 0.7.0

@phpnode thanks for looking at this so quickly. I did have a comment on https://github.com/codemix/flow-runtime/commit/7d9651297eb6ffa473e8e7eca497b84108314f41#commitcomment-21149187


[nnx] add Quick Start

What does this PR do?
WIP

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

Comparison is base (d9585e0) 56.14% compared to head (513eb00) 56.14%.

Additional details and impacted files
@@           Coverage Diff           @@
##             main    #3678   +/-   ##
=======================================
  Coverage   56.14%   56.14%
=======================================
  Files         102      102
  Lines       12186    12186
=======================================
  Hits         6842     6842
  Misses       5344     5344

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


fix: fix package and name space for VoxelBasedCompareMapFilterComponent

Description

The pointcloud_preprocessor::VoxelBasedCompareMapFilterComponent does not exist.
https://github.com/autowarefoundation/autoware.universe/tree/main/sensing/pointcloud_preprocessor.
VoxelBasedCompareMapFilterComponent is now in compare_map_segmentation.
https://github.com/autowarefoundation/autoware.universe/blob/main/perception/compare_map_segmentation

Pre-review checklist for the PR author
The PR author must check the checkboxes below when creating the PR.

[x] I've confirmed the contribution guidelines.
[x] The PR follows the pull request guidelines.

In-review checklist for the PR reviewers
The PR reviewers must check the checkboxes below before approval.

[ ] The PR follows the pull request guidelines.

Post-review checklist for the PR author
The PR author must check the checkboxes below before merging.

[ ] There are no open discussions or they are tracked via tickets.

After all checkboxes are checked, anyone who has write access can merge the PR.

@h-ohta can you fix this launch, too?
Hi Horibe-san, any update on this? Should I go ahead and start weekly meetings with Maxime and Ali, to catch up on their work?

@yukkysaito
Hmm, The VoxelGridDownsampleFilterComponent is in pointcloud_preprocessor, right?
https://github.com/autowarefoundation/autoware.universe/blob/main/sensing/pointcloud_preprocessor/CMakeLists.txt#L91


SDK Stuck

I have published the contianer to an ECS cluster. I have confirmed everything is good (credentials, url, permissions, etc.) and When the container boots up it appears to just stall here:

2023-03-06T10:53:09.867-06:00	Progress: (open) Retrieving server options

2023-03-06T10:53:09.915-06:00	Progress: (open) Retrieving media info

2023-03-06T10:53:10.137-06:00	Progress: (request) SETUP stream 0

2023-03-06T10:53:10.183-06:00	Progress: (open) Opened Stream

2023-03-06T10:53:10.183-06:00	Setting pipeline to PLAYING ...

2023-03-06T10:53:10.183-06:00	New clock: GstSystemClock

2023-03-06T10:53:10.183-06:00	Progress: (request) Sending PLAY request

2023-03-06T10:53:10.184-06:00	Progress: (request) Sending PLAY request

2023-03-06T10:53:10.335-06:00	Progress: (request) Sent PLAY request

Nothing is coming into Kinesis. When I run this contianer locally, with the exact config it does not get stuck here. ECS Container Mem & CPU look to be fine.
Any thoughts on what could be happening?

@disa6302 @niyatim23 adding you for visibility

To follow up, here are the logs I see when executing the same container build locally:
Progress: (request) Sending PLAY request
Progress: (request) Sending PLAY request
Progress: (request) Sent PLAY request
WARNING: from element /GstPipeline:pipeline0/GstRTSPSrc:rtspsrc0: Could not read from resource.
Additional debug info:
gstrtspsrc.c(5427): gst_rtspsrc_reconnect (): /GstPipeline:pipeline0/GstRTSPSrc:rtspsrc0:
Could not receive any UDP packets for 5.0000 seconds, maybe your firewall is blocking it. Retrying using a tcp connection.
[INFO ] [06-03-2023 17:17:02:096.367 GMT] kinesisVideoStreamFormatChanged(): Stream format changed.
[INFO ] [06-03-2023 17:17:02:960.802 GMT] putStreamResultEvent(): Put stream result event. New upload handle 0
[DEBUG] [06-03-2023 17:17:02:971.928 GMT] Kinesis Video client and stream metrics
        >> Overall storage byte size: 536870912
        >> Available storage byte size: 536158026
        >> Allocated storage byte size: 712886
        >> Total view allocation byte size: 172880
        >> Total streams elementary frame rate (fps): 30
        >> Total streams transfer rate (bps): 33554432 (32768 Kbps)
        >> Current view duration (ms): 0
        >> Overall view duration (ms): 0
        >> Current view byte size: 712838
        >> Overall view byte size: 712838
        >> Current elementary frame rate (fps): 30
        >> Current transfer rate (bps): 33554432 (32768 Kbps)
[DEBUG] [06-03-2023 17:17:03:851.510 GMT] postReadCallback(): Wrote 65524 bytes to Kinesis Video. Upload stream handle: 0
[INFO ] [06-03-2023 17:17:03:852.244 GMT] writeHeaderCallback(): RequestId: db8f3bb3-7917-14f6-870f-19fce9991fa7
[DEBUG] [06-03-2023 17:17:03:852.654 GMT] postReadCallback(): Wrote 65524 bytes to Kinesis Video. Upload stream handle: 0
[DEBUG] [06-03-2023 17:17:03:853.323 GMT] postReadCallback(): Wrote 65524 bytes to Kinesis Video. Upload stream handle: 0
[DEBUG] [06-03-2023 17:17:03:854.438 GMT] postReadCallback(): Wrote 65524 bytes to Kinesis Video. Upload stream handle: 0
[DEBUG] [06-03-2023 17:17:03:854.688 GMT] postReadCallback(): Wrote 65524 bytes to Kinesis Video. Upload stream handle: 0
[DEBUG] [06-03-2023 17:17:03:854.978 GMT] postReadCallback(): Wrote 65524 bytes to Kinesis Video. Upload stream handle: 0
[DEBUG] [06-03-2023 17:17:03:856.494 GMT] postReadCallback(): Wrote 65524 bytes to Kinesis Video. Upload stream handle: 0
[DEBUG] [06-03-2023 17:17:03:857.620 GMT] postReadCallback(): Wrote 65524 bytes to Kinesis Video. Upload stream handle: 0
[DEBUG] [06-03-2023 17:17:03:858.211 GMT] postReadCallback(): Wrote 65524 bytes to Kinesis Video. Upload stream handle: 0
[DEBUG] [06-03-2023 17:17:03:860.476 GMT] postReadCallback(): Wrote 65524 bytes to Kinesis Video. Upload stream handle: 0
[DEBUG] [06-03-2023 17:17:03:860.926 GMT] postReadCallback(): Wrote 65524 bytes to Kinesis Video. Upload stream handle: 0
[DEBUG] [06-03-2023 17:17:04:040.276 GMT] postWriteCallback(): Curl post body write function for stream with handle: Axis-Rail-100 and upload handle: 0 returned: {"EventType":"BUFFERING","FragmentTimecode":1678123022960,"FragmentNumber":"91343852333181447247962534076940227787841398098"}

[DEBUG] [06-03-2023 17:17:04:040.375 GMT] fragmentAckReceivedHandler invoked
[DEBUG] [06-03-2023 17:17:04:249.114 GMT] postReadCallback(): Wrote 65524 bytes to Kinesis Video. Upload stream handle: 0
[DEBUG] [06-03-2023 17:17:04:249.605 GMT] postReadCallback(): Wrote 65524 bytes to Kinesis Video. Upload stream handle: 0
[DEBUG] [06-03-2023 17:17:04:251.687 GMT] postReadCallback(): Wrote 65524 bytes to Kinesis Video. Upload stream handle: 0
[DEBUG] [06-03-2023 17:17:04:252.518 GMT] postReadCallback(): Wrote 65524 bytes to Kinesis Video. Upload stream handle: 0
[DEBUG] [06-03-2023 17:17:04:254.430 GMT] postReadCallback(): Wrote 42636 bytes to Kinesis Video. Upload stream handle: 0
[DEBUG] [06-03-2023 17:17:04:559.635 GMT] postReadCallback(): Wrote 65524 bytes to Kinesis Video. Upload stream handle: 0
[DEBUG] [06-03-2023 17:17:04:560.066 GMT] postReadCallback(): Wrote 11068 bytes to Kinesis Video. Upload stream handle: 0
[DEBUG] [06-03-2023 17:17:04:866.699 GMT] postReadCallback(): Wrote 65524 bytes to Kinesis Video. Upload stream handle: 0
[DEBUG] [06-03-2023 17:17:04:867.120 GMT] postReadCallback(): Wrote 65524 bytes to Kinesis Video. Upload stream handle: 0
[DEBUG] [06-03-2023 17:17:04:867.559 GMT] postReadCallback(): Wrote 43938 bytes to Kinesis Video. Upload stream handle: 0
[DEBUG] [06-03-2023 17:17:05:490.365 GMT] postReadCallback(): Wrote 65524 bytes to Kinesis Video. Upload stream handle: 0
[DEBUG] [06-03-2023 17:17:05:491.157 GMT] postReadCallback(): Wrote 65524 bytes to Kinesis Video. Upload stream handle: 0
[DEBUG] [06-03-2023 17:17:05:491.486 GMT] postReadCallback(): Wrote 32117 bytes to Kinesis Video. Upload stream handle: 0
[DEBUG] [06-03-2023 17:17:05:633.253 GMT] postReadCallback(): Wrote 65524 bytes to Kinesis Video. Upload stream handle: 0
[DEBUG] [06-03-2023 17:17:05:633.684 GMT] postReadCallback(): Wrote 38405 bytes to Kinesis Video. Upload stream handle: 0
[DEBUG] [06-03-2023 17:17:05:695.903 GMT] postReadCallback(): Wrote 55110 bytes to Kinesis Video. Upload stream handle: 0
[DEBUG] [06-03-2023 17:17:06:320.539 GMT] postReadCallback(): Wrote 65524 bytes to Kinesis Video. Upload stream handle: 0
[DEBUG] [06-03-2023 17:17:06:321.631 GMT] postReadCallback(): Wrote 16425 bytes to Kinesis Video. Upload stream handle: 0
[DEBUG] [06-03-2023 17:17:06:383.525 GMT] postReadCallback(): Wrote 65524 bytes to Kinesis Video. Upload stream handle: 0
[DEBUG] [06-03-2023 17:17:06:384.110 GMT] postReadCallback(): Wrote 33004 bytes to Kinesis Video. Upload stream handle: 0
^Chandling interrupt.

Follow up questions, is there any details on what a VPC needs in able to function properly? Feels like an AWS Environment issue being that the same contianer works locally.

GST_DEBUG=4 Logs:

Progress: (open) Opened Stream
--
Setting pipeline to PLAYING ...
New clock: GstSystemClock
Progress: (request) Sending PLAY request
Progress: (request) Sending PLAY request
0:00:00.687806869     1       0xa7fca0 INFO              GST_STATES gstelement.c:2394:gst_element_continue_state:<fakesrc0> committing state from READY to PAUSED, pending PLAYING, next PLAYING
0:00:00.687806869     1       0xa7fca0 INFO              GST_STATES gstelement.c:2324:_priv_gst_element_state_changed:<fakesrc0> notifying about state-changed READY to PAUSED (PLAYING pending)
0:00:00.687880220     1 0x7f394c0478f0 INFO        GST_ELEMENT_PADS gstelement.c:913:gst_element_get_static_pad: no such pad 'sink' in element "fakesrc0"
0:00:00.687914988     1 0x7f394c0478f0 FIXME                default gstutils.c:3826:gst_pad_create_stream_id_internal:<fakesrc0:src> Creating random stream-id, consider implementing a deterministic way of creating a stream-id
0:00:00.687914988     1       0xa7fca0 INFO              GST_STATES gstelement.c:2401:gst_element_continue_state:<fakesrc0> continue state change PAUSED to PLAYING, final PLAYING
0:00:00.687914988     1       0xa7fca0 INFO              GST_STATES gstelement.c:2419:gst_element_continue_state:<fakesrc0> completed state change to PLAYING
0:00:00.687914988     1       0xa7fca0 INFO              GST_STATES gstelement.c:2324:_priv_gst_element_state_changed:<fakesrc0> notifying about state-changed PAUSED to PLAYING (VOID_PENDING pending)
0:00:00.688000611     1 0x7f394c0478f0 INFO               GST_EVENT gstevent.c:889:gst_event_new_segment: creating segment event bytes segment start=0, offset=0, stop=-1, rate=1.000000, applied_rate=1.000000, flags=0x00, time=0, base=0, position 0, duration -1
0:00:00.688027715     1 0x7f394c0478f0 INFO                 basesrc gstbasesrc.c:2847:gst_base_src_loop:<fakesrc0> marking pending DISCONT
0:00:00.688199215     1 0x7f394c0478f0 INFO                 basesrc gstbasesrc.c:2743:gst_base_src_loop:<fakesrc0> pausing after gst_base_src_get_range() = eos
0:00:00.688235335     1 0x7f394c0478f0 INFO                    task gsttask.c:318:gst_task_func:<fakesrc0:src> Task going to paused
0:00:00.812082310     1       0xa7fca0 INFO              GST_STATES gstbin.c:2521:gst_bin_element_set_state:<rtpssrcdemux0> current PAUSED pending VOID_PENDING, desired next PLAYING
0:00:00.812200033     1       0xa7fca0 INFO              GST_STATES gstelement.c:2419:gst_element_continue_state:<rtpssrcdemux0> completed state change to PLAYING
0:00:00.812213985     1       0xa7fca0 INFO              GST_STATES gstelement.c:2324:_priv_gst_element_state_changed:<rtpssrcdemux0> notifying about state-changed PAUSED to PLAYING (VOID_PENDING pending)
0:00:00.812325452     1       0xa7fca0 INFO              GST_STATES gstbin.c:2969:gst_bin_change_state_func:<manager> child 'rtpssrcdemux0' changed state to 4(PLAYING) successfully
0:00:00.812354578     1       0xa7fca0 INFO              GST_STATES gstbin.c:2521:gst_bin_element_set_state:<rtpsession0> current PAUSED pending VOID_PENDING, desired next PLAYING
0:00:00.812454744     1       0xa7fca0 INFO              GST_STATES gstelement.c:2419:gst_element_continue_state:<rtpsession0> completed state change to PLAYING
0:00:00.812461252     1       0xa7fca0 INFO              GST_STATES gstelement.c:2324:_priv_gst_element_state_changed:<rtpsession0> notifying about state-changed PAUSED to PLAYING (VOID_PENDING pending)
0:00:00.812540562     1       0xa7fca0 INFO              GST_STATES gstbin.c:2969:gst_bin_change_state_func:<manager> child 'rtpsession0' changed state to 4(PLAYING) successfully
0:00:00.812547880     1       0xa7fca0 INFO              GST_STATES gstelement.c:2419:gst_element_continue_state:<manager> completed state change to PLAYING
0:00:00.812567295     1       0xa7fca0 INFO              GST_STATES gstelement.c:2324:_priv_gst_element_state_changed:<manager> notifying about state-changed PAUSED to PLAYING (VOID_PENDING pending)
0:00:00.812653441     1       0xa7fca0 INFO                 basesrc gstbasesrc.c:1343:gst_base_src_do_seek:<udpsrc1> seeking: time segment start=0:00:00.000000000, offset=0:00:00.000000000, stop=99:99:99.999999999, rate=1.000000, applied_rate=1.000000, flags=0x00, time=0:00:00.000000000, base=0:00:00.000000000, position 0:00:00.000000000, duration 99:99:99.999999999
0:00:00.812714158     1       0xa7fca0 INFO                    task gsttask.c:456:gst_task_set_lock: setting stream lock 0xa5b4f0 on task 0xa5c710
0:00:00.812740464     1       0xa7fca0 INFO                GST_PADS gstpad.c:5998:gst_pad_start_task:<udpsrc1:src> created task 0xa5c710
0:00:00.812897487     1       0xa7fca0 INFO              GST_STATES gstelement.c:2394:gst_element_continue_state:<udpsrc1> committing state from READY to PAUSED, pending PLAYING, next PLAYING
0:00:00.812916758     1       0xa7fca0 INFO              GST_STATES gstelement.c:2324:_priv_gst_element_state_changed:<udpsrc1> notifying about state-changed READY to PAUSED (PLAYING pending)
0:00:00.812939234     1       0xa7fca0 INFO              GST_STATES gstelement.c:2401:gst_element_continue_state:<udpsrc1> continue state change PAUSED to PLAYING, final PLAYING
0:00:00.812983886     1       0xa7fca0 INFO              GST_STATES gstelement.c:2419:gst_element_continue_state:<udpsrc1> completed state change to PLAYING
0:00:00.813006085     1       0xa7fca0 INFO              GST_STATES gstelement.c:2324:_priv_gst_element_state_changed:<udpsrc1> notifying about state-changed PAUSED to PLAYING (VOID_PENDING pending)
Progress: (request) Sent PLAY request
0:00:00.813145579     1       0xa7fca0 INFO                 basesrc gstbasesrc.c:1343:gst_base_src_do_seek:<udpsrc2> seeking: time segment start=0:00:00.000000000, offset=0:00:00.000000000, stop=99:99:99.999999999, rate=1.000000, applied_rate=1.000000, flags=0x00, time=0:00:00.000000000, base=0:00:00.000000000, position 0:00:00.000000000, duration 99:99:99.999999999
0:00:00.813181827     1       0xa7fca0 INFO                    task gsttask.c:456:gst_task_set_lock: setting stream lock 0xa5b730 on task 0xa5c830
0:00:00.813194332     1       0xa7fca0 INFO                GST_PADS gstpad.c:5998:gst_pad_start_task:<udpsrc2:src> created task 0xa5c830
0:00:00.813232497     1 0x7f394c0479e0 INFO        GST_ELEMENT_PADS gstelement.c:913:gst_element_get_static_pad: no such pad 'sink' in element "udpsrc1"
0:00:00.813329746     1       0xa7fca0 INFO              GST_STATES gstelement.c:2394:gst_element_continue_state:<udpsrc2> committing state from READY to PAUSED, pending PLAYING, next PLAYING
0:00:00.813343986     1       0xa7fca0 INFO              GST_STATES gstelement.c:2324:_priv_gst_element_state_changed:<udpsrc2> notifying about state-changed READY to PAUSED (PLAYING pending)
0:00:00.813403954     1       0xa7fca0 INFO              GST_STATES gstelement.c:2401:gst_element_continue_state:<udpsrc2> continue state change PAUSED to PLAYING, final PLAYING
0:00:00.813434165     1       0xa7fca0 INFO              GST_STATES gstelement.c:2419:gst_element_continue_state:<udpsrc2> completed state change to PLAYING
0:00:00.813443709     1       0xa7fca0 INFO              GST_STATES gstelement.c:2324:_priv_gst_element_state_changed:<udpsrc2> notifying about state-changed PAUSED to PLAYING (VOID_PENDING pending)
0:00:00.813470326     1 0x7f394c0479e0 INFO               GST_EVENT gstevent.c:808:gst_event_new_caps: creating caps event application/x-rtp, media=(string)video, payload=(int)96, clock-rate=(int)90000, encoding-name=(string)H264, packetization-mode=(string)1, profile-level-id=(string)640033, sprop-parameter-sets=(string)"Z2QAM60AxSAMADZsBbgICA0g8SIq\,aO48sA\=\=", a-tool=(string)GStreamer, a-type=(string)broadcast, a-ts-refclk=(string)local, a-mediaclk=(string)sender, a-recvonly=(string)"", a-framerate=(string)30.000000, a-transform=(string)"1.000000\,0.000000\,0.000000\;0.000000\,1.000000\,0.000000\;0.000000\,0.000000\,1.000000", ssrc=(uint)224199383, clock-base=(uint)1603027092, seqnum-base=(uint)7996, npt-start=(guint64)0, play-speed=(double)1, play-scale=(double)1
0:00:00.813708763     1 0x7f394c047a30 INFO        GST_ELEMENT_PADS gstelement.c:913:gst_element_get_static_pad: no such pad 'sink' in element "udpsrc2"
0:00:00.813788594     1 0x7f394c047a30 INFO               GST_EVENT gstevent.c:808:gst_event_new_caps: creating caps event application/x-rtcp
0:00:00.879395957     1 0x7f394c0479e0 INFO               GST_EVENT gstevent.c:889:gst_event_new_segment: creating segment event time segment start=0:00:00.000000000, offset=0:00:00.000000000, stop=99:99:99.999999999, rate=1.000000, applied_rate=1.000000, flags=0x00, time=0:00:00.000000000, base=0:00:00.000000000, position 0:00:00.000000000, duration 99:99:99.999999999
0:00:00.879491131     1 0x7f394c0479e0 INFO                 basesrc gstbasesrc.c:2847:gst_base_src_loop:<udpsrc1> marking pending DISCONT
0:00:01.624318405     1 0x7f394c0479e0 WARN               rtpsource rtpsource.c:1176:update_receiver_stats: probation: seqnr 8467 != expected 8448
0:00:02.628763758     1 0x7f394c0479e0 WARN               rtpsource rtpsource.c:1176:update_receiver_stats: probation: seqnr 8486 != expected 8468
0:00:03.563306532     1 0x7f394c047a30 INFO               GST_EVENT gstevent.c:889:gst_event_new_segment: creating segment event time segment start=0:00:00.000000000, offset=0:00:00.000000000, stop=99:99:99.999999999, rate=1.000000, applied_rate=1.000000, flags=0x00, time=0:00:00.000000000, base=0:00:00.000000000, position 0:00:00.000000000, duration 99:99:99.999999999
0:00:03.563392291     1 0x7f394c047a30 INFO                 basesrc gstbasesrc.c:2847:gst_base_src_loop:<udpsrc2> marking pending DISCONT
0:00:03.563559961     1 0x7f394c047a30 INFO               GST_EVENT gstevent.c:808:gst_event_new_caps: creating caps event application/x-rtcp, ssrc=(uint)224199383
0:00:03.563590892     1 0x7f394c047a30 INFO        GST_ELEMENT_PADS gstelement.c:668:gst_element_add_pad:<rtpssrcdemux0> adding pad 'src_224199383'
0:00:03.563605597     1 0x7f394c047a30 INFO        GST_ELEMENT_PADS gstelement.c:668:gst_element_add_pad:<rtpssrcdemux0> adding pad 'rtcp_src_224199383'
0:00:03.563626565     1 0x7f394c047a30 INFO     GST_ELEMENT_FACTORY gstelementfactory.c:364:gst_element_factory_create: creating element "rtpjitterbuffer"
0:00:03.563830123     1 0x7f394c047a30 INFO        GST_ELEMENT_PADS gstelement.c:668:gst_element_add_pad:<GstRtpJitterBuffer@0x7f393801e2e0> adding pad 'src'
0:00:03.563841193     1 0x7f394c047a30 INFO        GST_ELEMENT_PADS gstelement.c:668:gst_element_add_pad:<GstRtpJitterBuffer@0x7f393801e2e0> adding pad 'sink'
0:00:03.563851599     1 0x7f394c047a30 INFO     GST_ELEMENT_FACTORY gstelementfactory.c:364:gst_element_factory_create: creating element "rtpptdemux"
0:00:03.563924927     1 0x7f394c047a30 INFO        GST_ELEMENT_PADS gstelement.c:668:gst_element_add_pad:<GstRtpPtDemux@0xa5cb40> adding pad 'sink'
0:00:03.563974796     1 0x7f394c047a30 INFO        GST_ELEMENT_PADS gstutils.c:1633:gst_element_link_pads_full: trying to link element rtpjitterbuffer0:src to element rtpptdemux0:sink
0:00:03.563983787     1 0x7f394c047a30 INFO        GST_ELEMENT_PADS gstelement.c:916:gst_element_get_static_pad: found pad rtpjitterbuffer0:src
0:00:03.563990174     1 0x7f394c047a30 INFO        GST_ELEMENT_PADS gstelement.c:916:gst_element_get_static_pad: found pad rtpptdemux0:sink
0:00:03.563995847     1 0x7f394c047a30 INFO                GST_PADS gstutils.c:1447:prepare_link_maybe_ghosting: rtpjitterbuffer0 and rtpptdemux0 in same bin, no need for ghost pads
0:00:03.564004675     1 0x7f394c047a30 INFO                GST_PADS gstpad.c:2315:gst_pad_link_prepare: trying to link rtpjitterbuffer0:src and rtpptdemux0:sink
0:00:03.564013235     1 0x7f394c047a30 INFO                GST_PADS gstpad.c:2523:gst_pad_link_full: linked rtpjitterbuffer0:src and rtpptdemux0:sink, successful
0:00:03.564031884     1 0x7f394c047a30 INFO               GST_EVENT gstevent.c:1511:gst_event_new_reconfigure: creating reconfigure event
0:00:03.564040560     1 0x7f394c047a30 INFO               GST_EVENT gstpad.c:5652:gst_pad_send_event_unchecked:<rtpjitterbuffer0:src> Received event on flushing pad. Discarding
0:00:03.564058204     1 0x7f394c047a30 INFO              GST_STATES gstelement.c:2394:gst_element_continue_state:<rtpptdemux0> committing state from NULL to READY, pending PLAYING, next PAUSED
0:00:03.564068879     1 0x7f394c047a30 INFO              GST_STATES gstelement.c:2324:_priv_gst_element_state_changed:<rtpptdemux0> notifying about state-changed NULL to READY (PLAYING pending)
0:00:03.564094602     1 0x7f394c047a30 INFO              GST_STATES gstelement.c:2401:gst_element_continue_state:<rtpptdemux0> continue state change READY to PAUSED, final PLAYING
0:00:03.564140738     1 0x7f394c047a30 INFO              GST_STATES gstelement.c:2394:gst_element_continue_state:<rtpptdemux0> committing state from READY to PAUSED, pending PLAYING, next PLAYING
0:00:03.564153798     1 0x7f394c047a30 INFO              GST_STATES gstelement.c:2324:_priv_gst_element_state_changed:<rtpptdemux0> notifying about state-changed READY to PAUSED (PLAYING pending)
0:00:03.564188007     1 0x7f394c047a30 INFO              GST_STATES gstelement.c:2401:gst_element_continue_state:<rtpptdemux0> continue state change PAUSED to PLAYING, final PLAYING
0:00:03.564199797     1 0x7f394c047a30 INFO              GST_STATES gstelement.c:2419:gst_element_continue_state:<rtpptdemux0> completed state change to PLAYING
0:00:03.564207839     1 0x7f394c047a30 INFO              GST_STATES gstelement.c:2324:_priv_gst_element_state_changed:<rtpptdemux0> notifying about state-changed PAUSED to PLAYING (VOID_PENDING pending)
0:00:03.564228615     1 0x7f394c047a30 INFO              GST_STATES gstelement.c:2394:gst_element_continue_state:<rtpjitterbuffer0> committing state from NULL to READY, pending PLAYING, next PAUSED
0:00:03.564240226     1 0x7f394c047a30 INFO              GST_STATES gstelement.c:2324:_priv_gst_element_state_changed:<rtpjitterbuffer0> notifying about state-changed NULL to READY (PLAYING pending)
0:00:03.564268082     1 0x7f394c047a30 INFO              GST_STATES gstelement.c:2401:gst_element_continue_state:<rtpjitterbuffer0> continue state change READY to PAUSED, final PLAYING
0:00:03.564388466     1 0x7f394c047a30 INFO                    task gsttask.c:456:gst_task_set_lock: setting stream lock 0x7f394c0572e0 on task 0xa5ccb0
0:00:03.564401497     1 0x7f394c047a30 INFO                GST_PADS gstpad.c:5998:gst_pad_start_task:<rtpjitterbuffer0:src> created task 0xa5ccb0
0:00:03.564558546     1 0x7f394c047a30 INFO              GST_STATES gstelement.c:2394:gst_element_continue_state:<rtpjitterbuffer0> committing state from READY to PAUSED, pending PLAYING, next PLAYING
0:00:03.564573355     1 0x7f394c047a30 INFO              GST_STATES gstelement.c:2324:_priv_gst_element_state_changed:<rtpjitterbuffer0> notifying about state-changed READY to PAUSED (PLAYING pending)
0:00:03.564604445     1 0x7f394c047a30 INFO              GST_STATES gstelement.c:2401:gst_element_continue_state:<rtpjitterbuffer0> continue state change PAUSED to PLAYING, final PLAYING
0:00:03.564642008     1 0x7f394c047a30 INFO              GST_STATES gstelement.c:2419:gst_element_continue_state:<rtpjitterbuffer0> completed state change to PLAYING
0:00:03.564652348     1 0x7f394c047a30 INFO              GST_STATES gstelement.c:2324:_priv_gst_element_state_changed:<rtpjitterbuffer0> notifying about state-changed PAUSED to PLAYING (VOID_PENDING pending)
0:00:03.564675820     1 0x7f394c047a30 INFO        GST_ELEMENT_PADS gstelement.c:916:gst_element_get_static_pad: found pad rtpssrcdemux0:src_224199383
0:00:03.564686249     1 0x7f394c047a30 INFO        GST_ELEMENT_PADS gstelement.c:916:gst_element_get_static_pad: found pad rtpjitterbuffer0:sink
0:00:03.564732443     1 0x7f394c047a30 INFO                GST_PADS gstpad.c:2315:gst_pad_link_prepare: trying to link rtpssrcdemux0:src_224199383 and rtpjitterbuffer0:sink
0:00:03.564752292     1 0x7f394c047a30 INFO                GST_PADS gstpad.c:2523:gst_pad_link_full: linked rtpssrcdemux0:src_224199383 and rtpjitterbuffer0:sink, successful
0:00:03.564762860     1 0x7f394c047a30 INFO               GST_EVENT gstevent.c:1511:gst_event_new_reconfigure: creating reconfigure event
0:00:03.564782966     1 0x7f394c047a30 INFO        GST_ELEMENT_PADS gstelement.c:916:gst_element_get_static_pad: found pad rtpssrcdemux0:rtcp_src_224199383
0:00:03.564790949     1 0x7f394c047a30 INFO        GST_ELEMENT_PADS gstelement.c:913:gst_element_get_static_pad: no such pad 'sink_rtcp' in element "rtpjitterbuffer0"
0:00:03.564811439     1 0x7f394c047a30 INFO        GST_ELEMENT_PADS gstelement.c:668:gst_element_add_pad:<rtpjitterbuffer0> adding pad 'sink_rtcp'
0:00:03.564820136     1 0x7f394c047a30 INFO                GST_PADS gstpad.c:2315:gst_pad_link_prepare: trying to link rtpssrcdemux0:rtcp_src_224199383 and rtpjitterbuffer0:sink_rtcp
0:00:03.564827200     1 0x7f394c047a30 INFO                GST_PADS gstpad.c:2523:gst_pad_link_full: linked rtpssrcdemux0:rtcp_src_224199383 and rtpjitterbuffer0:sink_rtcp, successful
0:00:03.564833177     1 0x7f394c047a30 INFO               GST_EVENT gstevent.c:1511:gst_event_new_reconfigure: creating reconfigure event
0:00:03.635647980     1 0x7f394c0479e0 WARN               rtpsource rtpsource.c:1176:update_receiver_stats: probation: seqnr 8513 != expected 8487
0:00:03.841338906     1 0x7f394c047990 INFO               GST_EVENT gstevent.c:808:gst_event_new_caps: creating caps event application/x-rtcp
0:00:03.841416320     1 0x7f394c047990 INFO               GST_EVENT gstevent.c:889:gst_event_new_segment: creating segment event time segment start=0:00:00.000000000, offset=0:00:00.000000000, stop=99:99:99.999999999, rate=1.000000, applied_rate=1.000000, flags=0x00, time=0:00:00.000000000, base=0:00:00.000000000, position 0:00:00.000000000, duration 99:99:99.999999999
0:00:04.477336441     1 0x7f394c0479e0 INFO               GST_EVENT gstevent.c:808:gst_event_new_caps: creating caps event application/x-rtp, media=(string)video, payload=(int)96, clock-rate=(int)90000, encoding-name=(string)H264, packetization-mode=(string)1, profile-level-id=(string)640033, sprop-parameter-sets=(string)"Z2QAM60AxSAMADZsBbgICA0g8SIq\,aO48sA\=\=", a-tool=(string)GStreamer, a-type=(string)broadcast, a-ts-refclk=(string)local, a-mediaclk=(string)sender, a-recvonly=(string)"", a-framerate=(string)30.000000, a-transform=(string)"1.000000\,0.000000\,0.000000\;0.000000\,1.000000\,0.000000\;0.000000\,0.000000\,1.000000", ssrc=(uint)224199383, clock-base=(uint)1603027092, seqnum-base=(uint)7996, npt-start=(guint64)0, play-speed=(double)1, play-scale=(double)1
0:00:04.477495478     1 0x7f394c0479e0 FIXME        rtpjitterbuffer gstrtpjitterbuffer.c:1488:gst_jitter_buffer_sink_parse_caps:<rtpjitterbuffer0> Unsupported timestamp reference clock
0:00:04.477535314     1 0x7f394c0479e0 FIXME        rtpjitterbuffer gstrtpjitterbuffer.c:1496:gst_jitter_buffer_sink_parse_caps:<rtpjitterbuffer0> Unsupported media clock
0:00:04.477549749     1 0x7f394c0479e0 INFO         rtpjitterbuffer rtpjitterbuffer.c:778:rtp_jitter_buffer_calculate_pts: resync to time 0:00:03.790881021, rtptime 4:56:55.112188888
0:00:04.477549749     1 0x7f394c0479e0 INFO         rtpjitterbuffer gstrtpjitterbuffer.c:2486:calculate_expected:<rtpjitterbuffer0> lost packets (540, #7996->#8535) duration too large 0:00:03.790881021 > 0:00:02.000000000, consider 254 lost (0:00:01.783873420)
0:00:05.492519512     1 0x7f394c0479e0 WARN         rtpjitterbuffer gstrtpjitterbuffer.c:2960:gst_rtp_jitter_buffer_chain:<rtpjitterbuffer0> 141 pending timers > 120 - resetting
0:00:06.448855233     1 0x7f394c0479e0 INFO         rtpjitterbuffer rtpjitterbuffer.c:778:rtp_jitter_buffer_calculate_pts: resync to time 0:00:05.762485567, rtptime 4:56:57.078877777
0:00:08.450885123     1 0x7f39380036d0 INFO         rtpjitterbuffer gstrtpjitterbuffer.c:3800:do_deadline_timeout:<rtpjitterbuffer0> got deadline timeout

This has been resolved. After chatting with AWS KVS support, the issue that I believe is going on here is that it seems UDP connection is a known issue within a container. After forcing TCP by using do-rtcp=TRUE rtspt://... params in the gstreamer command seen here fixed the issue!

Glad it worked for you! As always, feel free to reach out if you have any more questions.


IFormFile and FileName

Hello,
I am uploading files in my new App and wanted to get the Original FileName from the upload file. Per Articles i see this is done by the following code
 var fileName = ContentDispositionHeaderValue.Parse(file.ContentDisposition).FileName.Trim('"');

However when i do this i am getting the full Path not just the filename as expected.
So instead of 'testdoc.txt' im getting 'C:\this is a Folder\another folder\etc...\Testdoc.txt'

That value is provided by the client. What client are you using?

Currently testing in IE Edge.  Shouldnt this be included in the IFormFile handling? or another Propery called FullPath. As its kind of deceptive

We're just giving you the FileName field from the request. The client can put anything they want in that field.

Try it on a few different clients for comparison.

The RFC defines the field as a "filename" (and that's indeed the key used in the header), so we had the names in ASP.NET's APIs match the spec. The RFC also suggests that the client (i.e. sender) can put just about anything they want there (just filename, full path, garbage, as long as it's US-ASCII).


CircleCI API deprecation problem

CircleCI is forcing new API we need to adjust before August 31.

As far as I remember @patrys migrated our config to 2.0 some time ago.

Correct: https://github.com/mirumee/saleor/blob/c560c188e8bcc08b813f386e1e802fdc1f539da6/.circleci/config.yml#L1


linux-wifi-hotspot: move to pkgs/by-name, nixfmt-rfc-style, add johnrtitor as maintainer

Description of changes
linux-wifi-hotspot: move to pkgs/by-name, nixfmt-rfc-style, add johnrtitor as maintainer
Things done

Built on platform(s)

[x] x86_64-linux
[ ] aarch64-linux
[ ] x86_64-darwin
[ ] aarch64-darwin

For non-Linux: Is sandboxing enabled in nix.conf? (See Nix manual)

[ ] sandbox = relaxed
[ ] sandbox = true

[ ] Tested, as applicable:

NixOS test(s) (look inside nixos/tests)
and/or package tests
or, for functions and "core" functionality, tests in lib/tests or pkgs/test
made sure NixOS tests are linked to the relevant packages

[ ] Tested compilation of all packages that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review rev HEAD". Note: all changes have to be committed, also see nixpkgs-review usage
[ ] Tested basic functionality of all binary files (usually in ./result/bin/)
24.11 Release Notes (or backporting 23.11 and 24.05 Release notes)

[ ] (Package updates) Added a release notes entry if the change is major or breaking
[ ] (Module updates) Added a release notes entry if the change is significant
[ ] (Module addition) Added a release notes entry if adding a new NixOS module

[x] Fits CONTRIBUTING.md.

Add a :+1: reaction to pull requests you find important.

This is great, thank you :)


[NUKE] Cryptomatte Gizmo not working properly with stereo renders

Hi,
We just noticed that the Cryptomatte gizmo is having a hard time properly picking up the metadata when using Read nodes with the "%V" placeholder for stereo views in a stereo comp.
Updating all calls to nuke.Node().metadata() to nuke.Node().metadata(view=nuke.thisView()) solves this and works as expected again also for non stereo.
(Nuke 11.2)

Thanks for this, it should be fixed in the just released bug fix version, 1.2.4.


More precise check of sId to prevent collision

Description
We check that it starts with the prefix and _ to avoid collision with legacy ids.
Risk
N/A
Deploy Plan

deploy front

PMRR


How do I handle server-side graphql errors?

Hi all,
Firstly, I love the kit. It's been amazing.
I've run into a small issue where I am using Authentication / Authorization for a GraphQL server. All it does currently is throw an error when the user is not Authenticated - this works fine client side, but on server side, it just fails entirely.
if (ctx.header.authorization) {
      token = verify(ctx.header.authorization.replace('Bearer ', ''), process.env.APP_SECRET);
    }
    if (!token) {
      return ctx.throw(401, '401 - Unauthorized');
    }

How would I tell the kit to ignore any GraphQL errors and still render the the React components? All I basically want it to do is still render even if there is an error.
I've implemented this in the networkInterface, but it seems that the error still gets triggered in the kit.
const logErrors = {
  applyAfterware({ response }, next) {
    if (!response.ok) {
      response.clone().text().then(bodyText => {
        console.log(`Network Error: ${response.status} (${response.statusText}) - ${bodyText}`);
        next();
      });
    } else {
      response.clone().json().then(({ errors }) => {
        if (errors) {
          console.log('GraphQL Errors:', errors.map(e => e.message));
        }
        next();
      });
    }
  },
};

networkInterface.useAfter([logErrors]);

Thanks.

By default, the server is set-up to catch errors in the generic handler that's set-up on all Koa routes:
  .use(async (ctx, next) => {
    try {
      await next();
    } catch (e) {
      // TODO we've used rudimentary console logging here.  In your own
      // app, I'd recommend you implement third-party logging so you can
      // capture errors properly
      console.log('Error', e.message);
      ctx.body = 'There was an error. Please try again later.';
    }

That's because how errors should be handled is entirely up to the developer. In some cases, getting back an empty or erroneous response from a GraphQL endpoint is enough to crash the request rather than render back a half-formed component. Other times, you might not want to expose errors at all, or you may wish to implement your own third-party logging.
If you want to ignore errors, just wrap this line in try/catch block, like:
    try {
      await getDataFromTree(components);
    } catch (e) { /* ignore */ }

If you want the client and server Apollo clients to act differently in each environment, then these lines are what you'll want to edit.
By default, a client is created in the same way in each environment (with the exception of ssrMode: true on the server), but you could just as easily have a custom network interface on the client that handles 401 errors, and one on the server that ignores them entirely.
Hopefully that answers your Q, but if you need any further help lemme know.

That fixed it, thank you very much.


export component's context hook

Feature request
export component's context
Overview
I creating theme props for accordion component and I can not get current component's state for my custom Arrow component. For example, accordion component has useAccordionValueContext

Examples in other libraries

Who does this impact? Who is this for?
Advanced

Additional context
My example and my Arrow component

Hi @ailchenkoDynamo,
The accordion trigger has a data attribute (data-state="open|closed") to help with styling. If this isn't enough and you need the state in JavaScript for some reason, you can control your component.

Why create unnecessary states when you can just use the context and easily reuse?

Why create unnecessary states when you can just use the context and easily reuse?

We are trying to keep the API surface as minimal as possible. Most use cases are covered with the data attributes, or controlling the primitive.

Hi @benoitgrelard, I also want the context hook on library level. Here's why:

If we need the state for animation, it's simpler to write css transition than animation.
The picture is cuptured from dialog example. I would want to know the open state in Content. So I can utilize it with <Transition /> from headlessui.

tailwindcss animationing in/out a component usually done by transition classes. And it's inconvenient to write animation with tailwindcss.

Although the reasons seem tailwindcss-ish. I think it would apply to other styling solutions.

@QzCurious The open state is already available to you via the controlled props:
https://codesandbox.io/s/tailwind-transition-6pwf41?file=/src/App.js

Thanks for response. I understand that I can controll open state. And currently I make my own context for open state so Content can useOpenState. But it just a bit annoying to make the extra code every time I need that state.

But it just a bit annoying to make the extra code every time I need that state.

Yeah I can understand your perspective here, as @benoitgrelard mentioned we want to limited the api surface but this can add additional complexity in some cases, especially if you then need to share this controlled value with other components e.g. in an open api design system.
Thanks for your feedback 🙏


Question about training a model with value generation

I am so interested in your excellent work and follow your instructions to reproduce the experiment.
I am wondering if i could train a model with value gneration rather that a special token "value"?

自动回复：这里是金能征的邮箱，您的信件已被收入。This is Jin Nengzheng. Your letter have been received and will be disposed as soon as possible.

Yes, you can. You have to change the grammar file and rewrite the transition system.

Working towards that. Codes will be released if everything is ok.

Any news about that issue?

自动回复：这里是金能征的邮箱，您的信件已被收入。This is Jin Nengzheng. Your letter have been received and will be disposed as soon as possible.

Working towards that. Codes will be released if everything is ok.

how about the process？Thanks.

Any news on the issue?

Yes, you can. You have to change the grammar file and rewrite the transition system.

hello,
what are the changes to make to the grammar file and the transition system?


Flixclusive application does not work videos

Hello friend The movies and series don t come out This message sells me click on some movies and series.
Error while fetching  data
please apk v1.3.0

helo, does this happen everytime?

Hello friend If it happens all the time but the apk application stopped working, there are no changes and improvements for the year 2023 we are in November 2023 please apk v.1.3.0 version android tv

some movies and series

what specific movies/tv shows are these?

some movies and series

what specific movies/tv shows are these?

I get that the application apk is under maintenance and v1.3.0 is still not available

#18

Duplicate of #18

reopen this if its not a duplicate of that said issue


[mathTransform] what's the purpose of test_functions unit test?

It's not clear to me what the purpose of test_mathTransform.py::MathTransformTest.test_functions is.
It seems to assert that at least for some of the _testData, the three testFunctions yield slightly different results.
However:

only the results of the first and second functions are compared, the third seems to be ignored;
the assertion is too broad and catch-all: it's not very useful to know that sometimes given some random interpolation values results may be different. I would like to know when, how different and why.

Another problem is that since the interpolation value is random.random(), sometimes the test can unpredictably fail (i.e. FontMathWarning is never raised, all results are same between functions), for example:
https://travis-ci.org/typesupply/fontMath/jobs/172252357#L356
I think we need to narrow this test down a little bit, though I'm not sure how.
Maybe @typesupply or @moyogo can shed some light?
def test_functions(self):
        """
        In this test various complex transformations are interpolated using
        3 different methods:
          - straight linear interpolation, the way glyphMath does it now.
          - using the MathTransform interpolation method.
          - using the ShallowTransform with an initial decompose and final
            compose.
        """
        value = random()
        testFunctions = [
            _polarDecomposeInterpolationTransformation,
            _mathPolarDecomposeInterpolationTransformation,
            _linearInterpolationTransformMatrix,
        ]
        with self.assertRaisesRegex(
                FontMathWarning,
                "Minor differences occured when "
                "comparing the interpolation functions."):
            for i, m in enumerate(_testData):
                m1, m2 = m
                results = []
                for func in testFunctions:
                    r = func(m1, m2, value)
                    results.append(r)
                if not results[0] == results[1]:
                    raise FontMathWarning(
                        "Minor differences occured when "
                        "comparing the interpolation functions.")

@typesupply I'm going to temporarily disable this test, as it risks making the whole CI build fail in random fashion (not nice while you're tagging a release).
Could you have a look at some point? I don't understand the purpose of this test...
Thank you.

I don't know anything about this functionality. Sorry. I think @letterror added it here: https://github.com/typesupply/fontMath/commit/4a1f0fcbd2cde660dc5baaebbcea35189490ec24 Erik, any advice?

Ok thanks Tal.

I will look at this next week, sorry.
Erik

On 27 Jan 2017, at 18:00, Tal Leming<EMAIL_ADDRESS>wrote:
I don't know anything about this functionality. Sorry. I think @letterror added it here: 4a1f0fc Erik, any advice?
―
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub, or mute the thread.

I have disabled the intermittently failing test_functions test with commit https://github.com/typesupply/fontMath/commit/21b8bb80bfeb0d1d3de3457ede3574e24c13c76d.
E.g. see one recent Travis build failure caused by that: https://travis-ci.org/typesupply/fontMath/builds/279556453
I don't have the time to investigate right now. I think it's better to disable it until somebody figures out how to properly fix it.
Very low priority.


migration: explain in advance that projects and launchers functionality will be removed during the upgrade

project labels can't be supported anymore in CE part as well as launchers (git integration).
we have to explain this info in release doc to clarify that some data might be lost after upgrade

fixed

Verified.


Implement better error types

This important for the library user to know what wrong happen when something wrong happen 😃
But it is also important for us to know what is the source of an error.
There is a big problem for the moment, we use RocksDB, that is a C++ library wrapper, errors are just simple strings. We do not have any information on the kind of the error, is it an IO error, a logic error ? Does the key that I want to remove does not exists or is it wrongly spelled ?
We can probably create a workaround that wil be an enum error wrapping the RocksDB error String...

It is not longer relevant as we use LMDB through heed and errors are typed.


ZADD requires an equal number of values and scores

When attempting to schedule a job through Django's admin site, I get the following traceback:
File "/local/lib/python3.6/site-packages/django/core/handlers/exception.py" in inner
  34.             response = get_response(request)

File "/local/lib/python3.6/site-packages/django/core/handlers/base.py" in _get_response
  126.                 response = self.process_exception_by_middleware(e, request)

File "/local/lib/python3.6/site-packages/django/core/handlers/base.py" in _get_response
  124.                 response = wrapped_callback(request, *callback_args, **callback_kwargs)

File "/local/lib/python3.6/site-packages/django/contrib/admin/options.py" in wrapper
  604.                 return self.admin_site.admin_view(view)(*args, **kwargs)

File "/local/lib/python3.6/site-packages/django/utils/decorators.py" in _wrapped_view
  142.                     response = view_func(request, *args, **kwargs)

File "/local/lib/python3.6/site-packages/django/views/decorators/cache.py" in _wrapped_view_func
  44.         response = view_func(request, *args, **kwargs)

File "/local/lib/python3.6/site-packages/django/contrib/admin/sites.py" in inner
  223.             return view(request, *args, **kwargs)

File "/local/lib/python3.6/site-packages/django/contrib/admin/options.py" in add_view
  1636.         return self.changeform_view(request, None, form_url, extra_context)

File "/local/lib/python3.6/site-packages/django/utils/decorators.py" in _wrapper
  45.         return bound_method(*args, **kwargs)

File "/local/lib/python3.6/site-packages/django/utils/decorators.py" in _wrapped_view
  142.                     response = view_func(request, *args, **kwargs)

File "/local/lib/python3.6/site-packages/django/contrib/admin/options.py" in changeform_view
  1525.             return self._changeform_view(request, object_id, form_url, extra_context)

File "/local/lib/python3.6/site-packages/django/contrib/admin/options.py" in _changeform_view
  1564.                 self.save_model(request, new_object, form, not add)

File "/local/lib/python3.6/site-packages/django/contrib/admin/options.py" in save_model
  1091.         obj.save()

File "/local/lib/python3.6/site-packages/scheduler/models.py" in save
  77.             self.schedule()

File "/local/lib/python3.6/site-packages/scheduler/models.py" in schedule
  157.         job = self.scheduler().schedule(**kwargs)

File "/local/lib/python3.6/site-packages/rq_scheduler/scheduler.py" in schedule
  214.                               {job.id: to_unix(scheduled_time)})

File "/local/lib/python3.6/site-packages/redis/client.py" in zadd
  2051.                 raise RedisError("ZADD requires an equal number of "

Exception Type: RedisError at /admin/scheduler/repeatablejob/add/
Exception Value: ZADD requires an equal number of values and scores

Note: I shortened the paths because in the traceback because they were about nine miles long.

This could use someone's eyeballs as it's still an issue.


Sound not found inside cache folder - app crash

Checklist

[X] I read the troubleshooting guide before raising this issue
[X] I made sure that the issue I am raising doesn't already exist

Current bug behaviour
I published my app to google play store, I use crashlytics and I see following stacktraces:
PlatformException(AndroidAudioError, Failed to set source. For troubleshooting, see: https://github.com/bluefireteam/audioplayers/blob/main/troubleshooting.md, java.io.FileNotFoundException: /data/user/0/com.companyname.myPackageName/cache/audio/AnswerCorrect.mp3: open failed: ENOENT (No such file or directory) at libcore.io.IoBridge.open(IoBridge.java:574) at java.io.FileInputStream.<init>(FileInputStream.java:160) at android.media.MediaPlayer.setDataSource(MediaPlayer.java:1272) at android.media.MediaPlayer.setDataSource(MediaPlayer.java:1243) at android.media.MediaPlayer.setDataSource(MediaPlayer.java:1208) at ra.d.a(Unknown Source:7) at qa.m.h(Unknown Source:10) at qa.s.K(Unknown Source:15) at pa.m.L(Unknown Source:552) at pa.m.o(Unknown Source:0) at pa.m$b.b(Unknown Source:14) at pa.m$b.invoke(Unknown Source:4) at pa.m$d.invokeSuspend(Unknown Source:16) at kotlin.coroutines.jvm.internal.a.resumeWith(Unknown Source:11) at ba.y0.run(Unknown Source:93) at ga.o$a.run(Unknown Source:3) at ia.k.run(Unknown Source:2) at ia.a.R(Unknown Source:0) at ia.a$c.d(Unknown Source:14) at ia.a$c.p(Unknown Source:28) at ia.a$c.run(Unknown Source:0) Caused by: android.system.ErrnoException: open failed: ENOENT (No such file or directory) at libcore.io.Linux.open(Native Method) at libcore.io.ForwardingOs.open(ForwardingOs.java:563) at libcore.io.BlockGuardOs.open(BlockGuardOs.java:274) at libcore.io.ForwardingOs.open(ForwardingOs.java:563) at android.app.ActivityThread$AndroidOs.open(ActivityThread.java:8641) at libcore.io.IoBridge.open(IoBridge.java:560) ... 20 more , null)
I have my sound files in my 'assets', but it seems that your package creates sounds files inside temp cache directory, look : java.io.FileNotFoundException: /data/user/0/com.companyname.myPackageName/cache/audio/AnswerCorrect.mp3.
Android sometimes deletes cache directory, for example when there is not enough space on the disk, you should keep those temp files inside app data directory instead of temp folder.
Expected behaviour
You should not keep temp files inside cache folder, it will fix this issue.
Steps to reproduce

Execute flutter run on the code sample
...
...

Code sample
static void playSound() async {     final player = AudioPlayer();     await player.play(AssetSource('audio/AnswerCorrect.mp3'));   }
Affected platforms
Android
Platform details
No response
AudioPlayers Version
6.0.0
Build mode
debug, profile, release
Audio Files/URLs/Sources
No response
Screenshots
No response
Logs

my relevant logs

Full Logs

my full logs or a link to a gist

Flutter doctor:
Output of: flutter doctor -v

Related issues / more information
No response
Working on PR
no way

If I do somthing wrong, please explain me how can I fix this issue.

+1 I'm facing this a lot too

+1

+1


Fix timestamp format for SSOCredentialFetcher

The timestamp format for SSO credentials was originally intended to be an RFC 3339 style timestamp in UTC. Due to a typo in the original AssumeRole implementation, the timezone is being converted to UTC instead of a literal Z. We're going to correct the SSO implementation since the current timestamp is incompatible with the other AWS SDKs. The AssumeRole timestamp will be left unchanged for now to preserve as much backwards compatibility as possible.
Customers that are upgrading should have their timestamp format updated on their next login or credential refresh with SSO.

Codecov Report

Merging #2250 (f523ebe) into develop (96f9740) will decrease coverage by 0.45%.
The diff coverage is 80.00%.

@@             Coverage Diff             @@
##           develop    #2250      +/-   ##
===========================================
- Coverage    98.25%   97.80%   -0.46%
===========================================
  Files           58       58
  Lines        10857    10728     -129
===========================================
- Hits         10668    10492     -176
- Misses         189      236      +47

Impacted Files
Coverage Δ

botocore/credentials.py
98.42% <80.00%> (-0.22%)
:arrow_down:

botocore/compat.py
71.83% <0.00%> (-22.48%)
:arrow_down:

botocore/hooks.py
95.18% <0.00%> (-0.81%)
:arrow_down:

botocore/httpsession.py
92.48% <0.00%> (-0.58%)
:arrow_down:

botocore/awsrequest.py
97.19% <0.00%> (-0.38%)
:arrow_down:

botocore/model.py
98.01% <0.00%> (-0.23%)
:arrow_down:

botocore/utils.py
97.54% <0.00%> (-0.20%)
:arrow_down:

botocore/docs/bcdoc/restdoc.py
96.26% <0.00%> (-0.17%)
:arrow_down:

botocore/retries/bucket.py
98.48% <0.00%> (-0.09%)
:arrow_down:

... and 13 more

Continue to review full report at Codecov.

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

Technically, shouldn't _serialize_rfc3339_timestamp verify something like value.tzinfo == utc() before writing the zulu time format, and otherwise write it out with the offset from the tzinfo?

Technically, shouldn't _serialize_rfc3339_timestamp verify something like value.tzinfo == utc() before writing the zulu time format, and otherwise write it out with the offset from the tzinfo?

It appears that the value being passed in I'd generated from a timestamp, and the tz is being set as utc.
So long as this remains a private function, and is called with a value set correctly, then it should be fine, but it is good defensive practice to validate, or at least document in the function's docstring.

Agreed, we should add a docstring here for the private function so it's clear we're expecting the datetime to already be in UTC.


add HTTP 502 to response status that trigger retry

separating this out from https://github.com/gro-intelligence/api-client/pull/227

This (placement of 502 code) is the trivial part. There is a more serious problem which was addressed in the original commit of client.py of the new similar region branch, see
https://github.com/gro-intelligence/api-client/pull/227/commits/d200b3a5741b630618635aa1e6de1d9588160ddc
Note extra break statement added to avoid treating other exceptions as success.
If you want to move updates to client.py into a separate PR (which is probably a good idea),  you might want to move this more important update as well

@ash-gro it seems like the changes in that commit got lost later? Looking at the overall files-changed view for #227, I don't see that extra break in client.py.
(Also in the commit you linked, the 502 seems to be placed in the "fail immediately" elif conditional)

There were two changes to client.py made within similar regions (#227).  One was in the very original commit and included

the extra 'break' (which is actually a bug fix)
adding 502 code

The later update (one which @nemozen extracted into this separate PR) just changes where to place particular code 502 and was done at the request of @itsjohnward. It is indeed legitimate, but I want to make sure the more important first one is not lost which seems exactly what has happened somehow (probably due to restructuring of overall API code - relevant code was moved to groclient).

@ash-gro it seems like we should just remove the elif conditional and always break when the status code isn't within a list of whitelisted/retryable codes, right?
Can you say how you ran into this issue? By my reading, not adding the break just means that we will retry a few extra times before finally raising the exception.

Consider what happens if we get any exception not covered by the explicitly stated status_code's. I guess this is rare but that's what happened to me (and conceptually you can not expect to have exhaustive set of error codes there). We are catching all exceptions, and in the original code (no extra break) we simply do nothing and fall through to the end of except Exception as e: clause. At this point exception is considered handled and we proceed to the "Request was successful" part which is clearly not what actually happened. This leads to returning some unknown results which caller sees as valid.

Yes, removing elif should have the same effect but I would guess the 400-level codes were singled out for some reason (maybe some additional TODO processing), so I did not want to remove this
Consider what happens if we get any exception not covered by the explicitly stated status_code's. I guess this is rare but that's what happened to me (and conceptually you can not expect to have exhaustive set of error codes there). We are catching all exceptions, and in the original code (no extra break) we simply do nothing and fall through to the end of except Exception as e: clause. At this point exception is considered handled and we proceed to the "Request was successful" part which is clearly not what actually happened. This leads to returning some unknown results which caller sees as valid.

yes the api server tries to respect the standard meaning of http response codes.

those 4xx status codes  => "not found",  i.e. the api server is saying there is no error, simply the data does not exist (400 means malformed request, 401 is permission denied, 402 is when the client has reached their data limit and 404 is when the entity or series does not exist) , so we don't want to retry in those cases since the answer will be the same

429 => "too many requests",  https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/429 so for that one we do want to retry but more slowly hence the exponential backoff

5xx   => server processing failures where do we want to retry.

@ash-gro I think I ran into the scenario you were describing with the client silently ignoring errors.
import os
from groclient import GroClient

client = GroClient('api.gro-intelligence.com', os.environ['GROAPI_TOKEN'])
# Create a new GroClient (which reuses AsyncHTTPClient), then cause the
# original GroClient's destructor to run (which closes the shared
# AsyncHTTPClient).
client = GroClient('api.gro-intelligence.com', os.environ['GROAPI_TOKEN'])

# Logs `fetch() called on closed AsyncHTTPClient`. data is just [None]
data = client.batch_async_get_data_points([
    {'metric_id': 860032, 'item_id': 274, 'region_id': 1215, 'frequency_id': 9, 'source_id': 2},
])
print(data)

In this test script, the batch_async_get_data_points call triggers a bug in GroClient (see #297), the error is logged but "handled", and data is just [None].
When I add the break that you mention, the resulting data becomes [BatchError(RuntimeError('fetch() called on closed AsyncHTTPClient'), ...)].
Does that match what you were trying to achieve with your original commit?

Certainly feels like the same issue (silently ignoring unlisted errors and returning some output as if no error occurred) ...


[auto-merge] branch-21.08 to branch-21.10 [skip ci] [bot]

auto-merge triggered by github actions on branch-21.08 to create a PR keeping branch-21.10 up-to-date. If this PR is unable to be merged due to conflicts, it will remain open until manually fix.

SUCCESS - auto-merge


Error with AJAX request

Laravel Version
11
PHP Version
8.2
Database Driver & Version
No response
Description
! I submit the form via AJAX, the data is added to the database, after which the site breaks with errors:

html:
@extends('layouts/main')
@section('content')

Новый пользователь:

@csrf

Имя:

Телефон:

Электронная почта:

Отправить

@endsection
js
$(document).ready(function () {
$('form').submit(function (event) {
let json;
event.preventDefault();
$.ajax({
type: $(this).attr('method'),
url: $(this).attr('action'),
headers: {
'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content')
},
data: new FormData(this),
contentType: false,
cache: false,
processData: false,
success: function (result) {
json = jQuery.parseJSON(result);
console.log(json)
if (json.status === 'error') {
document.getElementById('error').innerText = json.message
}
if (json.href) {
window.location.href = '/' + json.href;
}
},
});
});
});
laravel
public function store(UserRequest $request): UserResource
{
$validatedData = $request->validated();
$userDTO = UserDTO::from($validatedData);
$created_user = $this->userService->createUser($userDTO);
return new UserResource($created_user);
}
Steps To Reproduce
https://github.com/Leksizz/issue

Hi there,
Thanks for reporting but it looks like this is a question which can be asked on a support channel. Please only use this issue tracker for reporting bugs with the library itself. If you have a question on how to use functionality provided by this repo you can try one of the following channels:

Laracasts Forums
Laravel.io Forums
StackOverflow
Discord or InertiaJS Discord for Inertia questions
Larachat
IRC

However, this issue will not be locked and everyone is still free to discuss solutions to your problem!
Thanks.


feat(linter): add noNoninteractiveElementInteractions rule

Summary

Implement jsx-a11y/no-noninteractive-element-interactions
Close #3936
Test Plan

Added tests from rule source

I noticed that I also pushed 'lib.rs' by mistake.
I will rebase and fix it later.


Find Pull Requests by tracked branches not by local branches

Issue Type: Feature Request
Currently the github pull requests view compares the local branch name with the remote branch name neglecting that the local branch name might have gotten renamed but is still tracking the same remote branch. In order to have a consistant behaviour between local customized branches and static remote branches it would be great if the primary key would be the tracked branch.
Extension version: 0.4.0
VS Code version: Code - Insiders 1.32.0-insider (4e68ba25fbc752e3d7da488b8d3db374029577d6, 2019-02-18T06:15:59.901Z)
OS version: Darwin x64 17.7.0

This has since been fixed!


feat(illustratedmessage): adding new s2 tokens

Description
Adding new S2 tokens for illustratedmessage
Renamed mods (Dropzone)
--mod-illustrated-message-tile-to-heading > --mod-illustrated-message-illustration-to-heading
--mod-illustrated-message-heading-to-body > --mod-illustrated-message-heading-to-description
--mod-illustrated-message-content-maximum-width > --mod-illustrated-message-vertical-maximum-width
Removed tokens (Illustrated message)
--spectrum-illustrated-message-title-to-heading
Validation steps

[x] Added title and body tokens
[x] Added CJK tokens

Regression testing
Validate:

The documentation pages for at least two other components are still loading, including:

[ ] The pages render correctly, are accessible, and are responsive.

If components have been modified, VRTs have been run on this branch:

[ ] VRTs have been run and looked at.
[ ] Any VRT changes have been accepted (by reviewer and/or PR author), or there are no changes.

Screenshots

To-do list

[ ] I have read the contribution guidelines.
[ ] I have updated relevant storybook stories and templates.
[ ] I have tested these changes in Windows High Contrast mode.
[ ] If my change impacts other components, I have tested to make sure they don't break.
[ ] If my change impacts documentation, I have updated the documentation accordingly.
[ ] ✨ This pull request is ready to merge. ✨

This is looking great! There are some typography tokens that need to be updated to match the spec, and the illustration color token also needs updating, but otherwise colors and layouts are looking good!
A couple of other thoughts I had:

Could we drop the update tokens commit and use the yarn.lock from spectrum-two? That might be safer than the updates on this branch.
We'll need to update documentation (like the Docs page in Storybook) for Illustrated message since we're introducing a new variant and t-shirt sizing), I think it'd be ok to do this later once we get these changes in main since we've had a lot of documentation changes between these two branches, but maybe we could ensure that we write a Jira card so we don't lose track of the fact that the work needs to be done? What do you think?

I thought I merged the updates from spectrum-two

This is looking great! There are some typography tokens that need to be updated to match the spec, and the illustration color token also needs updating, but otherwise colors and layouts are looking good!
A couple of other thoughts I had:

Could we drop the update tokens commit and use the yarn.lock from spectrum-two? That might be safer than the updates on this branch.
We'll need to update documentation (like the Docs page in Storybook) for Illustrated message since we're introducing a new variant and t-shirt sizing), I think it'd be ok to do this later once we get these changes in main since we've had a lot of documentation changes between these two branches, but maybe we could ensure that we write a Jira card so we don't lose track of the fact that the work needs to be done? What do you think?

I thought I merged the updates from spectrum-two

You did! There were just deviations in the yarn.lock and we probably don't need to increment the tokens/package.json here either. I'm not sure if a git revert on that commit would also do the trick, but the goal would be to avoid committing a new yarn.lock since we're not making any package changes.

Adobe Clean doesn't render correctly for the component anymore 😅

Adobe Clean doesn't render correctly for the component anymore 😅

Do you have a screen shot of what this looks like for you? I did notice some weirdness with tokens disappearing - like for instance the space between the description and button group would suddenly stop being defined, but I couldn't figure out what was triggering it and so far it's been rendering fine for me.

Adobe Clean doesn't render correctly for the component anymore 😅

Do you have a screen shot of what this looks like for you? I did notice some weirdness with tokens disappearing - like for instance the space between the description and button group would suddenly stop being defined, but I couldn't figure out what was triggering it and so far it's been rendering fine for me.


Metadata v.s OneOf : which is better?

After we found that the @chatie/grpc < 0.18 has a problem that it will send big (i.e. 100MB) files in the gRPC request directly, which will block the Node.js event loop (https://github.com/wechaty/wechaty-puppet-hostie/issues/80), we decided to use a grpc stream service to solve this problem. (#90)
However, the gRPC streaming services can only have a single parameter, which makes us have to find a way to pass more parameters when we are using a stream request.
There are two options for that:

use metadata with the gRPC call. It is clean and simple, however, it does not support static typing. (see #94)
use oneof in ProtoBuffer. It will be able to support static typing, however, it makes the stream complicated. (see https://github.com/windmemory/repro-grpc-bug/pull/1)

To be decided.

Does it make sense to follow similar protocol as S3 multipart upload requests? Would it be easier than streams?
https://docs.aws.amazon.com/AmazonS3/latest/dev/mpuoverview.html
That said, I think it is okay to keep metadata in each stream message (no need for oneof) since it is just a small price to pay to make the processing easy.

I personally think there is no better choice, these two designs have it's own pros and cons:
Use metadata

Pros: more convenient to use and implement, the code is less
Cons: loss constraint of typing, if anyone made a mistake in the code, it can only be found during runtime.

Use oneof of the protobuf

Pros: better constraint of typing(static typing)
Cons: hidden protocol (first payload has to be arguments other than filebox args, then filebox name, finally data stream), more complicate code

So in my opinion, this is a choice between dynamic typing and static typing and I am okay with both design.
But from Wechaty community perspective, I think the oneof design would be better, since the whole code style of Wechaty is lean to stronger constraint.

TypeScript code for using oneof with Protocol Buffers
1. Decode FileBox from ProtoBuf
const decoder = () => new TypedTransform<FileBoxChunk, any> ({
  transform: (chunk: FileBoxChunk, _: any, callback: any) => {
    if (!chunk.hasData()) {
      throw new Error('no data')
    }
    const data = chunk.getData()
    callback(null, data)
  },
  objectMode: true,
})

async function toFileBox (
  stream: Readable<FileBoxChunk>,
): Promise<FileBox> {
  const chunk = await firstData(stream)
  if (!chunk.hasName()) {
    throw new Error('no name')
  }
  const fileName = chunk.getName()
  const fileStream = stream.pipe(decoder())

  const fileBox = FileBox.fromStream(fileStream, fileName)

  return fileBox
}

2.  Encode FileBox to ProtoBuf
const encoder = () => new TypedTransform<any, FileBoxChunk> ({
  transform: (chunk: any, _: any, callback: any) => {
    const fileBoxChunk = new FileBoxChunk()
    fileBoxChunk.setData(chunk)
    callback(null, fileBoxChunk)
  },
  objectMode: true,
})

async function toFileBoxChunk (
  fileBox: FileBox,
): Promise<Readable<FileBoxChunk>> {
  const stream = new PassThrough({ objectMode: true })

  const chunk = new FileBoxChunk()
  chunk.setName(fileBox.name)

  // FIXME: Huan(202010) write might return false
  stream.write(chunk)

  fileBox
    .pipe(encoder())
    .pipe(stream)

  return stream
}

3. Decode MessageSendFile Args from ProtoBuf
const decoder = () => new TypedTransform<
  MessageSendFileStreamRequest,
  FileBoxChunk
>({
  transform: (chunk: MessageSendFileStreamRequest, _: any, callback: any) => {
    if (!chunk.hasFileBoxChunk()) {
      throw new Error('no file box chunk')
    }
    const fileBoxChunk = chunk.getFileBoxChunk()
    callback(null, fileBoxChunk)
  },
  objectMode: true,
})

async function toMessageSendFileStreamRequestArgs (
  stream: Readable<MessageSendFileStreamRequest>
): Promise<MessageSendFileStreamRequestArgs> {
  const chunk = await firstData(stream)
  if (!chunk.hasConversationId()) {
    throw new Error('no conversation id')
  }
  const conversationId = chunk.getConversationId()

  const fileBoxChunkStream = stream.pipe(decoder())
  const fileBox = await toFileBox(fileBoxChunkStream)

  return {
    conversationId,
    fileBox,
  }
}

4. Encode MessageSendFile Args to ProtoBuf
const encoder = () => new TypedTransform<
  FileBoxChunk,
  MessageSendFileStreamRequest
> ({
  transform: (chunk: FileBoxChunk, _: any, callback: any) => {
    const req = new MessageSendFileStreamRequest()
    req.setFileBoxChunk(chunk)
    callback(null, req)
  },
  objectMode: true,
})

async function toMessageSendFileStreamRequest (
  conversationId: string,
  fileBox: FileBox,
): Promise<Readable<MessageSendFileStreamRequest>> {
  const stream = new PassThrough({ objectMode: true })

  const req1 = new MessageSendFileStreamRequest()
  req1.setConversationId(conversationId)
  stream.write(req1)

  const fileBoxChunkStream = await toFileBoxChunk(fileBox)
  fileBoxChunkStream
    .pipe(encoder())
    .pipe(stream)

  return stream
}

Source code:

https://github.com/windmemory/repro-grpc-bug/blob/cefbb4f88846c25644756f55fd55aa830d747dcf/src/grpc-stream-parser/to-file-box.ts
https://github.com/windmemory/repro-grpc-bug/blob/cefbb4f88846c25644756f55fd55aa830d747dcf/src/grpc-stream-parser/message-send-file-stream-request.ts

Unit Tests:

https://github.com/windmemory/repro-grpc-bug/blob/cefbb4f88846c25644756f55fd55aa830d747dcf/src/grpc-stream-parser/to-file-box.spec.ts
https://github.com/windmemory/repro-grpc-bug/blob/cefbb4f88846c25644756f55fd55aa830d747dcf/src/grpc-stream-parser/message-send-file-stream-request.spec.ts

@lhr0909 @windmemory Thank you very much for sharing the great opinions on this important topic!
Finally, we will go with the oneof way with our grpc streaming service because it will provide strong typing for all languages including Python, Go, Java, PHP, CSharp, etc.
Cheers!


adjust to weekly meeting and revise slack link

What type of PR is this?

Uncomment only one  /kind <> line, hit enter to put that in a new line, and remove leading whitespace from that line:
/kind bug
/kind documentation
/kind enhancement
/kind good-first-issue
/kind feature
/kind question
/kind design
/sig ai
/sig iot
/sig network
/sig storage
/sig storage

/kind documentation
What this PR does / why we need it:

adjust community meeting from bi-weekly to weekly, and added meeting will be used for SIGs status synchronization.
update slack link

Which issue(s) this PR fixes:

Fixes #
Special notes for your reviewer:

/assign @Fei-Guo @yixingjia @charleszheng44 @kadisi @DrmagicE @gnunu @qclc
Does this PR introduce a user-facing change?

other Note

/lgtm


knife cookbook upload error.

Description
Trying to upload a new version of a cookbook results in an error.
ERROR: The data in your request was invalid
Response: Invalid key all_files in request body
Chef Version
Chef server is 12.0.7
My ChefDK is 2.0.26
Platform Version
MacOSX
Client Output
Debug output of knife cookbook upload.
https://gist.github.com/chris-sanders-dot-org/9e78214a1d25c9ecc6f146d5eb899c35

Hmm, this was supposed to be fixed by #6201 but clearly wasn't.

I'm having this issue as well...!
I'm trying to follow the lessons in learning-chef and I got stumped by this issue...! Is there a work around?

@Sivasathivel @chris-sanders-dot-org What kind of Chef Server are you uploading to? The debug trace doesn't show any API version headers.

I'm using ChefServer 11.1.8. The one mentioned in the learning-chef book...
My Chefdk is version 13.2.20
From what I understand my Chef-Client is 13.2. as well
This following is the stacktrace, I got:
[vagrant@node-centos65 ~]$ sudo cat /var/chef/cache/chef-stacktrace.out
Generated at 2017-07-18 21:05:03 +0000
Net::HTTPServerException: 412 "Precondition Failed"
/opt/chef/embedded/lib/ruby/2.4.0/net/http/response.rb:122:in error!' /opt/chef/embedded/lib/ruby/gems/2.4.0/gems/chef-13.2.20/lib/chef/http.rb:152:in request'
/opt/chef/embedded/lib/ruby/gems/2.4.0/gems/chef-13.2.20/lib/chef/http.rb:131:in post' /opt/chef/embedded/lib/ruby/gems/2.4.0/gems/chef-13.2.20/lib/chef/policy_builder/expand_node_object.rb:177:in sync_cookbooks'
/opt/chef/embedded/lib/ruby/gems/2.4.0/gems/chef-13.2.20/lib/chef/policy_builder/expand_node_object.rb:83:in setup_run_context' /opt/chef/embedded/lib/ruby/gems/2.4.0/gems/chef-13.2.20/lib/chef/client.rb:513:in setup_run_context'
/opt/chef/embedded/lib/ruby/gems/2.4.0/gems/chef-13.2.20/lib/chef/client.rb:281:in run' /opt/chef/embedded/lib/ruby/gems/2.4.0/gems/chef-13.2.20/lib/chef/application.rb:291:in block in fork_chef_client'
/opt/chef/embedded/lib/ruby/gems/2.4.0/gems/chef-13.2.20/lib/chef/application.rb:279:in fork' /opt/chef/embedded/lib/ruby/gems/2.4.0/gems/chef-13.2.20/lib/chef/application.rb:279:in fork_chef_client'
/opt/chef/embedded/lib/ruby/gems/2.4.0/gems/chef-13.2.20/lib/chef/application.rb:244:in block in run_chef_client' /opt/chef/embedded/lib/ruby/gems/2.4.0/gems/chef-13.2.20/lib/chef/local_mode.rb:44:in with_server_connectivity'
/opt/chef/embedded/lib/ruby/gems/2.4.0/gems/chef-13.2.20/lib/chef/application.rb:232:in run_chef_client' /opt/chef/embedded/lib/ruby/gems/2.4.0/gems/chef-13.2.20/lib/chef/application/client.rb:469:in sleep_then_run_chef_client'
/opt/chef/embedded/lib/ruby/gems/2.4.0/gems/chef-13.2.20/lib/chef/application/client.rb:458:in block in interval_run_chef_client' /opt/chef/embedded/lib/ruby/gems/2.4.0/gems/chef-13.2.20/lib/chef/application/client.rb:457:in loop'
/opt/chef/embedded/lib/ruby/gems/2.4.0/gems/chef-13.2.20/lib/chef/application/client.rb:457:in interval_run_chef_client' /opt/chef/embedded/lib/ruby/gems/2.4.0/gems/chef-13.2.20/lib/chef/application/client.rb:441:in run_application'
/opt/chef/embedded/lib/ruby/gems/2.4.0/gems/chef-13.2.20/lib/chef/application.rb:59:in run' /opt/chef/embedded/lib/ruby/gems/2.4.0/gems/chef-13.2.20/bin/chef-client:26:in <top (required)>'
/usr/bin/chef-client:58:in load' /usr/bin/chef-client:58:in '`
Could you help me?

@Sivasathivel Please fall back to Chef 12.x on your workstation for the short term. We'll get started on a fix.

It's open source Chef version 12.0.7.
@coderanger Sorry I missed your earlier post.

I am having the same error. I have tried everything under the sun. Please if anyone has a solution around this issue, I would be grateful.
Thanks.

Same situation with Sivasathivel

I have fixed the problem. The issue is with chef_solo vs chef_zero. It seems chef_solo was the old way of doing chef things. So I added "chef_zero.enabled  true" in the knife.rb file to activate chef_zero instead of chef_solo. When you do this, you should be able to upload.

Here is the code:
current_dir = File.dirname(FILE)
log_level                :info
ssl_ca_path              "#{current_dir}/trusted_certs/default-centos65.vagrantup.com.crt"
log_location             STDOUT
node_name                '#######'
client_key               "#{current_dir}/#######.pem"
validation_client_name   '########-validator'
validation_key           "#{current_dir}/########-validator.pem"
chef_server_url          'https://default-centos65.vagrantup.com/organizations/#######'
cache_type               'BasicFile'
cookbook_path            ["#{current_dir}/../cookbooks"]
chef_zero.enabled        true

This is fixed in Chef 13.3.3, which will be released in the ChefDK 2.2 release


[FEATURE] Set cookies when returning a RedirectResponse

Example
from fastapi import FastAPI
from fastapi.responses import Response, RedirectResponse

app = FastAPI()

@app.get("/")
def root():
    return {"Hello": "World"}

@app.get("/cookieset")
def cookie_set(response: Response):
    response.set_cookie(key="works", value="here is your data")
    return "My cookies got set!"

@app.get("/cookiefail")
def cookie_fail(response: Response):
    response.set_cookie(key="works", value="here is your data")
    return RedirectResponse("/")

@app.get("/cookieset2")
def cookie_set2(response: Response):
    # This works, but appears to fall short of what the documentation claims, noted below.
    response.set_cookie(key="works", value="here is your data")
    response.status_code = 307
    response.headers["location"] = "/"
    return response

@app.get("/cookieset3", response_class=RedirectResponse)
def cookie_set3() -> RedirectResponse:
    # Proposed by @mcauto in comments below; sets cookie correctly. Pretty close to "ideal" behavior, I think the best behavior would be /cookieset4
    response = RedirectResponse(url="/")
    response.set_cookie(key="works", value="here is your data", domain="<IP_ADDRESS>")
    return response

@app.get("/cookieset4", response_class=RedirectResponse)
def cookie_set4(response: RedirectResponse) -> RedirectResponse:
    response.set_cookie(key="works", value="here is your data", domain="<IP_ADDRESS>")
    return response

Description

Open the browser and call the endpoint /cookieset.

Note the cookie is properly set in localstorage

Delete the cookie from local storage.

Open the browser and call the endpoint /cookiefail.

Note the cookie is NOT set when the response is a redirect response (check local storage for cookies, it is empty)

The final /cookieset2 endpoint gives the correct behaviors, but the documentation here appears to suggest that setting cookies on the response argument will be correctly incorporated into the final response.

The solution you would like
I would like cookies to be set when returning a RedirectResponse.
Environment

OS:  macOS:
FastAPI Version 0.62.0:
Python version: 3.9.0

If you look at the documentation directly below where you linked, it shows that if you are returning a response instance, you must set the cookie on that instance:
https://fastapi.tiangolo.com/advanced/response-cookies/#return-a-response-directly

same here

@coltonbh
Did you test your domain localhost?

@Mause it appears you are correct that the documentation states this behavior! I missed that. I still think this would be a nice feature for people as the behavior is a bit unexpected and I spent some time trying to diagnose it, but it is evidently documented. Should I close given that this behavior is in accordance with the documentation or should I leave it open as a feature request?
@mcauto what exactly do you mean? Yes, I was running this locally on my machine on localhost. Not sure what you mean "test your domain?" Can you clarify a bit? Thanks!

@coltonbh Sure, leave it as a feature request also you might want to rename the question with the [FEATURE] label.

@coltonbh
@app.get("/cookieset2", response_class=RedirectResponse)
def cookie_set2() -> RedirectResponse:
    response = RedirectResponse(url="/")
    response.set_cookie(key="works", value="here is your data", domain="<IP_ADDRESS>")
    return response

@mcauto your example also does not set the cookie. I can add that to my question as another failing case.

@coltonbh
It's works.

@mcauto you are correct! I think I tested the wrong endpoint. Thanks!

@coltonbh Could i set_cookie to another domain not localhost?

@coltonbh The solution from @mcauto is good. Could you close this issue. Thanks.

@northtree happy to! @ycd had asked for this to remain open as a feature request as per our conversation above. Confirm desire to close this?

Thanks for the help here everyone! :clap: :bow:
If that solves the original problem, then you can close this issue :heavy_check_mark:

Sorry for the long delay! 🙈  I wanted to personally address each issue/PR and they piled up through time, but now I'm checking each one in order.

This could be left open as a feature request, i.e., to have the RedirectResponse set cookies; however, my initial confusion was addressed. Will close.


Add tmuxinator test explanation

https://github.com/fedimint/fedimint/issues/1738

Codecov Report
Patch and project coverage have no change.

Comparison is base (57a8986) 63.11% compared to head (61942a9) 63.11%.

:mega: This organization is not using Codecov’s GitHub App Integration. We recommend you install it so Codecov can continue to function properly for your repositories. Learn more
Additional details and impacted files
@@           Coverage Diff           @@
##           master    #1981   +/-   ##
=======================================
  Coverage   63.11%   63.11%
=======================================
  Files         139      139
  Lines       27299    27299
=======================================
  Hits        17230    17230
  Misses      10069    10069

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

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

Please don't merge master into feature branches, rather locally rebase on master by fetching its most current version with git fetch <name_you_gave_upstream> and then rebasing while having the feature branch checked out with git rebase <name_you_gave_upstream>/master. Afterwards you'll have to force push to your branch.

Please don't merge master into feature branches, rather locally rebase on master by fetching its most current version with git fetch <name_you_gave_upstream> and then rebasing while having the feature branch checked out with git rebase <name_you_gave_upstream>/master. Afterwards you'll have to force push to your branch.

Noted. Thank you.